From cc0141b5164bd39a2e1ae504ac8ac7db7c749750 Mon Sep 17 00:00:00 2001 From: Hoid Date: Sat, 14 Feb 2026 14:25:27 +0000 Subject: [PATCH] =?UTF-8?q?Business=20agent:=20strict=20QA=20requirements?= =?UTF-8?q?=20=E2=80=94=20product=20still=20broken,=20must=20fix=20before?= =?UTF-8?q?=20Phase=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- projects/business/memory/state.json | 11 ++++------ skills/business/SKILL.md | 32 ++++++++++++++++++++--------- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/projects/business/memory/state.json b/projects/business/memory/state.json index d012d1b..6b4d67f 100644 --- a/projects/business/memory/state.json +++ b/projects/business/memory/state.json @@ -1,19 +1,16 @@ { "phase": 1, - "phaseLabel": "Build MVP — QA & Polish", - "status": "testing-before-launch", + "phaseLabel": "Build MVP — STILL BROKEN, needs real QA", + "status": "broken-console-errors-bad-docs", "product": "DocFast — HTML/Markdown to PDF API", - "currentPriority": "Full QA pass: test every user flow end-to-end via browser. Signup modal UX, Pro checkout redirect, PDF downloads, error states. Fix any issues found. Only move to Phase 2 when everything works flawlessly.", + "currentPriority": "PRODUCT IS STILL BROKEN. Human found: (1) Console errors in the browser — JS is broken. (2) Docs button just links to a section with endpoint names, not real API documentation with examples, request/response formats, auth instructions. (3) QA was declared passing but it clearly wasn't tested properly. FIX: Open the site in a browser, check console for errors, fix ALL JS issues. Build proper API docs page. Test every single flow as a new user would. Do NOT move to Phase 2 until the QA checklist in SKILL.md passes completely.", "infrastructure": { "domain": "docfast.dev", "url": "https://docfast.dev", - "dns": "Hetzner DNS (A record live)", - "hosting": "Hetzner Cloud", "server": "docfast-1 (CAX11, nbg1)", "serverIP": "167.235.156.214", "sshKey": "/home/openclaw/.ssh/docfast", - "ssl": "Let's Encrypt (auto-renew)", - "dataVolume": "docfast-data (Docker volume for persistent key storage)" + "apiKey": "df_live_9760e44a3e732be0f8628a44e0cdbc040107499f6e8f457a" }, "credentials": { "file": "/home/openclaw/.openclaw/workspace/.credentials/docfast.env", diff --git a/skills/business/SKILL.md b/skills/business/SKILL.md index 98ea272..b5e42b2 100644 --- a/skills/business/SKILL.md +++ b/skills/business/SKILL.md @@ -133,19 +133,31 @@ You have a Hetzner API token with full read+write access. You can: - Message tool for contacting the user - Cron for scheduling (if needed) -## Quality First — MANDATORY +## Quality First — MANDATORY (NON-NEGOTIABLE) -**NEVER move to customer acquisition until the product actually works end-to-end.** +**NEVER move to customer acquisition until the product is POLISHED and PROFESSIONAL.** -Before Phase 2 (Launch), you MUST verify: -- Every button on the landing page works (not mailto: links, not broken JS) -- Free tier signup works completely — user gets an API key without human intervention -- Pro tier checkout works completely — Stripe payment → API key provisioned -- Every API endpoint works with a real API key -- Error handling works (bad input, rate limits, expired keys) -- Test it yourself. If you can't click through the entire flow and get a working PDF, it's not ready. +The human has repeatedly found broken buttons, console errors, and half-assed flows. This is unacceptable. You are the CEO, the developer, AND the QA team. The human should NEVER find bugs — that's YOUR job. -**You are the QA team.** The human should never find broken buttons. Test everything before declaring it done. +### QA Checklist — MUST PASS before Phase 2: +1. **Zero console errors** — open the browser tools, check for JS errors, fix ALL of them +2. **Every button works** — click every single button on every page. If it doesn't do something useful, remove it or fix it. +3. **Full free signup flow** — landing page → enter email → get API key → copy key → use key to generate a PDF → PDF downloads correctly +4. **Full pro signup flow** — click Pro → Stripe checkout loads → payment works → API key provisioned with pro limits +5. **API documentation** — if there's a "Docs" button, it must link to REAL documentation with request/response examples, auth instructions, error codes. Not a list of endpoint names. +6. **Landing page is professional** — no broken layouts, no placeholder text, no dead links +7. **Error handling** — bad API key → clear error, missing params → clear error, rate limited → clear error with retry-after +8. **Mobile responsive** — landing page looks good on mobile too + +### How to QA properly: +- Use `curl` to test every API endpoint with valid AND invalid inputs +- Use the browser tool to load the landing page and check for console errors +- Click through EVERY user flow as if you're a new customer who's never seen the product +- If something is broken, FIX IT before logging the session as "done" +- **Do NOT say "tested end-to-end ✅" unless you actually tested EVERY flow INCLUDING the browser UI** + +### Definition of Done: +A stranger should be able to land on docfast.dev, sign up, get an API key, and generate their first PDF within 2 minutes, with ZERO confusion and ZERO errors. If that's not the case, you're not done. ## Anti-Patterns (Don't Do These)