WIN · LAUNCH WORKBOOK pre-UAT → production · mined from Codex session 019f25cc · snapshot 2026-07-06 · origin/main 734eff41

Pre-UAT → Production · Command view

Where the launch actually stands, and the shortest path through it

Built from a forensic mine of Codex session 019f25cc (63,894 events, July 2–6) cross-checked against origin/main@734eff41 by five independent repo audits. The one-sentence verdict: the code is largely done and merged; almost nothing is proven where users can see it — and every remaining blocker is either a single bug or a one-word operator decision, not a project.

Workstream board — every stream at a glance

The living status layer, refreshed 2026-07-07; everything below this board is the 2026-07-06 forensic snapshot it sits on. Status words keep the strict ladder — specced → landed → deployed → validated → proven — and a stream is only solid green when its evidence exists. The right column names who moves it next.

Launch path — operator-gated

StreamStateWhere it stands · 2026-07-07Next move
Operator decision batchOPERATORSix standing gates unchanged: DEPLOY · SIGNOFF · STAGING-AUTH · MINT · DM-PROOF · RATIFY-104. Recommended defaults for all six are drafted in the deploy-stream spec (§5, scratch/launch-specs-20260706/01-deploy-aws.md)One sitting clears the whole batch (CP-5)
Deploy, envs & AWSSPECCEDStream spec complete with 6 operator asks; corrected two audit beliefs (deploys are already registry-first; relay 503 is expected in-repo). Execution blocked on DEPLOY/SIGNOFF/STAGING-AUTHOperator: run the deploy, capture receipts (DEP-1/2)
Workflows / Runs UXIN FLIGHTUI-polish branch done in sandbox: 4 commits on the B2 branch (composer stale-quiet fix + tokenized focus/scrollbars + route fallback + jobs polish), gates green, 32/32 local browser proof — plus 10 more interface-simplification commits stacked on it. Hosted proof still gated on deployOperator: push branch + apply patch sets, then deploy → hosted rows
Slack channel QAQUEUEDNo movement; gated on DEPLOY + DM-PROOF. Per-env Slack app manifests (SLK-1) remain the unblocking slice for staging/beta parallel QADraft manifests → Slack-admin action
Channel spineQUEUEDSpec-104 governance moved into the WinDX split spec (done, see below); MCP mis-reporting bug (SPN-1) still open; cli job-status consolidation just landed in the simplify wave fixes 2 adjacent latent bugsOperator: RATIFY 104, then SPN-1 slice
Orphaned workQUEUEDORP-2 (employee blank page) is still the pre-UAT must-fix; the uncommitted spec-104 draft + Program-3 docs still sit only in the dirty coordinator checkout (ORP-5/8)ORP-2 slice; commit the strays
Artifacts modelQUEUEDFolds into the workbook/B1 surface design; ui just adopted the contracts ArtifactOrigin type (simplify wave), surfacing an open product call: which origins are “noisy”?NOISY_ORIGINS decision, then exhibits pass

Sandbox waves — agent work landed from this session

