Gate Check: Systems Design → Technical Setup
Date: 2026-08-27
Checked by: gate-check skill
Review mode: full (all four directors spawned)
Verdict: CONCERNS — advanced by user decision with concerns acknowledged (stage.txt → Technical Setup)
Chain-of-Verification: 5 questions checked (2 tool actions) — verdict unchanged
Required Artifacts: 3/3 present
- [x]
design/gdd/systems-index.md— 13 MVP systems enumerated with layers, dependency map, and status (all Reviewed / Designed) - [x] All MVP-tier GDDs — 5 full GDDs (
tide-scheduler,combat-system,harvesting-system,crafting-system,base-building; 8/8 required sections each, 800–1455 lines) + 8 quick-specs (netcode-session,camera,save-persistence,player-movement,inventory-hauling,land-dock-undock,enemy-ai,ui-hud; 4/4 sections each). Each full GDD carries an independent/design-reviewwith all findings applied (tide APPROVED WITH CONDITIONS; combat / harvesting / crafting NEEDS REVISION → applied same day; base-building reviewed ×6, all change-sets applied). - [x]
design/gdd/gdd-cross-review-2026-08-27.md— first pass FAIL (6 blockers) → all six ruled and applied the same day → since-last-review CONCERNS; no blockers remain
Quality Checks: 5/6 passing, 1 accepted-with-note
- [x] All MVP GDDs pass individual design review (no unresolved MAJOR REVISION verdict)
- [x]
/review-all-gddsverdict is not FAIL - [~] Cross-GDD issues resolved or explicitly accepted — every consistency item (C1–C3, W1–W8) fixed; design-holism D3–D6 explicitly accepted as playtest-scoped in the report. The director panel disputes that classification for D5 (see Concern 1).
- [x] System dependencies mapped and bidirectionally consistent (W5 asymmetries fixed 2026-08-27)
- [x] MVP priority tier defined (concept MVP Definition + index Priority column)
- [x] No stale GDD references (W6 bundle applied 2026-08-27; grep-verified)
Director Panel Assessment
Creative Director: CONCERNS
No pillar violation, no anti-pillar breach, no ludonarrative dissonance found across the corpus. Pillar 1's anti-compensation discipline held under pressure (C3 retired an invariant rather than inventing a softener; W1 retired a redundant grace window). Pillar 4 and Pillar 5 are enforced as schema facts. Tone rule is one voice across four departments.
- D5 is misclassified as playtest-scoped — it is a Technical Setup input. At MVP the only tide readout is the compass glint; the anchor's own design test ("if a tide-state needs a HUD element, first ask why the world isn't saying it") is inverted. Harvesting's push-vs-bail and tide's earned-literacy fantasy both read tide color. Art bible §8.B.3's single global-property Shader Graph contract already anticipates the minimal case. Recommend pulling a minimal single-channel tide tint into MVP and renaming index row 14 to "Tide-Tint Polish"; the alternative (glint-only) is defensible only if the MVP hypothesis is restated to "the loop is fun," in writing.
- D3 + D4 together mean the hypothesis "fun over multiple sessions" cannot be answered — four headline fantasies are Tier 1 and the economy flattens by session 3–4. Name the window (≤4 sessions) in
game-concept.mdMVP Definition. - Pillar 3's only MVP artifacts are
instanceTagand the maker's-mark metadata — flag them pillar-load-bearing in the architecture blueprint so an unread opaque tag is not optimized away. - Crafting AC-56 pins a provisional value (iron 2.2) as pass/fail — reword to test the 2–4-hit TTK band; a 2.2 that reduces every enemy to 1–2 hits is the "stat-check win" combat's own fantasy forbids.
Technical Director: CONCERNS
"Among the most architecture-ready design sets I have reviewed." Foundation layer contractually pure (tide: typed math, banned APIs, 9/9 spike). Two-rail authority model consistently applied across all 12 dependents. No Forbidden-Pattern violations (deliberately hunted, including near-misses). Unity 6.3 / NGO 2.x compatible; no custom Render Graph pass on the MVP critical path. Six cross-review blockers verified closed on both sides.
- Host-rail atomicity is asserted everywhere and specified nowhere (highest priority). "All host-rail commits are single non-yielding synchronous blocks on the host main thread" must be a first-class architecture rule with an enforcement mechanism (analyzer or review checklist) — an
await/yieldinserted later breaks it silently. - Tick-ordering unknowns (which execution phase the commit critical section runs in vs. owner movement writes — BB EC21 / F1) are answerable today from NGO's
NetworkUpdateLoopdocs; give them a separate non-playtest-gated ADR so BB story scoping does not stall on a friend's calendar. NetworkTransformsnap-threshold assumption (BB EC21 observer asymmetry requires a plain interpolated write to survive as interpolated) — a ~30-minute prototype check before the ADR ratifies it.- Performance budgets: global budgets appropriate; tide AC-44/45 → make hard gates, AC-46 stays advisory (ruling on tide OQ2, formalized at the tide ADR). Gaps: per-template MB budget (LDU Rule 9) has no owner; build-mode grid/ghost overlay draw-call cost (BB → TD) unassessed.
- Inventory & Hauling remains the only high-risk system with no prototype — micro-spike during Technical Setup.
- Playtest-gated items are correctly identified but concentrate risk on one external event — pull everything not needing real-network data out of the gated ADR (items 2–3).
Recommended ordering: architecture doc + tide ADR → host-rail concurrency ADR (atomicity + tick order) → NetworkTransform check → MB-budget and overlay owners → playtest date → netcode wire ADR → inventory micro-spike.
Producer: CONCERNS
Scope realistic (design delivered ~10× ahead of brief; implementation estimates ~28–35 engineering days for quick-specs alone, honest against "solid MVP, thin Tier 1"). Dependency graph sound. Technical Setup can start now and reach its own exit without the playtest: Tide, Save & Persistence, Addressables/LDU lifecycle, Camera ADRs and accessibility-requirements.md are netcode-free — ≥3 Foundation ADRs.
- The friend-group playtest is undated two days after the brief said "put it on the calendar NOW," and it has an unpriced prerequisite: the prototype ran UnityTransport, not Steam; no Steam transport package is chosen (
technical-preferences.md"expected, to be confirmed"). Pick the package + date in week 1; treat transport integration as a 1–2-day spike before the playtest. - MVP hypothesis framing (same finding as CD) — reframe before scheduling the playtest; if D5 pulls tint forward, it needs a Render Graph ADR this phase.
- BB OQ4's "Tier 1 building scope" is an unpriced commitment that OQ1/OQ8 also discharge into — a half-day
/estimatesizing note due before the playtest. - No production artifacts; velocity unmeasured — correct for the stage, but promote the systems index's High-Risk table to
production/risk-register/now; Inventory & Hauling carries its 3-day time-box + micro-spike trigger.
Art Director: CONCERNS
Visual foundation strong; art bible §8.B.3 already pins the shader contract Technical Setup needs (_TideTint/_TideAmount as global properties, Shader Graph sprite shader, no MPBs, any post-process Render-Graph-native).
- Combat-sprite
DriftLayerexemption exists only as a GDD-side flag (combat-system.mdRule 11 / Visual requirements), not in art bible §8.A.4/§8.B.3 — the tag taxonomy the shader is authored against. 10-minute edit; must land before shader work. - D5 (same as CD) — the decision is being deferred past the point where the cheaper path is still cheap.
- Node-rarity silhouette grammar and maker's-mark grammar are unwritten — do not block Technical Setup, but must be queued ahead of
/asset-spec. Camp→Keep and inert-relic flags are legitimately Tier 1.
Blockers
None. No director returned NOT READY; all artifact and quality checks pass.
Concerns — prioritized (converged across the panel)
- Decide D5 before render architecture. Pull a minimal single-channel tide tint into MVP (CD + AD recommend; needs a Render Graph ADR this phase; rename index row 14 to "Tide-Tint Polish"), or restate the MVP hypothesis for glint-only legibility in writing. Either way: add the combat-sprite
DriftLayerexemption to art bible §8.A.4/§8.B.3. - Reframe the MVP hypothesis in
game-concept.mdMVP Definition to the window MVP can answer (≤4 sessions; validates the mechanical skeleton + the tide fantasy). - Schedule the friend-group playtest and pick the Steam transport package in week 1; sequence netcode-free ADRs (Tide, Save, LDU lifecycle, Camera) first.
- Write the host-rail atomicity rule into the architecture document with enforcement; give tick-ordering its own non-playtest-gated ADR.
- Smaller, all this phase: BB OQ4 Tier 1 sizing note;
instanceTagflagged pillar-load-bearing in the blueprint; crafting AC-56 reworded to the TTK band;production/risk-register/from the High-Risk table; owners for per-template MB budget and overlay draw-call cost;NetworkTransformsnap-threshold prototype check; tide AC-44/45 → hard gates; node-rarity + maker's-mark grammar queued before/asset-spec; Inventory & Hauling micro-spike.
Recommendations
- Run
/create-architecturefirst — it produces the master document and the prioritized ADR list; concerns 1–2 are cheapest resolved before its Phase 1 reads the design set. - The four items in concern 5 that are pure design-doc edits (AC-56, art-bible exemption, hypothesis window, OQ4 sizing) fit in one short session.
Verdict: CONCERNS
All required artifacts present and quality checks passing; four directors returned CONCERNS, none NOT READY. Every concern is resolvable inside Technical Setup. User decision 2026-08-27: advance with concerns acknowledged — production/stage.txt → Technical Setup; this concern list is the phase's opening work.
Chain-of-Verification (5 questions, 2 tool actions)
- Could any concern be a blocker? — D5 is the only candidate; it is a scoping decision with a written fallback, not a missing artifact. No.
- Resolvable within the next phase, or compounding? — Concerns 1–3 compound with time (render architecture calcifies; playtest lead time; a mis-framed playtest can only be run once with real friends). All resolvable in week 1.
- Did I soften a FAIL into a CONCERN? — No. Artifact checks are 3/3 and the cross-GDD verdict is CONCERNS with no blockers.
- Unchecked artifacts that could reveal blockers? — [TOOL ACTION] Re-read
game-concept.mdMVP Definition (hypothesis says "over multiple sessions"),technical-preferences.md(Steam transport "expected, to be confirmed"),active.md(playtest still an undated calendar task), grep of the art bible (no combat-sprite exemption present). All four director claims confirmed; nothing new surfaced. - Do the concerns together form a blocking problem? — D3 + D4 + D5 together produce a mis-framed playtest; that is a framing edit, not a gate blocker.
Verdict unchanged.