WT-0f7d · WING-DEMO / WING-202 · deploy lane: cloud + desktop integration¶
Updated: 2026-08-08T22:00Z Status: IN PROGRESS — master green, PRs mid-gate, nothing mid-deploy
1. Goal¶
Every gated lane reaches prod (ww-team + qa + ww-yc + ww-spc pilots) and the desktop installer, verified at the SERVED artifact, with pilot invitation codes provably intact.
2. Where the work is¶
- Deploy lane runs from the SHARED checkout
C:\Users\fives\source\repos\WorkWingman, but every IMAGE builds from a throwaway pinned worktree at_deploy/ww-<sha>(ops/cloud-run/build-app-image.ps1). - No branch of my own. I land other lanes' work.
3. State — receipts¶
- MASTER IS GREEN at
cd661d86c, all 13 CI jobs. It was fully red this morning (20 backend failures + 8 red jobs). CI now runs on EVERY pushed branch (push: {}). - Cloud live: prod
ww-team-00045-46r, qa, pilotsrelease-20260807-t13, digest651bace3…, bundlemain-AJASOIVL.json all three origins. - Pilot codes verified with the CURRENT verifier (
d32dd9534): both pilots PASS, versions enabled and unchanged, session key readable, ceilings 1000. - Desktop installer built earlier at
86e4a8d80; NOT rebuilt since.
4. Next actions¶
#42(Recruiter Reactivation) — closest to mergeable, was MERGEABLE/UNSTABLE with queued checks.#41(Warm Intro) — RED onmutation-gate (apply-vertical, break 90). Fix before merge.#46(lab client + Live Run) — HELD, gate failed. See §5.- Adblock branch
wt/WT-429s/WING-429-structural@207812d1e— pushed, gate proven to fail (--known-blocked-probe→ exit 1, names path AND rule). Needs a PR opened. - After merges: pinned-worktree image → EnvLadder qa → VERIFY → prod (SEPARATE steps) → image-only pilot update → verify at served asset → pilot verifier before AND after.
5. Blockers¶
- #46 held by a failed council gate. Duplicate concurrent live runs for one job (no duplicate guard; active-run lookup returns only the newest); the queue start path bypasses the referral checkpoint Documents enforces; launcher does not own its invariants. Owner: WT-a37c, fixing + re-gating on the NEW diff.
- WING-458 — apply path has NO destination allowlist.
OutboundNavigationPolicy's only callers are JobPageFetcher and RedirectChainAtsResolver; nothing at the browser boundary stops a real employer. MY RULING: does not block deploys — pre-existing, ships today, #46 does not widen it. Escalated to Andrew because exposure ≠ consent. - MUST REFUSE, not tasks: smoke-code redemption on pilots (reads a plaintext credential and POSTs it to a live surface); any prod authenticated click-through. Andrew's, always.
- FLT-219 (PR visibility) reported work that I could NOT locate — treat as UNVERIFIED, not done.
6. Traps in this lane¶
- NEVER chain
deploy && promote: EnvLadder printed an error but the promote still ran, pushing the OLD digest. Run them as separate steps and read the first one's result. --set-secretsREPLACES; only ever--update-secretson pilots, then run the verifier.- Bundle hash unchanged is NOT a failed deploy — verify whether the commit touched frontend at all.
- A grep of
main-*.jsproves nothing about a C#-only change; say UNVERIFIED instead. - Address peers by TAILSCALE IP (stable), never
10.0.0.x(DHCP). gaming=100.110.224.88, streaming=100.78.38.60.serve --host 0.0.0.0FAILS on that binary (exit 1). - Worktree leases are real and live: commits are DENIED while another session holds one. Wait.
- Installer TESTS against the real install path are destructive — they killed Andrew's app twice
during a live demo. Installing (
/S) is fine; testing against the real path is not.
7. Delegated / dispatched work¶
- Cedric xhigh, WING-429 structural + WING-456 gate →
_wt/ww-adblock-structural. PUSHED207812d1e, 0 uncommitted, gate mutation-proven. READ. Needs a PR. - Cedric xhigh, WING-456 gate →
_wt/ww-wing456-adblock-gate. STOPPED by me; work staged, then absorbed by the structural branch. Do not re-run. - Cedric xhigh, FLT-219 →
_wt/fh-flt219. Reported done; worktree CLEAN and files not found. UNVERIFIED — investigate before re-dispatching. - Peer click-through on streaming with predeclared USAJOBS/Jooble predictions: KILLED, ZERO output, UNRUN. Not "pending results".
8. Decisions and why¶
- Landing rule is HARD BLOCK until master is green, not "no new failures" — inside an identical failure set you cannot identify a new failure, so it degrades to "land anything".
- Handoff files live on MASTER ONLY under E1; a branch copy conflicts every time master's refreshes.
- WING-429 rescoped from "detect blocker, ask user to disable" to STRUCTURAL renaming. Andrew: asking users to disable an ad blocker makes the privacy-first promise look fake. The ask IS the defect.