Bromont 2026-06 — Master Production Plan
Show: MARS Bromont CCI Horse Trials
Dates: Thursday 2026-06-04 → Sunday 2026-06-07
Levels offered: CCI4*-L, CCI4*-S, CCI3*-L (incl. U25), CCI2*-L (incl. U25), MARS Bromont Rising
Scope target: CCI4*-L + CCI4*-S minimum; expansion possible if foundation supports it
Distribution: Bromont Eventing YouTube channel — free live + VOD. ClipMyHorse.tv has the contractual deal; YouTube is the public-facing channel.
Brand context: Not an H&C show. Bromont indigo/teal brand stack — assets at streaming-setup/assets/brand/bromont/.
Production model: REMOTE — first for RNS. Mike + equipment at Hickory Hills, IL; owners at the show in Quebec.
Days from today (2026-05-12): 23 days to Day 1.
This is a living document that captures decisions, lessons, and the evolving plan. Three phases: (1) retro, (2) Claude Code workspace audit, (3) Bromont design.
Phase 1 — Tryon retrospective
Status: ✅ locked (2026-05-12).
What happened at Tryon
- 2026-04-23 plan locked: Approach 1 (Evolution), harden Ocala stack, ship in 2 weeks.
- Actual April 25 – May 7: pivoted to Approach 2 Platform (FastAPI + Postgres + Redis + Next.js, deployed to console.schifftacular.com), Wirecast → OBS (4/25), Captivate → split-engine Captivate+AE (4/29), Lou Ann strategic pivot (4/27), Real → Reel rebrand (5/1), /xc director, /sj scorer, Tier-1 Captivate templates, marketplace, observability, Ontime — 13-day sprint, no rehearsal.
- Show days Fri 5/8 – Sun 5/10: pre-built stack was ignored. Mike + Claude live-built scrapers, director UIs, seed scripts, and Captivate bridge patches on show mornings.
Root cause (corrected)
Architecture choices were not necessarily wrong, but nothing was built correctly. Every piece of the April–May effort needs to be reassessed, redesigned, and rebuilt for Bromont. Tryon's scope was "every idea Mike could think of" with no hardening, no rehearsal, and no foundation that could handle scope evolution. The live-with-Claude pattern in the booth was a survival fallback caused by inadequate pre-production — not a workflow to optimize for.
Causal chain:
- Wrong job at the wrong abstraction. April designs imagined a "platform operator" job that didn't match show-day reality.
- No hardening. Features moved from "demo works" to "next feature" without being driven to operator-ready reliability under realistic load.
- No practice. Mike never operated the system cold, end to end, before show day.
- Scope creep ate the calendar. Every late addition stole hours from drilling features already built.
- Result: nothing was trusted, nothing was muscle memory, everything got bypassed.
Lessons for Bromont (load-bearing constraints)
- Claude's role is bounded but not absent from production. Pre-production = design + build + test (Claude's primary mode). Live-coding in the booth = anti-pattern. Production role for Claude exists and will be defined in Phase 3 — it is not "live operator."
- "Done" includes muscle memory. A feature isn't done when the code runs — it's done when Mike has operated it cold under realistic pressure, with practice reps logged. Rep count and rehearsal mechanic are open (see lesson 6).
- Practice is key — concept TBD. Need a way to "recreate show days" so Mike can practice TD work. Don't pre-design the mechanic; let it take shape during Phase 3. Pin the requirement, not the implementation.
- Scope can evolve, but only on a correct foundation. Tryon's failure wasn't ambition — it was building on sand. Phase 3 must invest in a foundation correct enough that scope additions don't destabilize the system. Then scope can grow honestly.
- Test in the broadcast chain — but on Mac Mini for daily iteration. Mac Mini needs a parallel OBS setup mirroring the iMac, so the daily build/test loop is local. iMac (remote-only now) reserved for "production test level" runs — full rehearsals, show day. This is a concrete build task for Phase 3.
- Rehearsals are not calendar-scheduled. Practice affects only Mike; he does it when he can. Plan doesn't bake rehearsal into a schedule — but the capability to rehearse (item 3) has to exist.
- Bromont ≠ Tryon. Different distribution (YouTube via CMH deal, not H&C), different crew, different brand stack, remote production from Hickory Hills. Don't auto-port Tryon decisions; re-justify each.
What we keep vs. drop from Tryon
Bromont rebuilds. Specific reassessment of which Tryon pieces (if any) survive happens during Phase 3. Default for Phase 3: assume nothing carries over; force every Tryon component to earn its way back in.
Phase 2 — Claude Code workspace audit
Status: ✅ functionally complete (2026-05-13). Tier A applied.
Approach: Six deep-dive research passes (hooks, plugins, skills, subagents, MCP servers, memory hygiene) producing concrete RNS-specific proposals. All proposals consolidated into a single selection form at .claude/workspace-upgrade.md for Mike to mark up.
Selection artifact: .claude/workspace-upgrade.md (workspace root). ~85 items across 8 categories with checkbox + comment per item.
Audit findings — short version:
- Zero hooks configured. Major missed leverage on automatic correctness checks (which directly address the "nothing built correctly" Tryon root cause).
- 106 user-level skills installed, ~80 plugins listed but only
studio-coachenabled. Mike has a hardware-store catalog instead of a toolbox. - One custom subagent (
twentycrm-schema-architect). No RNS-specific subagents. - No project-level
.mcp.json. ~50 remote MCPs authorized via claude.ai, many unused. - No RNS-specific skills. No
Real Neat Solutions/.claude/skills/oragents/directory. - Root CLAUDE.md describes a "multi-product workspace" but RNS is effectively streaming-setup now.
- Memory: 2 explicitly-superseded entries, several Tryon-era memories that need "under reassessment" marking.
Output: once Mike marks up workspace-upgrade.md, I apply only the checked items, then phase 2 closes.
Phase 3 — Bromont design
Status: 🔄 in progress (2026-05-13 → 2026-05-16). Substantial progress this session — handed off to a new session for closure.
Disciplined brainstorming pass. Starts from: "What absolutely must work for Mike, alone, in Hickory Hills, to direct Bromont's live program over YouTube?" Scoped outward only as the foundation correctly supports growth. Will define Claude's production role, rehearsal mechanic, remote-production architecture, and what (if anything) from Tryon survives.
Phase 3 snapshot — 2026-05-16 (compact handoff)
Locked this session:
- Eventing rules reference — FEI 2026 27th Edition + EC + USEF + Cheval Québec consolidated at
EVENTING-RULES.md. Key change: missed flag 15 → 9 penalties (FEI 2026); frangible activation stays 11; SJ 2nd refusal = elim. Bromont OC publishes Long divisions (CCI4*-L, 3*-L, 2*-L + U25), not the Short-only mix one agent claimed. - Bromont specifics — Course designer Derek di Grazia (Kentucky 5*, Burghley). SJ designer Brody Robertson. TD Martyn Johnson. GJ President 4*-L Peter Gray. MARS Bromont Rising = USEA grant + education layer, NOT a separate scoring division.
- Quebec language law scope established — French-predominant on outdoor signage + sponsor overlays + promo landing page; English-language broadcast itself is NOT required to be French.
- Section 1.1.1 Dressage + 1.1.2 Show Jumping + 1.1.3 Cross-country viewer experience all fleshed in BUILD-PLAN.md.
- XC layout palette — 5 locked (HERO, HERO+ROSTER, HERO+MAP, DUAL, START BOX PiP) + 3 added (FINISH LINE PiP, REPLAY+LIVE, LEADERBOARD+INSET). Killed: QUAD (max 3 riders not 4), WATER HERO (Hank context ≠ broadcast feature).
- Primary-slot graphics-follows-rider mechanic + per-rider stopwatch model locked. Earlier TPS-fed rider-to-camera coupling was REVERSED later in the same session — Bromont is operator-driven with no TPS integration. See [[project_bromont_no_tps]].
- Console role: orchestration + situational awareness, NOT a video mixer. OBS handles PGM/PVW/transitions; console fires graphics + commands OBS via WebSocket + tracks rider state. See [[project_console_role]] memory.
- Grandma-test usability bar — plain language, big buttons, no jargon, no keyboard-as-primary. See [[feedback_console_grandma_usable]] memory.
- Direction A — "Now Playing" picked as the operator-experience pattern. Working prototype at
xc-director-now-playing/and live at https://bromont.schifftacular.com/console/mobile/. - Console hub in the brand book at https://bromont.schifftacular.com/console/ — two tools so far (Mobile Console + Show Jumping Timer). Designed to grow.
Prototype artifacts (all in streaming-setup/shows/bromont-2026-06/):
| Path | What | Status |
|---|---|---|
xc-layout-explainer/ | Interactive demo of the 8 XC layouts + per-rider stopwatches + primary-slot mechanic + fall scenario | Reference |
xc-director-vmix/ | First director console attempt — vMix/ATEM-style with PGM/PVW/buses | Rejected (recreated OBS) |
xc-director-hybrid/ | Second attempt — keyboard-first hybrid with layout palette + state read-out | Rejected (same OBS problem) |
xc-director-orchestration/ | Third attempt — orchestration-only, no PGM/PVW; got two density-cut iterations | Rejected (too dense, jargon-heavy) |
xc-director-now-playing/ | Direction A — chosen. Grandma-test pass: plain English, 3 big rider cards, contextual story button, replay button, More tray, always-visible Clear All | ✅ Chosen |
sj-timer/ | Show Jumping Timer — mobile scoring stopwatch, Bromont-skinned, deployed at sj-timer.schifftacular.com | ✅ Live |
Phase 3 closure status (updated 2026-05-16):
Phase 3 is closed except for two items:
- § 1.3 Venue crew experience — PARKED pending Lou Ann's POC vendor test results ([[project_bromont_comms_state]]). Not blocking other sections; revisit after Lou Ann's POC meeting.
- Schedule shape reconciliation — BLOCKED waiting on 2026 omnibus drop from the OC. Resolve when published.
Everything else closed this session:
- ✅ § 1.4 Sponsor experience — blended model (tier-1 time-slot / tier-2 content-attached / tier-3 long-tail menu). Logo-only. 3 marquee fence bumpers. Proof-of-value reporting + phase-presenting structure deferred to post-Bromont (OC alignment).
- ✅ § 3 Bromont slice — Tier 0 floor / Tier 1 target / Tier 2 stretch / Slipped breakdown locked.
- ✅ § 4 Build order — 3 phases (Foundation May 17-22 / Heavy build May 23-31 / Integration + rehearsal Jun 1-3) + show week (Jun 4-7). Build force = solo + Claude Code + Claude Design + AE-MCP.
- ✅ Q4 (graphics standards) — N/A. Bromont is YouTube-only, Bromont brand only. No CMH constraint.
- ✅ Q6 (Claude's production role) — Mac Mini NDI rig per [[project_claude_production_role]]. Cuts every ride, tracks riders across cameras, output to console banner read-only. Failure mode is no-broadcast-impact.
- ✅ Q7 (rehearsal mechanic) — Phase 3 rehearsal phase June 1-3 uses recorded Ocala/Tryon source captures as synthetic feeds; full-chain test once Bromont team is on-grounds June 3.
- ✅ Highlight-capture pipeline — Mac Mini segment ring + scrub UI + Shuttle Pro mark input + OBS replay scene + replay bumper. Full-stack in Tier 1.
- ✅ Story-of-the-Short — KILLED. Won't be built for Bromont.
- ✅ XC block open / close — Saturday's Short finale + Long middle treatment folded into the build-plan tiers and AE template work in Phase 2.
Other locks this session (see decision log below):
- ✅ No TPS integration for Bromont ([[project_bromont_no_tps]]). Supersedes the earlier TPS-fed coupling lock.
- ✅ Console built in Claude Design, backend wired by Claude Code ([[project_bromont_build_decisions]]).
- ✅ AE + SPX-GC are co-primary graphics; Captivate is live redundancy running open on the iMac (NOT a cold fallback) ([[project_bromont_architecture_corrections]]).
- ✅ AE lives on the Mac Mini, pre/post-show only — not a live overlay.
- ✅ SPX-GC on the VPS, consumed by iMac as a browser source.
- ✅ iMac belongs to RNS Videomedia (not "Mike's"). Mark = partner + XC location-scout (not DP).
Locked context (2026-05-13)
- Mike's deliverable: directing the full live program remotely from Hickory Hills. (Resolves Q1.)
- Signal path: same LiveU stack used at Ocala and Tryon, staged in Hickory Hills Mon/Tue of show week. Lou Ann owns the LiveU relationship. Mike does not call the LiveU rep — equipment trusted to function as intended. (Resolves Q2.)
- Crew at venue: Mark + Lou Ann on site. Hank = primary camera operator — dressage, show jumping, and the XC water jump. Up to 5 locally-hired camera operators for the rest of cross country. Fallback: if Hank no-shows, Mark covers dressage and SJ, XC coverage adjusts accordingly. (Resolves Q3.)
- Gear in Hickory Hills: LiveU rental + iMac (OBS rig) + supporting kit, all set up and running by Mon/Tue before show week. Mike arrives the following day with ≥2 full days solo with the equipment before going live. (Resolves Q5 and Q8 — iMac is the production rig, not a fallback.)
- Rehearsal model: Mike arrives at the Hickory Hills setup with everything built, tested, and rehearsed. The 2+ days alone with real gear are validation, not first-touch. All design/build/practice happens before the move-in. (Frames Q7 as a pre-Hickory-Hills problem, not an on-site one.)
Still open
- Q4 — graphics standards: what does CMH / Bromont Eventing expect? Brand book, template pack, or blank canvas?
- Q6 — Claude's production role: pre-staged dashboards? On-call monitoring? Operator-triggered automations? Read-only observability? Needs definition before the rehearsal mechanic can be designed.
- Q7 — rehearsal mechanic, refined: with the "arrive ready" constraint, the question becomes "how does Mike rehearse directing a live multi-cam YouTube broadcast without the venue feeds existing yet?" Recorded Ocala/Tryon source captures? Synthetic feeds? Crew-in-the-loop video calls during a sim?
Phase 2 artifacts available during Phase 3:
- 13 new skills + 2 new subagents at workspace
.claude/ - 10 new plugins enabled
- Community OBS MCP (pending Mike install)
- All Phase 1 lessons + corrected memory locked in
Updated Phase 3 starting moves:
- Run
/feature-opportunity-scanto map Tryon attempts → correct-implementation recommendations under the new constraints (remote director, no LiveU concerns, Bromont brand stack). - Talk to
/expert-obsabout scene architecture for: 1 primary cam op feeding 3 disciplines + 5–6 XC feeds via LiveU, directed remotely. - Define Claude's production role (Q6) — this gates the rehearsal mechanic.
- Resolve graphics standards (Q4) by reading the Bromont brand assets and any CMH documentation we have.
North star (locked 2026-05-13)
Build the feature-complete console for the perfect broadcast of eventing. Bromont is the first show that uses it, not the boundary of what gets built. Ocala and Tryon are evidence — they showed what's needed and what fails — they are not code dependencies.
Ground rules for Phase 3:
- No Tryon code carries over by default. Every feature is re-spec'd, re-designed, re-built. Old code can inform design (e.g. "the slot model worked"), but it does not start as a code dependency. See [[feedback_bromont_ground_up_rebuild]].
- The product is the eventing console, not "the thing we ship for Bromont." Bromont is the forcing function for the first useful slice.
- "Feature-complete" is the design target. That means defining the full set first, then honestly scoping which slice ships for Bromont and which slips to a later show.
- Operator-ready + rehearsed is the definition of done for anything that ships, per Phase 1.
Scan output (2026-05-13) — overridden
The infrastructure-mapper scan biased toward "carry forward Tryon code." Mike overruled it: ground-up rebuild is the framing. The scan's observations about what shapes a show day (scene topology, graphics chain, rehearsal mechanic, monitoring) are useful as prompts for the build plan, not as recommendations. Don't cite the scan's verdict columns when planning.
Decision log
| Date | Decision | Alternatives considered | Rationale |
|---|---|---|---|
| 2026-05-12 | Treat Tryon live-with-Claude as failure mode, not success | Embrace JIT shipping as Bromont workflow | Optimizing for JIT re-causes Tryon; Mike must operate solo under pressure |
| 2026-05-12 | Bromont starts from rebuild, not refactor | Carry forward Tryon components as defaults | "Nothing was built correctly" — re-justification required for any Tryon piece |
| 2026-05-12 | Scope target = CCI4*-L + CCI4*-S minimum, expansion conditional on correct foundation | Cover all divisions; cover only CCI4*-L | Matches user direction; foundation correctness gates scope growth |
| 2026-05-12 | Build parallel OBS setup on Mac Mini for daily test/practice | Always remote into iMac | iMac is now physically separated; remote = high-cost path, reserve for production-test |
| 2026-05-12 | Rehearsal mechanic is required but undefined | Lock a specific mechanic now | Concept will take shape during Phase 3; pin requirement, defer implementation |
| 2026-05-12 | Plan in 3 phases (retro → audit → design) | Jump to design | Audit changes how we plan; retro tells us what to drop |
| 2026-05-13 | Mike directs full live program remotely from Hickory Hills; Lou Ann owns LiveU; Hank = primary cam op; up to 5 hired local XC ops; Mark backs up if Hank no-shows | Smaller scope (graphics-only, single ISO, gear-only) | RNS Videomedia is on the ground; Mike's leverage is directing the program for the YouTube channel |
| 2026-05-13 | Mike arrives at Hickory Hills with everything built/tested/rehearsed; ≥2 days solo with real gear is validation, not first-touch | Treat the Hickory Hills window as primary build time | "Arrive ready" enforces foundation correctness; eliminates Tryon's live-build pattern |
| 2026-05-13 | No LiveU rep contact from Mike; Lou Ann owns it | Independently validate the signal path | Trust boundary — RNS Videomedia owns venue+transport, Mike owns broadcast direction |
| 2026-05-15 | Console is orchestration + situational awareness, NOT a video mixer | Recreate PGM/PVW in custom UI | OBS already does video mixing; the console's job is everything OBS can't do |
| 2026-05-15 | TPS-fed rider-to-camera coupling | Pace-estimated; manual-only | Operator needs trustable position data; pace estimation lies under pressure |
| 2026-05-15 | XC layout palette = 5 + 3 (no QUAD, no WATER HERO) | Original 8-layout proposal | Max 3 riders on course at once; Hank context isn't a feature directive |
| 2026-05-15 | Console must pass "grandma test" — plain language, big buttons, no jargon | Power-user keyboard-shortcut surface | Solo remote operator under show-day pressure; muscle-memory bets failed at Tryon |
| 2026-05-15 | Operator-experience direction = "Now Playing" (A) | "Auto-pilot with override" (B); deferred | Operator drives the story rider; system handles math; conservative and buildable in remaining window |
| 2026-05-16 | Console becomes a hub of tools (Mobile Console + SJ Timer + future) | One monolithic console | Each tool purpose-built for one job; hub keeps them findable |
| 2026-05-16 | No TPS / timing-feed integration for Bromont. All XC state transitions are operator-driven. | Continue assuming TPS coupling; build pace-estimate fallback; design for both | No confirmed path to receive the OC's timing feed. Supersedes the 2026-05-15 TPS-fed-coupling lock. CV-as-TPS-substitute is a post-Bromont stretch. |
| 2026-05-16 | Console = Claude Design build. Frontend authored in Claude Design (claude.ai); backend wired by Claude Code. | Custom hand-built React frontend; reuse Tryon console code | Handoff bundle pattern proven by SJ Timer; lets frontend + backend proceed in parallel. |
| 2026-05-16 | Graphics architecture: AE + SPX-GC primary; Captivate live redundancy. Captivate runs open on the iMac for every minute of the broadcast. | Captivate as primary (split-engine 2026-04-29); Captivate as cold fallback only | Captivate demoted from co-primary to redundancy; AE handles pre-rendered packages, SPX-GC handles live rundown. Refines [[project_graphics_engine_pivot_ae]]. |
| 2026-05-16 | AE lives on the Mac Mini, pre- and post-show only. AE does not run during the live stream. | AE on the iMac; AE on a render farm | iMac during the stream runs OBS + NewBlue Captivate only; AE renders to MP4 ahead of time; OBS plays the MP4. Removes the "AE freeze" risk live. |
| 2026-05-16 | SPX-GC deployed on the VPS, not the iMac. iMac consumes as a browser source over the public internet. | SPX-GC local to the iMac | Cloud is the shared brain (Postgres, schedule, brand book, ontime, sj-timer); SPX joins the pattern; reduces iMac load. |
| 2026-05-16 | Distribution = YouTube Live only. OBS pushes RTMP to YouTube Live. No CMH, no H&C. | CMH lockup; ClipMyHorse.tv contractual path on-broadcast; H&C compatibility | Bromont OC's deal with CMH is back-end; viewer-facing channel is the Bromont Eventing YouTube channel. Removes a whole class of partner-compliance work. |
| 2026-05-16 | Sponsor experience = blended model (tier-1 time-slot, tier-2 content-attached, tier-3 long-tail menu). Logo-only disclosure. | Single rotation pool; commentator-script sponsor reads; data overlays | Sponsors don't all want the same surface; menu-over-commitment ([[feedback_menu_over_commit]]) gives Mike the live choice; logo-only keeps the broadcast clean. |
| 2026-05-16 | Marquee fence bumpers — three only (water complex, sunken road, brush+drop). | Bumper per fence; bumper per division; no bumpers | Three marquees keep the surface premium-feeling, buildable in 19 days, resilient to dropping one. |
| 2026-05-16 | Mark = partner + XC location-scout. Not "DP / shot designer." | Director of photography framing from 2026-04-29 | Correction from Mike on doc review. Affects how Lou Ann + Mark are described in every Bromont doc going forward. |
| 2026-05-16 | iMac belongs to RNS Videomedia, not Mike. It's the company's broadcast rig hosted at Hickory Hills. | "Mike's iMac" / "the broadcast machine at Mike's house" | Ownership/liability clarity in docs Lou Ann reads. RNS Videomedia owns and provisions; Mike hosts. |
| 2026-05-16 | Claude's production role = Mac Mini NDI rig. Cuts every ride, tracks riders, output via console banner read-only. Fully isolated from broadcast. | In-booth live Claude prompting (Tryon pattern); Claude on VPS; Claude on iMac | Failure mode is no-broadcast-impact; the live show is unaffected if Claude crashes. Supersedes the 2026-05-12 third-mode placeholder. |
| 2026-05-16 | Highlight pipeline is full-stack in Tier 1. Mac Mini segment ring + scrub UI + Shuttle Pro marks + OBS replay scene + replay bumper. | Defer to post-Bromont; ship rider-replay only via OBS replay buffer | Replay is operator-load-bearing; deferring it leaves the SJ post-ride replay scene without source material. |
| 2026-05-16 | Story-of-the-Short — killed for Bromont. | Build the narrative-arc structure for Short divisions | Out of 19-day scope; revisit post-Bromont if the arc has real legs. |
| 2026-05-16 | § 4 build order = 3 phases. Foundation May 17-22, Heavy build May 23-31, Integration + rehearsal Jun 1-3, then show week. | Calendar-undriven build; per-feature swimlanes only | "Operator-ready + rehearsed" requires reserving the last 3 pre-show days for cold-start operator drills; foundation must land first so heavy build can parallelize. |
Running assumptions
- A1: Mike directs the full live program remotely from Hickory Hills, IL. RNS Videomedia (Mark + Lou Ann) is on the ground at the venue.
- A2: Distribution is the Bromont Eventing YouTube channel; CMH is the contractual back-end but invisible to public viewers.
- A3: Venue crew = Mark + Lou Ann + Hank (primary cam: dressage / SJ / XC water) + up to 5 hired local XC camera operators. If Hank no-shows, Mark covers dressage/SJ and XC adjusts.
- A4: Rehearsals are not calendar-scheduled — they affect only Mike, who does them when he can. The capability to rehearse is required; the schedule is not. With "arrive ready" locked, rehearsals must work before Mike reaches the Hickory Hills gear.
- A5: Tryon's pre-built stack is not assumed forward. Every component re-justifies or stays out.
- A6: 23-day window to Day 1. Real build window is shorter once foundation work is honest. Mike arrives at Hickory Hills the day after the gear is staged (Wed/Thu of show week), giving ≥2 full days solo before going live.
- A7: LiveU + iMac stack is Lou Ann's responsibility to stage and trust. Mike does not contact the LiveU rep — equipment is assumed to function as configured.
Open questions (Phase 3)
- Q4: What graphics standards does CMH / Bromont Eventing expect — brand book, CMH template, or blank canvas?
- Q6: What does Claude's production role look like? (Pre-staged dashboards? On-call monitoring? Specific automations triggered by Mike?) Gates the rehearsal mechanic.
- Q7 (refined): How does Mike rehearse directing a multi-cam YouTube broadcast before the venue feeds exist? Recorded Ocala/Tryon captures replayed into the chain? Synthetic feeds? Crew-in-the-loop video calls during a sim?
(Q1, Q2, Q3, Q5, Q8 resolved 2026-05-13 — see "Locked context" in Phase 3.)