3.9 KiB
name, description
| name | description |
|---|---|
| mosaic-context-refresh | Run the constrained Mosaic context-recovery flow after compaction or directive-loss. This is a thin wrapper over the broker-backed recovery command; it never treats a receipt as a safety or residency proof. |
mosaic-context-refresh
Use this only after compaction, session resume, or confirmed directive drift. It invokes the
single ungated mutator, tools/lease-broker/recover-context.py; every other consequential
mutator remains behind the verified lease gate.
Wrapper procedure
-
The runtime supplies the exact validated normative-fragment construction and the current compaction/request epochs.
-
Claude: invoke only this direct command shape (no shell composition):
python3 /absolute/path/to/mosaic/tools/lease-broker/recover-context.py begin --construction /absolute/path/to/mosaic-context-refresh-construction.json --compaction-epoch 0 --request-epoch 0This is a literal argv template: replace the recover-context.py path and construction JSON path with the literal absolute paths for your install, then replace each epoch with literal decimal digits. Do not use variables, quoting, globs, redirects, shell operators, substitutions, or line continuations. Claude's all-tools gate maps only this fully literal recovery shape to
mosaic_context_recover; ordinaryBashremains gated. -
Pi: call the registered
mosaic_context_recovertool withphase: "begin",construction,compactionEpoch, andrequestEpoch. It is the exact broker-exempt tool name; Pibashand every other tool remain gated.
Both forms delegate to the shipped WI-5 broker transition: revoke first, build the canonical
B_payload/H_payload, enterPENDING_DELIVERY, and mint a fresh one-time challenge. They print the terminal receipt envelope to deliver exactly as returned. -
-
The current assistant message copies that one terminal receipt verbatim. It does not compute a hash, add prose, quote a prior receipt, or present a caller-supplied receipt/challenge.
-
The production trusted-observer transport records that finalized assistant entry before completion:
- Claude selects the latest assistant entry at its
Stophook. - Pi records only finalized assistant content at
message_end(neverafter_provider_response).
Then invoke completion with the same adapter form: Claude runs
python3 /absolute/path/to/mosaic/tools/lease-broker/recover-context.py complete; Pi callsmosaic_context_recoverwithphase: "complete". Completion supplies no receipt or challenge argument. The broker observes the exact latest assistant entry, commits evidence, consumes its own fresh challenge, and promotes VERIFIED last. If observation is absent, malformed, stale, or duplicated, recovery remains UNVERIFIED and a retry begins a new cycle. - Claude selects the latest assistant entry at its
Scope and honesty
- A receipt from the normal verification path cannot be replayed through recovery: recovery mints a distinct current challenge and does not accept caller-provided receipt text as evidence.
- Observable absent, malformed, prefix-truncated, and adapter-mutated terminal receipts do not promote. “Tail-only” is non-promoting only when the delivered terminal bytes are concretely malformed or incomplete.
- Negative capability: a tail-preserving middle drop is not represented as receipt-detectable. It is a T-C injection-contract residual deferred to WI-7 server-side evidence; do not claim this skill or receipt catches it.
- The receipt is a T-A delivery/liveness prerequisite only. It never proves obedience, comprehension, durable residency, or safety; the whole mutator-class gate and server-side branch protection retain those roles.
This source-resident skill is projected by the Mosaic skill bridge after framework install/upgrade. Do not create a live symlink manually.