Skip to content

0093 — Consolidated rulings, 2026-07-10 session

Status

Accepted (ratified by Max, 2026-07-10). Distributed-fold (37/41) — 37 ratified items prose-folded into their per-item target docs, each carrying a (folded from ADR-0093, re-verified 2026-08-07) citation — defer to those pages for the canonical description; this ADR's own body is now a compact pointer table (see Decision below), not a restatement. (re-verified 2026-08-07; item 40 tip-recheck 2026-08-17) 2 of the 37 (items 20, 25) remain only partially or not yet shipped despite their original "already specified"/"go" framing — flagged ⚠️ in the pointer table, with the corrected status folded into the target doc, not silently upgraded to ✅. Item 40 (wreck-only emergency cargo) is now tip-shipped — legacy _transfer_emergency_cargo retired; see pointer row. 4 items remain Pending, not ratified, not folded: P1 (ARIA "market" memory_type retire-vs-register), P2 (citadel-grid cutover calibration constants), P3 (admin-ui lint MFA carve-out sign-off — code-level, no canon fold), P4 (LLM provider funding trigger). Covers 41 decisions across 9 batches, ruled directly by Max in a structured session.

Context

A single ruling session on 2026-07-10 closed a backlog of open canon questions, provisional numbers, and gated GO/no-go calls spanning blockers, design numbers, policy/UX, infrastructure, RBAC, payments, ARIA-LLM, and economy/combat-law. This ADR is the consolidated, traceable record of every decision made in that session — one entry per item, numbered to match the session's own batch numbering for cross-reference. The prose fold into each affected FEATURES/ / SYSTEMS/ / OPERATIONS/ / DATA_MODELS/ doc is landed separately by parallel doc-workers; this ADR points at the target path for each item but is not itself the canonical restatement.

Two items surfaced a genuine conflict between the ruling and the current doc state during authorship — items 12/30 (ARIA tier-naming) and item 20 (local_rank vocabulary) — flagged ⚠️ in the Decision pointer table below and called out again in Consequences; the tier-naming conflict is now resolved by the Amendment below, the local_rank conflict is not.

Decision

Distributed-fold pointer table (37/41 confirmed items). Each row's substance is now the target doc's own prose, cited there as (folded from ADR-0093, re-verified 2026-08-07) — this table is a locator, not a restatement; see the target doc for canonical wording. Two items (marked ⚠️ below) were re-verified during this fold pass and found not fully shipped despite the ADR's original framing — the target doc carries the corrected status, not this table.

