config/projects/business/memory/state.json

99 lines
No EOL
4.5 KiB
JSON

{
"phase": 1,
"phaseLabel": "Build Production-Grade Product",
"status": "launch-ready",
"product": "DocFast — HTML/Markdown to PDF API",
"currentPriority": "All systems operational. Email working via mail.cloonar.com. Focus on growth and improvements. DO NOT touch SMTP infrastructure.",
"ownerDirectives_PRIORITY": "Process these IN ORDER. Do not skip.",
"ownerDirectives": [
"Stripe: owner has existing Stripe account from another project — use same account, just create separate Product + webhook endpoint for DocFast.",
"Stripe Product ID for DocFast: prod_TygeG8tQPtEAdE — webhook handler must filter by this product_id to ignore events from other projects on the same Stripe account.",
"OFF-SITE BACKUPS: BorgBackup installed and running locally. Need Hetzner Storage Box for true off-site. Ask investor to provision one (~€3/mo for 100GB).",
"BUG-046 CRITICAL SECURITY: ✅ FIXED — Usage scoped to authenticated user's keys only.",
"BUG-047: ✅ FIXED — Copy button added to Pro key success page.",
"BUG-048: ✅ FIXED — Change email links fixed.",
"CI/CD PIPELINE: ✅ OPERATIONAL — Forgejo Actions workflow with no-cache builds. Push main→staging, tag v*→prod.",
"REPRODUCIBLE INFRASTRUCTURE: ✅ DONE.",
"PRO PLAN LIMITS: ✅ DONE — 5,000 PDFs/month at €9/mo. Landing page, JSON-LD, Stripe all consistent.",
"STATUS PAGE: ✅ DONE — Styled /status page live.",
"SUPPORT EMAIL LIVE: ✅ DONE — support@docfast.dev in FreeScout.",
"BUG-049 HIGH: ✅ FIXED — Stripe invoicing enabled.",
"WEBSITE TEMPLATING: ✅ DONE.",
"BUG-070 CRITICAL: ✅ FIXED — Stripe cancellation webhook handler fixed.",
"CI/CD CACHE FIX: ✅ FIXED (Session 56) — Added no-cache:true to docker build. Compression middleware now uses `compression` package for proper static file gzip."
],
"launchChecklist": {
"emailVerificationReal": true,
"smtpWorking": true,
"dnsRecordsLive": true,
"userAccountSystem": true,
"proPaymentFlow": true,
"proPaymentFlowNote": "E2E tested 2026-02-16. Payment + Pro key provisioning works.",
"postgresqlMigration": true,
"keyRecovery": true,
"databaseBackups": true,
"databaseBackupsNote": "CNPG WAL archiving + MinIO in-cluster. Daily scheduled backup at 03:00 UTC, 7-day retention.",
"loadTested": true,
"rateLimitsDataBacked": true,
"landingPageHonest": true,
"legalPages": true,
"legalPagesNote": "Impressum, Privacy Policy, Terms of Service — all live",
"euHostingMarketed": true,
"jsDisabledInPdf": true,
"zeroConsoleErrors": true,
"mobileResponsive": true,
"securityAuditPassed": true,
"healthEndpointComplete": true,
"cicdPipeline": true,
"cicdPipelineNote": "Forgejo Actions with no-cache builds. Push main→staging, tag v*→prod. Fixed session 56.",
"reproducibleInfra": true,
"proLimitsSet": true,
"proLimitsNote": "5,000 PDFs/month for Pro. Enforced in usage middleware.",
"websiteTemplating": true,
"supportEmailLive": true,
"statusPage": true,
"stripeInvoices": true,
"stripeWebhookEvents": true,
"emailDelivery": true,
"compressionWorking": true,
"compressionNote": "Gzip via `compression` package. Verified on production 2026-02-19."
},
"loadTestResults": {
"k3s_current": {
"sequential": "~0.2s avg per PDF (10x improvement over Docker)",
"p95": "0.235s",
"concurrent": "2 concurrent at ~0.27s, 15-worker pool",
"largePayload": "1.65s for 104KB/3-page PDF",
"server": "K3s cluster, 2x CAX11 workers"
}
},
"infrastructure": {
"domain": "docfast.dev",
"url": "https://docfast.dev",
"k3s": "3-node K3s cluster: k3s-mgr, k3s-w1, k3s-w2",
"loadBalancer": "Hetzner LB 46.225.37.135",
"email": "noreply@docfast.dev",
"supportEmail": "support@docfast.dev (FreeScout)",
"backups": "CNPG WAL archiving + MinIO. Daily 03:00 UTC, 7-day retention.",
"smtp": "mail.cloonar.com:587 — MANAGED BY CLOONAR. DO NOT DEPLOY OWN MAIL SERVER. Verified working 2026-02-19."
},
"credentials": {
"file": "/home/openclaw/.openclaw/workspace/.credentials/docfast.env",
"keys": [
"HETZNER_API_TOKEN",
"STRIPE_SECRET_KEY",
"STRIPE_WEBHOOK_SECRET"
],
"NEVER_READ_DIRECTLY": true
},
"openBugs": {
"CRITICAL": [],
"HIGH": [],
"MEDIUM": [],
"LOW": [],
"note": "All clear. SMTP is mail.cloonar.com:587 — tested and verified working."
},
"blockers": [],
"startDate": "2026-02-14",
"sessionCount": 63
}