OpenSentience.orgUnboxed PatternsChapter 24 of 32 · Persistence and World

UP-024 · Persistence and World · STATED CHECKABLE RUNNABLE EXECUTED STAGED

Cross-Machine Skill Replay

A skill taught on machine A replays on machine B with the declared fidelity; the InteractionTrace is the unit of transfer.

A skill taught on machine A replays on machine B with the declared fidelity; the InteractionTrace is the unit of transfer.
Standing
STATED CHECKABLE RUNNABLE EXECUTED STAGED PUBLISHED REPRODUCED
Last checked
never run
Source
opensentience.org/_rebuild/data/receipts.json
Limit
Nothing is achieved. OS-011 Embodiment is at the spec rung; this pattern is the shape that protocol would need, written before any of it exists.
Next rung
live_local — one skill recorded on one machine and re-performed on another, played back here, with both bodies described well enough that the difference between them is visible rather than asserted.
Why this page says STATED — the derivation, not the word
  • ✓ a witness is named
  • ✓ its evidence kind is one the ledger already uses (measurement)
  • ✓ the witness path resolves in this tree
  • ✓ its rung is in_tree or above (in_tree)
  • ✗ a run is recorded for these exact bytes — shape card carries no execution
  • ✓ no claim is cited that could be REFUTED
  • ✗ a counterexample is shipped (required once WITNESSED)
  • ✗ not staged on this site, so it cannot run from the page

WITNESSED requires every line above to hold. The label is computed from them by build.mjs and cannot be typed into the registry — the build refuses a record that carries it.

Intent

An embodied skill — a sequence of observations and actions against a body — is recorded as a trace and replayed elsewhere. What crosses machines is the trace, not the machine. The homepage carries a receipt card for this at 100 % fidelity; this build reports the card and did not open the run behind it.

Technical register

OS-011 Embodiment: InteractionTrace → replay; the receipt card in opensentience.org/_rebuild/data/receipts.json reads 'Cross-machine replay · 100 % fidelity · teach a skill on machine A, replay it on machine B'. STATED: a card is a claim about a receipt, and the receipt was not opened by the patterns build. Distinct from Exact Replay (a film of a world).

Problem

Skills are taught to one body and die with it. Robotic process automation records screen coordinates and breaks on the next monitor. The unit of transfer is either too low (pixels) or too high (a prose description) to replay.

Solution

Record observations and actions as a trace with the body's affordances named. Declare fidelity. Replay on a second body. Publish the run, not only the card.

Real-world analogy

Sheet music versus a recording. The recording replays one performance; the sheet music replays on any instrument that can read it, at the fidelity the arrangement allows.

Structure — on the surface

compute surfacemachine Amachine BTInteractionTraceA skill taught on one machine, and the trace that carries it to another.

An illustration on a compute surface: loci above, carriers below. Press Play or Step; the takeaways collect as you go. Nothing here is evidence — the witness section is.

The chapter in WRL — and the chain so far

Chapter 24 of 32 — the fragment _patterns/wrl/chain/cross-machine-skill-replay.wrl, sealed alone by wrl.js

; CROSS-MACHINE SKILL REPLAY — one signal, two machines (replicated relays), two doors that open at the same
; epoch. cx_in is the entry; the machines are `*2`; cx_machine0 routes on to Part V.
[relay:cx_in]{sig_in, sig_out}
[relay:cx_machine*2]{sig_in, sig_out}
[door:cx_replay*2]{sig_in}

[cx_in] --sig--> {[cx_machine0], [cx_machine1]}
[cx_machine0] --sig--> [cx_replay0]
[cx_machine1] --sig--> [cx_replay1]

Its test bench _patterns/wrl/chain/cross-machine-skill-replay.bench.wrl — drives the entry for this chapter's own film; never part of the chain

; TEST BENCH — drives this chapter's entry alone; the chain replaces it with a wire from an earlier chapter
[pulser:cx_bench](every 1){sig_out}
[cx_bench] --sig--> [cx_in]

module + bench seal to → sem-581521f1adf94e0d5c2cd9eeadff72121e51a292d13367e1c245c78021df5fc2

