Current phase checklist. Check off items as they complete. Only one program is active at a time.
Objective: Deliver the full new-tenant flow from draft onboarding through runtime policy/governance closure.
Sequence: Session 1 → Session 2 → Session 3 → Session 4 → Session 5 → Session 6 → Session 7 → Session 8
Design system: DESIGN.md
Execution mode: strict session stop rule (no forward scope inside a session)
gstack artifacts: ~/.gstack/projects/Analog-Labs-pixelport-launchpad/
- Added onboarding schema v2 handling with required version metadata
- Shifted tenant create to draft-first behavior (
POST /api/tenants) - Implemented one-release dual-write compatibility (nested v2 + legacy flat mirror)
- Preserved behavior for already-active/legacy tenants
- Flow order finalized to
Company -> Strategy -> Task -> Launch - Removed old onboarding provision-step gating from step 1
- Added draft-save continuity across step transitions
- Kept onboarding usable without immediate provisioning
- Provisioning now starts only from explicit Launch trigger (
POST /api/tenants/launch) - Launch transition is retry-safe and idempotent (
draft -> provisioning) - Failure path rolls back to
draftwhen dispatch fails - Post-launch flow locks prior steps read-only and reports truthful status
Production validation (2026-03-26):
- Merged PR #51 (
aacf8ec) and applied two directmainhotfixes (05aec88,67dee55) - Live canary full pass completed on
board2@ziffyhomes.com - Merged PR #53 (
3f76c34) for onboarding UX uplift (identity/tone/avatar, goals cap, task policy capture, launch milestones) - Live canary full pass completed on
board3@ziffyhomes.comwith tenantboard3-s13-ux-20260326-072201
- Emit deterministic root files (
AGENTS,SOUL,TOOLS,IDENTITY,USER,HEARTBEAT,BOOT,MEMORY) - Write
/system/onboarding.jsonand/system/render-manifest.json - Keep Paperclip integration-safe behavior with approved defaults
- Add workspace/config contract tests
Production validation (2026-03-26):
- Merged PR #55 (
104a8e0) tomain - Live canary full pass completed on
board4@ziffyhomes.comwith tenantziffy-homes-board4-s4-canary - OpenClaw runtime config validated in-container (
openclaw config validate --jsonreturnedvalid: true) - Session 4 evidence captured:
docs/qa/2026-03-26-s4-live-canary-board4.md
- New tenants start via Paperclip kickoff/wakeup only
- Keep webhook bootstrap path for legacy/manual recovery
- Add new-vs-legacy trigger path regression tests
Production validation (2026-03-26):
- Merged PR #57 (
fa87961) tomain - Live canary full pass completed on
board7@ziffyhomes.comwith tenantziffy-homes-board7-s5-canary - Session 5 evidence captured:
docs/qa/2026-03-26-s5-live-canary-board7.md
- Add editable
onboarding_data.knowledge_mirror - Sync approved mirror files into workspace
knowledge/*.md - Expose sync status model (
pending/synced/failed)
Production validation (2026-03-26):
- Merged PR #59 (
2b0de82) tomain - Live canary full pass completed on
board8@ziffyhomes.comwith tenantstripe -
knowledge_synctruth confirmed on/api/tenants/status(revision=1,synced_revision=1,seeded_revision=1) - Runtime knowledge mirror files verified on host-mounted path
/opt/openclaw/workspace-main/knowledge/*.mdwith no leftover temp files - Session 6 evidence captured:
docs/qa/2026-03-26-s6-live-canary-board8.md
- Add Knowledge route + sidebar entry
- Reuse Vault UX patterns against mirror+sync backend
- Support edits with truthful sync/error states
- Add conflict-safe revision guard + manual retry contract on onboarding save
Production validation (2026-03-27):
- Merged PR #62 (
accff8f) tomain - Live canary full pass completed on
board11@ziffyhomes.comwith tenantboard11-stripe-canary - Knowledge UI verified: sidebar entry, five collapsible section cards, markdown read mode, and single-section edit/save flow
- Conflict handling verified with stale-tab save returning
409 knowledge_conflict - Sync truth finalized on
/api/tenants/statusassynced(revision=3,synced_revision=3) after explicit manual retry trigger - Runtime knowledge file write verified on host path
/opt/openclaw/workspace-main/knowledge/company-overview.md - Session 7 evidence captured:
docs/qa/2026-03-27-s7-live-canary-board11.md
- Apply policy edits immediately with audit logging
- Patch managed blocks in
AGENTSandTOOLS(no full-file overwrite) - Add post-onboarding governance editor surface
- Run full regression and rollout checklist
- Local regression gates complete (
npx tsc --noEmit,npm test) - Live canary + rollout evidence captured:
docs/qa/2026-03-28-s8-live-canary-board12.md
Production validation (2026-03-28):
- Merged PR #64 (
3b77acf) tomain - Live canary full pass completed on
board12@ziffyhomes.comwith tenantstripe-2 - Tenant lifecycle reached
activewith provisioning checks12/12andbootstrap_status=completed - Governance save path verified on
/dashboard/connectionswith status transitionpending -> applied - Conflict guard verified with stale write returning
409 approval_policy_conflict - Runtime marker apply verified in both
/opt/openclaw/workspace-main/AGENTS.mdand/opt/openclaw/workspace-main/TOOLS.md - Session 8 evidence captured:
docs/qa/2026-03-28-s8-live-canary-board12.md
-
npx tsc --noEmit -
npm test -
/reviewpass -
/shipPR flow - Production canary evidence for sessions that affect runtime provisioning
- Program V1 Full Wedge Dashboard (T1→T6) — superseded by Session 1–8 sequence
- Program P6 — Reset (R1→R5) ✅ (PRs #18–#24)
- Program P5 — Monorepo Paperclip + LiteLLM Removal ✅
- Program P3 — Launchpad Runtime Prune ✅
- Program P2 — Launch Workspace Redirect ✅
- Program P1 — Paperclip Handoff / Ownership / Secrets / Boundaries ✅
- Program P0 — Pivot Foundation ✅