DRIFTLANDS co-op survival on drifting tides — studio progress

Design Review: Base Building — 2026-08-27

Document reviewed: design/gdd/base-building.md (874 lines, status "Designed, pending independent /design-review")
Review mode: full (7 specialist agents + creative-director senior synthesis)
Re-review: No — first independent review
Specialists consulted: game-designer, systems-designer, economy-designer, network-programmer, ux-designer, qa-lead, unity-specialist
Senior reviewer: creative-director

Verdict: NEEDS REVISION

Not MAJOR. The design's identity is sound — the orbit test (Rule 3), commit atomicity (Rule 6), the no-ledger discipline (Rule 7), total refund (Rule 9), and the stationPresent contract (F3) all cohere with Crafting, Inventory, Harvesting, and Tide. The defects are almost entirely one type: **the specification is more confident than its foundations** — constants cited that don't exist, ranges declared safe that aren't jointly safe, purity claimed for tests that need a live scene, an invariant asserted ("no softlock is possible by construction") with a counterexample in an unchecked dimension, and fantasy prose promising readings the mechanics can't produce.

Completeness: 8/8 sections present

Dependency Graph

Bidirectional consistency confirmed in Crafting and Inventory; LDU correctly uncoupled.

Required Before Implementation (blocking)

Plus Rule 11 split (ruled at Axis 2, below): 11a atomicity (locked, stays) / 11b input cadence (/ux-design-owned; hold-to-repeat and drag-row permitted as sequential atomic commits with no queue or pending state).

Recommended Revisions

Specialist Disagreements (adjudicated, both sides preserved)

Explicitly rejected/downgraded (recorded, not silently dropped): full-refund- invalidates-perimeter-metric (metric measures time-to-first-completion); stationRange knob split (YAGNI); picker scalability (Tier 1); staleness-as-blocking (re-litigates the gate); bootstrap-order softness (accurate, no action).

Routed out, not blocking this GDD:

Nice-to-Have

AC-43 boundary direction restated in-AC; build-mode EXIT transition test (converse of AC-11); SharedStorage "component" terminology parenthetical; grid-overlay draw-call guidance at /asset-spec time; structures.json runtime-boot failure behavior (loud reject defined for the parser, undefined for async Addressables boot path); AC-8 sequenced behind OQ6 (gridCellSize unpinned).

Senior Verdict [creative-director] — abridged

NEEDS REVISION, six change-sets to clear (the five blocking items + one editorial/flag pass). What the GDD does unusually well, recorded so the finding volume doesn't misrepresent it: enforcement at the provider (orbit test), the no-ledger test applied one layer before the field would exist, the declined-RecipeDef-reuse reasoning, absences named as intent (Enemy AI / LDU / Base-Defense rows), and the MVP honesty clause — "a section whose entire purpose is to prevent the doc from claiming more than it delivers." Every defect is the same failure mode: a well-reasoned claim never adversarially checked against its own dependencies.

Scope Signal

Rough scope signal: L (5 upstream dependencies, 4 formulas + 2 CI gates, hard coupling to Crafting/Inventory/Save, story scoping sequenced behind the netcode ADR) — producer should verify before sprint planning.