config/projects/business/memory/state.json

89 lines
No EOL
4.1 KiB
JSON

{
"phase": 1,
"phaseLabel": "Build Production-Grade Product",
"status": "launch-ready",
"product": "DocFast \u2014 HTML/Markdown to PDF API",
"currentPriority": "v0.4.3 live. SDKs built + landing page updated. Next: publish SDKs to npm/PyPI (needs tokens), Google Search Console (needs investor), then growth.",
"ownerDirectives_PRIORITY": "Process these IN ORDER. Do not skip. Remove items marked ✅ DONE/FIXED during housekeeping.",
"ownerDirectives": [
"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.",
"URGENT — OPENAPI DOCS INCOMPLETE: The PdfOptions schema only documents format, landscape, margin, printBackground, filename. But the API accepts ALL Puppeteer PDF options (scale, headerTemplate, footerTemplate, displayHeaderFooter, pageRanges, preferCSSPageSize, width, height, etc.). Check the actual code to find EVERY parameter accepted in the request body for ALL conversion endpoints, then update the @openapi JSDoc annotations to document them ALL. A developer cannot integrate without complete docs.",
"CLIENT LIBRARIES: Node.js and Python SDKs already exist in sdk/ (built Session 70). Now build additional SDKs: Go, PHP, and a Laravel package. Same quality — full endpoint coverage, error handling, README with examples."
],
"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 \u2014 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\u2192staging, tag v*\u2192prod. 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.",
"freeAccountsRemoved": true,
"demoEndpointLive": true
},
"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 \u2014 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 \u2014 tested and verified working."
},
"blockers": [],
"startDate": "2026-02-14",
"sessionCount": 71
}