THE PLAN

JoyOS Lab v1.2

A marketplace where members learn, experiment, and build, then sell what they create.

Recently shipped to staging-next · synced 2026-09-02 (RUN revamp-$(date +%Y%m%d-%s))

  • E2E test suite — offer-builder + studio-create-listing roundtrip iterations: offer-builder-write-e2e.test.ts refactored with 94 insertions net-positive (94 in, 255 out — large structural rewrite, not deletion; cbb179cd); studio-create-listing-roundtrip.spec.ts iterated twice to fix the write-flow assertion path (540e81a6, 77c478db); and playwright-staging-auth.mjs updated to reflect current auth flow (d1c7e637).
  • Dev-auth tooling — debug-reducer + stdb-client + dev-magic-link iteration: a new debug-reducer.mjs + debug-reducer.test.mjs pair added to functions/api/ (5967a3cf); stdb-client.js edited twice for auth-path consistency (f4b5f2df, dadadce0); and dev-magic-link.js went through a refactor cycle (first pass: 39 deletions, 10 insertions; second pass: 39 insertions, 10 deletions — net structural improvement; adb32bd6, b954f7a3).
  • Offer Builder E2E + backend — write-flow + save-draft cycle tested: the offer-builder-write-e2e.test.ts Playwright spec iterated through 9 cycles to cover the full write-to-catalog path (691a5b59, cedc6b31, 32c7de82, c50641ba, f3f364a6, c9f294a0, 808650b2, ddcdecd0, 631e4d9d); the save-offer-draft.js endpoint edited twice to fix the write path (d32ba3fe, af1e621a); and the debug-reducer.test.mjs test added to the functions directory (b2a000dd).
  • Offer-builder-fix plan — Gate 2 architecture doc drafted: a new docs/plans/offer-builder-fix/02-architecture.md committed as the Gate 2 draft, laying out the API-first architecture for the create-offer path — code already written and E2E-tested per the plan; the remaining work is deploy + live E2E verification (5a33998b). Plan lives in docs/ only.
  • Planning doc sync: .planning/index.html updated (1c7ee668).
  • revamp-sync delta through fc7145b3 — 75 commits not previously summarized: the local staging-next branch had run ahead of the most recent write-back; this run captured the missing 75 product commits into 5 themed clusters below (ff05518c4284738c).
  • STDB auth model — JWT signing retired, SPACETIME_TOKEN is the only auth path: functions/lib/stdb-client.js simplified to authenticate via the SPACETIME_TOKEN env var alone (5ee0b113); the client-side JWT-signing path is fully removed from the auth flow, with a .gitignore update for the dropped creds file (c0654304, 80aec2bc, c4f33f30); src/lib/apiError.ts got a JSON.stringify regression that was reverted (cae01a03, ba22fb20); and the connection-architecture + new-endpoint-workflow docs landed in .claude/ to make the new auth shape the single source of truth (619bb30e).
  • Marketplace API — list-my-offers + offer lifecycle tests, List-my-offers cleanup: list-my-offers.js auto-committed after auth migration (9137d133); the stale list-my-offers.test.ts was deleted in favor of the JS+source-grep split (15901252); save-offer-draft.test.ts and list-my-offers.test.ts regenerated (725810c5); and archive-offer.test.ts/restore-offer.test.ts added to cover the full CRUD lifecycle (ebd76715).
  • Listing model — schema-complete coverage extended (slices 7-12 in plan): src/models/Listing.ts iterated to expand schema coverage; the schema-complete test suite now covers 17/32 columns (slug), 16/32 (request_id), 15/32 (inventory_count), 14/32 (currency) as plan status updates rolled in; new tests added and the Listing model adjusted to match (103a6d88, 106dfe0d, 14120054, 5cf10b20, 60ff3bb8, 45d33ba8, 938b3b1d, c0b5100b, a60e9b88, 748bf4cb, f2f0d9d1, e8d54394, bf6d4ba4, db89807d). BaseModel.test.ts is now in the schema-complete sweep as well.
  • Dev-stack + plans-doc + workflow hygiene: scripts/dev.sh auto-committed three times during the EACCES / WRANGLER_HOME / HOME-override hardening sequence (c5e0d6bf, 58f93709, 3c0bfd90); docs/plans/offer-builder-api-first/00-status.md got three tracking edits as slices 7-12 closed (22dccdbd, 70bc4d96, 539ae959, b34d658d, c65d348e); the Slice 7 cont. status rollups mark slug, request_id, inventory_count, currency DONE; .claude/SKILL.md updated (9fbeed03); the new src/router/creator-studio-file-based-moves.test.ts mirrors a route-table move (151f746c); and a src/pages/zz-sabotage-probe.vue/new.vue pair recorded intent (030f4134, b7722788, 3376a305).
  • Noise floor — owner-tool / create-mode / permission probes + SUMMARY.md rolls: 29 SUMMARY.md autocommit rolls (ecbc409d through 4284738c); a PROBE-perm-owner-20260830.txt intent file plus a create(tmp-create-mode-string-boolean-probe.txt) created via the edit-test tool (840224c0, f8043455); their follow-up cleanup commits removed both probe files (42b30907, 240d2744); a stray zz-sabotage-probe.vue / create-mode probe pair created then removed (b7722788); and root CLAUDE.md rolled (ff05518c, e4ab837c). These are scaffolding artefacts, not product work.
  • Offer-Builder Working Correctly plan — continued: 01-product.md trimmed with minor edits (4 insertions, 12 deletions) and a new 02-architecture.md committed (69 lines) as the next draft gate; 00-status.md also updated (16 insertions) — all part of the ongoing Gate 1 (Product) iteration within the offer-builder-fix plan (7a504eb6, 4797b90e, 5af14250). Plan lives in docs/ only — no app code touched.
  • Review Console 0 / 15 phases seen
    Full plan (all phases)