# Item Target doc Fold status
1 ARIA memory encryption key: wire persistent OPERATIONS/aria.md ✅ Shipped, folded
2 ARIA memory_type literals: rename to canon keys ('market' left unmigrated → Pending P1) DATA_MODELS/aria-data-index.md ✅ Shipped, folded
3 Defense-underfunding cascade: merge both readings FEATURES/economy/port-ownership.md, FEATURES/economy/station-protection.md ✅ Shipped, folded (previously reconciled)
4 multiregion-owner-500: explicit region_id + 400-on-ambiguity OPERATIONS/multi-regional.md ✅ Shipped 907c0c7c, live-verified, folded
5 Tractor-lock: all four provisional numbers ratified FEATURES/economy/station-protection.md ✅ Shipped, folded
6 Scout fleet-role: +10% first-shot / −5% defense FEATURES/gameplay/fleet-tactics.md ✅ Shipped, folded
7 Contract insurance premiums: 2% / 5% / 10% FEATURES/economy/contracts.md ✅ Shipped, folded
8 Region lifecycle consumer-states: grace = ALIVE; generation_corrupt + attachment_pending = DORMANT SYSTEMS/region-lifecycle.md, SYSTEMS/npc-scheduler.md, SYSTEMS/pirate-ecosystem.md ✅ Shipped, folded
9 Confirm-gate UX standard: inline confirm, no modal OPERATIONS/ui-flows.md § 3.6 ✅ Shipped, folded
10 UIADM-SECURITY-PLAYER-OPS: gated with Wave-12 RBAC OPERATIONS/admin-ui.md ✅ Ruling folded (feature itself still 📐 design-only, gated as ruled)
11 P5 starvation: all three readings ratified (a/b shipped, c intentionally unbuilt) SYSTEMS/planetary-production-tick.md ✅ Shipped, folded
12 ARIA operator-tier multipliers: 1.0/1.1/1.2/1.35/1.5 FEATURES/gameplay/aria-companion.md ✅ Shipped, folded — tier-naming flag resolved by the 2026-07-10 Amendment below
13 create_all package: ship both (removal + required schema-parity gate) ARCHITECTURE/deployment.md, ARCHITECTURE/dev-environment.md ✅ Shipped, folded
14 AI-dialogue layer-4 policy: block four categories SYSTEMS/aria-dialogue.md ✅ Shipped, folded
16 Bang WOs: WO-BANG-ONEWAY-ALGO + WO-BANG-PLANET-SEED-EMIT OPERATIONS/bang-integration.md ✅ Shipped, folded
19 RBAC foundation chain: greenlight all three ADR-0058, OPERATIONS/admin-ui.md, DATA_MODELS/admin.md, OPERATIONS/rbac-admin-scopes.md ✅ Shipped, folded
20 Regional RBAC pair: go both (RegionalPermission + local_rank closed vocab) FEATURES/gameplay/regional-governance.md, DATA_MODELS/gameplay.md ⚠️ Ruling folded, but re-verify (2026-08-04) found neither half shippedlocal_rank is still an unvalidated String(50), RegionalPermission enforcement is called from zero routes. Design-only, RBAC-gated fix.
21 Orphaned GC admin methods: wire as admin routes OPERATIONS/admin-ui.md, OPERATIONS/monetization.md ✅ Ruling folded (sequenced behind item 19 as ruled)
22 ARIA GDPR purge: go, self-or-admin-scoped, all per-player aria_* tables OPERATIONS/aria.md ✅ Shipped, folded
23 Region takeover: go — $25/mo PayPal, SELECT FOR UPDATE serialization OPERATIONS/monetization.md ✅ Shipped, folded
24 GC-lapse window: go — 7-day window, one free bypass transport SYSTEMS/region-lifecycle.md § GC-lapse foreign-asset liquidation window ✅ Shipped, folded
25 Termination pair: gate-cascade now; citadel-grid shadow-cutover deferred SYSTEMS/region-lifecycle.md ⚠️ Ruling folded, partially shippeddispatch_station_termination is live (relocated/lost/skipped cascade; re-verified 2026-08-16, LEG-70); citadel-grid half stays open as Pending P2; takeover remains design-only. FEATURES/SYSTEMS status markers stay 🚧 Partial (no implied-done on the deferred half).
26 Both destructive drops approved (Player.reputation, aria_trading_patterns) DATA_MODELS/player.md, ADR-0038 ✅ Approved, folded
27 Resonance ledger numbers adopted ADR-0092 §4 ✅ Folded (dark behind item 17)
28 Dark trio go: narrative haggling, Deep-Brain retrieval, true-spend metering SYSTEMS/aria-dialogue.md ✅ Authorization folded — all three remain dark/design-only as ruled, not yet built
29 Lattice inference adopted SYSTEMS/course-plotting.md ✅ Folded (dark behind item 17)
30 Consciousness-diversity thresholds adopted DATA_MODELS/aria-data-index.md ✅ Folded — tier-naming flag resolved by the Amendment below
31 Warp/drone bonuses: go with item-12 tier ladder ADR-0092 §5 ✅ Folded (dark behind item 17)
32 Contract insurance WO: go FEATURES/economy/contracts.md ✅ Shipped, folded
33 Port-upgrade catalog: go, provisional prices FEATURES/economy/port-ownership.md ✅ Ruling folded (feature 📐 design-only, provisional as ruled)
34 Black-market fence: go, provisional rates FEATURES/economy/black-market.md ✅ Ruling folded (fence venues 📐 design-only, provisional as ruled)
35 Professions pipeline: go, provisional costs FEATURES/planets/professions.md ✅ Ruling folded (pipeline 📐 design-only, provisional as ruled)
36 L0 storage cap: 10,000 units/commodity SYSTEMS/planetary-production-tick.md, FEATURES/planets/citadels.md ✅ Shipped, folded
37 NPC contract-board capacity ladder: 40/32/26/20/16/12/10/8/6 FEATURES/economy/contracts.md ✅ Shipped, folded
38 CONCORD: seed faction row, −200 rep on Sentinel kill FEATURES/gameplay/police-forces.md, DATA_MODELS/gameplay.md ✅ Shipped, folded
39 Suspect/wanted triggers: merge ruling (union set) FEATURES/gameplay/ranking.md, FEATURES/gameplay/police-forces.md ✅ Shipped, folded — citation bug fixed (see below)
40 Destroyed-pilot emergency cargo: wreck-only FEATURES/gameplay/ships.md ✅ Shipped on tip — legacy _transfer_emergency_cargo retired; non-voluntary destroy_ship leaves hold cargo for CombatService._spawn_cargo_wreck (verified origin/feat 2d536457 + test_adr0093_item40_wreck_only_cargo.py, re-checked 2026-08-19 / LEG-566; ruling unchanged).
41 Lapsed-player re-engagement email: go OPERATIONS/retention.md ✅ Shipped, folded

