DECISION DESK — explore another direction, then reset deliberately Status: source-backed recipe; native interactive execution is not verified until Main records it. The private proof exercises the real SDK/registry/controller with inert rendering, not a terminal screenshot. Do not turn an expected result below into a claim that your session was inspected. Use the same fictional Lantern Board lab as Return Desk. Yesterday's conversation says Ready for pickup. The current project file says Packed and waiting. A conversation fork does not clone that file. Prerequisites: Bun, jq, shasum, an installed omp executable, and an interactive terminal. Run setup from the downloaded examples/ directory, where return-desk/ and decision-desk/ are siblings. No installation or login is part of this exercise. Inspection only: do not submit a prompt. Normal OMP startup may contact services for metadata/auth even without a model turn. Stop if setup is required; do not sign in, paste a key, copy credentials or connect this lab to real history. 1. Create a NEW disposable lab. bun return-desk/lab.ts '{"version":1,"op":"discover"}' RECEIPT=$(mktemp -t continuity-decision-receipt) bun return-desk/lab.ts '{"version":1,"op":"act","action":"create"}' | tee "$RECEIPT" LAB=$(jq -r '.root' "$RECEIPT") SOURCE=$(jq -r '.yesterday' "$RECEIPT") SESSIONS=$(jq -r '.sessions' "$RECEIPT") PROJECT=$(jq -r '.cwd' "$RECEIPT") OMP_BIN=$(command -v omp) Stop if the receipt says ok:false or OMP_BIN is empty. The receipt contains only newly created fictional paths. Keep these shell variables in this terminal. Never substitute your normal OMP home or session files. Record the parent journal and workspace before opening OMP: shasum -a 256 "$SOURCE" jq -s 'map(select(.type == "session") | {id,parentSession,cwd,title})' "$SOURCE" cat "$PROJECT/today.txt" 2. Open the fictional parent with the native command generated by Return Desk. jq -r '.commands.resumeExplicitPath' "$RECEIPT" Copy and run the complete printed command in the SAME terminal. It begins with env -i and points to the disposable lab's HOME, config, cwd and session directory. Do not shorten it to a bare omp command. If normal model/auth setup blocks startup, stop and inspect the prepared files instead; this is a limitation, not successful native interaction. If startup succeeds, in the idle OMP session type one command at a time, reading its result before continuing: /fork Expected implementation behavior: a distinct journal ID/path whose parentSession is 11111111-1111-4111-8111-111111111111; source journal retained, current conversation retained, no workspace copy. This is a current-state fork, not a previous-message picker despite the registry description. The ordinary steering/follow-up queues remain on this fork path. /fresh Expected: conversation retained. Status reports local provider states pruned; zero can be normal. Persistent journal identity stays the same; the SDK's provider-facing session ID rotates. The native UI is not a provider-ID inspector. Use the private proof report for that local-handle assertion, not a guess from the status text. This is not evidence that an external provider problem was repaired. /clear Expected: live transcript clears while the persistent session continues. A reset_boundary is appended to the same journal. Model-context and collapsed-live rebuilds start after it, while old messages remain available to full-history paths. Existing project files remain unchanged. Empty live context is not data erasure. /new Expected: a new session identity/path and empty conversation. Ordinary /new keeps the old journal and workspace; it does not inherit a fork parent link. A brand-new empty session file can be deferred until there is persistable activity, so absence of a third file is not an identity measurement. The private SDK ledger measures the immediate new identity without a provider call. Exit OMP normally without sending a model prompt. Compare the fictional files in the same shell: jq -s 'map(select(.type == "session") | {id,parentSession,cwd,title})' "$SESSIONS"/*.jsonl shasum -a 256 "$SOURCE" jq -s 'map(select(.type == "reset_boundary") | {type,id,parentId})' "$SESSIONS"/*.jsonl jq -s 'map(select(.type == "message") | .message.content)' "$SESSIONS"/*.jsonl cat "$PROJECT/today.txt" The queries aggregate this lab's journals, not the active process state. Correlate the child header with its parentSession and inspect that child's file when you need per-file evidence. Retained fictional messages demonstrate journal retention, not a live-context dump. Never publish real-session equivalents of this output. Native startup/shutdown can add lifecycle records: do not demand that an end-to-end TUI parent hash stay identical merely because the narrower private fork-call proof asserts parent bytes around that call. The important reader check is retained parent history plus a distinct child identity, not a universal byte-immutability promise. 3. Contrast interactive fork with CLI startup fork. Print the complete native fork command generated from the original fictional source: jq -r '.commands.forkExplicitPath' "$RECEIPT" Copy and run the printed command in the same terminal. Stop on model/auth setup; do not prompt. Exit after inspecting startup. This is native omp --fork with an explicit fictional source path, not /fork in an existing process. CLI fork uses the launch cwd supplied by the command; interactive /fork keeps its existing cwd. Neither creates a separate workspace. Failure cards (do not manufacture live streams, provider failures or destructive actions): - Busy response: /fresh, /clear and interactive /fork warn instead of proceeding. Wait, or abort through the normal OMP control, then retry. /clear also refuses foreground bash/Python work; its warning text does not enumerate every predicate. - Non-persistent session: fork fails; --fork plus --no-session is invalid. Use the persistent fictional lab instead. - Hook veto: /new or /fork can be cancelled. A transient UI clear is not a new ID. The private proof checks actual messages, identity and steering/follow-up queues with a real extension hook. - Switch failure: private proof injects failure after a target journal loads and checks restoration. It does not promise every transition is transactional. Inspect actual active identity after a real error before doing more work. WARNING ONLY — no runnable deletion exercise: The drop operation is best-effort deletion of one local session and its artifacts followed by a new session. Inspected code can log a deletion error and still show Session dropped. It is not secure erasure and does not delete forks, exports, backups, provider-held copies or your workspace. Do not try it here. Artifact limits: session artifacts can be copied when forking; workspace files are not. Missing artifact sources are ignored and other copy failures can be logged without undoing the fork. Do not treat a success label as a verified backup. Cleanup: LAB identifies the freshly created temporary lab; RECEIPT identifies a separate temporary JSON receipt. Remove only those exact paths when you no longer need your fictional evidence. No cleanup command is supplied that could be mistaken for a real-session deletion instruction.