This repository contains the accepted CP0–CP19 stack and CP20 bounded multi-traveler graph occupancy.
admitted local work
-> local X_t autonomously selects B > Q > L
-> exact wide Phase/Orthad mutation
-> validate local or regional world transaction
-> publish everything or nothing
-> snapshot one committed local cell independently when required
-> emit immutable render/audio/stream effects tagged by source versions
-> admit stable shell completion events into a replayable scoped stream
-> require an explicit gameplay cause before completion-backed world activation
-> atomically hand a stable traveler identity between independently active zones
-> snapshot and evict an empty origin while the active zone continues
-> restore the exact origin and atomically return the traveler under a new cause
-> retain a bounded ordered route whose empty nonactive cells may be independently evicted
-> atomically hand the traveler across adjacent resident route members
-> canonicalize a bounded connected branch graph independent of edge declaration order
-> atomically hand the traveler across one explicitly admitted graph edge
-> retain multiple stable travelers with explicit node occupancy and node/edge claims
-> deterministically resolve same-edge conflicts before pair-local publication
There is no global simulation tick, no external primitive dispatcher, no assembly allocation, no permanent primitive-word dependency, and no world-wide save barrier. Presentation and I/O boundaries have no direct simulation mutation authority.
CP20 completes the current concrete executable roadmap by admitting multiple stable traveler identities into one retained graph:
- up to four travelers retain independent stable identity, current node, actor key, and health;
- node occupancy is explicit and multiple travelers may occupy one node;
- handoff requests retain exact source and destination local versions;
- bounded claim sets canonicalize by edge key, traveler key, then request key;
- the canonical same-edge winner owns the edge and both participant nodes;
- overlapping requests on different edges lose deterministically when a node is already owned;
- claim admission does not mutate Phase or world state;
- publishing one claim stages only the source and destination cells;
- each participant autonomously selects its own QBL primitive;
- provisioning failure preserves the exact claim and both cells for retry;
- disjoint claims may publish in either order and converge to the same graph state;
- empty nodes remain independently evictable through wordless CP12 snapshots.
The claim set is not a scheduler, global tick, pathfinder, or primitive dispatcher. After CP20 target acceptance, the next step is the documented architectural review boundary. No CP21 is currently specified.
CP19 generalizes CP18's ordered path into a bounded connected adjacency graph:
- three to five stable graph nodes retain independent local Phase/world cells;
- undirected edge pairs normalize to canonical endpoint order;
- canonical sorting assigns stable graph-scoped edge keys independent of input order;
- disconnected and duplicate-edge graphs reject during construction;
- a handoff requires an edge joining the active node to the explicit destination;
- both local commit IDs are verified before either participant mutates;
- source and destination autonomously select their own QBL primitives;
- source despawn and destination spawn publish together or neither publishes;
- inactive branches may be independently evicted and restored from exact wordless snapshots;
- nonedge, stale, corruption, and provisioning failures preserve graph custody for retry;
- duplicate handoffs are idempotent and replay reproduces the graph exactly.
The graph does not choose a route, advance a global tick, or dispatch B, Q,
or L. Branch choice remains an explicit admitted gameplay cause.
CP18 extends the two-zone round trip into a bounded route of independently retained local cells:
- route slots retain stable zone identity while residency may change;
- empty nonactive slots encode to exact CP12 wordless snapshots independently;
- the active slot continues local admitted causes while other members are nonresident;
- restore verifies checksum, zone, local version, Phase fingerprint, and world fingerprint;
- adjacent handoff verifies both local commit IDs before staging any mutation;
- source and destination autonomously select their own QBL primitives;
- actor health and stable traveler identity survive zone-local key replacement;
- source despawn and destination spawn publish together or neither publishes;
- provisioning failure preserves the route and retries the same cause;
- duplicate handoff is idempotent and replay reproduces the full retained route.
Route residency is memory custody, not simulation authority. The route commit ID is scoped to successful handoffs and is not a global clock.
CP17.1 adds the missing test-only phase-completions path dependency required by
the phase-return crate test module. Runtime dependencies, native code, snapshot
formats, and CP17 semantics are unchanged.
CP17 closes one streamed open-world round trip:
- a completed CP16 handoff leaves the origin empty and the traveler active in the destination;
- the origin is encoded with the exact CP12 wordless Phase/world snapshot;
- resident origin memory is removed without advancing either simulation cell;
- the active zone continues independent local causes while the origin is nonresident;
- restoration verifies the exact zone key, local commit ID, Phase fingerprint, and world fingerprint;
- corrupt or mismatched snapshots reject without publishing a partial origin;
- a separate explicit return cause stages active-zone despawn and restored-origin spawn;
- both cells autonomously select their own
B,Q, orL; - provisioning failure rolls back both cells and permits retry of the same return cause;
- duplicate return is idempotent and deterministic replay reproduces the journey.
Residency is not simulation authority. Snapshot availability does not advance QBL, mutate world state, or trigger traversal.
make clean
make check
make sanitizer
make analyze
make benchmark
cargo test --workspace
cargo run -p phase-multigraph-cli -- demo
cargo run -p phase-multigraph-cli -- disjoint
cargo run -p phase-multigraph-cli -- provisionOr run the complete target script:
chmod +x scripts/validate_cp20_target.sh
./scripts/validate_cp20_target.shThere are no crates.io dependencies.
The implemented Orthad component remains the recovered local active-axis kernel. The full lifted object and complete Orthad recurrence are now accepted current-canon results and are READY FOR INTEGRATION through an exact, versioned post-CP20 revision. CP20 itself remains the validated pre-integration baseline and does not map asset completion to QBL primitive selection.
