Files
settled-reach/docs/design/systems-framework-review-gestalt.md
T
jpmschweitzerandClaude Opus 4.6 e8263e209e refactor(data): rename Krenn to Van Maanen's Star
System S-057 assigned to real star GJ 35 (Van Maanen's Star, DG white
dwarf at 13.9 ly). Renamed across all content, server code, docs,
decisions, wiki lore, and config files. 224 files updated.

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

32 KiB

Star Systems Framework — Gestalt Mechanics Review

Reviewer: Gestalt (Systems Designer) Status: Pre-consolidation review Created: 2026-03-13 Purpose: Evaluate the Miri/Paula framework from a game mechanics and fun factor perspective. What creates decisions? What does a game system actually consume? What is lore decoration? What is missing?


The Bottom Line First

This framework is genuinely excellent worldbuilding that is about 70% of the way to being a game design tool. The worldbuilding bones are exceptional — the "open door, rigged room" conspiracy framing is the best structural idea either author has produced, and the column set has real mechanical teeth. But there are gaps, ambiguities, and places where the framework produces lore instead of decisions.

Let me break down what this actually means mechanically.


Section 1: Does This Create Interesting Player Decisions?

The Core Problem to Solve First

The player is in Van Maanen's Star. They are playing a detective or smuggler in a single system. The Reach-spanning framework needs to reach into that local experience or it will never matter.

Let me map the chain: galactic system parameters -> local NPC behavior -> player-facing information asymmetry -> player decisions.

If the chain breaks anywhere, the system is lore, not gameplay.

Where the chain holds:

  • distribution_index -> imprint access tier for local NPCs -> risk calculus of NPCs the player interacts with -> meaningful behavioral variation. This chain is intact. A system with captured distribution and poor imprint access produces NPCs who are existentially risk-averse in ways that directly affect investigation gameplay. Paula's analysis of the imprint gap as the "human face of every political tension" is not just narrative writing — it is a behavioral modifier that the simulation can express through NPC decision-making.

  • dominant_faction + commission_presence -> which institutional actors are present -> which NPCs have institutional backing -> which threats are credible. A system where the Commission is dominant versus nominal changes what happens when the player gets caught doing something they shouldn't. This is a real decision structure.

  • gate_topology -> which routes the player can actually take -> travel decisions with genuine tradeoffs. More on this below.

  • silence_topic -> what NPCs won't discuss until trust threshold -> specific dialogue gate mechanic. This is probably the column that most directly generates player-facing decisions, and it's currently under-specified in terms of how it maps to gameplay (also more below).

Where the chain breaks:

  • cultural_register / ambient_anxiety / local_pride — these are excellent NPC texture, but as currently specified they do not generate decisions. They generate atmosphere. "People here talk about survival" is flavor unless it gates something. What does a system where the talk register is survival allow that profit doesn't? If the answer is only "different dialogue lines," this is a presentation variable, not a game mechanic.

  • primary_fault_line / secondary_fault_line — same issue. These are named pressures but the framework does not specify what they produce in terms of player-observable events or decisions. "Resource extraction is the primary fault line" is a description of latent tension. What does that tension DO? Does it manifest as random events? Faction hostility tables? NPC loyalty thresholds? The framework identifies the pressure without specifying the release mechanism.

  • founding_motivation and settlement_wave — almost pure lore. I can construct a story about why these matter, but I cannot identify a specific player decision they produce without additional design work.

My verdict on this section: The framework creates asymmetric richness. About 30% of the columns have clear chains to player decisions. The rest are narrative support. That 30% is genuinely valuable and would produce interesting gameplay. The other 70% needs either (a) a defined release mechanism or (b) honest reclassification as lore-generation variables that do not directly drive systems.


Section 2: Column-by-Column Mechanical Value Assessment

Let me sort the 54 columns by mechanical utility. I am being blunt.

High Mechanical Value (game systems can directly consume these)

