diff --git a/README.md b/README.md index 81ca9bc..9d94f0f 100644 --- a/README.md +++ b/README.md @@ -99,12 +99,14 @@ current acceptance surface covers: - exact-build deployment, state migration, public cutover, and restart verification on Yggdrasil. -The remaining forge gates are explicit classification of initial compiler seed -publication and named-person materialisation/dematerialisation, expansion and -review of the agency corpus beyond its current candidate seed, multi-account -human pressure testing of Session Zero privacy/publication and bounded co-op, -and continued multiresolution Gestalt agency pressure. The public site is -provisional; checkout is not live. +Initial compiler seed publication is a bounded empty-store creation +transaction. Named-person materialisation and folding are resolution +transactions that preserve individual deltas without rewriting their Gestalt. +The remaining forge gates are expansion and review of the agency corpus beyond +its current candidate seed, removal of legacy model effect schemas, +multi-account human pressure testing of Session Zero privacy/publication and +bounded co-op, and continued multiresolution Gestalt agency pressure. The +public site is provisional; checkout is not live. ## Bounded Co-op diff --git a/docs/architecture/ghostlight-transition-algebra.md b/docs/architecture/ghostlight-transition-algebra.md index 03a7c8c..4d0b7c9 100644 --- a/docs/architecture/ghostlight-transition-algebra.md +++ b/docs/architecture/ghostlight-transition-algebra.md @@ -1,9 +1,10 @@ # Ghostlight World Transition Algebra Status: adopted architecture; foreground, reaction, strategic, time, travel, -and approval-gated fission writes use the mutation reducer. Region expansion, -initial compiler publication, and aggregate-storage removal remain migration -work. +approval-gated fission, and bounded region expansion use the mutation reducer. +Initial compiler publication is classified as a one-time creation transaction, +and named-person materialisation is classified as a resolution transaction. +Aggregate-storage removal remains migration work. ## Objective @@ -94,8 +95,8 @@ The migration is not complete while any of these can decide canonical state: - `apply_strategic_outcome_effect`; - the direct private-delta loop in `ResolveReactionWave`; - bespoke actor, Gestalt, or member movement and migration writers; -- Gestalt folding code that unions private knowledge or possessions into a - population without an admitted mutation; +- any Gestalt folding code that unions private knowledge, possessions, or + pressure into a population; - model output, browser payloads, narration, news generation, retrieval, or a derived simulation cell. @@ -105,8 +106,8 @@ broader administrative authority envelope, but not another state-writing mechanism. Approval-gated population fission likewise lowers to entity admission, lineage, custody, and membership mutations; the fission projector owns only the derived resolution profiles and cover epoch. Initial compiler -publication remains a separately named seed authority until its ownership is -explicitly classified; it must not quietly grow into a second runtime writer. +publication is not a transition over an existing world; its separate creation +authority is bounded below. ### Shared paths @@ -123,7 +124,8 @@ All of these lower to `WorldMutationBatch` before state changes: - population migration and approval-gated fission; - contract amendments that are permitted to change forward-looking world state; -- compiler-admitted entities and later bounded region expansion. +- compiler-admitted entities added after publication and later bounded region + expansion. ### Cut line @@ -137,6 +139,60 @@ they never re-enter a commit path. No repair loop, converter with independent policy, or post-commit reconciler is allowed to preserve a second opinion about the result. +## Transactions outside the mutation algebra + +Two operations change canonical storage without claiming to be fictional +world effects. They remain narrow because forcing them into `WorldMutation` +would lie about what happened. + +### Initial campaign publication + +There is no prior campaign state to mutate at revision zero. The +`CampaignRegistry` therefore owns discoverability of an approved seed, while +`CampaignStore` owns its atomic installation: + +- input is one validated `approved_campaign_brief.v1`, its exact evidence and + model receipts, membership, governance, DM state, and approval digest; +- every row is written to a fresh `.creating--` store through + one empty-store compare-and-swap batch; +- the staging directory becomes discoverable only through one atomic rename; +- retry is idempotent by campaign ID plus approved seed digest; +- a nonempty store, conflicting digest, failed row write, or failed rename + publishes nothing. + +The seed installer may establish initial subjects and components because no +world exists yet. It cannot target a published campaign, advance fictional +time, or serve imports, reloads, expansion, or later compiler output. The +legacy internal `CreateCampaign` message is initialization plumbing, not a +runtime action authority; public player ingress rejects it. Once the directory +is published, every fictional change belongs to the normal kernel path. + +### Named-person materialisation and folding + +A dormant `GestaltMemberDelta` and its foreground `ActorState` are two +resolutions of one persistent person. `WorldKernel` owns the resolution +transaction at a safe command boundary: + +- materialisation derives the foreground actor projection from the Gestalt + baseline plus the exact member delta; +- folding writes changed individual capabilities, knowledge, equipment, + conditions, obligations, relationships, goals, memories, and location back + to that member delta, then retires only the foreground projection; +- the transaction advances world revision so stale actor-bound commands and + surfaces fail, advances `resolution_epoch`, and clears the old derived cover; +- it does not advance fictional time, relocate the person, transfer custody, + communicate knowledge, change population pressure, or alter the Gestalt + baseline; +- one atomic world receipt plus materialisation receipt binds the member, + projection actor, baseline/member versions, world revision, and resolution + epoch. + +The removed `GestaltAggregateDelta` was an obsolete writer: direct demotion +could previously smuggle private knowledge, resources, and pressures into the +population while automatic demotion rejected the same payload. Those changes +now require explicit semantic mutations under their own authority. Presence +resolution has no vocabulary with which to perform them. + ## Canonical state model ### Subjects @@ -393,11 +449,12 @@ Migration order: delete direct `ActorStateDelta` writes. 4. Lower strategic outcome generation to the same operations; delete `apply_strategic_outcome_effect` and string-resource helpers. -5. Normalize named Gestalt members into stable actor subjects and resource, - membership, identity, and occupancy components. Remove materialized actor as - a second identity owner. -6. Lower travel, waits, fission, expansion, and compiler publication. Travel, - waits, and fission are complete; expansion and initial publication remain. +5. Classify named-person materialisation as a resolution transaction, remove + aggregate mutation from folding, and invalidate the active cover. Complete. + Normalizing remaining legacy member fields into component rows remains. +6. Lower travel, waits, fission, and bounded expansion. Classify initial + publication as an empty-store creation transaction rather than a world + mutation. Complete. 7. Migrate persisted campaign rows transactionally, quarantine ambiguous legacy resources or identities, and make the old campaign fields projection-only. 8. Remove legacy schemas from model boundaries. Retain schema readers solely diff --git a/notes/fresh-workspace-handoff.md b/notes/fresh-workspace-handoff.md index dcd5018..76f9930 100644 --- a/notes/fresh-workspace-handoff.md +++ b/notes/fresh-workspace-handoff.md @@ -38,13 +38,14 @@ agency, offscreen strategic activity, knowledge-filtered news, and actor-filtere Eve/CultMesh surfaces. The immediate engineering gate is completion of the principled world-transition -migration before adversarial hosted play resumes. Bounded region expansion now -uses the mutation reducer; initial compiler seed publication and named-person -materialisation/dematerialisation still require explicit classification. The -36-case agency corpus is only a candidate seed against a 300-reviewed-case -target. Separate-account multiplayer privacy and unanimity proof also remains -required, but the previously expected D&D test group is no longer available; -record that gate as unproven rather than silently lowering it. +migration before adversarial hosted play resumes. Bounded region expansion uses +the mutation reducer; seed publication is now a bounded creation transaction; +named-person materialisation/folding is a resolution transaction without +Gestalt-wide effect authority. The 36-case agency corpus is only a candidate +seed against a 300-reviewed-case target. Separate-account multiplayer privacy +and unanimity proof also remains required, but the previously expected D&D test +group is no longer available; record that gate as unproven rather than silently +lowering it. ## Authority map @@ -90,11 +91,11 @@ Yggdrasil is production. The Starfire writer and its old tunnel are stopped. Do not start both writers. - Executable release: - `636828f509e2e3cc82280bc2edf02ba6fcbc4712` + `2686f9f2973f6bfdb2c1a7fd7311f32e6a81c192` - Executable SHA-256: - `f0647726fb6e54b8ab0851665edefb94667406466d472bd30d2a8ee4639afd7c` + `f27d7865b9caaa762e1f71d3fe0484f126463f98d744dd3f5dea4ddaaf355731` - Artifact SHA-256: - `sha256-e5dfeb43f95be622918a9897c854360ddbdfbdb25f33aa8829dd043679c59ed1` + `sha256-24e6d5a812c6c6c531428d329677e99b923c99a6e00a627b9bc8a826e1b8e791` - Eve release: `19c3dcf9173dce848a6253e975324ea239a02d24` - Service: `ghostlight-dungeon.service`, running as `ghostlight:ghostlight` - Listener: Yggdrasil loopback `127.0.0.1:8831` @@ -152,7 +153,7 @@ messages. ## Current proof -- Idunn admitted exact release `636828f…`; its locked Linux package test and +- Idunn admitted exact release `2686f9f…`; its locked Linux package test and immutable build completed before atomic activation. Idunn's Linux journal reports 265 library tests before the remaining package targets in its truncated success receipt; the complete package test and release build @@ -163,12 +164,20 @@ messages. region-expansion writes now use the typed mutation reducer. Each successful batch advances a touched subject version once and persists its authority, mutations, receipt, causal receipt, and aggregate projection atomically. - Component-only mutation ingress rejects aggregate campaign rows. + Component-only mutation ingress rejects aggregate campaign rows. Initial + publication is separately bounded to a fresh empty store plus atomic + discoverability rename; it cannot mutate a published campaign. - Region expansion admits typed place and proposition profiles, validates evidence and containment, and requires an exact reciprocal route between the stable origin and every newly compiled destination. Aggregate locations, routes, and facts are rebuilt from accepted component state; the direct insertion loops have been deleted. +- Named Gestalt members now change foreground resolution without gaining a + second effect vocabulary. Promotion/folding advances world revision and + `resolution_epoch`, clears the prior cover, preserves the exact individual + delta, and leaves fictional time and the Gestalt baseline unchanged. The + direct `GestaltAggregateDelta` path that could union one person's knowledge, + resources, or pressures into the whole population has been deleted. - Population fission cannot copy scarce custody into every child. Approved fission assigns every parent resource to exactly one child, transfers each named member exactly once, preserves the shared non-scarce baseline through @@ -236,11 +245,10 @@ Operational release and rollback truth remains in `gamecult-ops`. ## Next action -1. Classify initial compiler publication and materialisation/dematerialisation - explicitly rather than quietly treating their current aggregate writes as - equivalent. Continue the negative writer audit after each classification. -2. Expand and review the agency corpus from its current 36 candidate cases +1. Expand and review the agency corpus from its current 36 candidate cases toward 300 behaviorally distinct cases; do not inflate it with reskins. +2. Remove the remaining legacy model effect schemas and continue the negative + writer audit until aggregate campaign fields are projections only. 3. Repair or pressure the existing large-document RUDP discovery defect in its owning transport workstream without truncating Ghostlight's private operator truth. diff --git a/notes/ghostlight-current-system-map.md b/notes/ghostlight-current-system-map.md index e29af74..e29a7c1 100644 --- a/notes/ghostlight-current-system-map.md +++ b/notes/ghostlight-current-system-map.md @@ -907,11 +907,16 @@ the aggregate `Location`, `Route`, and `WorldFact` rows are reconstructed only from accepted component state. The previous direct location/fact insertion loops are gone. -The runtime migration is not yet complete. Initial compiler publication remains -a separate seed authority. Materialisation and dematerialisation are resolution -changes over one persistent person and require an explicit review of why they -currently advance aggregate world revision. These are named writer frontiers, -not silently equivalent paths. See +Initial compiler publication is a bounded creation transaction, not a fictional +world transition. `CampaignRegistry` owns discoverability, installs the +approved seed into a fresh staging store with one empty-store CAS, and exposes +it only by atomic directory rename. It cannot target a published campaign. +Named-person materialisation and dematerialisation are resolution transactions +over one persistent member identity. They advance world revision to stale old +actor-bound commands, advance `resolution_epoch`, clear the derived cover, and +atomically preserve the exact individual delta. They cannot change fictional +time or Gestalt-wide knowledge, resources, or pressure; the obsolete +`GestaltAggregateDelta` writer has been deleted. See `docs/architecture/ghostlight-transition-algebra.md`. Relationship documents in the schema catalog are revision-bound projections @@ -920,7 +925,8 @@ Vault manifests summarize the exact provider/source/authority/temporal lanes covered by evidence receipts and do not own Vault content. Strategic tick and gestalt materialization receipts are different: they are atomic commit companions binding the generic world commit to the causal model output or -baseline/member presence transition. +baseline/member presence transition. Materialisation receipts additionally bind +the previous and next resolution epochs. ## Control Flow diff --git a/notes/ghostlight-implementation-plan.md b/notes/ghostlight-implementation-plan.md index d96c766..26f816d 100644 --- a/notes/ghostlight-implementation-plan.md +++ b/notes/ghostlight-implementation-plan.md @@ -120,13 +120,17 @@ inherits non-scarce population baseline through typed lineage while partitioning every exact resource and named member once; the resolution organ only changes profiles and cover epoch. Region expansion admits exact place and proposition profiles and a reciprocal origin/destination topology before -reconstructing compatibility rows. Initial compiler publication, explicit -classification of materialisation/dematerialisation, removal of legacy model -effect schemas, and the 300-case reviewed agency corpus remain the migration -frontier. See `docs/architecture/ghostlight-transition-algebra.md`. +reconstructing compatibility rows. Initial compiler publication is now +explicitly bounded as an empty-store creation transaction owned by the +CampaignRegistry, not a runtime mutation. Named-person presence is a resolution +transaction: it preserves the member delta, invalidates the prior cover and +epoch, and has no authority to rewrite Gestalt-wide knowledge, custody, or +pressure. Removal of remaining legacy model effect schemas and the 300-case +reviewed agency corpus remain the migration frontier. See +`docs/architecture/ghostlight-transition-algebra.md`. Idunn's locked Linux test/build gate admitted this cut as immutable Yggdrasil -release `636828f509e2e3cc82280bc2edf02ba6fcbc4712` with Eve +release `2686f9f2973f6bfdb2c1a7fd7311f32e6a81c192` with Eve `19c3dcf9173dce848a6253e975324ea239a02d24`. Live health, the release symlink, deployment witness, binary hash, zero-restart service state, and signed Idunn health agree. The Idunn Linux success receipt reports 265 library tests before @@ -170,11 +174,11 @@ leak. It used 90,030 tokens at a 76.3% prompt-cache-hit ratio; the retained invalid receipts expose one repeated institution posture and one repeated pressure without letting either mutate the world. -The next engineering gate is explicitly classifying seed publication and -materialisation/dematerialisation, then growing the agency corpus beyond its 36 -candidate cases without cosmetic reskins. After that cut, resume the 20-plus- -power live Aetheria skeleton across budgets `1`, `4`, `8`, and `32`, including -nested refugee dispersal and later rematerialization. The existing large- +The next engineering gate is growing the agency corpus beyond its 36 candidate +cases without cosmetic reskins and removing the remaining legacy model effect +schemas. Then resume the 20-plus-power live Aetheria skeleton across budgets +`1`, `4`, `8`, and `32`, including nested refugee dispersal and later +rematerialization. The existing large- document RUDP transport defect remains a separate discovery workstream; do not truncate Ghostlight's operator truth to make the catalog look fresh. Separate-account two-player and eight-player Session Zero and shared-scene diff --git a/state/evidence.jsonl b/state/evidence.jsonl index 3274ae2..cfc73f5 100644 --- a/state/evidence.jsonl +++ b/state/evidence.jsonl @@ -128,3 +128,4 @@ {"note": "Yggdrasil release 41a1950f1dcb2215b07cee484151ca5f09a59a10 repaired Heimdall continuity: each scheduled refresh uses a fresh encrypted-command identity, refresh verification binds the signed access claim to the exact returned session without requiring the initial-login account summary, and the local wrapped claim rotates by CAS. The 171-test hosted gate passed; live due-session refresh emitted no failure across startup and the next scheduler pulse; the authenticated browser returned to Session Zero revision 18 after daemon replacement; binary SHA-256 b4544027e9ce19e17aae53b27abe146c96006e667c8f7d3d92b45c6545024050, NRestarts=0, brake engaged.", "status": "ok", "ts": "2026-08-22T16:37:44+00:00", "type": "verification"} {"branch":"codex/ghostlight-dungeon-mvp","note":"Yggdrasil release a10a0125fc87a1262c50c85a0f1bf52133989feb, Eve e5a81185bb790906bea5eeba40507673b0d9b5bb, executable SHA-256 87ae68139375f507c54456907c687c397f18d7591a6a93d814ba7f4bc0ef3513, and artifact SHA-256 sha256-c0d1ab58fe711ff98502d4fad495c7a4d90e2aa079f08ac43e7981e26056cf92 are active under Idunn with DeepSeek flash/pro ready, nine campaigns, two Session Zero drafts, and NRestarts=0. Campaign 34929b8d-7b04-49af-9936-1c798fd79760 committed return-catch-up revision 12 to 13 through eight stable cells: exact actor/institution cells, two Gestalt cells, and one three-institution arena with no collective actor. Five activities produced five bounded outcomes; Zhestokost's repeated posture became attributed inaction; player and Reed state remained byte-identical; channel-aware remote reports did not enter the player surface. The wave used 34 stage receipts, 35 provider attempts, 83,838 prompt tokens, 64,000 cache-hit tokens, 6,192 completion tokens, and 90,030 total tokens. Strategic commit now owns its derived CultMesh refresh, repairing the early-return path that left the operator projection at revision 12 after canonical revision 13. Retained witness: F:\\Projects\\gamecult-ops\\artifacts\\ghostlight-operator-rev13-20260823.json. Human separate-account co-op and a 20-plus-power live skeleton remain unproven.","status":"accepted","ts":"2026-08-23T08:24:00+00:00","type":"verification"} {"branch":"codex/ghostlight-dungeon-mvp","note":"Idunn's bounded Yggdrasil transaction admitted exact Ghostlight release 636828f509e2e3cc82280bc2edf02ba6fcbc4712 with Eve 19c3dcf9173dce848a6253e975324ea239a02d24 after the locked Linux package test and immutable release build succeeded; the receipt exposes 265 library tests before truncated remaining target output. Deployment manifest, embedded health commit, current symlink, executable SHA-256 f0647726fb6e54b8ab0851665edefb94667406466d472bd30d2a8ee4639afd7c, artifact SHA-256 sha256-e5dfeb43f95be622918a9897c854360ddbdfbdb25f33aa8829dd043679c59ed1, active MainPID 3964067, NRestarts=0, nine campaigns, two Session Zero drafts, DeepSeek readiness, provider advertisement, and actor-free anonymous Heimdall gate agree. Bounded region expansion now commits typed place and proposition admission plus exact reciprocal topology through WorldMutationBatch and reconstructs aggregate locations, routes, and facts only from accepted component state. Idunn receives fresh authenticated Ghostlight and Odin health. Odin's persisted Ghostlight provider advertisement remains stale at c7463c050620c69342c0cb84973beaefb09295cb because the previously named large-snapshot RUDP publication defect remains open; discovery is therefore degraded even though local CultMesh, HTTP, service continuity, and campaign authority are healthy.","status":"degraded","ts":"2026-08-23T13:49:37.7455675Z","type":"deployment"} +{"branch":"codex/ghostlight-dungeon-mvp","note":"Idunn's bounded Yggdrasil transaction admitted exact Ghostlight release 2686f9f2973f6bfdb2c1a7fd7311f32e6a81c192 with Eve 19c3dcf9173dce848a6253e975324ea239a02d24 after its locked Linux package test and immutable release build succeeded; the receipt exposes 265 library tests before truncated remaining package-target output. Deployment manifest, embedded health commit, current symlink, executable SHA-256 f27d7865b9caaa762e1f71d3fe0484f126463f98d744dd3f5dea4ddaaf355731, artifact SHA-256 sha256-24e6d5a812c6c6c531428d329677e99b923c99a6e00a627b9bc8a826e1b8e791, active MainPID 3984476, NRestarts=0, nine campaigns, two Session Zero drafts, DeepSeek readiness, provider advertisement, and actor-free anonymous Heimdall gate agree. Initial seed publication is now classified as a fresh-store creation transaction. Named-person materialisation/folding advances world revision and resolution epoch, invalidates the old cover, preserves exact member deltas, and no longer possesses the deleted GestaltAggregateDelta path that could union individual knowledge, resources, or pressure into the population. Idunn receives fresh authenticated Ghostlight health. Odin's persisted Ghostlight provider advertisement still names c7463c050620c69342c0cb84973beaefb09295cb, so the known large-snapshot RUDP discovery defect remains an explicit degraded surface rather than being hidden by truncating operator truth.","status":"degraded","ts":"2026-08-23T14:04:02.0916328Z","type":"deployment"} diff --git a/state/map.yaml b/state/map.yaml index 8b4652a..8f0afba 100644 --- a/state/map.yaml +++ b/state/map.yaml @@ -74,7 +74,7 @@ live_architecture: - Every player, NPC, institution, scheduler, import, and reload transition uses the same typed WorldCommand validation and atomic CultCache commit path. - Foreground attempts, NPC reactions, strategic cell outcomes, waits, travel, and approval-gated population fission lower into one closed semantic WorldMutationBatch vocabulary. Means and intended effects remain proposals; only the WorldKernel reducer can change canonical components. - The mutation reducer validates a complete batch against an exact authority envelope on an isolated component overlay, advances each touched subject version once, and persists component state, authority, batch, mutation receipt, causal receipt, events, and aggregate compatibility projection atomically. Aggregate campaign rows are rejected by component-only mutation ingress. - - WorldEffectDelta, ActorStateDelta, and StrategicOutcomeEffect are model-boundary migration inputs, not independent writers. Bounded region expansion now lowers through typed place/proposition admission and topology mutations; initial publication and materialisation/dematerialisation require explicit authority classification. + - WorldEffectDelta, ActorStateDelta, and StrategicOutcomeEffect are model-boundary migration inputs, not independent writers. Bounded region expansion lowers through typed place/proposition admission and topology mutations. Initial publication is a fresh-store creation transaction; named-person materialisation/folding is a resolution transaction that advances revision and resolution epoch, clears the cover, preserves the individual delta, and cannot rewrite Gestalt-wide knowledge, custody, pressure, or fictional time. - Ghostlight owns generalized Projector to Persona to Interpreter machinery; consuming Personas retain their own canonical minds and commit authority. - Epiphany consumes the extracted Ghostlight projection crate at an exact Git revision while retaining her canonical Mind, effect admission, and consequence authority. - Gestalt Personas own shared population state; first-relevance individuation and later folding are revisioned WorldKernel commits, and durable member deltas preserve specific people between appearances. @@ -178,7 +178,7 @@ live_architecture: - Institution, faction, and consumer decision models active_subgoals: - - Finish the semantic mutation migration: bounded region expansion now uses WorldMutationBatch; classify seed publication and materialisation/dematerialisation, then delete or demote every remaining canonical direct writer. + - Finish the semantic mutation migration: delete or demote remaining legacy model effect schemas and move aggregate campaign fields toward projection-only state. Seed publication and named-person presence now have explicit non-effect authority classifications. - Grow the 36-case candidate agency corpus toward 300 reviewed, behaviorally distinct attempts that either compose from existing primitives, produce an explicit bargain, or falsify the algebra. - Pressure live campaign compilation and play from exact Vault evidence; reject honest gaps instead of borrowing a nearby fixture, cast, or geography. - Make strategic cells produce meaningful attributed activity while rivals in arenas retain separate knowledge, speech, resources, and authority. @@ -304,6 +304,6 @@ data_flow: - If state grows faster than understanding, cut it back. current_status: - summary: Yggdrasil serves immutable Ghostlight release 636828f509e2e3cc82280bc2edf02ba6fcbc4712 with Eve 19c3dcf9173dce848a6253e975324ea239a02d24, executable SHA-256 f0647726fb6e54b8ab0851665edefb94667406466d472bd30d2a8ee4639afd7c, and artifact SHA-256 sha256-e5dfeb43f95be622918a9897c854360ddbdfbdb25f33aa8829dd043679c59ed1. Typed health reports nine campaigns, two Session Zero drafts, DeepSeek flash/pro ready, and zero daemon restarts. Idunn's locked Linux package test and release build passed before atomic activation; its success receipt reports 265 library tests before truncated remaining package-target output. Fresh authenticated Ghostlight and Odin health publications are active. Odin's persisted Ghostlight provider advertisement still names c7463c050620c69342c0cb84973beaefb09295cb because the known large-snapshot RUDP publication defect remains open; do not describe discovery as fresh or truncate operator truth to hide it. Foreground, reaction, strategic, wait, travel, population-fission, and bounded region-expansion outcomes now use one semantic mutation reducer with exact authority and proof receipts. Region expansion admits typed places and propositions, validates evidence and containment, and requires reciprocal topology before rebuilding aggregate rows. Fission transfers each scarce resource and named member exactly once while preserving non-scarce lineage baselines and individual deltas. Hosted campaign 34929b8d-7b04-49af-9936-1c798fd79760 retains its earlier eight-cell return-catch-up witness with five bounded material outcomes, exact actor/member attribution, player/Reed byte continuity, no arena collective actor, no knowledge-channel overlap, and no player-visible remote news. Starfire remains retired as a writer. Idunn owns deployment and continuity, Odin owns discovery, Heimdall owns identity, and none owns campaign mutation. Epiphany is adjacent capacity rather than a dependency. - next_action: Explicitly classify initial compiler publication and materialisation/dematerialisation, then prove the remaining writer frontier. Expand the 36 candidate agency cases toward 300 behaviorally distinct reviewed cases before claiming algebraic completeness. Repair or pressure the known large-document RUDP discovery defect in its owning transport workstream without truncating Ghostlight's private operator truth. Then resume adversarial Eve play and the denser 20-plus-power Aetheria budget pressure. Separately close the unproven two-account and eight-account privacy, actor-binding, unanimity, and restart gates. Preserve the revision-12 Mira movement scar as history; do not repair it out of band or weaken actor, privacy, approval, atomicity, or no-puppeting invariants. - gestalt_population: Gestalt Personas own shared population baselines; persistent member deltas own named individuality; WorldKernel materialization and approval-gated fission preserve lineage and identity. Selected actionable member exceptions are mandatory Projector perspective owners, so aggregation cannot silently erase their decision. Presence projection is limited to nearby active leaves and exact-location dormant members, includes reciprocal player relationship evidence, and may propose an earned cast without committing it. Simulation cells are derived covers only. + summary: Yggdrasil serves immutable Ghostlight release 2686f9f2973f6bfdb2c1a7fd7311f32e6a81c192 with Eve 19c3dcf9173dce848a6253e975324ea239a02d24, executable SHA-256 f27d7865b9caaa762e1f71d3fe0484f126463f98d744dd3f5dea4ddaaf355731, and artifact SHA-256 sha256-24e6d5a812c6c6c531428d329677e99b923c99a6e00a627b9bc8a826e1b8e791. Typed health reports nine campaigns, two Session Zero drafts, DeepSeek flash/pro ready, and zero daemon restarts. Idunn's locked Linux package test and release build passed before atomic activation; its success receipt reports 265 library tests before truncated remaining package-target output. Fresh authenticated Ghostlight and Odin health publications are active. Odin's persisted Ghostlight provider advertisement still names c7463c050620c69342c0cb84973beaefb09295cb because the known large-snapshot RUDP publication defect remains open; do not describe discovery as fresh or truncate operator truth to hide it. Foreground, reaction, strategic, wait, travel, population-fission, and bounded region-expansion outcomes use one semantic mutation reducer with exact authority and proof receipts. Initial campaign publication is a bounded fresh-store creation transaction, not a runtime effect. Named-person materialisation/folding is a resolution transaction that preserves the individual delta, advances world revision and resolution epoch, clears the old cover, and cannot rewrite Gestalt-wide knowledge, resources, pressure, or fictional time; the old GestaltAggregateDelta writer is gone. Region expansion admits typed places and propositions, validates evidence and containment, and requires reciprocal topology before rebuilding aggregate rows. Fission transfers each scarce resource and named member exactly once while preserving non-scarce lineage baselines and individual deltas. Hosted campaign 34929b8d-7b04-49af-9936-1c798fd79760 retains its earlier eight-cell return-catch-up witness with five bounded material outcomes, exact actor/member attribution, player/Reed byte continuity, no arena collective actor, no knowledge-channel overlap, and no player-visible remote news. Starfire remains retired as a writer. Idunn owns deployment and continuity, Odin owns discovery, Heimdall owns identity, and none owns campaign mutation. Epiphany is adjacent capacity rather than a dependency. + next_action: Expand the 36 candidate agency cases toward 300 behaviorally distinct reviewed cases before claiming algebraic completeness, remove remaining legacy model effect schemas, and continue the negative writer audit. Repair or pressure the known large-document RUDP discovery defect in its owning transport workstream without truncating Ghostlight's private operator truth. Then resume adversarial Eve play and the denser 20-plus-power Aetheria budget pressure. Separately close the unproven two-account and eight-account privacy, actor-binding, unanimity, and restart gates. Preserve the revision-12 Mira movement scar as history; do not repair it out of band or weaken actor, privacy, approval, atomicity, or no-puppeting invariants. + gestalt_population: Gestalt Personas own shared population baselines; persistent member deltas own named individuality; WorldKernel materialization and approval-gated fission preserve lineage and identity. Materialisation/folding changes only representation and the exact member delta, advances resolution epoch, and retires the old cover; it has no Gestalt-wide effect authority. Selected actionable member exceptions are mandatory Projector perspective owners, so aggregation cannot silently erase their decision. Presence projection is limited to nearby active leaves and exact-location dormant members, includes reciprocal player relationship evidence, and may propose an earned cast without committing it. Simulation cells are derived covers only.