Run inputs — a ScenarioV1, the forge's own document, bound to this world's id and never part of it (D3) · ScenarioDigest scen-886cdaf007dc64a8089… (the run inputs' own identity, computed by the forge)

No claims: the world runs on its clocks alone for 7 epochs.

Reduced by the native reducer (ic32); the reference reducer reproduces every epoch's film hash (0.006s).

compute surfacesigsigsigsigsigcx_bench · Pulsercx_benchpulsercx_in · Relaycx_inrelaycx_machine0 · Relaycx_machine0relaycx_machine1 · Relaycx_machine1relaycx_replay0 · Doorcx_replay0doorcx_replay1 · Doorcx_replay1doorThis chapter's world alone, before epoch 1. Reduced by TRVM's forge in 0.008s; the forge's id equals the seal above.
The Film, epoch by epoch (7)

epoch 1 · sha256:9857bd03843124d95c5681d5ece87d2b956833b71e9a746ffd95373fc4d73da2

FILM v0.7
t=1
pulser:cx_bench:mode=periodic,p=1,phase=0,armed=0,done=0,nf=1
door:cx_replay0:open=0,next_open=0
door:cx_replay1:open=0,next_open=0
relay:cx_in:cur_out=0,next_out=1
relay:cx_machine0:cur_out=0,next_out=0
relay:cx_machine1:cur_out=0,next_out=0
wire:w__cx_bench__cx_in:cur=1,nxt=1
wire:w__cx_in__cx_machine0:cur=0,nxt=0
wire:w__cx_in__cx_machine1:cur=0,nxt=0
wire:w__cx_machine0__cx_replay0:cur=0,nxt=0
wire:w__cx_machine1__cx_replay1:cur=0,nxt=0
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0

epoch 2 · sha256:5d073cd6cc6eb3bdc78da33517c69215b5d7964c47f54098219e07785e2eef0a

FILM v0.7
t=2
pulser:cx_bench:mode=periodic,p=1,phase=0,armed=0,done=0,nf=1
door:cx_replay0:open=0,next_open=0
door:cx_replay1:open=0,next_open=0
relay:cx_in:cur_out=1,next_out=1
relay:cx_machine0:cur_out=0,next_out=0
relay:cx_machine1:cur_out=0,next_out=0
wire:w__cx_bench__cx_in:cur=1,nxt=1
wire:w__cx_in__cx_machine0:cur=0,nxt=1
wire:w__cx_in__cx_machine1:cur=0,nxt=1
wire:w__cx_machine0__cx_replay0:cur=0,nxt=0
wire:w__cx_machine1__cx_replay1:cur=0,nxt=0
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0

epoch 3 · sha256:4a2b46d284f510f3ccfeb104e7c404cfb02e7a48425aac1728263604b8de823a

FILM v0.7
t=3
pulser:cx_bench:mode=periodic,p=1,phase=0,armed=0,done=0,nf=1
door:cx_replay0:open=0,next_open=0
door:cx_replay1:open=0,next_open=0
relay:cx_in:cur_out=1,next_out=1
relay:cx_machine0:cur_out=0,next_out=1
relay:cx_machine1:cur_out=0,next_out=1
wire:w__cx_bench__cx_in:cur=1,nxt=1
wire:w__cx_in__cx_machine0:cur=1,nxt=1
wire:w__cx_in__cx_machine1:cur=1,nxt=1
wire:w__cx_machine0__cx_replay0:cur=0,nxt=0
wire:w__cx_machine1__cx_replay1:cur=0,nxt=0
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0

epoch 4 · sha256:08cbf5d250a458a277f178cc38a464e8e702c4056d651188e3628bf2c2c793c5

FILM v0.7
t=4
pulser:cx_bench:mode=periodic,p=1,phase=0,armed=0,done=0,nf=1
door:cx_replay0:open=0,next_open=0
door:cx_replay1:open=0,next_open=0
relay:cx_in:cur_out=1,next_out=1
relay:cx_machine0:cur_out=1,next_out=1
relay:cx_machine1:cur_out=1,next_out=1
wire:w__cx_bench__cx_in:cur=1,nxt=1
wire:w__cx_in__cx_machine0:cur=1,nxt=1
wire:w__cx_in__cx_machine1:cur=1,nxt=1
wire:w__cx_machine0__cx_replay0:cur=0,nxt=1
wire:w__cx_machine1__cx_replay1:cur=0,nxt=1
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0

epoch 5 · sha256:eec5523754776ea9601d05bfa20307980ef43d4e18e9bde14691d289809a749b

FILM v0.7
t=5
pulser:cx_bench:mode=periodic,p=1,phase=0,armed=0,done=0,nf=1
door:cx_replay0:open=0,next_open=1
door:cx_replay1:open=0,next_open=1
relay:cx_in:cur_out=1,next_out=1
relay:cx_machine0:cur_out=1,next_out=1
relay:cx_machine1:cur_out=1,next_out=1
wire:w__cx_bench__cx_in:cur=1,nxt=1
wire:w__cx_in__cx_machine0:cur=1,nxt=1
wire:w__cx_in__cx_machine1:cur=1,nxt=1
wire:w__cx_machine0__cx_replay0:cur=1,nxt=1
wire:w__cx_machine1__cx_replay1:cur=1,nxt=1
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0

epoch 6 · sha256:8f6fbad3b34eeb23f7b946c7a0e1c60c356d6f0f44d2e8c7a4d817aa4731d0a3

FILM v0.7
t=6
pulser:cx_bench:mode=periodic,p=1,phase=0,armed=0,done=0,nf=1
door:cx_replay0:open=1,next_open=1
door:cx_replay1:open=1,next_open=1
relay:cx_in:cur_out=1,next_out=1
relay:cx_machine0:cur_out=1,next_out=1
relay:cx_machine1:cur_out=1,next_out=1
wire:w__cx_bench__cx_in:cur=1,nxt=1
wire:w__cx_in__cx_machine0:cur=1,nxt=1
wire:w__cx_in__cx_machine1:cur=1,nxt=1
wire:w__cx_machine0__cx_replay0:cur=1,nxt=1
wire:w__cx_machine1__cx_replay1:cur=1,nxt=1
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0

epoch 7 · sha256:6ff28c4c7a80a8b6b3d9effd541fd408d284f6f46199423656c8a638f536e728

FILM v0.7
t=7
pulser:cx_bench:mode=periodic,p=1,phase=0,armed=0,done=0,nf=1
door:cx_replay0:open=1,next_open=1
door:cx_replay1:open=1,next_open=1
relay:cx_in:cur_out=1,next_out=1
relay:cx_machine0:cur_out=1,next_out=1
relay:cx_machine1:cur_out=1,next_out=1
wire:w__cx_bench__cx_in:cur=1,nxt=1
wire:w__cx_in__cx_machine0:cur=1,nxt=1
wire:w__cx_in__cx_machine1:cur=1,nxt=1
wire:w__cx_machine0__cx_replay0:cur=1,nxt=1
wire:w__cx_machine1__cx_replay1:cur=1,nxt=1
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0

Composes with the 23 chapters before it

The chain through this chapter — every earlier fragment, this one, and the links — seals to sem-fcc13008b16ec8dc32850860ac44df66bfae2c7c35eda6cfeb86732830fb1f67: 87 objects, 77 edges (was 82 / 72; every earlier object and edge is still present — checked, or the build refuses).

Links only the chain carries

[er_a] --sig--> [cx_in]
How to read this board

Five kinds of object, two kinds of wire, and one band per Part of the book. Signal flows left to right: it starts at a clock, travels through relays, and ends at a door — or turns a spinner, which drives an orb. Nothing below is the book's own vocabulary; each line is quoted from where the definition lives.

shapeisand so
a clock; the only source of signalEvery signal on the board starts at one of these. Nothing else can make one.
a pass-through, so signal can travelOne arrives, any number leave — a relay that fans out is the board's router.
a sink; signal arrives and stopsIt latches what reached it and passes nothing on. A door is where a path ends.
rotation: takes signal, drives a poseThe only object on the board that holds a value a claim can rewrite — and only if its config says configurable.
the thing that gets movedIt is driven, never driving: an orb is what you watch to see whether anything happened.
not a WRL role — the book's own drawing of the receipts in the epoch's FilmIt counts what the run admitted, and turns red on a Rejected outcome.
SignalWiresignal: a sig_out to a sig_inLegal from a Pulser or Relay, into a Relay, Door or Spinner. This is how the board moves.
SocketControlcontrol: a socket to a poseLegal only from a Spinner into an Orb. At most one may land on any input port — fan-in is a typed refusal.

Hover any object for what it is, which chapter put it there, and every field of its line in that epoch's Film — split into what it is doing now and how it was built. Click to pin the readout, then click a wired name to follow the signal. The field definitions come from TRVM/forge/film.py (the emitter), TRVM/forge/forge_state.py (nf, derived from the decoded counter and never from t), TRVM/forge/lower_e2a.py (the commit/react law), TRVM/FORGE_SEMANTIC_IR_v1_MEASURE.md §1.3; the shapes from WRL/learn.html and WRL/docs/spec/README.md. The build refuses if a Film emits a field this key does not explain.

compute surfaceI · The LocusII · CompositionIII · ProgressIV · Persistence and Worldal_locus · Spinneral_locusspinneral_view · Orbal_vieworbal_world · Pulseral_worldpulsercb_fixed · Spinnercb_fixedspinnercb_gate · Doorcb_gatedoorcb_in · Relaycb_inrelaycb_view · Orbcb_vieworbcc_carrier · Doorcc_carrierdoorcc_grant · Relaycc_grantrelaycm_in · Relaycm_inrelaycm_locus0 · Doorcm_locus0doorcm_locus1 · Doorcm_locus1doorcm_locus2 · Doorcm_locus2doorcm_locus3 · Doorcm_locus3doorcm_slot0 · Relaycm_slot0relaycm_slot1 · Relaycm_slot1relaycm_slot2 · Relaycm_slot2relaycm_slot3 · Relaycm_slot3relayct_in · Relayct_inrelayct_locus · Spinnerct_locusspinnerct_view · Orbct_vieworbcx_in · Relaycx_inrelaycx_machine0 · Relaycx_machine0relaycx_machine1 · Relaycx_machine1relaycx_replay0 · Doorcx_replay0doorcx_replay1 · Doorcx_replay1doordb_clock · Pulserdb_clockpulserdb_locus · Spinnerdb_locusspinnerdb_view · Orbdb_vieworber_a · Relayer_arelayer_b · Relayer_brelayer_clock · Pulserer_clockpulserer_player · Doorer_playerdooris_id · Orbis_idorbis_in · Relayis_inrelayis_seal · Spinneris_sealspinnerlc_core · Relaylc_corerelaylc_locus · Spinnerlc_locusspinnerlc_machine · Relaylc_machinerelaylc_thread · Relaylc_threadrelaylc_view · Orblc_vieworbmh_clock · Pulsermh_clockpulsermh_gate · Doormh_gatedoorop_clock · Pulserop_clockpulserop_locus · Spinnerop_locusspinnerop_view · Orbop_vieworbpj_artifact · Spinnerpj_artifactspinnerpj_in · Relaypj_inrelaypj_view_a · Orbpj_view_aorbpj_view_b · Orbpj_view_borbpp_homeA · Relaypp_homeArelaypp_homeB · Relaypp_homeBrelaypp_in · Relaypp_inrelaypp_locus · Spinnerpp_locusspinnerpp_view · Orbpp_vieworbpq_a · Relaypq_arelaypq_b · Relaypq_brelaypq_clock · Pulserpq_clockpulserpq_done · Doorpq_donedoorpu_admitted · Orbpu_admittedorbpu_busy · Pulserpu_busypulserpu_hop0 · Relaypu_hop0relaypu_hop1 · Relaypu_hop1relaypu_hop2 · Relaypu_hop2relaypu_locus · Spinnerpu_locusspinnerpu_progress · Pulserpu_progresspulserpu_sink · Doorpu_sinkdoorrb_record · Orbrb_recordorbrd_in · Relayrd_inrelayrd_real · Spinnerrd_realspinnerrd_view · Orbrd_vieworbrj_join · Doorrj_joindoorrj_r · Relayrj_rrelaysm_in · Relaysm_inrelaysm_inside · Spinnersm_insidespinnersm_outside_a · Orbsm_outside_aorbsm_outside_b · Orbsm_outside_borbso_in · Relayso_inrelayso_pose · Orbso_poseorbso_rotor · Spinnerso_rotorspinnerts_root · Doorts_rootdoorts_version · Pulserts_versionpulsertv_a · Orbtv_aorbtv_b · Orbtv_borbtv_fixed · Spinnertv_fixedspinnertv_in · Relaytv_inrelaytv_open · Spinnertv_openspinner

The board so far: one band per Part, signal flowing left to right; relays that fan out are routers, doors are switches, pulsers are clock domains. Hover an object — or click the board and walk it with the arrow keys — for its role, its Part and what it is wired to. This board is the chain’s sealed shape; no Film drives it, so it has no state to report, and the whole board in the conclusion is where every object’s state is read epoch by epoch. Wheel zooms · drag pans · double-click fits.

Syntax — quoted from the tree at build time

The receipt card, verbatim (homepage data) opensentience.org/_rebuild/data/receipts.json:36

    "metric": "Cross-machine replay",
    "value": "100%",
    "unit": "fidelity",
    "note": "teach a skill on machine A, replay it on machine B (OS-011 Embodiment)",
    "href": "#protocols"

Forces

A trace must be body-independent enough to replay and body-specific enough to act. Fidelity has to be declared before it is measured, or the measurement decides what fidelity meant. And a card on a homepage is not a receipt, however green.

Applicability

Agent skills, RPA, robotics, the Workbench's SkillBundles.

Transformations

Preserving
  • replaying on a body with the same declared affordances
  • declaring a lower fidelity for a different body
Refusing
  • a fidelity card whose run is not published beside it
  • replaying pixels and calling it a skill

A refusing transformation is not one that is discouraged: it is one that, applied, makes the invariant above false. The word is the tree's, and it is the same word the join uses.

Consequences

Skills become portable artifacts. The honest status: STATED, because this page reports a card it did not verify.

Failure mode it answers

Replica Theater — Calling independent mutable copies 'the same thing'. Paid for at: CLAUDE.md: the served box-and-box copy is a MANUAL COPY and nothing syncs it

Witness

Source identity: opensentience.org/_rebuild/data/receipts.json · shape card · evidence kind measurement · rung in_tree (a receipt CARD on the homepage; the run behind it was not opened by this build)

No execution record: this check has not been run for the bytes on disk. WITNESSED requires one.

Not staged on this site: the page cannot run this witness. Its shape (card) is a document, not a run.

Counterexample

No counterexample shipped (required only when WITNESSED).

What to take away

  1. from the animationThe trace moved; the machine stayed.
  2. from the syntaxA card names a metric, a value and a note; the run behind it is a separate artifact this build did not open.
  3. from the literatureOS-011 Embodiment; RPA's record-and-replay is the failure mode being answered.
  4. from the witnessSTATED: shape 'card' carries no execution, and the derivation says so.

Prior art — and what is not claimed

workrelationwhat it shareswhere it differs
OS-011 Embodimentpartial overlapthe tree's own protocol for a skill that crosses bodiesOS-011 is a protocol at the spec rung; this pattern is the shape it would need
Record-and-replay in RPAcontrasting solutiona recorded interaction re-performed on another machineRPA replays coordinates and windows; the pattern requires the skill to survive a different body

Novelty not claimed. Nothing is claimed as achieved. v0.1 of this plan conflated this with exact-replay; they are different chapters and the conflation is recorded so it is not repeated.

Realizations in the tree

Relations with other patterns

Exact Replay STATED

← Exact ReplayPersistence and WorldConfidentiality Under Content Addressing →Persistence and World