Column Why It Matters Mechanically
gate_topology Determines travel options, chokepoint leverage, whether a system can be isolated. Should drive faction control of transit.
gate_connections Direct input to pathfinding and travel cost calculations.
dominant_faction Who responds when the player does something that gets noticed.
commission_presence Surveillance level. Directly affects what the player can get away with.
syndic_presence + syndic_type Who controls commerce, what prices look like, who the player can deal with.
separatist_presence + separatist_type Available illegal networks, contact types, safe houses.
institute_presence Whether classified knowledge is nearby and what it costs to access.
distribution_index Economic stratification. NPC imprint access, risk tolerance, bribe thresholds.
imprint_access Direct input to NPC death-risk calculation. Critical for D-008's "death = information loss" mechanic.
governance_type Which legal structures apply to the player. Corporate vs democratic governance changes what "legal" means.
economic_tier Price levels, available gear, what jobs exist.
silence_topic Trust gate for dialogue. Should map directly to knowledge graph access thresholds.
primary_fault_line IF it maps to event tables — which tension surfaces as crisis. Currently underspecified.
habitability_profile Environmental hazard systems, movement costs, equipment requirements.
primary_archetype Quick generation tag for what kinds of encounters/templates this system produces.
earth_alignment + earth_proximity + earth_tension Determines which faction contacts are available, what is politically sensitive, which Syndics can be leveraged.

Medium Mechanical Value (supports systems indirectly)

Column Assessment
cultural_register + secondary NPC dialogue filtering. Valuable but only if the dialogue system consumes it as a behavioral modifier, not just text selection.
ambient_anxiety Should drive event frequency weights for the storyteller. A system with gate_stability anxiety should have gate-related events fire more often. If the storyteller reads this column, it earns its place.
local_pride Reputation mechanic hook — doing something that threatens what a system is proud of should increase faction hostility faster. Again, only if something reads this.
primary_tone Content generation shorthand. Valuable for NPC and location template selection. Not directly a game mechanic.
historical_event Activates specific backstory templates that affect current NPC relationships. The gyre_event value in particular should connect to investigation content.
founding_culture_primary Drives naming conventions, cultural contact networks, and some dialogue variation. More valuable for content generation than for runtime systems.
religious_status Drives what kinds of governance restrictions exist and what Commission friction looks like. Worth keeping if it feeds governance and faction presence logic.
generation_priority Meta-column. Tells content generation depth. Essential for the production pipeline, zero gameplay impact.

Low Mechanical Value (lore and content generation, not game systems)

Column Assessment
compound_zone Derived from other columns. Remove from schema as a stored field; compute on demand. Pure redundancy.
geographic_band The inner/outer distinction is only meaningful if transit costs vary by band. Is this the case? If not, this is lore geography.
star_type Almost pure flavor. Could drive environmental hazard variation (binary systems, flare stars) but this is very distant from current scope.
founding_motivation Informative for world-building, does not produce player decisions in current design. Valuable for NPC dialogue flavor only.
settlement_wave + settlement_age_years Both store the same information at different precision. Pick one. Age in years is more precise and more useful. The wave enum is a lore-readability convenience.
cultural_continuity "How well-preserved is the founding culture" — atmospheric. Does not produce a game decision I can identify.
cultural_persistence Same family as above. This and cultural_continuity overlap substantially.
cultural_corridor Infrastructure for content coherence during generation. Zero runtime value.
narrative_hook Free text. Production-side only.
calibration_note Production-side only.
adjacent_systems This should be a runtime-computed graph edge, not a stored CSV column. It will be computed by the generation system anyway.
habitable_planet_count / inhabited_planet_count Environmental texture. Matter for map generation but not directly for gameplay systems.
asteroid_belt / gas_giant Boolean flags for cosmetic variation. Unless asteroid belts generate specific encounter types, these are set dressing.
span_gate_network Relevant for intra-system travel, which is not currently a player-facing mechanic at the galactic scale. Could become important later.

Section 3: The Conspiracy Framing — Does It Work as Gameplay?

Let me break down what the "open door, rigged room" conspiracy means mechanically.

What They Got Right

Both Miri and Paula converged on the same conclusion through different paths: the conspiracy is structural, not a discoverable event. This is the correct call for gameplay, and here is why.

A single discoverable conspiracy has a resolution arc: find the evidence, expose the villain, achieve closure. That is a satisfying single-player campaign — but it is not replayable and it is not the kind of emergent narrative the Rimworld-style storyteller produces best. The storyteller works by creating ongoing pressure, not by building toward a single catharsis.

The "founding Perpetuals rigged the institutional framework before settlers arrived" conspiracy produces a different kind of discovery arc: the player recognizes the pattern across multiple systems, multiple interactions, multiple NPCs. There is no single piece of evidence that "solves" it. Understanding the structure doesn't free you from it. This is what D-091 (complicity as thematic core) demands — the player becomes complicit in something they gradually understand rather than dramatically reveal.

What Needs Design Work

Miri's section 5.5 ("The Conspiracy / Founding — Where It Appears in the Schema") is the best piece of systems design in these six documents. This is the right framing:

The conspiracy is visible in the pattern, not in any single cell.

But this creates a specific design requirement that neither document addresses: the player needs a mechanism to see the pattern across systems, not just the data in any single system.

In a game where the player is in Van Maanen's Star and can only directly observe Van Maanen's Star, how do they learn that the distribution pattern of distribution_index = captured correlates with settlement_wave = wave_1 systems, and that this correlation is not a coincidence? The knowledge graph (D-041) handles what the player directly observes. But cross-system pattern recognition requires either:

  1. A research mechanic — the player can investigate Reach-wide institutional history from within a single system (archive access, Meridian database queries, old Perpetuals who remember)
  2. A dialogue-driven revelation — specific NPCs across multiple play sessions hold pieces of the structural picture
  3. A journalist/historian NPC archetype who has been trying to publish this pattern for decades and whose silence_topic IS the pattern

None of these are in the framework as specified. They need to be. Without a mechanism for the player to accumulate cross-system pattern knowledge from within a single system playthrough, the structural conspiracy is exclusively background lore for the content authors, not gameplay.

The Perpetuals-Who-Remember Problem

Paula's section on Perpetuals who were politically active during the secession is narratively excellent. From a game mechanics perspective, it creates a specific opportunity: these NPCs are the investigation targets. A player who corners a 350-year-old Perpetual and earns enough trust to ask real questions is accessing primary source evidence for the structural conspiracy.

This needs to be encoded in the framework as a specific NPC category — something like perpetual_class: founding_generation — that the storyteller knows to treat as high-value investigation targets. Currently this is implied by settlement_wave = wave_1 system context and NPC age, but it needs a cleaner signal.


Section 4: The Tone/Cultural Voice System — Is It Actionable?

The three-axis cultural profile (talk_register + ambient_anxiety + local_pride) is the most-developed part of the framework for NPC behavioral generation. Let me evaluate it as a mechanic.

What Works

The system is structurally sound. Three orthogonal axes produce a meaningful signature for each system without requiring combinatorial explosion. A system with obligation talk register + gate_stability anxiety + independence pride reads differently from profit + contract_renewal + trade, and these differences translate into concrete NPC behavioral variations.

The silence_topic field is the single most mechanically interesting column in the entire spec. Paula's observation that "what a community does not discuss is as informative as what it emphasizes" is not just good writing — it is the asymmetric information mechanic applied to cultural systems. This field should drive dialogue gating: the silence_topic value maps directly to knowledge graph access thresholds for specific fact categories. You cannot ask about the cargo corridor arrangement in Van Maanen's Star until you have established enough trust with locals that the silence becomes something they're willing to break.

This mechanic needs to be specified more concretely. As currently written, silence_topic is optional for most systems and free-text where present. I want it to be:

  1. Required for all systems with narrative_notable = true (both Miri and Paula agree here)
  2. Tied to a trust threshold value, not just a text description
  3. Aligned with the knowledge graph's confidence levels — silence_topic contents should require KnowsDetails confidence in a related fact before they unlock

What Doesn't Work

The primary_tone enum is doing the wrong job. It has 14 values including specific situations (veil_institute_presence) mixed with atmospheric moods (cosmopolitan_bustle, working_grit). These are not the same kind of variable. "Veil Institute presence" is a factual state. "Working grit" is an NPC behavioral texture. Mixing them in one enum produces a column that does not have consistent semantics across its values.

Recommendation: Split primary_tone into two columns. Keep the atmospheric tone enum (cosmopolitan, corporate, frontier, agricultural, etc.). Create a separate active_situation field with specific situation tags (institute_presence, gate_dispute, contested_transition, etc.) that the storyteller can use as event weight modifiers.

The dual-register system (cultural_register + cultural_register_secondary) is fine but under-specified in terms of what "secondary" means. Is it a minor influence or a competing one? In systems where the two registers are in tension — profit primary, freedom secondary — that tension should produce different dialogue than a system where both are complementary. The framework doesn't address this.


Section 5: Column Count and Complexity

