The evidence ledger had drifted from distilled to accumulated at 258 records. 235 were per-release and per-run receipts, self-consuming falsification chains, and May fixture doctrine already owned by docs/architecture and map hard_boundaries. They move to state/evidence.archive.jsonl. evidence.jsonl is a regenerated export, not a writer: _export_evidence rewrites it from the CultCache evidence document on every append. Compacting the export alone would resurrect every archived record on the next add-evidence, so the deletion goes through the store and the export follows. Twenty-three records remain: the 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) and the whole rebuild era from Run 108 forward. A multiplayer note recorded twice under different timestamp encodings is reduced to one. map.yaml and the handoff carried stale frontiers naming13d5136anda0b16b9. Both now name6a79cb0and record what9256648and6a79cb0landed. The worktree sheds 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 stays 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. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
24 lines
17 KiB
JSON
24 lines
17 KiB
JSON
{"note": "VoidBot social intelligence is a first-class Ghostlight consumer: appraiser and relationship/perception training must support human-facing reads, grounded opinions, uncertainty, repair signals, and opinion updates over repeated interaction, not only fictional scene mutation.", "status": "accepted", "ts": "2026-05-02T14:41:30+00:00", "type": "architecture"}
|
|
{"note": "Generated environment images are accepted only as concept/material reference for illustrated IF. Multi-angle or branch-consistent replay needs a durable scene-set/blockout/layout source with named cameras and staging slots; imagegen should paint over camera-specific visual input rather than preserve room topology from memory.", "status": "ok", "ts": "2026-05-04T11:20:03+00:00", "type": "visual-doctrine"}
|
|
{"note": "Coordinator seam correction: future training-shaped loops should sandbox coordinator turns as their own promptable organ. Codex acts as meta-coordinator, preparing inputs, launching/reviewing workers, labeling interventions, and wiring structured state; raw coordinator training data must not be silently collapsed into omniscient chat steering.", "status": "ok", "ts": "2026-05-04T17:14:29+00:00", "type": "architecture"}
|
|
{"note": "Character cognition seam: Ghostlight machinery should be maximally smart, but characters must reason and socially maneuver only to the level supported by their modeled intelligence, culture, role, experience, stress, and state. Coordinator/narrator prose may translate opaque high-context tactics for reader legibility without granting that explanation to characters.", "status": "ok", "ts": "2026-05-04T18:44:45+00:00", "type": "architecture"}
|
|
{"note": "CultCache wire contract clarified: DatabaseEntry payloads must be MessagePack arrays indexed by explicit field keys with nil gaps for reserved/deleted slots; cultcache-py now exposes define_database_entry_type for that contract and CultLib generator was patched to preserve sparse key slots.", "status": "accepted", "ts": "2026-05-06T03:57:10+00:00", "type": "architecture"}
|
|
{"note": "Ghostlight agent-state schema is now the first shared cross-runtime payload contract. CultNet clients should carry ghostlight.agent_state.v0 unchanged inside typed document envelopes, with CultLib-style auth/session semantics handled by the transport layer rather than bespoke per-repo glue.", "status": "accepted", "ts": "2026-05-06T04:49:20+00:00", "type": "architecture"}
|
|
{"branch": "codex/ghostlight-dungeon-mvp", "note": "Multiplayer is an intended post-solo extension of the existing one-WorldKernel, many-actor authority model. Multiple authenticated humans will control distinct actors through the same campaign mailbox, perception gates, initiative, and atomic commit path; no party prompt or room-state authority is introduced. The paid alpha remains single-player while multiresolution Gestalt proof stays the immediate forge priority.", "status": "accepted", "ts": "2026-08-18T14:36:02+00:00", "type": "design"}
|
|
{"note": "DELVE/HOLD boundary: live Ghostlight WorldKernel, multiresolution agency, typed transitions, persistence, and receipts are reusable, but current InstitutionState and strategic resource handles do not implement HOLD quantities, prices, recipes, capacity, inventories, orders, contracts, or conservation. Delvehold therefore retains quantitative economy authority; a forced ontology may bypass world generation but never WorldKernel validation. Owner witnesses: crates/ghostlight-dungeon/src/domain.rs and F:\\Projects\\Delvehold\\Delvehold\\Game Design\\Shared World\\World State Model.md.", "status": "ok", "ts": "2026-08-26T00:50:11+00:00", "type": "architecture"}
|
|
{"note": "Delvehold is a proving consumer of Ghostlight's generic world-simulation API, not a Ghostlight integration organ. Ghostlight may add only generic capabilities: one seed admission primitive shared by compiler and consumer producers, generic externally owned subject authority, consumer-supplied effect schemas, and typed proposals and receipts. The greathold ID, all delvehold.* bindings, and detailed projection/economy translation remain Delvehold-owned. Cells and WorldKernel never switch on consumer-specific names.", "status": "ok", "ts": "2026-08-26T15:55:05+00:00", "type": "architecture"}
|
|
{"note": "Supersedes the 2026-08-26T15:51 research note only where it called Delvehold the redirected primary play target: Delvehold is the first proving consumer of the generic world API, while adversarial single-player Dungeon play remains an active regression and context-discovery path. Implemented one compiler/consumer WorldSeed admission transaction, institution-scoped ExternalSubjectAuthority, WorldKernel-owned revisioned snapshots, atomic strategic-wave proposals, acknowledgement receipts, and typed loopback CultNet RUDP operations. Consumer-specific IDs and quantitative economy semantics remain outside Ghostlight.", "status": "ok", "ts": "2026-08-26T16:46:55+00:00", "type": "architecture"}
|
|
{"note": "The generic external authority/snapshot contract admits both institution and Gestalt subjects. This closes the Delvehold sovereign-gestalt requirement without adding a Delvehold-specific type: one tagged ExternalSubjectProjection carries either canonical shape, WorldKernel validates exact authority kind and subject ID, refreshes derived agency facets, and keeps the subject non-simulation-eligible while still targetable by foreign proposals.", "status": "ok", "ts": "2026-08-26T17:12:55+00:00", "type": "architecture"}
|
|
{"note": "Operator architecture directive: a newspaper is a persistent political/editorial Persona, not a neutral fact summary. Each publication owns audience, remembered beats, narrative memeplex, selective pickup, recurring throughlines, ideological framing, and rivals; competing Delvehold publications may frame one committed event substrate differently. Grounding owns factual assertion/provenance constraints but must preserve clearly legible interpretation, selection, framing, and insinuation. Current Canopy Ledger acceptance remains one publication instance. Do not patch this into the fact-check prompt or derail run43. The detailed owner/state cut belongs in the implementation plan after current acceptance.", "status": "ok", "ts": "2026-08-29T05:15:35+00:00", "type": "correction"}
|
|
{"note": "Read-only inspection of immutable Delvehold Run 108 through the focused CampaignStore explorer found a strong authored crisis theater but a failed whole-world complexity shape. The canonical state has 55 locations, 68 institutions, 164 facts, 3,141 Gestalts, 366 Actors, 371 member records, and 2,430 agency relations; exactly 2,400 active leaves are distributed across five realms plus the boundary scene. The eight titled elaborators produce excellent distinct lanes for texture, civic authority, economy, care, politics, secrets, urgent pressure, and numinous meaning. Repeated fission then substitutes taxonomy for novelty: 557 searchable records contain other-unknown, 780 contain residual, many active leaves inherit identical goals, and identity generation repeats public names across distinct people (including at least eight materialized Actors named Mara Venn and four named Nera Quill). Treat this as promising base material for one international crisis region, not yet a plausible entire world or training-ready autonomous narrative substrate. The next world-shape design must gate semantic distinctness, identity diversity, relation/pressure contribution, and horizontal geographic and cultural expansion rather than counting active leaves alone.", "status": "ok", "ts": "2026-09-01T03:06:42+00:00", "type": "research"}
|
|
{"note": "Run 115 terminated at revision 2 with 2/8 regions and 0/1 waves after an SSE timeout and a dangling institution location exhausted the model reconciliation workbench. The qualification/verifier/reconciliation/context/timeout/routing patch sequence through 8964a92 did not establish structural ownership. Operator ordered a whole-machine rebuild: one WorldKernel, one typed ontology reducer, one CommandEnvelope/CultCache commit path; NarrativePersona retains Projector-Persona-Interpreter prose isolation, while OperationalAgent is an explicit disjoint controller for operator-shaped cognition. Actor counts and qualitative interest remain evaluation evidence, never admission or completeness authority.", "status": "accepted", "ts": "2026-09-01T12:11:39+00:00", "type": "architecture"}
|
|
{"note": "Mind maintenance falsified stale rebuild steering: the map still claimed subtraction had not begun and the handoff later revived Run 111 as an active continuation. Rebuilt the handoff and implementation plan around the adopted one-WorldState authority, landed cuts 64f50de/a144c33, total interpretation, current deletion line, and focused verification gate; chronology remains in Git, evidence, and the frozen teardown map.", "status": "ok", "ts": "2026-09-01T12:37:47+00:00", "type": "architecture"}
|
|
{"note": "Rejected and deleted the uncommitted first world.rs foundation after focused tests passed. Review found the public module exposed mutable WorldState and ID issuance, translation-gap inference had become canonical world mutation, empty batches could advance revision, controller commands lacked consumed opportunity/readiness/affordance binding, external ownership was bypassed by world-author authority, command evidence did not bind fact evidence, and batch self-digests were unverifiable. Next cut is private-first: seal WorldKernel/aggregate/journal ownership before reintroducing a minimal reducer behind it.", "status": "rejected", "ts": "2026-09-01T13:03:26+00:00", "type": "architecture"}
|
|
{"note": "Commit b53251f lands a private provisional foundation.v0 WorldKernel owner: immutable genesis and exact create retry, sealed authentication evidence, one live CultCache owner, canonical WorldId issuance and reduction kept private, digest/replay recovery, persisted no-op and rejection non-commit, path-identity revocation, and poison/reopen after a simulated post-durable lost acknowledgement. Nine focused world tests pass. The legacy exported kernel remains live; this is the sealed foundation, not cutover.", "status": "ok", "ts": "2026-09-01T14:18:40+00:00", "type": "implementation"}
|
|
{"note": "Commit d49b907 makes the replacement Persona interpretation contract structurally total. Persona source prose is immutable noncanonical evidence bound to typed world/controller/opportunity/revision and inference receipts; only exact typed captures may propose state, actual quoted dialogue is required for speech, malformed spans or raw tool payloads become exact whole-source translation gaps, normal step exhaustion adds an unresolved-source gap, and infrastructure interruption discards partial captures and returns the source pending. Ten focused projection tests pass. Legacy exported Persona runners still contain terminal failure paths and do not expose record_gap; they remain deletion targets, so totality is not yet a live-runtime claim.", "status": "ok", "ts": "2026-09-01T14:37:59+00:00", "type": "implementation"}
|
|
{"note": "Commits 12ee9f4 and 66ed2ec advance the authority rebuild past the private reducer phase. The first removes 686 lines of dead legacy Elaboration and Mutation ingress without a compatibility writer. The second completes the sealed Draft-to-Active authority loop with canonical controller assignments and affordance grants, revision-bound opportunities, one shared human and autonomous ExerciseDecision reducer, one serialized mailbox, atomic replay, and exact rejection and lost-ack behavior; eighteen focused world tests pass. This is not runtime cutover: the legacy exported kernel and startup, Session Zero, player, autonomous, and recovery paths remain live owners. The next move exposes and wires the replacement runtime identity and mailbox, deleting each old owner without dual-write.", "status": "ok", "ts": "2026-09-01T17:40:32+00:00", "type": "implementation"}
|
|
{"note": "Pushed Ghostlight 13d5136 has no legacy runtime modules and one CultCache owner, but Yggdrasil still runs legacy a4080d4. Read-only cutover audit proved the current Idunn path structurally unfit: source/ref/floor policy is duplicated across compiled Rust, raw executable command records, a privileged shell dispatcher, and large gamecult-ops target programs; root Git cannot inspect correctly idunn-owned mirrors; Ghostlight world-v2 purity checks ignore most legacy state; and fixed-port activation stops the incumbent before the candidate is green. Adopted cut: visible target-owned recipes and unit templates, Idunn-configured refs/runner containers/affordances/host bindings, Git and recipe materialization as idunn, narrow sealed privileged consequences, candidate staged health behind a stable router, process/write-lease handoff, atomic route change, and separate deployment versus continuity authority. Do not issue the current Connector or Ghostlight redeploy requests.", "status": "ok", "ts": "2026-09-02T14:10:03+00:00", "type": "research"}
|
|
{"note": "Supersedes the 2026-09-02T14:10:03+00:00 Idunn cutover design receipt where it named target-owned unit templates, an executable-affecting-commit selector, and staged health. Odin cebe425 rejects raw repository unit/container templates: targets own constrained launch declarations and the operator-selected workload driver lowers them. Deterministic plan validation retains commit, tree, recipe, and Gitlink facts but does not prove ancestry, signatures, or object custody; a future narrow Idunn source driver must. CultNet 87d0b0f and Odin cebe425 establish Expected, Idunn-observed activation, service-signed Present, process lease before writable state, Odin Ready, and route membership only after Ready. Actuation and Idunn main integration remain absent.", "status": "ok", "ts": "2026-09-02T19:30:00+00:00", "type": "research"}
|
|
{"note": "Supersedes the 2026-09-02T19:30:00+00:00 deployment integration checkpoint. Owning Body inspection found CultNet pushed through e542225 (generation-bound activation, lifecycle brake, process lease, provider-observed capabilities, and explicit disagreements) and Odin pushed through d527d72 (exact source freezing and narrow actuator ports), with an uncommitted four-file integration for dynamic systemd isolation, authenticated Ready-only provider selection, protected one-shot activation delivery, and the e542225 gitlink. The remaining deployment owner is not another driver gate: replace control_plane.rs command ownership with exactly DeploymentCommand, DeploymentTransaction, and AdmittedGeneration; persist each of the nine phases before effects; persist prepared activation before start; reject pre-persistence orphans; and atomically complete the transaction with exact admitted-generation CAS. Production cutover remains unproven.", "status": "ok", "ts": "2026-09-03T00:58:55+00:00", "type": "research"}
|
|
{"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"}
|
|
{"ts": "2026-09-03T20:00:00+00:00", "type": "maintenance", "status": "ok", "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."}
|