From 2f6da84b7f2c9c1e5ec2da4f546c2ac129e3b3b3 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Mon, 24 Aug 2026 13:41:10 +0200 Subject: [PATCH] Record deferred initiative live acceptance --- notes/fresh-workspace-handoff.md | 35 ++++++++++++++++++++----- notes/ghostlight-current-system-map.md | 10 +++++++ notes/ghostlight-implementation-plan.md | 20 +++++++------- state/evidence.jsonl | 3 ++- state/ghostlight-state.cultcache.jsonl | 1 + state/map.yaml | 4 +-- 6 files changed, 54 insertions(+), 19 deletions(-) diff --git a/notes/fresh-workspace-handoff.md b/notes/fresh-workspace-handoff.md index 431791e..5ea0f31 100644 --- a/notes/fresh-workspace-handoff.md +++ b/notes/fresh-workspace-handoff.md @@ -96,13 +96,13 @@ Yggdrasil is production. The Starfire writer and its old tunnel are stopped. Do not start both writers. - Executable release: - `06ed2c5ac27c7d9f32f51444e51b5acec3e1942b` + `4057e11dc2f44266ea8c4a0ca2947f0dd941d191` - Executable SHA-256: - `4398b9947870a2ec7610c8f059e5790b67e7255e9fac11d40c53a69f3eff6a7b` + `ba65b1b573a614e6132c99368d79da202eba564142a3ecb5c74645aa81ac2b05` - Native client SHA-256: - `3a0556e46d78625c4c31509164fe15e6b8e3df28cbbaf0026fc9d57325d1d956` + `e153eb61f84aca22ac7b9494c669f4e3de17e30bfdafcbe23da3dcbd1237a2a4` - Artifact SHA-256: - `sha256-245c079762da925c30f02b539ef28e9aa1d619c395ddb9a90be71c5f1cf764ab` + `sha256-7f87f14585eb48176fdcccd0cc2c7e4879b3a45c5d93dd418163a7cba2ebf98d` - Eve release: `19c3dcf9173dce848a6253e975324ea239a02d24` - Service: `ghostlight-dungeon.service`, running as `ghostlight:ghostlight` - Listener: Yggdrasil loopback `127.0.0.1:8831` @@ -289,7 +289,7 @@ only after explicit acknowledgement; keep the transport and durable-snapshot regressions in the fleet gate. The live canary campaign `34929b8d-7b04-49af-9936-1c798fd79760` is at world -revision 76. Release `99a2508` constrained the trust attempt to its independently +revision 87. Release `99a2508` constrained the trust attempt to its independently verified relationship lane. Stale confirmation recompiled against revision 71; the server-side d20 rolled 10, applied +4 against DC 5, and committed Member 1's increased trust without granting knowledge or mutating the other two present @@ -310,6 +310,27 @@ revision. The return route then advanced to revision 76 and the encampment rematerialized with the same persistent location, Refugee Convoy population, Member 1, Member 2, Relay Volunteer, relationship outcome, and player ledger. +The canary then reached the garrison and pressured institutional authority. +Release `bb5948c` makes the compact mutation-scope stage the owner of structural +admission: an impossible demand for Zhestokost's total surrender, resource +transfer, and permanent obedience returned an explicit no-roll refusal and four +bounded bargains after one model stage; the identical retry used the semantic +cache without advancing world state. Mira later stayed inside her clinic +authority, admitted that she did not know Voss's location or a magic citation, +and failed a separately receipted attempt to find acting authority. + +Release `4057e11` keeps directly addressed Persona response generation in the +foreground command but schedules accepted NPC action proposals after the live +turn releases its commit guard. `Campaign.pending_world_proposals` remains the +only durable queue. Startup and the five-minute scheduler rediscover exact +current-reaction-wave proposals; assessment cancels when a player turn starts, +and `ResolveNpcAction` rejects any proposal whose revision window has moved. +Live native CultMesh evidence returned Mira's grounded records answer in 25.8 +seconds at revision 86. Twelve seconds later the deferred initiative advanced +to revision 87 with an explicit spatial refusal: Mira could not inspect clinic +records while still at the garrison, and the kernel did not teleport her or +invent the missing findings. + Acceptance witnesses live under `F:\GameCult\GhostlightDungeon\acceptance`. Operational release and rollback truth remains in `gamecult-ops`. @@ -317,8 +338,8 @@ Operational release and rollback truth remains in `gamecult-ops`. 1. Continue adversarial play through the authenticated native CultMesh client; its Heimdall grant and Ghostlight app session are persisted in CultCache. -2. Pressure institution self-interest, away-time strategic activity, and - character-accessible news in the current revision-76 canary. Prove that the +2. Pressure away-time strategic activity and character-accessible news in the + current revision-87 canary. Prove that the player is not puppeted and inaccessible remote facts remain private. 3. Compile an obscure Vault-grounded start or receive an explicit material-gap preview without borrowing fixture cast, geography, or plot. diff --git a/notes/ghostlight-current-system-map.md b/notes/ghostlight-current-system-map.md index 20d8757..d0e635b 100644 --- a/notes/ghostlight-current-system-map.md +++ b/notes/ghostlight-current-system-map.md @@ -988,6 +988,16 @@ Pending NPC actions are revision-scoped reaction-window state. The next reaction wave atomically replaces the set, and the kernel resolves an action only when the current last event is the exact current-revision reaction wave. Same-wave assessment correction remains possible; cross-turn rebasing is not. +The foreground command owns committed player speech, presence reconciliation, +and the directly addressed Persona response. Once that response is committed, +the request returns without waiting for a second NPC action assessment. The +accepted action proposal remains in `Campaign.pending_world_proposals`; an +idle-boundary continuation runs its assessment with background priority and +calls the same `WorldKernel::ResolveNpcAction` command. A new live turn cancels +in-flight background inference. The proposal may commit only against its exact +reaction revision, and startup plus the strategic scheduler rediscover current +reaction-wave proposals after daemon interruption. The continuation is an +actuator, not another queue or state owner. The same reaction commit validates its response duty against the exact committed source turn. A missing directly addressed Persona or a null response aborts the whole wave without private deltas, transcript additions, initiative, diff --git a/notes/ghostlight-implementation-plan.md b/notes/ghostlight-implementation-plan.md index f10bac6..9de943d 100644 --- a/notes/ghostlight-implementation-plan.md +++ b/notes/ghostlight-implementation-plan.md @@ -127,6 +127,14 @@ closes the live failure where every present actor perceived a direct question but all Interpreters returned `speech: null`, without forcing observers to seize conversational focus or admitting a free-text reaction-effect lane. +Foreground speech returns after the committed directly addressed response. +NPC action proposals emitted by that reaction remain exact-revision canonical +state and resolve through `WorldKernel::ResolveNpcAction` at the first idle +boundary. Live turns cancel background assessment before commit, daemon startup +and the scheduler recover an unresolved current reaction window, and no stale +proposal is rebased. Provider concurrency and strategic scheduling remain +separate from this response-delivery boundary. + World transition authority is now a closed semantic mutation algebra rather than four empirical effect universes. Foreground attempts, NPC initiative, reaction appraisal, strategic actor/institution/Gestalt outcomes, waits, @@ -146,15 +154,9 @@ 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 the current cut as immutable -Yggdrasil release `447f4027c37f13c83afb4431421d8d66b9384bcd` with Eve -`19c3dcf9173dce848a6253e975324ea239a02d24`, daemon SHA-256 -`084e01d22453d0c99c9fe2b375aeead455a970139b0cc8f0f1e1f38c87086d0f`, -native-client SHA-256 -`d3f49d2b5459ace468af0c75a02052e099ffc086f9a88b6937b0a49dc67199cd`, -and artifact `sha256-d8f944778c09d0696bc1bd76dc94e613c448053416f5300f0870a968496757cc`. -The locked 265-test package gate, release build, web build, active symlink, -zero-restart service state, and signed Idunn health agree. CultLib +Idunn's locked Linux package gate owns Ghostlight tests, release builds, +immutable publication, and exact-source provenance. The current release witness +lives in the state map and fresh-workspace handoff rather than this plan. CultLib `75c180782aeba7cfd22d6412877397708a4ed28f` owns the five-runtime RUDP repair: 32-packet admission, session-owned FIFO pressure, cumulative ACKs inside the horizon, exact ACKs for older retransmits, and explicit flush completion. diff --git a/state/evidence.jsonl b/state/evidence.jsonl index d4e0e2a..411148a 100644 --- a/state/evidence.jsonl +++ b/state/evidence.jsonl @@ -128,4 +128,5 @@ {"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"} {"note": "Yggdrasil release 801d4c exposes a loopback-only Heimdall-backed native CultMesh player boundary. Odin returned the redacted provider route; a forged app session produced the canonical denial receipt and left every campaign store byte-identical. One human Discord approval remains before actor-filtered direct play.", "status": "ok", "ts": "2026-08-23T18:54:53+00:00", "type": "verification"} {"note": "Native auth pressure found that a second begin could replace the client pending handle after Discord completed it. Release 447f402 refuses overwrite, clears terminal owned attempts, and supports stdin-only completed-handle recovery. Three focused tests and Idunn full 265-test Linux gate passed; daemon and native listener are healthy.", "status": "ok", "ts": "2026-08-23T19:14:47+00:00", "type": "verification"} -{"ts": "2026-08-24T09:56:23+00:00", "type": "live_acceptance", "status": "accepted", "note": "Revision 74-76 canary proved route keys are origin-local: composite transition edge identity removed cross-location collisions; an already-unanimous uncommitted travel proposal finalized idempotently, survived an Idunn same-release restart, and returned Ash to the same encampment cast and ledger after exactly 30 fictional minutes."} +{"note": "Revision 74-76 canary proved route keys are origin-local: composite transition edge identity removed cross-location collisions; an already-unanimous uncommitted travel proposal finalized idempotently, survived an Idunn same-release restart, and returned Ash to the same encampment cast and ledger after exactly 30 fictional minutes.", "status": "accepted", "ts": "2026-08-24T09:56:23+00:00", "type": "live_acceptance"} +{"ts": "2026-08-24T11:40:58+00:00", "type": "implementation", "status": "ok", "note": "Release 4057e11 moved NPC initiative assessment beyond the foreground response while preserving Campaign.pending_world_proposals as the sole durable queue and WorldKernel ResolveNpcAction as commit authority. Idunn passed 294 tests and deployed the exact immutable body on Yggdrasil. Live CultMesh play returned a grounded Mira response at revision 86 in 25.8 seconds, then independently advanced to revision 87 twelve seconds later with an explicit spatially inadmissible follow-up rather than teleportation, fabricated records, or partial mutation."} diff --git a/state/ghostlight-state.cultcache.jsonl b/state/ghostlight-state.cultcache.jsonl index 5bbcb38..fb628fd 100644 --- a/state/ghostlight-state.cultcache.jsonl +++ b/state/ghostlight-state.cultcache.jsonl @@ -130,3 +130,4 @@ {"key": "2026-08-23T185453Z0000-0128-add35cb85f1d", "payload": "eyJub3RlIjogIllnZ2RyYXNpbCByZWxlYXNlIDgwMWQ0YyBleHBvc2VzIGEgbG9vcGJhY2stb25seSBIZWltZGFsbC1iYWNrZWQgbmF0aXZlIEN1bHRNZXNoIHBsYXllciBib3VuZGFyeS4gT2RpbiByZXR1cm5lZCB0aGUgcmVkYWN0ZWQgcHJvdmlkZXIgcm91dGU7IGEgZm9yZ2VkIGFwcCBzZXNzaW9uIHByb2R1Y2VkIHRoZSBjYW5vbmljYWwgZGVuaWFsIHJlY2VpcHQgYW5kIGxlZnQgZXZlcnkgY2FtcGFpZ24gc3RvcmUgYnl0ZS1pZGVudGljYWwuIE9uZSBodW1hbiBEaXNjb3JkIGFwcHJvdmFsIHJlbWFpbnMgYmVmb3JlIGFjdG9yLWZpbHRlcmVkIGRpcmVjdCBwbGF5LiIsICJzdGF0dXMiOiAib2siLCAidHMiOiAiMjAyNi0wOC0yM1QxODo1NDo1MyswMDowMCIsICJ0eXBlIjogInZlcmlmaWNhdGlvbiJ9", "stored_at": "2026-08-23T18:54:53.555209+00:00", "type": "ghostlight.evidence_record.v0"} {"key": "2026-08-23T191447Z0000-0129-29a44b235721", "payload": "eyJub3RlIjogIk5hdGl2ZSBhdXRoIHByZXNzdXJlIGZvdW5kIHRoYXQgYSBzZWNvbmQgYmVnaW4gY291bGQgcmVwbGFjZSB0aGUgY2xpZW50IHBlbmRpbmcgaGFuZGxlIGFmdGVyIERpc2NvcmQgY29tcGxldGVkIGl0LiBSZWxlYXNlIDQ0N2Y0MDIgcmVmdXNlcyBvdmVyd3JpdGUsIGNsZWFycyB0ZXJtaW5hbCBvd25lZCBhdHRlbXB0cywgYW5kIHN1cHBvcnRzIHN0ZGluLW9ubHkgY29tcGxldGVkLWhhbmRsZSByZWNvdmVyeS4gVGhyZWUgZm9jdXNlZCB0ZXN0cyBhbmQgSWR1bm4gZnVsbCAyNjUtdGVzdCBMaW51eCBnYXRlIHBhc3NlZDsgZGFlbW9uIGFuZCBuYXRpdmUgbGlzdGVuZXIgYXJlIGhlYWx0aHkuIiwgInN0YXR1cyI6ICJvayIsICJ0cyI6ICIyMDI2LTA4LTIzVDE5OjE0OjQ3KzAwOjAwIiwgInR5cGUiOiAidmVyaWZpY2F0aW9uIn0=", "stored_at": "2026-08-23T19:14:47.404364+00:00", "type": "ghostlight.evidence_record.v0"} {"key": "2026-08-24T095623Z0000-0130-40c02d58385c", "payload": "eyJub3RlIjogIlJldmlzaW9uIDc0LTc2IGNhbmFyeSBwcm92ZWQgcm91dGUga2V5cyBhcmUgb3JpZ2luLWxvY2FsOiBjb21wb3NpdGUgdHJhbnNpdGlvbiBlZGdlIGlkZW50aXR5IHJlbW92ZWQgY3Jvc3MtbG9jYXRpb24gY29sbGlzaW9uczsgYW4gYWxyZWFkeS11bmFuaW1vdXMgdW5jb21taXR0ZWQgdHJhdmVsIHByb3Bvc2FsIGZpbmFsaXplZCBpZGVtcG90ZW50bHksIHN1cnZpdmVkIGFuIElkdW5uIHNhbWUtcmVsZWFzZSByZXN0YXJ0LCBhbmQgcmV0dXJuZWQgQXNoIHRvIHRoZSBzYW1lIGVuY2FtcG1lbnQgY2FzdCBhbmQgbGVkZ2VyIGFmdGVyIGV4YWN0bHkgMzAgZmljdGlvbmFsIG1pbnV0ZXMuIiwgInN0YXR1cyI6ICJhY2NlcHRlZCIsICJ0cyI6ICIyMDI2LTA4LTI0VDA5OjU2OjIzKzAwOjAwIiwgInR5cGUiOiAibGl2ZV9hY2NlcHRhbmNlIn0=", "stored_at": "2026-08-24T09:56:23.222503+00:00", "type": "ghostlight.evidence_record.v0"} +{"key": "2026-08-24T114058Z0000-0131-8eb00551f631", "payload": "eyJub3RlIjogIlJlbGVhc2UgNDA1N2UxMSBtb3ZlZCBOUEMgaW5pdGlhdGl2ZSBhc3Nlc3NtZW50IGJleW9uZCB0aGUgZm9yZWdyb3VuZCByZXNwb25zZSB3aGlsZSBwcmVzZXJ2aW5nIENhbXBhaWduLnBlbmRpbmdfd29ybGRfcHJvcG9zYWxzIGFzIHRoZSBzb2xlIGR1cmFibGUgcXVldWUgYW5kIFdvcmxkS2VybmVsIFJlc29sdmVOcGNBY3Rpb24gYXMgY29tbWl0IGF1dGhvcml0eS4gSWR1bm4gcGFzc2VkIDI5NCB0ZXN0cyBhbmQgZGVwbG95ZWQgdGhlIGV4YWN0IGltbXV0YWJsZSBib2R5IG9uIFlnZ2RyYXNpbC4gTGl2ZSBDdWx0TWVzaCBwbGF5IHJldHVybmVkIGEgZ3JvdW5kZWQgTWlyYSByZXNwb25zZSBhdCByZXZpc2lvbiA4NiBpbiAyNS44IHNlY29uZHMsIHRoZW4gaW5kZXBlbmRlbnRseSBhZHZhbmNlZCB0byByZXZpc2lvbiA4NyB0d2VsdmUgc2Vjb25kcyBsYXRlciB3aXRoIGFuIGV4cGxpY2l0IHNwYXRpYWxseSBpbmFkbWlzc2libGUgZm9sbG93LXVwIHJhdGhlciB0aGFuIHRlbGVwb3J0YXRpb24sIGZhYnJpY2F0ZWQgcmVjb3Jkcywgb3IgcGFydGlhbCBtdXRhdGlvbi4iLCAic3RhdHVzIjogIm9rIiwgInRzIjogIjIwMjYtMDgtMjRUMTE6NDA6NTgrMDA6MDAiLCAidHlwZSI6ICJpbXBsZW1lbnRhdGlvbiJ9", "stored_at": "2026-08-24T11:40:58.086144+00:00", "type": "ghostlight.evidence_record.v0"} diff --git a/state/map.yaml b/state/map.yaml index 7f7c0cb..65d2ad6 100644 --- a/state/map.yaml +++ b/state/map.yaml @@ -310,6 +310,6 @@ data_flow: - If state grows faster than understanding, cut it back. current_status: - summary: Yggdrasil serves immutable Ghostlight release 06ed2c5ac27c7d9f32f51444e51b5acec3e1942b with Eve 19c3dcf9173dce848a6253e975324ea239a02d24, daemon SHA-256 4398b9947870a2ec7610c8f059e5790b67e7255e9fac11d40c53a69f3eff6a7b, native-client SHA-256 3a0556e46d78625c4c31509164fe15e6b8e3df28cbbaf0026fc9d57325d1d956, artifact sha256-245c079762da925c30f02b539ef28e9aa1d619c395ddb9a90be71c5f1cf764ab, and unchanged model connector 7d384a6277c74fb35b8e51297ffbccda59746ce9. Idunn's locked Linux package gate, release build, active symlink, signed health, and zero-restart services agree. The authenticated native CultMesh client persists its Heimdall-backed app session and the canary is at revision 76. A scoped, independently verified trust attempt rolled 10+4 against DC 5 and changed only Member 1's relationship to Ash; all three present Personas appraised it without sharing private knowledge. Route keys are now correctly local to each origin while transition edges use collision-free composite identity. The exact unanimous travel proposal stranded by the former collision was retried through WorldKernel, committed once, survived an Idunn same-release restart, and returned Ash to the same encampment, cast, population, ledger, and relationship state after exactly thirty fictional minutes. Existing mutation, Gestalt, topology, knowledge, privacy, no-puppeting, and atomicity invariants remain authoritative. Starfire remains retired as a writer. - next_action: Continue adversarial play from revision 76 through institution resistance, away-time strategic activity, and character-accessible news while proving no player puppeting or remote-information leakage. Then compile an obscure Vault-grounded start or explicit evidence-gap preview, pressure a 20-plus-power Aetheria skeleton and nested refugee continuity across budgets 1, 4, 8, and 32, expand the 36-case agency corpus toward 300 reviewed cases, and run multi-account co-op proof. Preserve historical scars rather than repairing them out of band; do not weaken actor, privacy, approval, atomicity, topology, knowledge, or no-puppeting invariants. + summary: Yggdrasil serves immutable Ghostlight release 4057e11dc2f44266ea8c4a0ca2947f0dd941d191 with Eve 19c3dcf9173dce848a6253e975324ea239a02d24, daemon SHA-256 ba65b1b573a614e6132c99368d79da202eba564142a3ecb5c74645aa81ac2b05, native-client SHA-256 e153eb61f84aca22ac7b9494c669f4e3de17e30bfdafcbe23da3dcbd1237a2a4, artifact sha256-7f87f14585eb48176fdcccd0cc2c7e4879b3a45c5d93dd418163a7cba2ebf98d, and unchanged model connector 7d384a6277c74fb35b8e51297ffbccda59746ce9. Idunn's locked 294-test Linux package gate, release build, active symlink, signed health, and zero-restart services agree. The authenticated native CultMesh canary is at revision 87 in the garrison. Impossible institutional overreach now ends after one compact admission projection with an explicit refusal and bargains. Foreground speech commits the directly addressed Persona response and returns before NPC initiative assessment; the canonical pending proposal remains revision-bound, resumes at the first idle boundary, recovers after daemon restart, and still enters WorldKernel through ResolveNpcAction. Live evidence returned a grounded Mira response in 25.8 seconds, then committed the separate initiative at revision 87 twelve seconds later as an explicit spatially inadmissible action instead of teleporting her to clinic records. Existing mutation, Gestalt, topology, knowledge, privacy, no-puppeting, and atomicity invariants remain authoritative. Starfire remains retired as a writer and build host. + next_action: Continue adversarial play from revision 87 through away-time strategic activity and character-accessible news while proving no player puppeting or remote-information leakage. Then compile an obscure Vault-grounded start or explicit evidence-gap preview, pressure a 20-plus-power Aetheria skeleton and nested refugee continuity across budgets 1, 4, 8, and 32, expand the 36-case agency corpus toward 300 reviewed cases, and run multi-account co-op proof. Preserve actor, privacy, approval, atomicity, topology, knowledge, and no-puppeting invariants; use Idunn on Yggdrasil for every package build and deployment. 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.