My count verdict: 54 columns is acceptable if the redundant ones are removed. The current spec has at least 6 columns that should be cut or consolidated.

Cut or derive:

  1. compound_zone — derived field. Compute it in the wiki generator, not in the CSV. Storing derived data creates consistency bugs.
  2. settlement_wave — redundant with settlement_age_years. Keep the enum as a convenience for content authors but don't store it as a separate column. Derive it from the age value.
  3. geographic_band (inner/outer) — only worth storing if it drives different game mechanics. Currently it does not. Fold it into geographic_sector labels if needed for map organization.
  4. Either cultural_continuity OR cultural_persistence — these overlap. cultural_continuity (intact/recognizable/ancestral/archaeological) describes how preserved the founding culture is. cultural_persistence (standard/high/trauma_origin) describes how strongly it persists. The second is more useful for behavioral modeling because it encodes why the culture is persistent. Keep cultural_persistence, drop cultural_continuity.
  5. adjacent_systems — should be a graph edge computed during generation, not a stored column. Treat it as infrastructure, not data.
  6. narrative_hook — free text, production-side only. Move it to a companion production notes spreadsheet rather than the canonical schema.

After these cuts: 48 columns. Still substantial, but every remaining column should have a clear consumer (either a game system or the content generation pipeline).

Columns I'd add (see Section 7).


Section 6: The Micro-Disagreements — My Positions

Earth Rivalry as a fault_line value (Paula) vs. dedicated earth_ columns only (Miri)?

Miri is right. Earth Rivalry is an external relationship, not an internal fracture. The six original fault lines describe tensions within the Reach's political structure. Adding an external relationship as a fault line conflates two different types of political stress. The dedicated earth_proximity, earth_tension, and earth_alignment columns handle Earth-specific effects cleanly. Paula's concern about systems where Earth proximity IS the organizing political tension is valid — but in those systems, the fault line will be gate_dependence (who controls the Sol aperture) or knowledge_access (what the Institute classifies about the Earth connection). These are more precise than "Earth Rivalry."

cultural_legibility (Paula) vs. cultural_continuity (Miri)?

