78 lines
3.9 KiB
JSON
78 lines
3.9 KiB
JSON
{
|
|
"phase": 1,
|
|
"phaseLabel": "Build Production-Grade Product",
|
|
"status": "near-launch-ready",
|
|
"product": "DocFast — HTML/Markdown to PDF API",
|
|
"currentPriority": "1) E2E Pro payment test (real Stripe payment). 2) CI/CD secrets setup. 3) Off-site backup (Storage Box). 4) Marketing launch.",
|
|
"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).",
|
|
"CI/CD PIPELINE: Forgejo Actions workflow created. Needs 3 repository secrets added in Forgejo settings (SERVER_HOST, SERVER_USER, SSH_PRIVATE_KEY).",
|
|
"REPRODUCIBLE INFRASTRUCTURE: DONE — setup.sh, docker-compose, configs, disaster recovery docs all in infrastructure/ directory."
|
|
],
|
|
"launchChecklist": {
|
|
"emailVerificationReal": true,
|
|
"smtpWorking": true,
|
|
"dnsRecordsLive": true,
|
|
"userAccountSystem": false,
|
|
"proPaymentFlow": "partial",
|
|
"proPaymentFlowNote": "Webhook handler deployed with signature verification + product_id filtering. Stripe price now EUR (€9/mo). Needs real E2E test payment.",
|
|
"postgresqlMigration": true,
|
|
"keyRecovery": true,
|
|
"databaseBackups": true,
|
|
"databaseBackupsNote": "BorgBackup: daily at 03:00 UTC, 7 daily + 4 weekly + 3 monthly retention. PostgreSQL dumps + Docker volumes + nginx + SSL + DKIM. LOCAL ONLY — needs off-site Storage Box.",
|
|
"loadTested": true,
|
|
"rateLimitsDataBacked": true,
|
|
"landingPageHonest": true,
|
|
"zeroConsoleErrors": true,
|
|
"mobileResponsive": true,
|
|
"securityAuditPassed": true,
|
|
"healthEndpointComplete": true,
|
|
"cicdPipeline": "partial",
|
|
"cicdPipelineNote": "Forgejo Actions workflow + rollback script created. Needs 3 secrets added to repo settings.",
|
|
"reproducibleInfra": true,
|
|
"reproducibleInfraNote": "Full infrastructure/ directory with setup.sh, docker-compose, nginx, postfix configs, disaster recovery README."
|
|
},
|
|
"loadTestResults": {
|
|
"sequential": "~2.1s per PDF, ~28/min",
|
|
"concurrent": "3 safe, 5th fails at ~16s",
|
|
"server": "CAX11 (2 vCPU ARM, 4GB RAM), container 512MB cap"
|
|
},
|
|
"infrastructure": {
|
|
"domain": "docfast.dev",
|
|
"url": "https://docfast.dev",
|
|
"server": "docfast-1 (CAX11, nbg1)",
|
|
"serverIP": "167.235.156.214",
|
|
"sshKey": "/home/openclaw/.ssh/docfast",
|
|
"smtp": "Postfix + OpenDKIM configured. DKIM-signed emails working. SPF/DKIM/DMARC DNS records live.",
|
|
"email": "noreply@docfast.dev",
|
|
"backups": "BorgBackup daily at 03:00 UTC (local). PostgreSQL + Docker volumes + configs.",
|
|
"cicd": "Forgejo Actions workflow (pending secrets setup)",
|
|
"infraDocs": "infrastructure/ directory with full provisioning scripts"
|
|
},
|
|
"credentials": {
|
|
"file": "/home/openclaw/.openclaw/workspace/.credentials/docfast.env",
|
|
"keys": ["HETZNER_API_TOKEN", "STRIPE_SECRET_KEY", "STRIPE_WEBHOOK_SECRET"],
|
|
"NEVER_READ_DIRECTLY": true
|
|
},
|
|
"team": {
|
|
"structure": "CEO + specialist sub-agents",
|
|
"ceo": "Plans, delegates, reviews. Does NOT code. Only one who makes financial decisions.",
|
|
"specialists": ["Backend Developer", "UI/UX Developer", "QA Tester", "Security Expert", "Marketing Agent"]
|
|
},
|
|
"openBugs": {
|
|
"CRITICAL": [],
|
|
"HIGH": [],
|
|
"MEDIUM": [],
|
|
"LOW": []
|
|
},
|
|
"blockers": [
|
|
"E2E Pro payment test (needs investor to make real test payment)",
|
|
"CI/CD secrets (3 secrets in Forgejo repo settings)",
|
|
"Off-site backup (Hetzner Storage Box, ~€3/mo)"
|
|
],
|
|
"startDate": "2026-02-14",
|
|
"sessionCount": 40
|
|
}
|