Files
settled-reach/docs/workshops/generator-architecture/nigel-round5.md
T
jpmschweitzerandClaude Opus 4.6 9a5c9c4408 docs(docs): add frontmatter to generator-architecture workshop
Standardized YAML frontmatter on all 38 files with title, description,
type, workshop, agent, and round fields.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 23:40:37 +01:00

6.7 KiB

title, description, type, status, workshop, agent, round, created
title description type status workshop agent round created
Nigel Round 5 — Final Review Final review and sign-off on workshop outcomes for replayability domain workshop archived generator-architecture nigel 5 2026-02-27

Generator Architecture Workshop — Round 5: Nigel (Final Review)

Date: 2026-02-27 Role: Replayability Advocate Task: Sign-off review of workshop-outcomes.md. Corrections only.


Sign-Off Status

SIGNED OFF with two corrections required and two notes.


Verification Checklist

1. MobileChunk replayability guarantees — PASS WITH NOTE

D-READY-13 correctly captures: vessels as persistent world entities, Docked state with dock_position, boarding via gangway, interior cache persisting crew state across voyages, departure schedule as required generator output (error state if missing). The stage+cast framing is correct.

Note: R-V-1 through R-V-6 are cited by reference only ("see round-4-notes.md §5"). This is acceptable if round-4-notes.md is preserved. For D-record durability, R-V-1 (≥50% variable manifest slots must differ between adjacent voyages) and R-V-3 (in-transit events are voyage-seeded, not vessel-seeded) are the two most critical for implementation correctness and should be verified to appear in the referenced section before filing.

2. Minimum 3 NPCs for intra-seed replayability — PASS

Explicitly stated: "Minimum NPC count for intra-seed replayability: 3 (one functional triangle). One NPC = maximum seed-to-seed variation, zero intra-seed emergence. Three NPCs = triangles, shifting alliances, cascade effects. Even Minimal-complexity insignificant districts need 3 NPCs." Correct and complete.

3. RegenerationStrategy enum — PASS

LocalOverlay / SoftReseed / FullReseed correctly maps in-playthrough / scenario-boundary / era-level. XOR prohibition for in-playthrough events is stated as a hard constraint and confirmed as lead decision L-7. The allowance of SoftReseed for scenario-boundary events is a valid nuance — the player was not present, so causal legibility is not required. Correct.

4. DramaDensity as runtime state — PASS

L-5 is explicit. The three-layer model correctly places drama_density under SIMULATION STATE (runtime storyteller — NOT generator output). Not on DistrictSkeleton. Confirmed.

5. Three-parameter model (WorldTier + ComplexityTier + DramaDensity) — CORRECTIONS REQUIRED

Two separate issues found:


Correction 1 — WorldTier Ceiling Conflict (Local)

The constraint table states:

"WorldTier → ComplexityTier ceiling: Core/Regional → Full max; Local → Moderate max; Transit → Minimal; Dormant → Empty."

The very next sentence states:

"A narratively critical backwater can be WorldTier::Local + ComplexityTier::Full."

These are directly contradictory. Local cannot simultaneously have a Moderate ceiling and an explicit Full-complexity example.

Root cause: The WorldTier enum description for Local includes "limited budget," conflating network significance (Local = low external connectivity) with simulation budget (which should be fully determined by ComplexityTier alone). WorldTier is about network position. ComplexityTier is about generator output depth. They are independent — this was the central Round 3 insight confirmed by all three participants.

The Backwater + Full complexity case is fundamental to the game's design ("Insignificance is a lens, not a verdict"). A dense, isolated community of 150 people who've lived together for 40 years can be as socially rich as any hub — it's just not connected to the wider network.

Required fix — corrected ceiling table:

WorldTier ComplexityTier ceiling
Core Full
Regional Full
Local Full
Transit Minimal
Dormant Empty

Also remove "limited budget" from the Local enum comment. Budget is ComplexityTier's responsibility, not WorldTier's.


Correction 2 — Missing ComplexityTier → DramaDensity Ceiling

The document states the first half of the constraint chain:

WorldTier constrains ComplexityTier ceiling ✓

But does NOT state the second half:

ComplexityTier constrains DramaDensity ceiling ✗ (missing)

This constraint is load-bearing. A ComplexityTier::Empty district has no NPCs, no social sites, no triangles. The storyteller cannot meaningfully activate drama in a district with no social fabric. Allowing the storyteller to set DramaDensity::Flashpoint on an Empty district is a bug category, not a design option.

Required addition — after the existing WorldTier → ComplexityTier ceiling table, add:

ComplexityTier → DramaDensity ceiling: Full → any intensity; Moderate → Active max; Minimal → Quiescent max; Empty → Zero only (no storyteller activation possible).

(Using the 3-level enum values currently in the struct: Quiescent / Active / Intense.)

This does not change any other part of the document. It is a missing half of the stated constraint chain.


Notes (Not Corrections, Not Blocking)

Note 1 — DramaDensity enum naming (Q-NNN-d)

Q-NNN-d flags Round 4 struct as Quiescent/Active/Intense (3 levels) vs. Round 3's Zero/Low/Medium/High/Flashpoint (5 levels). My preference is 5 levels for finer storyteller control. Specifically: the distinction between High ("this is the current narrative focus") and Flashpoint ("crisis actively destabilizing the world") is a categorically different gameplay state that should not collapse into a single Intense value. If 3 levels is chosen for implementation simplicity, I ask that Flashpoint be preserved as the distinct peak value — it is the storyteller's maximum-pressure instrument and deserves its own state.

This is a Q-record and sprint work. Flagging my position, not blocking.

Note 2 — Q-NNN-b Resolution

Q-NNN-b is listed as unresolved: "Departure schedule model — departure windows as generator output for docked vessels." But D-READY-13 already states: "scheduled_departure: Option<SimTick> field in Docked state satisfies this; the generator must populate it. Vessels without departure schedules are an error state." This appears resolved within the document. Recommend closing Q-NNN-b before sprint planning.


Overall Verdict

The document correctly captures the workshop architecture. Two corrections must be applied before D-records are filed:

  1. Local ceiling must be Full (not Moderate) — the backwater case is core design
  2. ComplexityTier → DramaDensity ceiling must be stated — it is half of the constraint chain

Everything else accurately reflects my Round 3-4 positions. The replayability architecture this document specifies will deliver: two players comparing the same world mod will have wildly different stories to tell.