Neither, but Paula's framing is better. "Legibility" implies an outside observer perspective — how readable is this culture to someone who didn't grow up in it. That is potentially a game mechanic (legibility could modify the player's ability to read NPC behavior in unfamiliar systems). "Continuity" implies an inside-out question about preservation. I'd lean toward cultural_legibility if we're going to keep one, because it connects to the player's experience of arriving in a new system. But see my recommendation above to drop it in favor of cultural_persistence which is the more behaviorally useful version.

8 governance types (Miri) vs. 9 with transitional (Paula)?

Paula is right. Keep transitional. A system in political flux — where the governance type is genuinely unstable — produces different gameplay from a system that is stable in any direction. The dominant_faction = transitional value already exists in the spec; making it explicit in governance_type as well creates useful redundancy that content authors can rely on. Transitional systems are where the most interesting short-arc storyteller events happen. They deserve their own tag.

religious_status compound field (Miri) vs. religious_generation + religious_outcome separate (Paula)?

Miri is right on implementation, but I want the generation count preserved.

The compound enum (early_covenant, mid_crisis, theocratic_consolidation, etc.) is more useful for game systems than two separate fields, because as Miri notes, the generation count is only meaningful in conjunction with the outcome. However, Miri's argument that the generation count is derivable from settlement_age_years at ~25-30 years per generation is only approximately true — religious communities vary significantly in generational rhythm, and some founding communities were multi-generational even at arrival.

My compromise: keep religious_status as a compound enum per Miri's proposal. Add a religious_generation_count integer field that is optional (nullable for non-religious founding), short (an integer), and only populated for the ~25 systems where religious dynamics are a significant gameplay factor. The compound enum drives game systems. The integer is there for content authors writing NPC dialogue that references specific generations.


Section 7: Missing Game Mechanics

This is the section where I earn my keep. Here are the gaps.

Gap 1: No Stability Index That Systems Can Directly Consume

The framework produces the ingredients of stability and instability but does not synthesize them into a value the storyteller can use. Both Miri and Paula describe fault lines, historical events, and political tensions at length — but there is no column that says "this system is currently under 7/10 pressure, which means the storyteller should be generating events here."

Proposed column: stability_index (enum or 1-5 integer): calculated from governance_type + primary_fault_line + historical_event age + faction balance. Could be derived rather than stored.

More precisely: the storyteller needs to know which systems are hot (where crisis events should originate) versus cold (where background life proceeds). The current framework provides the inputs for a human writer to assess this, but not a signal the storyteller system can read automatically.

Gap 2: No Mechanism for Cross-System Pattern Discovery

As discussed in Section 3: the structural conspiracy is invisible to a player confined to a single system unless there is a mechanism to accumulate cross-system knowledge without physically visiting every system. This is a gap in the design, not the framework — but the framework should at minimum flag which systems are linked by the conspiratorial pattern so the content system can place clues appropriately.

Proposed column: conspiracy_layer (enum): none, surface (publicly available institutional oddities), structural (pattern is visible to investigators), foundational (primary source evidence about the founding). This column tells the content generation system what depth of institutional revelation is available in a given system. A player piecing together structural evidence from multiple systems eventually sees the foundational picture. This is how the distributed conspiracy becomes playable.

Gap 3: No System State Change Infrastructure

This is the one I am most concerned about. The framework generates a static description of each system at campaign start. But D-023 establishes that the game world changes — the storyteller generates events, factions shift, systems destabilize. The framework has no mechanism for tracking how system parameters change over the course of a playthrough.

Specifically: if the player spends 40 game-hours in a system and does things that affect its political balance — exposing a corrupt Syndic operation, triggering a Commission audit, revealing a covered-up gyre event — what happens to dominant_faction? To commission_presence? To silence_topic?

The framework as designed assumes these values are constants. They need to be designed as mutable state with defined change conditions, at least for systems the player can actually visit.

Proposed design: A system_volatility flag (boolean or tier) that marks which parameters are mutable during play. High-volatility systems have dominant_faction, faction_presence, and primary_fault_line as player-affectable state. Low-volatility systems are effectively constants for purposes of the single playthrough. This is a mechanical necessity before the CSV columns can be treated as input to a live game simulation, not just a lore reference.

Gap 4: The silence_topic Field Needs a Trust Threshold

silence_topic is the best mechanic in the spec and it is currently half-specified. It describes WHAT is not discussed. It does not specify WHEN it becomes discussable, WHAT the player must do to earn that, or HOW the dialogue system surfaces the transition.

Proposed additional column: silence_threshold (enum): faction_trust (requires relationship level with dominant faction), personal_trust (requires relationship with specific NPCs), investigation_depth (requires X facts about related topic in knowledge graph), unreachable (never discussed in player-facing dialogue — background lore only). This turns a lore variable into a game mechanic with a defined unlock condition.

Gap 5: No Economic Volatility or Price Variation Infrastructure

The economic_tier and distribution_index columns describe economic character but not economic variation over time or between playthroughs. For a Rimworld-style system, economic pressure needs to vary — otherwise every playthrough in a Tier 3 system looks identical economically.

Proposed mechanism (lightweight): Add a supply_dependency field: what resource or commodity this system depends on that could be disrupted. This gives the storyteller a handle for creating economic pressure events (the supply route is disrupted, prices spike, NPCs get anxious about contract_renewal). It also creates a player-visible signal that connects ambient_anxiety to a specific economic vulnerability.

Gap 6: No NPC Archetype Distribution Signal

The framework characterizes systems culturally and politically but does not tell the NPC generation system what kinds of NPCs should be more frequent there. A research_periphery zone with Veil Institute presence should have more researcher/academic archetypes. An extraction_scar system should have a higher ratio of economic-migrant and corporate-employee archetypes.

This is not the framework's job to fully specify — that is an NPC generation design problem. But the framework should expose the signal. A column like npc_population_profile (enum with values: labor_heavy / research_heavy / institutional / mixed / frontier / displaced) would give the NPC generation system a direct input without requiring it to reconstruct population character from ten other columns.


Section 8: The Storyteller Integration Question

Miri and Paula both reference the storyteller but neither document directly addresses how the storyteller consumes the CSV data. Let me make this explicit.

The D-023 three-tier content model works as follows: Tier 1 drama modules are drawn from a pool and activated based on player engagement. Tier 2 is templated content with combinatorial variation. Tier 3 is procedural filler.

The star systems framework feeds all three tiers:

  • Tier 1 placement: The storyteller needs to know which systems can host which kinds of Tier 1 modules. An assassination_conspiracy module requires a system with dominant_faction = syndic or assembly, governance_type != fully_democratic, and distribution_index = captured or extractive. The framework's columns are the precondition checklist for Tier 1 placement. This will work cleanly IF the Tier 1 module specifications are written with these column names as preconditions.

  • Tier 2 variation: The cultural_register, primary_tone, and ambient_anxiety columns are exactly the inputs a Tier 2 dialogue template system needs to produce variation. "The template has a bartender NPC; in a profit-register system the bartender is commercially savvy and gives pricing information; in an obligation-register system the bartender is community-protective and deflects questions about outsiders." This is how you get the same template producing different felt experiences.

  • Tier 3 event weights: The primary_fault_line and stability_index (currently missing) tell the storyteller which random events should fire more frequently in this system. A lattice_surveillance fault line system should have more Commission-presence events in Tier 3. This is where the missing stability index matters most — without it, event weight distribution defaults to uniform, which produces a flat, characterless background experience.

The integration gap: The framework does not specify which columns are storyteller inputs versus content-author reference. Every column should be tagged for its consumer: (S) storyteller runtime, (C) content-author reference, (G) game system direct input, (D) derived/computed. This tagging should be part of the final column spec.


Section 9: Overall Assessment

What Is Excellent

  1. The "open door, rigged room" conspiracy framing. This is exactly the right kind of structural antagonism for a game about complicity (D-091). It does not have a satisfying resolution because recognizing it is not the same as escaping it.

  2. The distribution_index / imprint_access relationship. Paula's framing of the imprint gap as the visible face of every political tension translates directly into NPC behavioral variation in the simulation. This is the single best example in these documents of lore that is also mechanics.

  3. The silence_topic field concept. Needs to be fully specified as a mechanic (see Gap 4 above), but the concept is the asymmetric information master mechanic applied to cultural systems. This is what good systems design looks like.

  4. Van Maanen's Star validation in Miri's appendix. Unremarkable in every column. This is exactly right. The framework should make Van Maanen's Star read as one of many — and it does.

  5. The six political fault lines. These are clean, orthogonal, and produce genuinely different kinds of tension. They are currently under-specified in terms of what they produce (see Gap 1), but the underlying taxonomy is sound.

What Needs Work Before Consolidation

  1. Add stability_index. The storyteller needs a synthesized pressure signal, not ten individual inputs.

  2. Add conspiracy_layer. The structural conspiracy is currently not playable by a player confined to one system. This column is what makes it playable.

  3. Specify silence_topic as a mechanic with unlock conditions. Currently half a mechanic.

  4. Tag every column with its consumer. Storyteller / content author / game system / derived. This is not decoration — it is how the handoff from this framework to implementation happens.

  5. Address system state change. The framework assumes static values. The game requires mutable state for player-visited systems. Define which columns are mutable and what triggers their change.

  6. Drop the redundant columns. compound_zone, settlement_wave (use age_years), cultural_continuity, and adjacent_systems as stored values.

  7. Split primary_tone into atmospheric_tone + active_situation. Current enum mixes apples and oranges.

What Does Not Need More Work

  • The column count (after cuts, 48 is fine)
  • The gate topology enum (dead_end through hub — clean and directly usable)
  • The earth alignment/proximity/tension triple (elegant three-axis model)
  • The founding culture primary/secondary distinction
  • The narrative archetype system (Paula's archetype list is comprehensive; the Miri split of research_enclave_active vs _historical is correct)
  • The Van Maanen's Star calibration anchor (keep testing every framework decision against Van Maanen's Star)

Final Call on the Micro-Disagreements

Question My Call Reasoning
Earth Rivalry as fault_line Miri (no) External relationship, not internal fracture
cultural_legibility vs continuity Paula's framing, Miri's column (persistence) Legibility is the better concept; persistence is the more useful column
8 vs 9 governance types Paula (add transitional) Transitional is mechanically distinct, not redundant
religious_status compound vs two fields Miri (compound) + optional generation integer Compound drives systems; integer is available for content authors who need it

Gestalt — Sprint 24 / Pre-consolidation systems review Responds to: systems-framework-final-miri.md, systems-framework-final-paula.md Blocks: unified CSV column spec consolidation Decisions referenced: D-005, D-007, D-008, D-023, D-026, D-041, D-091