From a3385672300ff81c17d00f9f05f13d89dfd5bc00 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Fri, 4 Sep 2026 01:28:04 +0200 Subject: [PATCH] Record the landed drift and the cultnet-rs retirement gate Evidence for 751b5c4 and the provenance finding behind it. While citing revisions I checked whether they resolve. CultNet `f4ab237` and its predecessor `e542225` are not ancestors of CultLib main. Their content is on CultLib `85f7024` -- verified by symbol, and Ghostlight compiles against it -- but the SHAs are not, because the consolidation ported commits forward instead of merging them. They survive only on GameCult/cultnet-rs branch codex/idunn-runtime-authority-contract. That changes the retirement gate. Deleting GameCult/cultnet-rs was previously gated on its content living somewhere else, which is now satisfied. It is also gated on citation: every contract reference in this map, the handoff, both notes and the evidence ledger points into that repo. Either re-anchor them on CultLib `85f7024` or keep the branch. Odin `65cf2b2` and `d527d72` are likewise off Odin main but sit on a pushed branch, so they resolve from a clone and need nothing. The vendor-retirement record carried a hand-written timestamp ten hours in the future, which sorted it after work that actually came later. Corrected through the store to 7e73504's commit time; the export follows. All 27 records intact. Co-Authored-By: Claude Opus 5 --- state/evidence.jsonl | 3 ++- state/ghostlight-state.cultcache.jsonl | 3 ++- state/map.yaml | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/state/evidence.jsonl b/state/evidence.jsonl index 7f90a68..bfd406b 100644 --- a/state/evidence.jsonl +++ b/state/evidence.jsonl @@ -23,4 +23,5 @@ {"note": "Supersedes the 2026-09-03T00:58:55+00:00 deployment-owner checkpoint. CultNet f4ab237, Odin 65cf2b2, Ghostlight a0b16b9, and CodexConnector ede3c30 land the routed runtime contracts, durable three-record/nine-phase transaction owner, and provider sides. Live admission remains absent. Current Odin projection/RUDP/UDP-route and Rust Odin correlation work is uncommitted; the Nginx route receipt proves configuration plus nginx -T visibility only, not live-worker adoption or packet delivery, so an exact data-plane observation remains required before fence clearance, drain, or cutover acceptance.", "status": "ok", "ts": "2026-09-03T06:13:20+00:00", "type": "research"} {"note": "Mind and workspace compaction. The evidence ledger was 258 records of which 235 were per-release/per-run receipts, self-consuming falsification chains, and May fixture doctrine already owned by docs/architecture and map hard_boundaries; those moved to state/evidence.archive.jsonl and were deleted from the CultCache evidence document, since evidence.jsonl is a regenerated export and a store-only deletion is the sole durable compaction. Twenty-three records remain: still-binding contracts (CultCache wire format, agent_state.v0, cognition ceiling, image-geometry authority, sandboxed coordinator, VoidBot appraisal, multiplayer extension, the Delvehold boundary set, newspaper-as-Persona) plus the whole rebuild era from Run 108 forward. A duplicate multiplayer note recorded twice under different timestamps was reduced to one. The worktree shed 87MB of untracked debris: three Git bundles whose commits are all ancestors of HEAD, ~60 legacy live-fire run scripts and sftp batches, the forbidden redeploy helpers, downloaded run61-63 acceptance copies whose authoritative roots remain on Yggdrasil and whose frozen copy is digest-bound in output/tex, a redb file created by a stray --help argument, and 71MB of tmp/ legacy campaign caches and newspaper renders. .gitignore now refuses all of it. map.yaml and the handoff had stale frontiers naming 13d5136 and a0b16b9; both now name 6a79cb0.", "status": "ok", "ts": "2026-09-03T20:00:00+00:00", "type": "maintenance"} {"note": "Core GameCult stack ownership resolved. CultLib is the canonical home for CultCache, CultNet and CultMesh across every runtime because wire parity conformance lives only there; a runtime-specific repo cannot own the engine other runtimes must agree with. The standalone GameCult/cultcache-rs and GameCult/cultnet-rs repos are pre-consolidation origins that kept receiving work after the 5c69bfc import, and Ghostlight became a third lineage by written charter: vendor/README.md declares a locally owned compatible protocol generation, which is duplicate authority over the wire stack held outside the only harness that checks parity. That is why runtime_authority_contracts.rs forked: Ghostlight vendors e542225 while map and handoff declare CultNet f4ab237 authoritative, and the two disagree on whether Present may coexist with a disagreement -- Ghostlight's copy makes them exclusive, f4ab237 separates presence from readiness and gates through into_undisputed_present. Re-vendoring fixes that instance, not the mechanism. CultLib branch claude/consolidate-rust-core-stack commit 34488e8 returns the Rust CultCache engine to CultLib: the standalone body as base (3,714 lines, 46 passing tests) over CultLib's 1,554, with the cultnet-rs RUDP gate passing 20 unchanged. Two CultLib-only commits remain unported debt. cultmesh-rs is homeless: the only Rust CultMesh implementation in existence is 1,363 lines inside Ghostlight's vendor, absent from CultLib and from any repo, so it has never been parity tested against the browser, Kotlin and TypeScript implementations it must interoperate with. Ghostlight must consume CultLib by pinned rev and stop vendoring before the standalone repos are retired.", "status": "ok", "ts": "2026-09-03T21:00:00+00:00", "type": "architecture"} -{"ts": "2026-09-04T09:00:00+00:00", "type": "architecture", "status": "ok", "note": "Ghostlight's vendored core-stack fork is retired at d0510ac: cultcache-rs, cultnet-rs and cultmesh-rs now come from CultLib pinned at 85f7024 and vendor/README.md's 'locally owned compatible protocol generation' charter is deleted with them. The predicted migration did not exist. RuntimePresenceCorrelation moving from enum to struct is Odin's side of the contract and no Ghostlight file references it; with line endings normalised the e542225 and f4ab237 copies differ by 132 lines, and the only production change reaching a provider is IdunnExpectedRoute requiring rudp:// schemes for rudp transport, which this service does not use. Ghostlight compiled unchanged and passes 89 workspace tests against the pinned rev. One thing was nearly lost: the vendored transport.rs alone checked a framed payload length against the advertised maximum before allocating, so a four-byte header could otherwise size a buffer to whatever a peer claims; it is now CultLib 85f7024 with a test. Verified by diffing all twelve vendored cultnet files against CultLib before deleting rather than after. vendor/ still holds the cultcache-py and eve submodules; cultcache-py is the same runtime-specific-repo pattern and CultLib carries packages/cultcache-py, but it backs the state tooling rather than the daemon."} +{"note": "Ghostlight's vendored core-stack fork is retired at d0510ac: cultcache-rs, cultnet-rs and cultmesh-rs now come from CultLib pinned at 85f7024 and vendor/README.md's 'locally owned compatible protocol generation' charter is deleted with them. The predicted migration did not exist. RuntimePresenceCorrelation moving from enum to struct is Odin's side of the contract and no Ghostlight file references it; with line endings normalised the e542225 and f4ab237 copies differ by 132 lines, and the only production change reaching a provider is IdunnExpectedRoute requiring rudp:// schemes for rudp transport, which this service does not use. Ghostlight compiled unchanged and passes 89 workspace tests against the pinned rev. One thing was nearly lost: the vendored transport.rs alone checked a framed payload length against the advertised maximum before allocating, so a four-byte header could otherwise size a buffer to whatever a peer claims; it is now CultLib 85f7024 with a test. Verified by diffing all twelve vendored cultnet files against CultLib before deleting rather than after. vendor/ still holds the cultcache-py and eve submodules; cultcache-py is the same runtime-specific-repo pattern and CultLib carries packages/cultcache-py, but it backs the state tooling rather than the daemon.", "status": "ok", "ts": "2026-09-03T23:13:55+00:00", "type": "architecture"} +{"note": "The pre-existing worktree drift is landed at 751b5c4 and 322cc11. The daemon no longer names GHOSTLIGHT_RUNTIME_ID, GHOSTLIGHT_DUNGEON_BIND or GHOSTLIGHT_DUNGEON_ROOT under management; Idunn supplies the runtime id in the activation bundle, the candidate bind, and the state root as a recipe argument binding. That binding is required rather than cosmetic: Odin deployment.rs refuses a stateful workload with no state_root argument binding and refuses one whose binding disagrees with the admitted root, so the old recipe could not have deployed. The acceptance harness identity is renamed GHOSTLIGHT_ACCEPTANCE_RUNTIME_ID so a test-supplied id cannot be read as the managed one. 89 workspace tests pass. Provenance finding that changes the cultnet-rs retirement gate: the contract revisions the Mind cites, CultNet f4ab237 and its predecessor e542225, are not ancestors of CultLib main and exist only on GameCult/cultnet-rs branch codex/idunn-runtime-authority-contract. Their content is on CultLib main at 85f7024, verified by symbol, but the SHAs are not, because the consolidation ported commits forward rather than merging them. Deleting GameCult/cultnet-rs therefore breaks every citation in map.yaml, the handoff, both notes and the evidence ledger. Odin 65cf2b2 and d527d72 are likewise off Odin main, on pushed branch codex/ygg-idunn-independent-bootstrap, which is resolvable and needs no action.", "status": "ok", "ts": "2026-09-03T23:26:24+00:00", "type": "architecture"} diff --git a/state/ghostlight-state.cultcache.jsonl b/state/ghostlight-state.cultcache.jsonl index db65e1f..bf66b5e 100644 --- a/state/ghostlight-state.cultcache.jsonl +++ b/state/ghostlight-state.cultcache.jsonl @@ -24,4 +24,5 @@ {"key": "2026-09-03T061320Z0000-0257-585cbf59625e", "payload": "eyJub3RlIjogIlN1cGVyc2VkZXMgdGhlIDIwMjYtMDktMDNUMDA6NTg6NTUrMDA6MDAgZGVwbG95bWVudC1vd25lciBjaGVja3BvaW50LiBDdWx0TmV0IGY0YWIyMzcsIE9kaW4gNjVjZjJiMiwgR2hvc3RsaWdodCBhMGIxNmI5LCBhbmQgQ29kZXhDb25uZWN0b3IgZWRlM2MzMCBsYW5kIHRoZSByb3V0ZWQgcnVudGltZSBjb250cmFjdHMsIGR1cmFibGUgdGhyZWUtcmVjb3JkL25pbmUtcGhhc2UgdHJhbnNhY3Rpb24gb3duZXIsIGFuZCBwcm92aWRlciBzaWRlcy4gTGl2ZSBhZG1pc3Npb24gcmVtYWlucyBhYnNlbnQuIEN1cnJlbnQgT2RpbiBwcm9qZWN0aW9uL1JVRFAvVURQLXJvdXRlIGFuZCBSdXN0IE9kaW4gY29ycmVsYXRpb24gd29yayBpcyB1bmNvbW1pdHRlZDsgdGhlIE5naW54IHJvdXRlIHJlY2VpcHQgcHJvdmVzIGNvbmZpZ3VyYXRpb24gcGx1cyBuZ2lueCAtVCB2aXNpYmlsaXR5IG9ubHksIG5vdCBsaXZlLXdvcmtlciBhZG9wdGlvbiBvciBwYWNrZXQgZGVsaXZlcnksIHNvIGFuIGV4YWN0IGRhdGEtcGxhbmUgb2JzZXJ2YXRpb24gcmVtYWlucyByZXF1aXJlZCBiZWZvcmUgZmVuY2UgY2xlYXJhbmNlLCBkcmFpbiwgb3IgY3V0b3ZlciBhY2NlcHRhbmNlLiIsICJzdGF0dXMiOiAib2siLCAidHMiOiAiMjAyNi0wOS0wM1QwNjoxMzoyMCswMDowMCIsICJ0eXBlIjogInJlc2VhcmNoIn0=", "stored_at": "2026-09-03T06:13:20.965226+00:00", "type": "ghostlight.evidence_record.v0"} {"key": "2026-09-03T200000Z0000-0023-d51d0810fdfa", "payload": "eyJub3RlIjogIk1pbmQgYW5kIHdvcmtzcGFjZSBjb21wYWN0aW9uLiBUaGUgZXZpZGVuY2UgbGVkZ2VyIHdhcyAyNTggcmVjb3JkcyBvZiB3aGljaCAyMzUgd2VyZSBwZXItcmVsZWFzZS9wZXItcnVuIHJlY2VpcHRzLCBzZWxmLWNvbnN1bWluZyBmYWxzaWZpY2F0aW9uIGNoYWlucywgYW5kIE1heSBmaXh0dXJlIGRvY3RyaW5lIGFscmVhZHkgb3duZWQgYnkgZG9jcy9hcmNoaXRlY3R1cmUgYW5kIG1hcCBoYXJkX2JvdW5kYXJpZXM7IHRob3NlIG1vdmVkIHRvIHN0YXRlL2V2aWRlbmNlLmFyY2hpdmUuanNvbmwgYW5kIHdlcmUgZGVsZXRlZCBmcm9tIHRoZSBDdWx0Q2FjaGUgZXZpZGVuY2UgZG9jdW1lbnQsIHNpbmNlIGV2aWRlbmNlLmpzb25sIGlzIGEgcmVnZW5lcmF0ZWQgZXhwb3J0IGFuZCBhIHN0b3JlLW9ubHkgZGVsZXRpb24gaXMgdGhlIHNvbGUgZHVyYWJsZSBjb21wYWN0aW9uLiBUd2VudHktdGhyZWUgcmVjb3JkcyByZW1haW46IHN0aWxsLWJpbmRpbmcgY29udHJhY3RzIChDdWx0Q2FjaGUgd2lyZSBmb3JtYXQsIGFnZW50X3N0YXRlLnYwLCBjb2duaXRpb24gY2VpbGluZywgaW1hZ2UtZ2VvbWV0cnkgYXV0aG9yaXR5LCBzYW5kYm94ZWQgY29vcmRpbmF0b3IsIFZvaWRCb3QgYXBwcmFpc2FsLCBtdWx0aXBsYXllciBleHRlbnNpb24sIHRoZSBEZWx2ZWhvbGQgYm91bmRhcnkgc2V0LCBuZXdzcGFwZXItYXMtUGVyc29uYSkgcGx1cyB0aGUgd2hvbGUgcmVidWlsZCBlcmEgZnJvbSBSdW4gMTA4IGZvcndhcmQuIEEgZHVwbGljYXRlIG11bHRpcGxheWVyIG5vdGUgcmVjb3JkZWQgdHdpY2UgdW5kZXIgZGlmZmVyZW50IHRpbWVzdGFtcHMgd2FzIHJlZHVjZWQgdG8gb25lLiBUaGUgd29ya3RyZWUgc2hlZCA4N01CIG9mIHVudHJhY2tlZCBkZWJyaXM6IHRocmVlIEdpdCBidW5kbGVzIHdob3NlIGNvbW1pdHMgYXJlIGFsbCBhbmNlc3RvcnMgb2YgSEVBRCwgfjYwIGxlZ2FjeSBsaXZlLWZpcmUgcnVuIHNjcmlwdHMgYW5kIHNmdHAgYmF0Y2hlcywgdGhlIGZvcmJpZGRlbiByZWRlcGxveSBoZWxwZXJzLCBkb3dubG9hZGVkIHJ1bjYxLTYzIGFjY2VwdGFuY2UgY29waWVzIHdob3NlIGF1dGhvcml0YXRpdmUgcm9vdHMgcmVtYWluIG9uIFlnZ2RyYXNpbCBhbmQgd2hvc2UgZnJvemVuIGNvcHkgaXMgZGlnZXN0LWJvdW5kIGluIG91dHB1dC90ZXgsIGEgcmVkYiBmaWxlIGNyZWF0ZWQgYnkgYSBzdHJheSAtLWhlbHAgYXJndW1lbnQsIGFuZCA3MU1CIG9mIHRtcC8gbGVnYWN5IGNhbXBhaWduIGNhY2hlcyBhbmQgbmV3c3BhcGVyIHJlbmRlcnMuIC5naXRpZ25vcmUgbm93IHJlZnVzZXMgYWxsIG9mIGl0LiBtYXAueWFtbCBhbmQgdGhlIGhhbmRvZmYgaGFkIHN0YWxlIGZyb250aWVycyBuYW1pbmcgMTNkNTEzNiBhbmQgYTBiMTZiOTsgYm90aCBub3cgbmFtZSA2YTc5Y2IwLiIsICJzdGF0dXMiOiAib2siLCAidHMiOiAiMjAyNi0wOS0wM1QyMDowMDowMCswMDowMCIsICJ0eXBlIjogIm1haW50ZW5hbmNlIn0=", "stored_at": "2026-09-03T19:53:31.315783+00:00", "type": "ghostlight.evidence_record.v0"} {"key": "2026-09-03T210000Z0000-0024-8a273539a3cf", "payload": "eyJub3RlIjogIkNvcmUgR2FtZUN1bHQgc3RhY2sgb3duZXJzaGlwIHJlc29sdmVkLiBDdWx0TGliIGlzIHRoZSBjYW5vbmljYWwgaG9tZSBmb3IgQ3VsdENhY2hlLCBDdWx0TmV0IGFuZCBDdWx0TWVzaCBhY3Jvc3MgZXZlcnkgcnVudGltZSBiZWNhdXNlIHdpcmUgcGFyaXR5IGNvbmZvcm1hbmNlIGxpdmVzIG9ubHkgdGhlcmU7IGEgcnVudGltZS1zcGVjaWZpYyByZXBvIGNhbm5vdCBvd24gdGhlIGVuZ2luZSBvdGhlciBydW50aW1lcyBtdXN0IGFncmVlIHdpdGguIFRoZSBzdGFuZGFsb25lIEdhbWVDdWx0L2N1bHRjYWNoZS1ycyBhbmQgR2FtZUN1bHQvY3VsdG5ldC1ycyByZXBvcyBhcmUgcHJlLWNvbnNvbGlkYXRpb24gb3JpZ2lucyB0aGF0IGtlcHQgcmVjZWl2aW5nIHdvcmsgYWZ0ZXIgdGhlIDVjNjliZmMgaW1wb3J0LCBhbmQgR2hvc3RsaWdodCBiZWNhbWUgYSB0aGlyZCBsaW5lYWdlIGJ5IHdyaXR0ZW4gY2hhcnRlcjogdmVuZG9yL1JFQURNRS5tZCBkZWNsYXJlcyBhIGxvY2FsbHkgb3duZWQgY29tcGF0aWJsZSBwcm90b2NvbCBnZW5lcmF0aW9uLCB3aGljaCBpcyBkdXBsaWNhdGUgYXV0aG9yaXR5IG92ZXIgdGhlIHdpcmUgc3RhY2sgaGVsZCBvdXRzaWRlIHRoZSBvbmx5IGhhcm5lc3MgdGhhdCBjaGVja3MgcGFyaXR5LiBUaGF0IGlzIHdoeSBydW50aW1lX2F1dGhvcml0eV9jb250cmFjdHMucnMgZm9ya2VkOiBHaG9zdGxpZ2h0IHZlbmRvcnMgZTU0MjIyNSB3aGlsZSBtYXAgYW5kIGhhbmRvZmYgZGVjbGFyZSBDdWx0TmV0IGY0YWIyMzcgYXV0aG9yaXRhdGl2ZSwgYW5kIHRoZSB0d28gZGlzYWdyZWUgb24gd2hldGhlciBQcmVzZW50IG1heSBjb2V4aXN0IHdpdGggYSBkaXNhZ3JlZW1lbnQgLS0gR2hvc3RsaWdodCdzIGNvcHkgbWFrZXMgdGhlbSBleGNsdXNpdmUsIGY0YWIyMzcgc2VwYXJhdGVzIHByZXNlbmNlIGZyb20gcmVhZGluZXNzIGFuZCBnYXRlcyB0aHJvdWdoIGludG9fdW5kaXNwdXRlZF9wcmVzZW50LiBSZS12ZW5kb3JpbmcgZml4ZXMgdGhhdCBpbnN0YW5jZSwgbm90IHRoZSBtZWNoYW5pc20uIEN1bHRMaWIgYnJhbmNoIGNsYXVkZS9jb25zb2xpZGF0ZS1ydXN0LWNvcmUtc3RhY2sgY29tbWl0IDM0NDg4ZTggcmV0dXJucyB0aGUgUnVzdCBDdWx0Q2FjaGUgZW5naW5lIHRvIEN1bHRMaWI6IHRoZSBzdGFuZGFsb25lIGJvZHkgYXMgYmFzZSAoMyw3MTQgbGluZXMsIDQ2IHBhc3NpbmcgdGVzdHMpIG92ZXIgQ3VsdExpYidzIDEsNTU0LCB3aXRoIHRoZSBjdWx0bmV0LXJzIFJVRFAgZ2F0ZSBwYXNzaW5nIDIwIHVuY2hhbmdlZC4gVHdvIEN1bHRMaWItb25seSBjb21taXRzIHJlbWFpbiB1bnBvcnRlZCBkZWJ0LiBjdWx0bWVzaC1ycyBpcyBob21lbGVzczogdGhlIG9ubHkgUnVzdCBDdWx0TWVzaCBpbXBsZW1lbnRhdGlvbiBpbiBleGlzdGVuY2UgaXMgMSwzNjMgbGluZXMgaW5zaWRlIEdob3N0bGlnaHQncyB2ZW5kb3IsIGFic2VudCBmcm9tIEN1bHRMaWIgYW5kIGZyb20gYW55IHJlcG8sIHNvIGl0IGhhcyBuZXZlciBiZWVuIHBhcml0eSB0ZXN0ZWQgYWdhaW5zdCB0aGUgYnJvd3NlciwgS290bGluIGFuZCBUeXBlU2NyaXB0IGltcGxlbWVudGF0aW9ucyBpdCBtdXN0IGludGVyb3BlcmF0ZSB3aXRoLiBHaG9zdGxpZ2h0IG11c3QgY29uc3VtZSBDdWx0TGliIGJ5IHBpbm5lZCByZXYgYW5kIHN0b3AgdmVuZG9yaW5nIGJlZm9yZSB0aGUgc3RhbmRhbG9uZSByZXBvcyBhcmUgcmV0aXJlZC4iLCAic3RhdHVzIjogIm9rIiwgInRzIjogIjIwMjYtMDktMDNUMjE6MDA6MDArMDA6MDAiLCAidHlwZSI6ICJhcmNoaXRlY3R1cmUifQ==", "stored_at": "2026-09-03T20:45:52.565333+00:00", "type": "ghostlight.evidence_record.v0"} -{"key": "2026-09-04T090000Z0000-0025-4f5ebc369826", "payload": "eyJub3RlIjogIkdob3N0bGlnaHQncyB2ZW5kb3JlZCBjb3JlLXN0YWNrIGZvcmsgaXMgcmV0aXJlZCBhdCBkMDUxMGFjOiBjdWx0Y2FjaGUtcnMsIGN1bHRuZXQtcnMgYW5kIGN1bHRtZXNoLXJzIG5vdyBjb21lIGZyb20gQ3VsdExpYiBwaW5uZWQgYXQgODVmNzAyNCBhbmQgdmVuZG9yL1JFQURNRS5tZCdzICdsb2NhbGx5IG93bmVkIGNvbXBhdGlibGUgcHJvdG9jb2wgZ2VuZXJhdGlvbicgY2hhcnRlciBpcyBkZWxldGVkIHdpdGggdGhlbS4gVGhlIHByZWRpY3RlZCBtaWdyYXRpb24gZGlkIG5vdCBleGlzdC4gUnVudGltZVByZXNlbmNlQ29ycmVsYXRpb24gbW92aW5nIGZyb20gZW51bSB0byBzdHJ1Y3QgaXMgT2RpbidzIHNpZGUgb2YgdGhlIGNvbnRyYWN0IGFuZCBubyBHaG9zdGxpZ2h0IGZpbGUgcmVmZXJlbmNlcyBpdDsgd2l0aCBsaW5lIGVuZGluZ3Mgbm9ybWFsaXNlZCB0aGUgZTU0MjIyNSBhbmQgZjRhYjIzNyBjb3BpZXMgZGlmZmVyIGJ5IDEzMiBsaW5lcywgYW5kIHRoZSBvbmx5IHByb2R1Y3Rpb24gY2hhbmdlIHJlYWNoaW5nIGEgcHJvdmlkZXIgaXMgSWR1bm5FeHBlY3RlZFJvdXRlIHJlcXVpcmluZyBydWRwOi8vIHNjaGVtZXMgZm9yIHJ1ZHAgdHJhbnNwb3J0LCB3aGljaCB0aGlzIHNlcnZpY2UgZG9lcyBub3QgdXNlLiBHaG9zdGxpZ2h0IGNvbXBpbGVkIHVuY2hhbmdlZCBhbmQgcGFzc2VzIDg5IHdvcmtzcGFjZSB0ZXN0cyBhZ2FpbnN0IHRoZSBwaW5uZWQgcmV2LiBPbmUgdGhpbmcgd2FzIG5lYXJseSBsb3N0OiB0aGUgdmVuZG9yZWQgdHJhbnNwb3J0LnJzIGFsb25lIGNoZWNrZWQgYSBmcmFtZWQgcGF5bG9hZCBsZW5ndGggYWdhaW5zdCB0aGUgYWR2ZXJ0aXNlZCBtYXhpbXVtIGJlZm9yZSBhbGxvY2F0aW5nLCBzbyBhIGZvdXItYnl0ZSBoZWFkZXIgY291bGQgb3RoZXJ3aXNlIHNpemUgYSBidWZmZXIgdG8gd2hhdGV2ZXIgYSBwZWVyIGNsYWltczsgaXQgaXMgbm93IEN1bHRMaWIgODVmNzAyNCB3aXRoIGEgdGVzdC4gVmVyaWZpZWQgYnkgZGlmZmluZyBhbGwgdHdlbHZlIHZlbmRvcmVkIGN1bHRuZXQgZmlsZXMgYWdhaW5zdCBDdWx0TGliIGJlZm9yZSBkZWxldGluZyByYXRoZXIgdGhhbiBhZnRlci4gdmVuZG9yLyBzdGlsbCBob2xkcyB0aGUgY3VsdGNhY2hlLXB5IGFuZCBldmUgc3VibW9kdWxlczsgY3VsdGNhY2hlLXB5IGlzIHRoZSBzYW1lIHJ1bnRpbWUtc3BlY2lmaWMtcmVwbyBwYXR0ZXJuIGFuZCBDdWx0TGliIGNhcnJpZXMgcGFja2FnZXMvY3VsdGNhY2hlLXB5LCBidXQgaXQgYmFja3MgdGhlIHN0YXRlIHRvb2xpbmcgcmF0aGVyIHRoYW4gdGhlIGRhZW1vbi4iLCAic3RhdHVzIjogIm9rIiwgInRzIjogIjIwMjYtMDktMDRUMDk6MDA6MDArMDA6MDAiLCAidHlwZSI6ICJhcmNoaXRlY3R1cmUifQ==", "stored_at": "2026-09-03T23:13:55.473611+00:00", "type": "ghostlight.evidence_record.v0"} +{"key": "2026-09-03T231355Z0000-0025-cf375e89aa43", "payload": "eyJub3RlIjogIkdob3N0bGlnaHQncyB2ZW5kb3JlZCBjb3JlLXN0YWNrIGZvcmsgaXMgcmV0aXJlZCBhdCBkMDUxMGFjOiBjdWx0Y2FjaGUtcnMsIGN1bHRuZXQtcnMgYW5kIGN1bHRtZXNoLXJzIG5vdyBjb21lIGZyb20gQ3VsdExpYiBwaW5uZWQgYXQgODVmNzAyNCBhbmQgdmVuZG9yL1JFQURNRS5tZCdzICdsb2NhbGx5IG93bmVkIGNvbXBhdGlibGUgcHJvdG9jb2wgZ2VuZXJhdGlvbicgY2hhcnRlciBpcyBkZWxldGVkIHdpdGggdGhlbS4gVGhlIHByZWRpY3RlZCBtaWdyYXRpb24gZGlkIG5vdCBleGlzdC4gUnVudGltZVByZXNlbmNlQ29ycmVsYXRpb24gbW92aW5nIGZyb20gZW51bSB0byBzdHJ1Y3QgaXMgT2RpbidzIHNpZGUgb2YgdGhlIGNvbnRyYWN0IGFuZCBubyBHaG9zdGxpZ2h0IGZpbGUgcmVmZXJlbmNlcyBpdDsgd2l0aCBsaW5lIGVuZGluZ3Mgbm9ybWFsaXNlZCB0aGUgZTU0MjIyNSBhbmQgZjRhYjIzNyBjb3BpZXMgZGlmZmVyIGJ5IDEzMiBsaW5lcywgYW5kIHRoZSBvbmx5IHByb2R1Y3Rpb24gY2hhbmdlIHJlYWNoaW5nIGEgcHJvdmlkZXIgaXMgSWR1bm5FeHBlY3RlZFJvdXRlIHJlcXVpcmluZyBydWRwOi8vIHNjaGVtZXMgZm9yIHJ1ZHAgdHJhbnNwb3J0LCB3aGljaCB0aGlzIHNlcnZpY2UgZG9lcyBub3QgdXNlLiBHaG9zdGxpZ2h0IGNvbXBpbGVkIHVuY2hhbmdlZCBhbmQgcGFzc2VzIDg5IHdvcmtzcGFjZSB0ZXN0cyBhZ2FpbnN0IHRoZSBwaW5uZWQgcmV2LiBPbmUgdGhpbmcgd2FzIG5lYXJseSBsb3N0OiB0aGUgdmVuZG9yZWQgdHJhbnNwb3J0LnJzIGFsb25lIGNoZWNrZWQgYSBmcmFtZWQgcGF5bG9hZCBsZW5ndGggYWdhaW5zdCB0aGUgYWR2ZXJ0aXNlZCBtYXhpbXVtIGJlZm9yZSBhbGxvY2F0aW5nLCBzbyBhIGZvdXItYnl0ZSBoZWFkZXIgY291bGQgb3RoZXJ3aXNlIHNpemUgYSBidWZmZXIgdG8gd2hhdGV2ZXIgYSBwZWVyIGNsYWltczsgaXQgaXMgbm93IEN1bHRMaWIgODVmNzAyNCB3aXRoIGEgdGVzdC4gVmVyaWZpZWQgYnkgZGlmZmluZyBhbGwgdHdlbHZlIHZlbmRvcmVkIGN1bHRuZXQgZmlsZXMgYWdhaW5zdCBDdWx0TGliIGJlZm9yZSBkZWxldGluZyByYXRoZXIgdGhhbiBhZnRlci4gdmVuZG9yLyBzdGlsbCBob2xkcyB0aGUgY3VsdGNhY2hlLXB5IGFuZCBldmUgc3VibW9kdWxlczsgY3VsdGNhY2hlLXB5IGlzIHRoZSBzYW1lIHJ1bnRpbWUtc3BlY2lmaWMtcmVwbyBwYXR0ZXJuIGFuZCBDdWx0TGliIGNhcnJpZXMgcGFja2FnZXMvY3VsdGNhY2hlLXB5LCBidXQgaXQgYmFja3MgdGhlIHN0YXRlIHRvb2xpbmcgcmF0aGVyIHRoYW4gdGhlIGRhZW1vbi4iLCAic3RhdHVzIjogIm9rIiwgInRzIjogIjIwMjYtMDktMDNUMjM6MTM6NTUrMDA6MDAiLCAidHlwZSI6ICJhcmNoaXRlY3R1cmUifQ==", "stored_at": "2026-09-03T23:27:13.913341+00:00", "type": "ghostlight.evidence_record.v0"} +{"key": "2026-09-03T232624Z0000-0026-cdce3fe580c1", "payload": "eyJub3RlIjogIlRoZSBwcmUtZXhpc3Rpbmcgd29ya3RyZWUgZHJpZnQgaXMgbGFuZGVkIGF0IDc1MWI1YzQgYW5kIDMyMmNjMTEuIFRoZSBkYWVtb24gbm8gbG9uZ2VyIG5hbWVzIEdIT1NUTElHSFRfUlVOVElNRV9JRCwgR0hPU1RMSUdIVF9EVU5HRU9OX0JJTkQgb3IgR0hPU1RMSUdIVF9EVU5HRU9OX1JPT1QgdW5kZXIgbWFuYWdlbWVudDsgSWR1bm4gc3VwcGxpZXMgdGhlIHJ1bnRpbWUgaWQgaW4gdGhlIGFjdGl2YXRpb24gYnVuZGxlLCB0aGUgY2FuZGlkYXRlIGJpbmQsIGFuZCB0aGUgc3RhdGUgcm9vdCBhcyBhIHJlY2lwZSBhcmd1bWVudCBiaW5kaW5nLiBUaGF0IGJpbmRpbmcgaXMgcmVxdWlyZWQgcmF0aGVyIHRoYW4gY29zbWV0aWM6IE9kaW4gZGVwbG95bWVudC5ycyByZWZ1c2VzIGEgc3RhdGVmdWwgd29ya2xvYWQgd2l0aCBubyBzdGF0ZV9yb290IGFyZ3VtZW50IGJpbmRpbmcgYW5kIHJlZnVzZXMgb25lIHdob3NlIGJpbmRpbmcgZGlzYWdyZWVzIHdpdGggdGhlIGFkbWl0dGVkIHJvb3QsIHNvIHRoZSBvbGQgcmVjaXBlIGNvdWxkIG5vdCBoYXZlIGRlcGxveWVkLiBUaGUgYWNjZXB0YW5jZSBoYXJuZXNzIGlkZW50aXR5IGlzIHJlbmFtZWQgR0hPU1RMSUdIVF9BQ0NFUFRBTkNFX1JVTlRJTUVfSUQgc28gYSB0ZXN0LXN1cHBsaWVkIGlkIGNhbm5vdCBiZSByZWFkIGFzIHRoZSBtYW5hZ2VkIG9uZS4gODkgd29ya3NwYWNlIHRlc3RzIHBhc3MuIFByb3ZlbmFuY2UgZmluZGluZyB0aGF0IGNoYW5nZXMgdGhlIGN1bHRuZXQtcnMgcmV0aXJlbWVudCBnYXRlOiB0aGUgY29udHJhY3QgcmV2aXNpb25zIHRoZSBNaW5kIGNpdGVzLCBDdWx0TmV0IGY0YWIyMzcgYW5kIGl0cyBwcmVkZWNlc3NvciBlNTQyMjI1LCBhcmUgbm90IGFuY2VzdG9ycyBvZiBDdWx0TGliIG1haW4gYW5kIGV4aXN0IG9ubHkgb24gR2FtZUN1bHQvY3VsdG5ldC1ycyBicmFuY2ggY29kZXgvaWR1bm4tcnVudGltZS1hdXRob3JpdHktY29udHJhY3QuIFRoZWlyIGNvbnRlbnQgaXMgb24gQ3VsdExpYiBtYWluIGF0IDg1ZjcwMjQsIHZlcmlmaWVkIGJ5IHN5bWJvbCwgYnV0IHRoZSBTSEFzIGFyZSBub3QsIGJlY2F1c2UgdGhlIGNvbnNvbGlkYXRpb24gcG9ydGVkIGNvbW1pdHMgZm9yd2FyZCByYXRoZXIgdGhhbiBtZXJnaW5nIHRoZW0uIERlbGV0aW5nIEdhbWVDdWx0L2N1bHRuZXQtcnMgdGhlcmVmb3JlIGJyZWFrcyBldmVyeSBjaXRhdGlvbiBpbiBtYXAueWFtbCwgdGhlIGhhbmRvZmYsIGJvdGggbm90ZXMgYW5kIHRoZSBldmlkZW5jZSBsZWRnZXIuIE9kaW4gNjVjZjJiMiBhbmQgZDUyN2Q3MiBhcmUgbGlrZXdpc2Ugb2ZmIE9kaW4gbWFpbiwgb24gcHVzaGVkIGJyYW5jaCBjb2RleC95Z2ctaWR1bm4taW5kZXBlbmRlbnQtYm9vdHN0cmFwLCB3aGljaCBpcyByZXNvbHZhYmxlIGFuZCBuZWVkcyBubyBhY3Rpb24uIiwgInN0YXR1cyI6ICJvayIsICJ0cyI6ICIyMDI2LTA5LTAzVDIzOjI2OjI0KzAwOjAwIiwgInR5cGUiOiAiYXJjaGl0ZWN0dXJlIn0=", "stored_at": "2026-09-03T23:26:24.424346+00:00", "type": "ghostlight.evidence_record.v0"} diff --git a/state/map.yaml b/state/map.yaml index 24e2674..0107e93 100644 --- a/state/map.yaml +++ b/state/map.yaml @@ -356,10 +356,10 @@ data_flow: current_status: summary: Ghostlight's source teardown is complete and its Idunn provider side is landed at pushed commit `6a79cb0`: executable startup enters the replacement runtime, the legacy scheduler/kernel/Session Zero pipeline modules are absent, one CultCache implementation owns persistent state, and the runtime publishes signed Warming, republishes it while the write lease is outstanding, and exposes managed route presence. Production has not cut over: Yggdrasil still runs legacy release `a4080d4` under an enabled `Restart=always` unit with health v1 and legacy state. The attempted deployment exposed duplicate authority across hard-coded Idunn policy, raw shell commands, the privileged dispatcher, and target-specific gamecult-ops programs, plus a root-versus-Idunn Git ownership failure and stop-old-before-candidate routing. The adopted deployment rebuild uses target-owned visible recipes, Idunn-configured runner and host bindings, candidate readiness behind a stable route, process/write-lease handoff, and separate deployment versus continuity authority. No deployment or acceptance run is active. provider_acceptance_checkpoint: Exact pushed commit `139b8a6` completed Run 60 under `character-newsroom.v10` without world or per-wave replay. Its acceptance witness and terminal status bind the completed page and exact resume lineage. The independently dispatched blind reviewer, shown only the reader-facing fantasy newspaper, read it as a real left-populist civic broadsheet and did not immediately identify procedural generation, so the narrative reverse-Turing criterion passes. The review's substantive criticism is that the three stories feel like three rewrites of one briefing; accepted Run 60 remains immutable. The run used 96,902 prompt tokens and reported zero cache hits. Its delivered typeset artifact is `output/pdf/canopy-ledger-run-60-front-page.pdf`; frozen-source and visual verification remain accepted. Exact pushed `bc2ca39` then produced frozen-fact newsroom-only Run 61 Issues 13, 15, 16, 17, and 18 without world or wave model replay. Provider output proves `special_issue` convergence in Issues 13 and 15, independent `general_issue` beats in Issues 16 through 18, and assignment-selector cache hits. Blind review of Issues 13, 15, 16, and 17 passes both distinct recurring voices and issue-shape diversity, recognizing Ossan, Mera, Corin, and Lysa's biases plus modest cross-issue evolution. Run 62 exercised v12 without world or wave replay and failed only because two lead articles proposed invalid datelines; recurring reporter calls still recorded zero cache hits. Run 63 used exact pushed v13 `a52d57b`; Issues 17 and 18 completed before root stopped the final weekly recomposition, both repeated bylines again recorded zero cache hits, and live services remained unchanged. Preserve Runs 61 through 63 as stopped or completed immutable evidence. Copy defects remain later deadline-correction work rather than a reason to reopen accepted issue artifacts. - implementation_checkpoint: Pushed commit `6bb6869` makes the replacement mailbox/kernel architecture the crate and executable runtime identity and removes the legacy runtime owner. Pushed commit `13d5136` unifies app sessions, world journal, and controller custody under the vendored CultCache implementation and deletes the duplicate legacy CultCache dependency. The committed daemon tree has no old Session Zero, legacy kernel, scheduler, assessor, verifier/reconciliation, or legacy-transition module path. CultNet `f4ab237` owns the current activation, brake, lease, observed-capability, disagreement, and RUDP-route contracts. Odin `65cf2b2` owns exact source/release actuation and the durable three-record, nine-phase transaction body. Ghostlight `d0510ac` consumes CultCache, CultNet and CultMesh from CultLib `85f7024` instead of vendoring its own generation of them, deleting 19,604 lines of forked substrate; Ghostlight `6a79cb0` and CodexConnector `ede3c30` own their respective provider contracts; `9256648` exposes managed Ghostlight route presence and `6a79cb0` republishes Warming while awaiting the write lease. The remaining uncommitted Odin work is Idunn projection, bounded RUDP transport, and stable-route integration; the directly managed Rust Odin correlation daemon and exact dependency closure are not yet implemented. This proves source and contract foundations, not live deployment: Yggdrasil remains on the legacy bodies until Idunn performs the one-way cut. + implementation_checkpoint: Pushed commit `6bb6869` makes the replacement mailbox/kernel architecture the crate and executable runtime identity and removes the legacy runtime owner. Pushed commit `13d5136` unifies app sessions, world journal, and controller custody under the vendored CultCache implementation and deletes the duplicate legacy CultCache dependency. The committed daemon tree has no old Session Zero, legacy kernel, scheduler, assessor, verifier/reconciliation, or legacy-transition module path. CultNet `f4ab237` owns the current activation, brake, lease, observed-capability, disagreement, and RUDP-route contracts. Odin `65cf2b2` owns exact source/release actuation and the durable three-record, nine-phase transaction body. Ghostlight `d0510ac` consumes CultCache, CultNet and CultMesh from CultLib `85f7024` instead of vendoring its own generation of them, deleting 19,604 lines of forked substrate; Ghostlight `751b5c4` stops naming its own runtime id, bind, and state root and takes all three from Idunn, which the recipe's required `state_root` argument binding makes mandatory rather than cosmetic; Ghostlight `6a79cb0` and CodexConnector `ede3c30` own their respective provider contracts; `9256648` exposes managed Ghostlight route presence and `6a79cb0` republishes Warming while awaiting the write lease. The remaining uncommitted Odin work is Idunn projection, bounded RUDP transport, and stable-route integration; the directly managed Rust Odin correlation daemon and exact dependency closure are not yet implemented. The worktree is clean: no Ghostlight drift remains between the committed tree and the deployment gate. This proves source and contract foundations, not live deployment: Yggdrasil remains on the legacy bodies until Idunn performs the one-way cut. full_world_acceptance_checkpoint: Run 115 is terminal failed at `/var/lib/gamecult/ghostlight-dungeon/acceptance/full-world-delvehold-0a83034-115`, semantic revision 2, regions 2/8, waves 0/1. Resume2 ended on provider SSE timeout. Resume3 exhausted four reconciliation steps after `inst:kharad-road-keepers` referenced unknown `loc:kharad-rhythm-road`. Preserve the root, receipts, service invocation `d9254cd9b77946aebcf7a7fdae821402`, and failed patch sequence through 8964a92 as immutable evidence. Do not resume it. scale_checkpoint: Runs 108 through 115 prove load and failure properties of the pre-rebuild body, not world completeness. The 1,200 and 2,400 actor figures are synthetic evaluation profiles only. Production expansion is sparse and causal; structural admission cannot require interest, diversity, name uniqueness, or an actor count. The committed replacement authority suite passes, but no further scale run is admitted until Yggdrasil serves the exact world-v2 release through the rebuilt Idunn recipe/binding/router seam, the live state root satisfies the complete world-v2 allowed-path contract, restart preserves exact journal and digest identity, and no old service, state path, process grant, or route can regain write authority. presentation_checkpoint: The historical press-layout and seed-ownership split are complete. `notes/historical-newspaper-layout-grammar.md` remains the durable grammar. Manifest v2 at `output/tex/canopy-ledger-run-61-style-1847-flow-723.manifest.toml` independently binds `style_seed=1847`, `flow_seed=723`, frozen source SHA-256 `8f195140f52a40ba705d6a66987146a1500ae89668e5d82b01d1792eb3afb882`, and the final artifact `output/pdf/canopy-ledger-run-61-style-1847-flow-723.pdf`, SHA-256 `a457f4b1702a7a52480e42fce0039f0dbe677ff32958e98f1c412b346237190c`. An identical seed pair produces byte-identical TeX and PDF; changing only flow preserves the exact style section while materially changing a plausible layout, and changing only style preserves flow topology. Cut-first and cut-midstory templates pass visual inspection; the failed split-card template is deleted. Frozen copy/assets, actual PDF `/BM /Multiply`, and economic-layer advertising authority remain invariant. public_reference_checkpoint: The published public architecture is immutable pre-rebuild history, not current rebuild authority. Canonical Ghostlight commit `15ea0f0` owns five archived pages covering the former overview, authority, pipelines, 43 named production stages, and eight titled elaborators. Site commit `2035e799c2cf7470b2bfc70d5a878d5d3be5e90f` publishes a shared mobile Home/Blog/Docs masthead, visibly marks every Docs page as a teardown archive, and publishes the postmortem `The World Counter Lied` at `https://ghostlight.gamecult.org/Blog/the-world-counter-lied`; live HTTP inspection returned 200 for the postmortem and Docs index and found the masthead and archive banner. Do not use the archived pages to steer the whole-machine rebuild. `docs/architecture/ghostlight-dungeon-mvp.md` owns the adopted target; publish replacement architecture only after the replacement body is implemented and verified. The site repository owns public composition and deployment. - next_action: Review and subtract the uncommitted Idunn projection and bounded RUDP transport, advance Odin to CultNet `f4ab237`, add UDP route actuation plus an independently persisted post-reload data-plane observation, and verify that focused pass on Yggdrasil. Then implement the directly managed Rust Odin observation/correlation daemon and exact transaction-frozen capability dependency closure. Install rebuilt Idunn, admit Odin first, then CodexConnector and Ghostlight; prove same-generation continuity, fencing, signed health, route cutover, Odin-outage freeze, and negative legacy authority before purging old units, releases, state roots, and the remote acceptance debris. Local run scaffolding, downloaded acceptance copies, and redundant Git bundles are already purged, and `.gitignore` now refuses them. + next_action: Review and subtract the uncommitted Idunn projection and bounded RUDP transport, advance Odin to CultNet `f4ab237`, add UDP route actuation plus an independently persisted post-reload data-plane observation, and verify that focused pass on Yggdrasil. Then implement the directly managed Rust Odin observation/correlation daemon and exact transaction-frozen capability dependency closure. Install rebuilt Idunn, admit Odin first, then CodexConnector and Ghostlight; prove same-generation continuity, fencing, signed health, route cutover, Odin-outage freeze, and negative legacy authority before purging old units, releases, state roots, and the remote acceptance debris. Retiring `GameCult/cultnet-rs` is gated on more than content: `f4ab237` and `e542225` are not ancestors of CultLib main and survive only on that repo's `codex/idunn-runtime-authority-contract` branch, so deleting it breaks every contract citation in this map, the handoff, both notes, and the evidence ledger. Either re-anchor those citations on CultLib `85f7024` or preserve the branch. Local run scaffolding, downloaded acceptance copies, and redundant Git bundles are already purged, and `.gitignore` now refuses them. 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.