- settings.json: add Read(repo/**), Read(/tmp/**), Grep, Glob to the
allowlist. Teammates inherit settings.json (not settings.local.json),
which had no Read rule — so every teammate file read escalated to the
lead as a per-file prompt. This closes that gap.
- Add the system-economic-specialization workshop brief (lore-authored
per-system dominant-commodity field + within-system weighted variation;
Q5 covers adding a small identity field set in the same 300-system pass).
Note: agent memory-strip (6c93b698f) + this read-allow reach teammates
only after a Claude Code restart (settings/agent-def snapshot is taken at
lead startup).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6.6 KiB
Workshop — System economic-specialization field (lore-authored dominant commodity)
Short, focused workshop. Goal: design ONE authored per-system field (maybe two, or a small identity set) that drives each settlement's dominant commodity — so the built world stays in step with GTTR/wiki lore instead of being guessed by a heuristic.
Participants: Miri, Burnelli-Sheldon, Paula
Why we're here (the problem)
Layer 2 (#982) needs each settlement's dominant commodity, which drives its
built form (D-233: BulkClass × ProductionUbiquity → coverage, vocabulary,
spread). We tried deriving it from economic_role + corp-HQ + planet_class.
That heuristic can contradict authored lore: it could turn the core's
breadbasket into a foundry, or make the MVG homeworld about cereal products.
Decision already taken (the frame — don't relitigate): authored lore WINS. The dominant commodity for a system is authored, lore/GTTR-consistent. The role+corp+planet_class heuristic survives only as a fallback / weighting basis for unnamed, generic worlds. This workshop designs the authored layer.
The shape the human wants (design within this)
- ONE authored field per system = the system's economic specialization / dominant-commodity character. Lore-driven, GTTR-consistent.
- Maybe a SECOND field —
economy_size— a modifier. Decide if it earns its place and what it modifies. - Within a system, bodies vary weightedly around the system field — an industrial system can still have a farming moon, but the system reads as its authored character. The variation is weighted, not free.
- A 300-system content pass fills this field (Miri + Paula + Burnelli), staying in step with the wiki/GTTR. Keep the authoring burden to ~1 field (2 max, or a tight identity set per Q5) per system.
Frozen-amber caveat (pin this)
The field is static, authored, t=0 — read at build time into systems.db,
never the rolling economy. Derivation must stay deterministic (D-010). No
PressureState, no tâtonnement, no save-state.
Questions for participants
Each participant answers all five from their lens (Miri = lore/GTTR truth; Burnelli-Sheldon = economic credibility + mapping + weighting + integration; Paula = faction/political economy). Be concrete — name the field, propose its vocabulary, name worlds that must be pinned.
Miri / Burnelli-Sheldon / Paula:
- Q1 — The field. What exactly is the single per-system field? Its
vocabulary (a commodity id? a specialization category? primary ± secondary?),
and how it maps to
dominant_bulk_class+dominant_production_ubiquity(D-233). Does it reuse/replace the existingsystem_economy.economic_base_primary /secondary(already authored, free-text) or supersede it? One value or a small set? - Q2 — Within-system weighted variation. How do bodies vary around the
system field? What weights apply (body
economic_role,planet_class, corp HQ, faction)? How is a minority body (the farming moon in a foundry system) expressed without breaking the system's authored read? Must be deterministic (seed + static data only). - Q3 —
economy_size? Is a second field warranted? If so, what does it modify — coverage density (D-220), count of specialized blocks, labor draw (D-233 residential follow-on) — or is it already covered bypopulation/prosperity_baseline? Decide in or out; don't add a field that duplicates one. - Q4 — The content pass. The authoring workflow for ~300 systems: who
authors what (Miri = lore/GTTR truth; Paula = faction/political economy, esp.
faction homeworlds & capitals; Burnelli = economic credibility + the
field→commodity mapping + the weighting model); how to stay GTTR-consistent;
where the source lives (wiki TOML →
import_economics.py→systems.dbcolumn); CI guardrails (every system has the field; values in-vocabulary; flag systems where the field contradicts existing authored prose). - Q5 — Do we want a couple MORE identity fields while the pass is open?
We're touching all ~300 systems by hand once. What other 1–2 authored
per-system fields would meaningfully flesh out identity and are cheap to
fill in the same pass — most obviously the architecture / cultural
character (the D-232 trait-template /
atlas_body_trait_bias"hero" pin, so a system reads architecturally as canon, not heuristic), and possibly a dominant cultural/political register. Propose the minimal high-value set, with the same system-level + within-system-weighted-variation shape. Guard against scope creep: every field is authoring burden ×300 and a maintenance surface — only fields that genuinely change how a system reads earn a slot, and each must degrade to a heuristic/default for unauthored systems. Decide the field set; don't gold-plate.
Build on what exists (don't restart)
- #982 baseline (provisional, uncommitted): the role+corp+planet_class
heuristic in
import_economics.py+city_context_reader.rs— becomes the fallback/weighting basis, not the primary driver. - D-233 (economic signal → block-fill; the 2026-05-31 amendment defines the current heuristic — this workshop will re-amend it).
- D-184 (commodity catalogue), D-199 (economic read-set), D-200 (build-time tier-1 denormalization), D-176/D-178 (rolling economy — OUT of scope here, runtime only), D-220 (density), D-197 (prosperity), D-232 (architecture-flavor / trait templates — relevant to Q5).
system_economy.economic_base_primary/secondary,bodies.economic_role,bodies.planet_class,corp_presence.primary_operation— the static signals that already exist (Burnelli's earlier data memo has the full inventory).
Workshop Format
Quick, two rounds max, with a mandatory user checkpoint between.
- Round 1 — Opening positions. Each participant reads this brief + the
decisions/data for their angle and writes their answer to Q1–Q5 to
docs/workshops/system-economic-specialization/{agent}-round1.md. Concrete: name the field, its vocabulary, the weighting model, the Q5 field set, and the worlds that must be pinned. Qatux documents; the lead presents findings to the human before any Round 2. - Round 2 — Synthesis / convergence (only if the human approves). Resolve forks surfaced in Round 1 into a single proposed field schema + content-pass plan. Output → a D-record (re-amending D-233 + any new record) and the ticket set (SI).
Qatux (documenter) and SI (ticket prep) join and are never dismissed early. Sonnet-pinned participants.