StreamStateWhere it stands · 2026-07-07Next move
A · Risk escalationDONEThis page: six blockers, 14-risk register, critical path; two new findings escalated (kernel PATH exposure probe, CI stale-image bug on contracts/config/claude-auth changes)—
B1 · Workbook + validation harnessDONEDesign system v2 live on this site; validate.mjs harness green 232/232 local and live (7 pages × 3 viewports: overflow, console, contrast AA light+dark, reduced-motion, tap targets, clipboard)—
B2 · Product-UI polishAWAITS PUSHBranch wave2/b2-ui-polish-20260707: 4 commits, typecheck 0 / 645 tests / ast-grep 0 / fallow 0, 32/32 programmatic browser proof at 3 viewports. Patches at scratch/wave2-b2-patches/Operator: push + PR; hosted validation post-deploy
D · CI/Actions budgetDRAFTEDBurn quantified ~10,900 min/wk; 7 ready diffs saving ~3,000 min/wk safely (up to ~4,100 with judgment trims), 3-PR rollout plan in scratch/launch-specs-20260706/08-ci-actions-budget.mdOperator: apply as 3 PRs; includes the stale-image correctness fix (F-3)
WinDX tooling splitSPECCEDSpec done (07-windx-tooling-split.md): monorepo, ONE windx binary, mcp-server sunset, D1–D9 decision asks; pairs with the uncommitted 104 draftOperator: D1–D9 decisions + RATIFY
E · Repo simplification waveIN FLIGHTFull-repo pass by 3 strategist agents → merged plan (security tier + 10 verified quick slices + 9 consolidations); 2 of 3 impl lanes landed (22 commits: platform + interface, ~2,500 lines of verified dead code out), runtime lane closing with 2 real security fixes (subprocess secret-env strip; tmux env isolation)Lane A closes → cross-lane review → operator applies patch series
C · Dev tooling & skillsQUEUEDSkill/command promotion candidates parked until the simplify wave lands (it changes the surfaces they'd document)Dispatch after wave E closes
~110
PRs landed in the session (#547–#657)
45
commits of runtime drift (main vs staging/beta)
0
UAT gates fully green (of 11)
6
blockers — each a bug or a decision

The six standing blockers

GateWhat it isOwner moveWorkbook item
DEPLOYStaging+beta serve 0d5cbb6a; main is 45 commits ahead incl. all Runs/Workflows UX fixesRun the deploy, capture receiptsDEP-1
STAGING-AUTHStaging jobs spawn but the runner dies at “Not logged in · /login” — per-env Claude credential isolation bug (same class #597 fixed for controller state)One fix sliceDEP-2
MINTNo named hosted-validation browser profile → no hosted proof rows can existMint the profile, name it in the ledgergate
DM-PROOFLive Slack DM→job proof for #537, never captured (blocked by DEPLOY)Send one DM post-deploy, screenshotSLK-8
SIGNOFFDeploy Design A: written, twice-reviewed, zero code — also the prerequisite for any cloud deploy triggerOne wordDEP-4
AUTHOR/RATIFYSpec 104 “windx” ADR — cited by launch gates, exists on no branch. Found during this audit: a complete 285-line draft + ratification package sit uncommitted in the dirty coordinator checkout (/workspace/win/docs/specs/104-surface-unification-windx.md)Commit the draft, then ratify or accept-gapSPN-7

Consolidated risk register

#RiskEvidenceDisproven / retired when
R1“Landed” read as “done.” Every UI/UX claim in the session is merged-only; the session’s own completion audit concluded “not UAT-ready; every MET-WHEN box unproven.”Runtime drift 45 commits; OBS-U0..U9 all “blocked/not started”Deploy + hosted rows land in the testing ledger
R2Suggestion-card flash — deterministic ~400ms “quiet” card on every warm prompt commit; a unit test actively asserts the wrong behaviorIntentSuggestion.tsx:135–137, debounce at useComposerSuggestion.ts:962–968, test lock-in at IntentSuggestion.test.tsx:73–79RUX-1 merged + hosted trace shows pending→suggested with no quiet flash
R3MCP reports cancelled/errored jobs as “completed” — any agent driving WIN over MCP is misinformed; package has zero testsmcp-server/src/tools/run.ts:53–88, no @win/contracts depSPN-1 merged
R4Slack env coupling — one Slack app, one Request URL: staging and beta inbound are mutually exclusive; no manifest in repo; dead “Retry in Slack” button on every failure cardAudit of slack-events/interactive + SLACK-BOT-SETUP runbookSLK-1/SLK-2 merged; parallel QA demonstrated
R5Session self-attestation drift — e.g. PR #655’s completion message claims “Monitor run” + command rail; neither string exists in the code. Completion messages are claims, not evidenceGrep of packages/ui vs task-complete textEach claim re-verified before being cited (this workbook did the first pass)
R6Unmerged value + one landmine — #519 fix (both bugs still live), Program-3 plan docs unmerged; PR #102 would delete CLAUDE.md/AGENTS.md if swept into a mergeBranch audit of 727 remotesORP-1/5/6 done
R7Employee-role blank page — non-admin login broken; UAT’s actual audience can’t use the appdocs/followups/2026-06-13-my-dashboard-routing-gap.mdORP-2 merged + hosted check as employee
R8Docs-treadmill relapse — dozens of session PRs were SHA-refresh churn; partially fixed by making launch:packet the action-time authority (#615/#617)PR train #569–#620 patternAgents re-ground via bun run launch:packet, never via committed SHAs
R9Production has no infra story yet — zero IaC, plaintext env secrets, EC2-vs-ECS specs unreconciled, deploys rebuild from source instead of promoting CI imagesDeploy audit; specs 019/048/032DEP-5/8/9 landed
R10React #185 recurrence pattern — five point-fixes, no generic guard; poll-fed effect deps remain a standing trap. The #631 fix’s hosted proof is a single clean run, not a reproduction of the original failure conditionsFive commits + scar-tissue comments in canvas hooksRUX-4 guard exists and fails on the historical repro
R11Beta jobs.running counter disagrees with per-job status (reports running=1 after the job is cancelled/awaiting_review) — recurred three times in the session, never root-caused. Would mask real problems during a production watchSession chunks 46–48 (jobs 892fdc3f, 9b377a5a, 4fa781ee)Deliberate repro + regression test on the health aggregation path
R12Systemic Bun test-mock leakage — process-wide mock pollution caused CI failures in 3 separate incidents, each fixed ad hoc; no shared isolation helper or lint guard existsSession chunks 12, 20, 29 (CLI parser spies, useComposerSuggestion cross-file races)Repo-wide mock-scoping helper/lint landed
R13Nothing was ever verified in a real browser — the in-app browser’s file:// policy blocked every visual QA attempt for 53 chunks; all “worksheet works” claims are static-DOM/Happy-DOM simulations. Mobile/PWA feel was never once observed on a phone-sized viewportSession chunks 31, 37, 43–44, 50MINT profile + one real hosted browser pass with screenshots (pairs with DEP-7 / INS-6)
R14Worktree fragility — two near-losses of plan artifacts salvaged from stale worktrees; .wrkts/win-slice-3d-pr-template held the local main checkout all session, breaking gh pr merge 40+ times (worked around, never fixed); Spec 104 + Program-3 STATUS/HANDOFF docs still live only uncommitted in the coordinator checkoutSession chunks 6, 34–35, 42–44; git status of /workspace/winORP-5/ORP-8 — commit the strays, prune the worktrees

Critical path (do in this order)

Sequence worksheet — the spine of the whole effort0/7
Everything else on this page is throttled by these three. One day of focused work + one operator action.
The restore work is already on main — answer the CPO with a demo, not a rebuild.
Four one-word-ish decisions clear every governance gate at once.

What the mined session teaches (method, not just facts)

How to use this workbook

Each tab is a self-contained implementation & QA notes page: verified state with evidence, a persistent worksheet (checkboxes + evidence notes stored in your browser), and copy-ready handoff prompts for delegating slices to agents. Hand an agent one prompt, require the evidence field to be a PR link or ledger row, and check the box only when the repo’s own standard is met: landed → deployed → validated → proven.