Citation-bug fix. Item 39's original wording cited "ADR-0007" as part of the existing suspect/wanted trigger set; ADR/0007-s8-cargo-wreck-mechanic.md is the Cargo Wreck ADR and does not define suspect/wanted triggers. The correct source is ranking.md's own Suspect Status / Wanted Status sections (§177-211), as now cited in the fold at FEATURES/gameplay/police-forces.md and FEATURES/gameplay/ranking.md.

Standing orders (no canon doc fold)

  • 15 — Live-classifier red-team + $50/day breaker verification: authorized, pending funds. Feeds the standing order at item 17; no fold — a rollout gate, not game-mechanics canon. → ADR-0057.
  • 17 — ARIA two-flag flip is a standing order.ADR-0057, SYSTEMS/aria-dialogue.md (item 28's dark-trio note cites this trigger).
  • 18 — Legacy browser sweep folds into deploy windows. No canon doc fold — a rollout/process decision, not game-mechanics canon.

Note: the per-player/instance/per-request ARIA cost-cap dollar figures (daily $2.00, instance breaker $50.00/day, per-request ceiling raised $0.05→$0.25) were ruled the same day and already landed directly in ADR-0092 §4 — they are not re-listed here as they were not part of this session's numbered batch list.

Pending (not decided)

These four items surfaced during the session but were not ruled — they remain open questions, not decisions:

  • P1 — "market" memory_type. The live trade hook writes a "market" ARIAPersonalMemory row redundant with the canon commerce.tradeARIATradingObservation row from the same hook. Options on the table: (a) retire the redundant write; (b) register a dedicated ARIAPersonalMemory-backed market stream key. Tracked in DECISIONS.md § aria-market-memory-type.
  • P2 — citadel-grid cutover calibration constants (deferred from item 25 to a dedicated session). Tracked in DECISIONS.md § citadel-grid-shadow-cutover-calibration.
  • P3 — admin-ui lint MFA carve-out. Two held lint-carve-out lines plus the @eslint/js devDependency need sign-off (new-dependency gate). Lives in Sectorwars2102's admin-ui — no canon fold in this repo. Tracked in DECISIONS.md § admin-ui-mfa-lint-carveout.
  • P4 — LLM provider funding. The trigger condition for the standing order at item 17; not itself a ruling. Tracked in DECISIONS.md § aria-llm-provider-funding.

Consequences

  • Traceability, not restatement. This ADR is the session's record; the durable canon prose lives in the FEATURES/ / SYSTEMS/ / OPERATIONS/ / DATA_MODELS/ paths cited in the Decision pointer table above, each folded row bearing its own (folded from ADR-0093, re-verified 2026-08-07) citation. Where this ADR's summary and the fold diverge in wording, the fold is authoritative for mechanics; this ADR is authoritative for "what was decided and when."
  • The tier-naming conflict (items 12/30 vs. ADR-0092 §5) is resolved by the Amendment below — folded to the canonical Dormant/Aware/Awakened/Sentient/Transcendent sequence in both target docs. The local_rank vocabulary conflict (item 20) is not resolved — re-verification found the ruled closed vocabulary and RegionalPermission enforcement both unbuilt; tracked ⚠️ in the pointer table, RBAC-gated fix required, not silently papered over.
  • Re-verification against current code (2026-08-07, station-cascade half refreshed 2026-08-16 / LEG-70; item 40 tip-recheck 2026-08-17 / LEG-439) found items only partially or not yet shipped despite their original framing as already-specified/confirmatory: item 20 (regional RBAC, neither half wired), item 25 (gate/station termination cascade now live; citadel-grid half still Pending P2). Item 40 is tip-shipped (legacy _transfer_emergency_cargo retired — pointer row ✅). Remaining ⚠️ flags stay in their target docs rather than marked ✅ — the fold pass corrects status, it does not rubber-stamp the ADR's own optimism.
  • Items still ratifying already-fully-specified design as authorization, not new numbers (7, 24, 41) — the doc-fold there is confirmatory.
  • Items 27-31 stay dark behind ARIA_LLM_CHAT_ENABLED / ARIA_PROMPT_CLASSIFIER_ENABLED until the item-17 standing order fires (gated on P4 funding) — no player-facing surface changes until then.
  • Items 19-26 (RBAC + payments) and 32-41 (economy/combat-law) are Wave 12 and Wave 14 build targets respectively; this ADR authorizes the work without sequencing it.

Amendment (2026-07-10) — tier-naming reconciliation

Items 12 and 30 above transcribed the ARIA consciousness-tier sequence as "Dormant → Awakened → Attuned → Sentient → Transcendent" — a same-day transcription drift from the canonical tier names ratified by ADR-0017 and used throughout FEATURES/gameplay/aria-companion.md, DATA_MODELS/player.md, and ADR-0092 §5: Dormant / Aware / Awakened / Sentient / Transcendent. No "Attuned" tier exists in canon.

This amendment reconciles items 12 and 30 to the canonical tier names by ordinal position; the ruled values are unchanged, only the tier labels attached to them:

  • Item 12 (ARIA operator-tier multipliers) — 1.0 / 1.1 / 1.2 / 1.35 / 1.5 map to tiers 1 → 5 in canonical order: Dormant 1.0 / Aware 1.1 / Awakened 1.2 / Sentient 1.35 / Transcendent 1.5.
  • Item 30 (consciousness-diversity promotion thresholds) — the four tier-up values 3 / 6 / 10 / 14 map to the four promotions in order: →Aware 3 / →Awakened 6 / →Sentient 10 / →Transcendent 14.
  • Item 29's lattice conjectural-hop accuracies (Awakened 60% / Sentient 75% / Transcendent 85%) already used the canonical names (tiers 3/4/5) and are unaffected by this amendment.

Items 12 and 30 above are retained verbatim as the session record; this amendment supersedes their tier-naming only. DATA_MODELS/aria-data-index.md and FEATURES/gameplay/aria-companion.md fold to the canonical names per this amendment, not per items 12/30's original wording. This also resolves the tier-naming flag raised in ADR-0092's addendum.