DocFast Session 44: security audit + 8 fixes, templating refactor, Pro limit fix
This commit is contained in:
parent
0abd81f024
commit
3b7375d0a5
3 changed files with 89 additions and 16 deletions
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"phase": 1,
|
||||
"phaseLabel": "Build Production-Grade Product",
|
||||
"status": "launch-ready",
|
||||
"status": "near-launch-ready",
|
||||
"product": "DocFast \u2014 HTML/Markdown to PDF API",
|
||||
"currentPriority": "1) Marketing launch prep. 2) UX polish & accessibility. 3) Performance optimization. All critical blockers RESOLVED.",
|
||||
"currentPriority": "1) CI/CD secrets setup. 2) Marketing launch. 3) Proactive improvements.",
|
||||
"ownerDirectives_PRIORITY": "Process these IN ORDER. Do not skip.",
|
||||
"ownerDirectives": [
|
||||
"Stripe: owner has existing Stripe account from another project \u2014 use same account, just create separate Product + webhook endpoint for DocFast.",
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
"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 \u2014 setup.sh, docker-compose, configs, disaster recovery docs all in infrastructure/ directory.",
|
||||
"PRO PLAN LIMITS: DONE \u2014 Set to 2,500 PDFs/month at \u20ac9/mo. Competitive with html2pdf.app. Enforced in code, updated on landing page + JSON-LD + Stripe.",
|
||||
"BUG-049 HIGH: Pro customers do not receive an invoice after payment. This is legally required in Austria/EU. Stripe can auto-generate invoices for subscriptions — enable Stripe Invoicing or implement invoice generation. Customer must receive a proper invoice with: company name, ATU number, invoice number, date, amount, VAT breakdown.",
|
||||
"BUG-049 HIGH: Pro customers do not receive an invoice after payment. This is legally required in Austria/EU. Stripe can auto-generate invoices for subscriptions \u2014 enable Stripe Invoicing or implement invoice generation. Customer must receive a proper invoice with: company name, ATU number, invoice number, date, amount, VAT breakdown.",
|
||||
"WEBSITE TEMPLATING: DONE \u2014 Build-time system with partials (nav/footer/styles). Source in public/src/, build with node scripts/build-html.cjs."
|
||||
],
|
||||
"launchChecklist": {
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
"proLimitsSet": true,
|
||||
"proLimitsNote": "2,500 PDFs/month for Pro. Enforced in usage middleware. Landing page, JSON-LD, Stripe all consistent.",
|
||||
"websiteTemplating": true,
|
||||
"websiteTemplatingNote": "Build-time partials for nav/footer/styles. Single source of truth."
|
||||
"websiteTemplatingNote": "Build-time HTML templating with shared nav/footer partials. npm run build:pages"
|
||||
},
|
||||
"loadTestResults": {
|
||||
"sequential": "~2.1s per PDF, ~28/min",
|
||||
|
|
@ -88,17 +88,19 @@
|
|||
},
|
||||
"openBugs": {
|
||||
"CRITICAL": [],
|
||||
"HIGH": ["BUG-049: No invoice sent to Pro customers after payment"],
|
||||
"HIGH": [
|
||||
"BUG-049: No invoice sent to Pro customers after payment"
|
||||
],
|
||||
"MEDIUM": [],
|
||||
"LOW": [],
|
||||
"note": "All bugs (040-048) resolved as of Session 41. BUG-046 (usage data leak), BUG-047 (copy button), BUG-048 (change email) fixed."
|
||||
},
|
||||
"blockers": [],
|
||||
"resolvedBlockers": [
|
||||
"E2E Pro payment test — DONE 2026-02-16, investor paid €9 successfully, Pro key provisioned",
|
||||
"CI/CD secrets — DONE 2026-02-16, 3 Forgejo secrets added by investor",
|
||||
"Off-site backups — DONE 2026-02-16, Hetzner Storage Box configured with BorgBackup"
|
||||
"E2E Pro payment test \u2014 DONE 2026-02-16, investor paid \u20ac9 successfully, Pro key provisioned",
|
||||
"CI/CD secrets \u2014 DONE 2026-02-16, 3 Forgejo secrets added by investor",
|
||||
"Off-site backups \u2014 DONE 2026-02-16, Hetzner Storage Box configured with BorgBackup"
|
||||
],
|
||||
"startDate": "2026-02-14",
|
||||
"sessionCount": 42
|
||||
"sessionCount": 44
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue