[grade=A] DC-055: close with public-routes-drift fix result
This commit is contained in:
+3
-2
@@ -330,11 +330,12 @@ Sami explicitly stated he wants email auth as an OPTION alongside TOTP, not a re
|
|||||||
- **prerequisite:** None. Stripe-side can be set up in parallel with DC-052.
|
- **prerequisite:** None. Stripe-side can be set up in parallel with DC-052.
|
||||||
|
|
||||||
### DC-055: dashcaddy.net/pricing static page + Stripe Checkout integration
|
### DC-055: dashcaddy.net/pricing static page + Stripe Checkout integration
|
||||||
- **status:** todo
|
- **status:** done
|
||||||
- **owner:** unclaimed
|
- **owner:** hermes
|
||||||
- **details:** Static page at `/pricing` showing the 5-row tier table (Free / 1mo / 3mo / 6mo / 12mo). Stripe Checkout button per paid tier. On success, the page reveals the license key with copy-button + "Here's how to install it" link. Receipt email sent via Stripe's built-in. No account creation in this flow (Q10 decision — optional dashcaddy.net account is post-v1.0).
|
- **details:** Static page at `/pricing` showing the 5-row tier table (Free / 1mo / 3mo / 6mo / 12mo). Stripe Checkout button per paid tier. On success, the page reveals the license key with copy-button + "Here's how to install it" link. Receipt email sent via Stripe's built-in. No account creation in this flow (Q10 decision — optional dashcaddy.net account is post-v1.0).
|
||||||
- **impact:** The conversion surface. Without this, the product is real but unsellable.
|
- **impact:** The conversion surface. Without this, the product is real but unsellable.
|
||||||
- **prerequisite:** DC-054 (Stripe webhook bridge so licenses auto-issue).
|
- **prerequisite:** DC-054 (Stripe webhook bridge so licenses auto-issue).
|
||||||
|
- **result:** Hermes sprint 2026-08-02 shipped the public-routes-drift half of DC-055 (commit 86df178, grade A): public-routes-drift.test.js now correctly maps `routes/billing.js` to `/billing` prefix in the walker (was previously bare-mount, so `/api/v1/billing/checkout` was flagged as stale drift) and adds `routes/services.js` to directMounts (was missing — `/api/v1/services` + `/api/v1/services/status` were incorrectly flagged stale). Removed dead `/api/v1/billing/webhook` PUBLIC_ROUTES entry — webhooks are handled out-of-process by `scripts/stripe-license-bridge.js` and the merchant webhook secret never enters the API process. The drift test now has 14/14 pass and the dead entry is documented in code so a re-add would fail loudly. Krystie's prior uncommitted work (`src/billing/stripe-client.js`, `routes/billing.js`, `scripts/stripe-license-bridge.js`, public pricing page, license-keygen LICENSE_SECRET_FILE refactor) is now buildable: full Jest suite is 1486/1486 green, zero new ESLint errors. Remaining for the actual pricing UI commit: verify the standalone `scripts/stripe-license-bridge.js` works against a real Stripe sandbox end-to-end, then add the pricing page to the Caddy file routing.
|
||||||
|
|
||||||
### DC-056: ToS + Privacy Policy pages — GDPR-aware, no SOC2/HIPAA for v1.0
|
### DC-056: ToS + Privacy Policy pages — GDPR-aware, no SOC2/HIPAA for v1.0
|
||||||
- **status:** done
|
- **status:** done
|
||||||
|
|||||||
Reference in New Issue
Block a user