Handoff and map say pass 1 is in progress through faculty workers with maps
in the session scratchpad and nothing landed in crates; the baseline is
Speak-only with 43 world tests and 83 crate-wide at d87cad8.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Linked worktrees put .git outside the Codex sandbox's writable roots; the
four world workers all died on index.lock. Handoff, map, and one evidence
record now carry the clone-plus-network rule and the relaunch witnesses.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Handoff, map hard boundaries and scale checkpoint, and plan invariant 8 now
all state both truths: structural validity never waits on a count, and the
seed's WorldScaleIntent with its cover-budget choke is the operator's design
the elaborators pursue. The handoff carries the dated operator directive so a
future session cannot re-cut it as fixture noise.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The operator's design is detail first, then a ten-percent choke: generate
goal-bearing actors at every level, then budget cells so attention is scarce
and selection is forced. The mvp doc's teardown-era sentence calling the
2,400-subject profile "test data, not a production elaboration target"
contradicted that and is amended. The ontology now carries an authored
WorldScaleIntent with a structurally counted deficit that elaborators pursue
after boundaries, a budgeted connected cover every tick with singleton detail
cells and grouped coarse cells, partitioned views and per-constituent
attribution in groups, and debt rotation. Gestalt as canonical identity,
arena knowledge union, and semantic qualification stay deleted. Plan step six
is nine passes; two proofs added; evidence records the correction.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The steward found stale-means-discard still asserted as the opportunity rule
in map.yaml live_architecture and plan invariant 11. Both now state
scope-digest binding as the adopted rule and name foundation.v0 as still
revision-bound until plan step 6 pass 2. Handoff and next_action carry the
v2 shape and the live worker witnesses.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Ontology v2. Affordances become world-authored data over a closed
twenty-nine-operation kernel set: preconditions read the actor's own typed
components, effect slots bound what an invocation may propose, and kernel
entropy selects the outcome band so no model ever decides success. That
deletes the legacy wave-level outcome resolver along with the reconciler.
Proposals bind to the scope digest of the components their verification
reads instead of the whole state digest, so eight elaborator loops and many
subjects stop serializing on one revision. Elaborator tools are a projection
of the operation set and cannot drift from the reducer.
Demotes the multiresolution agency doc to teardown evidence, keeping only
resumable sessions, compact drafts, and the complete mismatch set. Plan step
six now lists eight passes with the affordance pipeline fourth.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The steward found the handoff pointing at legacy Persona runners that do not
exist and a next gate that no longer matched the operator's orders; both
surfaces now carry the elaboration-ontology order, the world fan-out layout,
and the deferred deployment gate. The BFL script defaulted to a key path on
the lost E: drive. The consumer API doc is marked as drift pending rewrite
against the ontology.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Run 115 died on a dangling reference, and the vocabulary is why. Legacy
transition.rs took caller-supplied SubjectRef{kind,id:String}, admitted
entities in two phases, and permitted mutations one at a time in a flat
batch, so a plausible-looking id was indistinguishable from a referent until
reduction. Reconciliation existed to repair that class and exhausted after
four steps. Depth lived in free strings, so the previous attempt to fix
shallowness grew model tribunals instead of structure.
The closed vocabulary: reducer-issued typed ID namespaces, draft-handle
references resolved inside one closed WorldPatch before any ID allocates,
twelve components that each constrain a decision, four derived CausalBoundary
kinds, and one AdmitPatch command shared by seed admission and boundary
elaboration. Twenty component kinds become twelve, eighteen mutation variants
become one primitive, five qualification and verification types become none,
and waves and quotas become derived boundaries.
Demotes the transition algebra doc to teardown evidence and slots the stage
into the implementation plan ahead of the deferred deployment cutover.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Every live CultNet contract citation named `f4ab237`, which is not an ancestor
of CultLib main and survives only on the retiring standalone repo's branch.
They now name CultLib `85f7024`, which is both CultLib's current main head and a
permanent ancestor of it, so the citation survives every future advance --
something a branch SHA in a repo queued for deletion could never do.
Verified rather than assumed. At `85f7024`, packages/cultnet-rs carries
IDUNN_LIFECYCLE_BRAKE_* distinct from IDUNN_DEPLOYMENT_BRAKE_*,
IdunnProcessWriteLeaseRecord, GameCultRuntimeCapability, OdinTopologyDisagreement
with disagreements() and into_undisputed_present separating presence from
readiness, a generation-bound IdunnRuntimeActivationRecord with its own
activation-proof signing purpose, and IdunnExpectedRoute refusing non-rudp://
endpoints for RUDP routes. All six cited contracts hold.
Two of the eight citations were instructions, not descriptions, and a mechanical
swap would have been wrong. map.yaml's next action and the handoff's next gate
both said to advance Odin to CultNet `f4ab237` -- advancing it deeper into the
repo we intend to delete. Both now say to repoint Odin off its vendored CultNet
fork onto CultLib `85f7024`, as Ghostlight did at `d0510ac`.
Evidence records keep their pre-consolidation SHAs. They are dated statements of
what was believed, and the new record is the key for reading them.
This closes the citation half of the cultnet-rs retirement gate. Odin's vendored
CultNet gitlink is now the last reader of that repo.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The system map and implementation plan carried uncommitted prose describing
Idunn's independent bootstrap, the Odin-outage freeze rule, and the nine-phase
durable transaction. That content is good and is landed here.
It cited CultNet `e542225` and Odin `d527d72`, which map.yaml and the handoff had
already advanced past to `f4ab237` and `65cf2b2`. A bare SHA bump would have been
wrong: both successors own strictly more. `f4ab237` adds routed RUDP incarnation
admission, and `65cf2b2` already lands the durable three-record transaction and
admitted-generation engine that this prose still described as the remaining cut,
along with the systemd isolation, Ready-provider selection, and protected
activation delivery it called uncommitted. The claims are corrected, not just
renumbered.
map.yaml carried the same superseded pair on its Idunn foundation line while its
contract line named the successors, so the canonical map disagreed with itself.
Evidence records keep their original revisions. That ledger says what was
believed when it was written, and editing it would falsify the history it exists
to preserve.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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 naming 13d5136 and a0b16b9.
Both now name 6a79cb0 and record what 9256648 and 6a79cb0 landed.
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>