# Oh My Pi Workbook > A complete practical guide to OMP sessions, memory, tangent subagents, tool permissions, and extensions, with fictional labs, intact examples, and explicit evidence boundaries. ## When to use Read this independent educational book for OMP Memory, Tan tangent subagents, Tool permissions and approvals, Extensions, and Session Continuity. All 78 source chapters appear with integrated introductions, connections, reading paths, glossary, and conclusion. Tan means tangent subagents, not TanStack. Start with the concise overview; retrieve focused chapter Markdown before the optional large full manuscript. Use browser controls only for a requested tutorial interaction. This is not a live OMP client, REST API, MCP server, or diagnostic service. ## Scope and provenance Edition source date: 2026-08-30. Content revision: omp-workbook-2026-08-30.1. Authorship: Five source-grounded topics integrated with Ultima at max reasoning; original source chapters and examples preserved, with historical and new verification kept at their stated scope. Original source dates, Mnemopi settings, proof counts, and observations remain historical snapshots. New site checks do not rerun original provider or TUI exercises. SDK/controller/RPC evidence is not physical TUI proof. Custom-build behavior is not a promise about every upstream release. Consult https://github.com/can1357/oh-my-pi separately for current upstream information. Reading, fictional observations, returned output, delivery, completion, approval, and disclosure are distinct facts. ## Readable resources - [Contents and reading paths](https://present-sketch-tp94.here.now/): complete chapter navigation and Permissions/Extension/Continuity story explorer. - [Concise Markdown overview](https://present-sketch-tp94.here.now/index.md): 5 source parts and focused paths, not the full manuscript. - [Complete Markdown book](https://present-sketch-tp94.here.now/tutorial.md): explicit large full-book resource. - [Explicit agent guide mode](https://present-sketch-tp94.here.now/?mode=agent): this reading guide, not an agent execution endpoint. - [Memory interactive lab](https://present-sketch-tp94.here.now/labs/memory) and [Markdown companion](https://present-sketch-tp94.here.now/labs/memory.md): original five fictional stories; separate interface, no real memory access. - [Combined public examples](https://present-sketch-tp94.here.now/examples.zip): original source files and Permissions fixtures, with their relative paths preserved. - [Original Extensions archive](https://present-sketch-tp94.here.now/downloads/extensions-examples.zip) - [Original Continuity archive](https://present-sketch-tp94.here.now/downloads/continuity-examples.zip) - [Permissions fixtures archive](https://present-sketch-tp94.here.now/downloads/permissions-examples.zip) - [Static shared book-data module](https://present-sketch-tp94.here.now/book-data.js): authored reading/search data; no backend or runtime service. - [About and provenance](https://present-sketch-tp94.here.now/about) - [Correction guidance](https://present-sketch-tp94.here.now/contact) - [Privacy and both local-storage scopes](https://present-sketch-tp94.here.now/privacy) - [Sitemap with every chapter and lab](https://present-sketch-tp94.here.now/sitemap.xml) - [Unified browser contract](https://present-sketch-tp94.here.now/browser-interface.json) - [Agent Skills v0.2 index](https://present-sketch-tp94.here.now/.well-known/agent-skills/index.json) - [Reading skill](https://present-sketch-tp94.here.now/.well-known/agent-skills/omp-workbook/SKILL.md) ## Source parts - [Sessions, resets, and reviewable history](https://present-sketch-tp94.here.now/chapters/unified-continuity) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-continuity.md): Choose the intended conversation, change only the intended session boundary, and inspect the full representation before considering disclosure. - [Memory and reusable knowledge](https://present-sketch-tp94.here.now/chapters/unified-memory) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-memory.md): Distinguish current context from retained evidence and reusable procedures, then inspect scope and outcomes instead of trusting memory acknowledgements. - [Tangent work and live control](https://present-sketch-tp94.here.now/chapters/unified-tan) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-tan.md): Find the exact tangent, address its current conversation, and separate view changes, turn interruption, job cancellation, revival, and terminal intent. - [Tool permissions and approvals](https://present-sketch-tp94.here.now/chapters/unified-permissions) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-permissions.md): Explain why a particular tool call is allowed, prompted, or denied by following its operation, tier, policy identity, host capabilities, and actual effect boundary. - [Extensions inside those boundaries](https://present-sketch-tp94.here.now/chapters/unified-extensions) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-extensions.md): Build explicit human and machine capabilities whose permissions, state lifetimes, delivery, loading, and verification match the host that actually runs them. ## Reading paths ### Return to a known conversation without restoring old files Use this route when a history is missing, the newest conversation is the wrong one, or a project directory has moved; establish identity and scope before adding work. - [Start here](https://present-sketch-tp94.here.now/chapters/continuity-start-here.md) - [The continuity ledger](https://present-sketch-tp94.here.now/chapters/continuity-the-continuity-ledger.md) - [Return Desk lab setup](https://present-sketch-tp94.here.now/chapters/continuity-return-desk-lab-setup.md) - [Return Desk resume selection](https://present-sketch-tp94.here.now/chapters/continuity-return-desk-resume-selection.md) - [Return Desk continuation](https://present-sketch-tp94.here.now/chapters/continuity-return-desk-continuation.md) - [Return Desk missing-directory decisions](https://present-sketch-tp94.here.now/chapters/continuity-return-desk-missing-directory-decisions.md) - [Decision Desk refusals and failures](https://present-sketch-tp94.here.now/chapters/continuity-decision-desk-refusals-and-failures.md) - [Four places knowledge can live](https://present-sketch-tp94.here.now/chapters/memory-four-places-knowledge-can-live.md) - [Troubleshooting](https://present-sketch-tp94.here.now/chapters/memory-troubleshooting.md) - [Recovery and safe disclosure checklists](https://present-sketch-tp94.here.now/chapters/continuity-recovery-and-safe-disclosure-checklists.md) ### Understand why an old fact returns after a reset Separate retained history, cached injection, scoped memory, and reusable skills; work through the fictional inspection stories without disclosing real memory. - [The continuity ledger](https://present-sketch-tp94.here.now/chapters/continuity-the-continuity-ledger.md) - [Four places knowledge can live](https://present-sketch-tp94.here.now/chapters/memory-four-places-knowledge-can-live.md) - [The configuration this workbook teaches](https://present-sketch-tp94.here.now/chapters/memory-the-configuration-this-workbook-teaches.md) - [Five fictional lab stories](https://present-sketch-tp94.here.now/chapters/memory-five-fictional-lab-stories.md) - [The automatic lifecycle](https://present-sketch-tp94.here.now/chapters/memory-the-automatic-lifecycle.md) - [The command desk](https://present-sketch-tp94.here.now/chapters/memory-the-command-desk.md) - [Decision Desk resetting deliberately](https://present-sketch-tp94.here.now/chapters/continuity-decision-desk-resetting-deliberately.md) - [Privacy and costs](https://present-sketch-tp94.here.now/chapters/memory-privacy-and-costs.md) - [Troubleshooting](https://present-sketch-tp94.here.now/chapters/memory-troubleshooting.md) - [Sources, method and limitations](https://present-sketch-tp94.here.now/chapters/memory-sources-method-and-limitations.md) ### Find, redirect, and leave an already-running tangent Start with the current recipient, then distinguish steering, follow-up, observation, revival, cancellation, and explicit kill; do not substitute a Main session reset for a focus change. - [A tan is already running](https://present-sketch-tp94.here.now/chapters/tan-a-tan-is-already-running.md) - [1. Understand the fork](https://present-sketch-tp94.here.now/chapters/tan-1-understand-the-fork.md) - [3. Find and focus the right tan](https://present-sketch-tp94.here.now/chapters/tan-3-find-and-focus-the-right-tan.md) - [4. Steer and queue work](https://present-sketch-tp94.here.now/chapters/tan-4-steer-and-queue-work.md) - [5. Leave and switch safely](https://present-sketch-tp94.here.now/chapters/tan-5-leave-and-switch-safely.md) - [6. Observe jobs and read results](https://present-sketch-tp94.here.now/chapters/tan-6-observe-jobs-and-read-results.md) - [7. Continue a finished tan](https://present-sketch-tp94.here.now/chapters/tan-7-continue-a-finished-tan.md) - [8. Interrupt, cancel, or kill](https://present-sketch-tp94.here.now/chapters/tan-8-interrupt-cancel-or-kill.md) - [10. Protect context and recover](https://present-sketch-tp94.here.now/chapters/tan-10-protect-context-and-recover.md) - [11. Operate through Main](https://present-sketch-tp94.here.now/chapters/tan-11-operate-through-main.md) - [12. State and control reference](https://present-sketch-tp94.here.now/chapters/tan-12-state-and-control-reference.md) - [Decision Desk resetting deliberately](https://present-sketch-tp94.here.now/chapters/continuity-decision-desk-resetting-deliberately.md) ### Give an agent a capability without giving it a blanket grant Follow the smallest-surface decision through shared human/tool behavior, branch-aware state, one-action authority, portable UI, and realistic verification. - [Choose what to build](https://present-sketch-tp94.here.now/chapters/extensions-choose-what-to-build.md) - [Prepare a reversible lab](https://present-sketch-tp94.here.now/chapters/extensions-prepare-a-reversible-lab.md) - [Seed Desk: welcome and inventory](https://present-sketch-tp94.here.now/chapters/extensions-seed-desk-welcome-and-inventory.md) - [Decision Desk forking](https://present-sketch-tp94.here.now/chapters/continuity-decision-desk-forking.md) - [Seed Desk: reservations on the active branch](https://present-sketch-tp94.here.now/chapters/extensions-seed-desk-reservations-on-the-active-branch.md) - [Review Desk: edit and decide locally](https://present-sketch-tp94.here.now/chapters/extensions-review-desk-edit-and-decide-locally.md) - [Review Desk: a native panel and portable dialogs](https://present-sketch-tp94.here.now/chapters/extensions-review-desk-a-native-panel-and-portable-dialogs.md) - [Tools, interception and native delegation](https://present-sketch-tp94.here.now/chapters/extensions-tools-interception-and-native-delegation.md) - [Discovery, installation and reload](https://present-sketch-tp94.here.now/chapters/extensions-discovery-installation-and-reload.md) - [Debugging and verification](https://present-sketch-tp94.here.now/chapters/extensions-debugging-and-verification.md) - [Build and distribution checklist](https://present-sketch-tp94.here.now/chapters/extensions-build-and-distribution-checklist.md) ### Keep delayed results with the conversation that requested them Use this route when a result arrives twice, disappears from later job snapshots, or reaches the wrong branch; distinguish work lifetime, owner identity, committed body, and wake-up. - [The continuity ledger](https://present-sketch-tp94.here.now/chapters/continuity-the-continuity-ledger.md) - [Decision Desk forking](https://present-sketch-tp94.here.now/chapters/continuity-decision-desk-forking.md) - [Decision Desk resetting deliberately](https://present-sketch-tp94.here.now/chapters/continuity-decision-desk-resetting-deliberately.md) - [6. Observe jobs and read results](https://present-sketch-tp94.here.now/chapters/tan-6-observe-jobs-and-read-results.md) - [7. Continue a finished tan](https://present-sketch-tp94.here.now/chapters/tan-7-continue-a-finished-tan.md) - [Prepare a reversible lab](https://present-sketch-tp94.here.now/chapters/extensions-prepare-a-reversible-lab.md) - [Package Lab: one file to an embedded host](https://present-sketch-tp94.here.now/chapters/extensions-package-lab-one-file-to-an-embedded-host.md) - [Session navigation and event-driven behavior](https://present-sketch-tp94.here.now/chapters/extensions-session-navigation-and-event-driven-behavior.md) - [Background work and owner-addressed delivery](https://present-sketch-tp94.here.now/chapters/extensions-background-work-and-owner-addressed-delivery.md) - [Debugging and verification](https://present-sketch-tp94.here.now/chapters/extensions-debugging-and-verification.md) ### Inspect a complete packet without a live share Choose the correct snapshot, inspect older and nested fictional history, and separate local acceptance, external script loading, redaction, encryption, and disclosure authorization. - [Start here](https://present-sketch-tp94.here.now/chapters/continuity-start-here.md) - [Review Packet choosing a snapshot](https://present-sketch-tp94.here.now/chapters/continuity-review-packet-choosing-a-snapshot.md) - [Review Packet local HTML export](https://present-sketch-tp94.here.now/chapters/continuity-review-packet-local-html-export.md) - [Review Packet reading the whole packet](https://present-sketch-tp94.here.now/chapters/continuity-review-packet-reading-the-whole-packet.md) - [Sharing is a separate disclosure decision](https://present-sketch-tp94.here.now/chapters/continuity-sharing-is-a-separate-disclosure-decision.md) - [Privacy and costs](https://present-sketch-tp94.here.now/chapters/memory-privacy-and-costs.md) - [10. Protect context and recover](https://present-sketch-tp94.here.now/chapters/tan-10-protect-context-and-recover.md) - [Review Desk: edit and decide locally](https://present-sketch-tp94.here.now/chapters/extensions-review-desk-edit-and-decide-locally.md) - [Recovery and safe disclosure checklists](https://present-sketch-tp94.here.now/chapters/continuity-recovery-and-safe-disclosure-checklists.md) - [Evidence and limitations](https://present-sketch-tp94.here.now/chapters/continuity-evidence-and-limitations.md) ### Explain and repair a blocked or unexpectedly unprompted tool call Identify the exact operation and current scope, trace the effective policy through modes, rules, dispatch, launch inputs, and child construction, then choose a bounded recovery without making yolo the default fix. - [Start with the operation](https://present-sketch-tp94.here.now/chapters/permissions-start-with-the-operation.md) - [Read, write, and exec are tiers](https://present-sketch-tp94.here.now/chapters/permissions-read-write-and-exec-are-tiers.md) - [Approval Desk: modes and policies](https://present-sketch-tp94.here.now/chapters/permissions-approval-desk-modes-and-policies.md) - [Approval Desk: ordered shell rules](https://present-sketch-tp94.here.now/chapters/permissions-approval-desk-ordered-shell-rules.md) - [Dispatch Desk: device and path gates](https://present-sketch-tp94.here.now/chapters/permissions-dispatch-desk-device-and-path-gates.md) - [Boundary Desk: one call at a time](https://present-sketch-tp94.here.now/chapters/permissions-boundary-desk-one-call-at-a-time.md) - [Boundary Desk: when the host can ask](https://present-sketch-tp94.here.now/chapters/permissions-boundary-desk-when-the-host-can-ask.md) - [Configuration and launch precedence](https://present-sketch-tp94.here.now/chapters/permissions-configuration-and-launch-precedence.md) - [Subagents and inherited policies](https://present-sketch-tp94.here.now/chapters/permissions-subagents-and-inherited-policies.md) - [Approval is not a sandbox](https://present-sketch-tp94.here.now/chapters/permissions-approval-is-not-a-sandbox.md) - [Recovery without widening permission](https://present-sketch-tp94.here.now/chapters/permissions-recovery-without-widening-permission.md) - [Evidence and limitations](https://present-sketch-tp94.here.now/chapters/permissions-evidence-and-limitations.md) ## Complete chapter directory - [Start here](https://present-sketch-tp94.here.now/chapters/unified-start-here) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-start-here.md) - [Sessions, resets, and reviewable history](https://present-sketch-tp94.here.now/chapters/unified-continuity) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-continuity.md) - [Orientation](https://present-sketch-tp94.here.now/chapters/continuity-orientation) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-orientation.md) - [Start here](https://present-sketch-tp94.here.now/chapters/continuity-start-here) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-start-here.md) - [The continuity ledger](https://present-sketch-tp94.here.now/chapters/continuity-the-continuity-ledger) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-the-continuity-ledger.md) - [Return Desk lab setup](https://present-sketch-tp94.here.now/chapters/continuity-return-desk-lab-setup) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-return-desk-lab-setup.md) - [Return Desk resume selection](https://present-sketch-tp94.here.now/chapters/continuity-return-desk-resume-selection) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-return-desk-resume-selection.md) - [Return Desk continuation](https://present-sketch-tp94.here.now/chapters/continuity-return-desk-continuation) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-return-desk-continuation.md) - [Return Desk missing-directory decisions](https://present-sketch-tp94.here.now/chapters/continuity-return-desk-missing-directory-decisions) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-return-desk-missing-directory-decisions.md) - [Decision Desk forking](https://present-sketch-tp94.here.now/chapters/continuity-decision-desk-forking) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-decision-desk-forking.md) - [Decision Desk resetting deliberately](https://present-sketch-tp94.here.now/chapters/continuity-decision-desk-resetting-deliberately) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-decision-desk-resetting-deliberately.md) - [Decision Desk refusals and failures](https://present-sketch-tp94.here.now/chapters/continuity-decision-desk-refusals-and-failures) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-decision-desk-refusals-and-failures.md) - [Review Packet choosing a snapshot](https://present-sketch-tp94.here.now/chapters/continuity-review-packet-choosing-a-snapshot) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-review-packet-choosing-a-snapshot.md) - [Review Packet local HTML export](https://present-sketch-tp94.here.now/chapters/continuity-review-packet-local-html-export) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-review-packet-local-html-export.md) - [Review Packet reading the whole packet](https://present-sketch-tp94.here.now/chapters/continuity-review-packet-reading-the-whole-packet) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-review-packet-reading-the-whole-packet.md) - [Sharing is a separate disclosure decision](https://present-sketch-tp94.here.now/chapters/continuity-sharing-is-a-separate-disclosure-decision) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-sharing-is-a-separate-disclosure-decision.md) - [Operation decision matrix](https://present-sketch-tp94.here.now/chapters/continuity-operation-decision-matrix) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-operation-decision-matrix.md) - [Recovery and safe disclosure checklists](https://present-sketch-tp94.here.now/chapters/continuity-recovery-and-safe-disclosure-checklists) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-recovery-and-safe-disclosure-checklists.md) - [Evidence and limitations](https://present-sketch-tp94.here.now/chapters/continuity-evidence-and-limitations) · [Markdown](https://present-sketch-tp94.here.now/chapters/continuity-evidence-and-limitations.md) - [Sessions, resets, and reviewable history: next steps](https://present-sketch-tp94.here.now/chapters/unified-continuity-next) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-continuity-next.md) - [Memory and reusable knowledge](https://present-sketch-tp94.here.now/chapters/unified-memory) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-memory.md) - [Orientation](https://present-sketch-tp94.here.now/chapters/memory-orientation) · [Markdown](https://present-sketch-tp94.here.now/chapters/memory-orientation.md) - [Start with a read, not a setting change](https://present-sketch-tp94.here.now/chapters/memory-start-with-a-read-not-a-setting-change) · [Markdown](https://present-sketch-tp94.here.now/chapters/memory-start-with-a-read-not-a-setting-change.md) - [Four places knowledge can live](https://present-sketch-tp94.here.now/chapters/memory-four-places-knowledge-can-live) · [Markdown](https://present-sketch-tp94.here.now/chapters/memory-four-places-knowledge-can-live.md) - [The configuration this workbook teaches](https://present-sketch-tp94.here.now/chapters/memory-the-configuration-this-workbook-teaches) · [Markdown](https://present-sketch-tp94.here.now/chapters/memory-the-configuration-this-workbook-teaches.md) - [Five fictional lab stories](https://present-sketch-tp94.here.now/chapters/memory-five-fictional-lab-stories) · [Markdown](https://present-sketch-tp94.here.now/chapters/memory-five-fictional-lab-stories.md) - [The automatic lifecycle](https://present-sketch-tp94.here.now/chapters/memory-the-automatic-lifecycle) · [Markdown](https://present-sketch-tp94.here.now/chapters/memory-the-automatic-lifecycle.md) - [The command desk](https://present-sketch-tp94.here.now/chapters/memory-the-command-desk) · [Markdown](https://present-sketch-tp94.here.now/chapters/memory-the-command-desk.md) - [Privacy and costs](https://present-sketch-tp94.here.now/chapters/memory-privacy-and-costs) · [Markdown](https://present-sketch-tp94.here.now/chapters/memory-privacy-and-costs.md) - [Troubleshooting](https://present-sketch-tp94.here.now/chapters/memory-troubleshooting) · [Markdown](https://present-sketch-tp94.here.now/chapters/memory-troubleshooting.md) - [Your checkpoint](https://present-sketch-tp94.here.now/chapters/memory-your-checkpoint) · [Markdown](https://present-sketch-tp94.here.now/chapters/memory-your-checkpoint.md) - [Browser agent interface](https://present-sketch-tp94.here.now/chapters/memory-browser-agent-interface) · [Markdown](https://present-sketch-tp94.here.now/chapters/memory-browser-agent-interface.md) - [Sources, method and limitations](https://present-sketch-tp94.here.now/chapters/memory-sources-method-and-limitations) · [Markdown](https://present-sketch-tp94.here.now/chapters/memory-sources-method-and-limitations.md) - [Memory and reusable knowledge: next steps](https://present-sketch-tp94.here.now/chapters/unified-memory-next) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-memory-next.md) - [Tangent work and live control](https://present-sketch-tp94.here.now/chapters/unified-tan) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-tan.md) - [Orientation](https://present-sketch-tp94.here.now/chapters/tan-orientation) · [Markdown](https://present-sketch-tp94.here.now/chapters/tan-orientation.md) - [A tan is already running](https://present-sketch-tp94.here.now/chapters/tan-a-tan-is-already-running) · [Markdown](https://present-sketch-tp94.here.now/chapters/tan-a-tan-is-already-running.md) - [1. Understand the fork](https://present-sketch-tp94.here.now/chapters/tan-1-understand-the-fork) · [Markdown](https://present-sketch-tp94.here.now/chapters/tan-1-understand-the-fork.md) - [2. Start from Main](https://present-sketch-tp94.here.now/chapters/tan-2-start-from-main) · [Markdown](https://present-sketch-tp94.here.now/chapters/tan-2-start-from-main.md) - [3. Find and focus the right tan](https://present-sketch-tp94.here.now/chapters/tan-3-find-and-focus-the-right-tan) · [Markdown](https://present-sketch-tp94.here.now/chapters/tan-3-find-and-focus-the-right-tan.md) - [4. Steer and queue work](https://present-sketch-tp94.here.now/chapters/tan-4-steer-and-queue-work) · [Markdown](https://present-sketch-tp94.here.now/chapters/tan-4-steer-and-queue-work.md) - [5. Leave and switch safely](https://present-sketch-tp94.here.now/chapters/tan-5-leave-and-switch-safely) · [Markdown](https://present-sketch-tp94.here.now/chapters/tan-5-leave-and-switch-safely.md) - [6. Observe jobs and read results](https://present-sketch-tp94.here.now/chapters/tan-6-observe-jobs-and-read-results) · [Markdown](https://present-sketch-tp94.here.now/chapters/tan-6-observe-jobs-and-read-results.md) - [7. Continue a finished tan](https://present-sketch-tp94.here.now/chapters/tan-7-continue-a-finished-tan) · [Markdown](https://present-sketch-tp94.here.now/chapters/tan-7-continue-a-finished-tan.md) - [8. Interrupt, cancel, or kill](https://present-sketch-tp94.here.now/chapters/tan-8-interrupt-cancel-or-kill) · [Markdown](https://present-sketch-tp94.here.now/chapters/tan-8-interrupt-cancel-or-kill.md) - [9. Coordinate several tans](https://present-sketch-tp94.here.now/chapters/tan-9-coordinate-several-tans) · [Markdown](https://present-sketch-tp94.here.now/chapters/tan-9-coordinate-several-tans.md) - [10. Protect context and recover](https://present-sketch-tp94.here.now/chapters/tan-10-protect-context-and-recover) · [Markdown](https://present-sketch-tp94.here.now/chapters/tan-10-protect-context-and-recover.md) - [11. Operate through Main](https://present-sketch-tp94.here.now/chapters/tan-11-operate-through-main) · [Markdown](https://present-sketch-tp94.here.now/chapters/tan-11-operate-through-main.md) - [12. State and control reference](https://present-sketch-tp94.here.now/chapters/tan-12-state-and-control-reference) · [Markdown](https://present-sketch-tp94.here.now/chapters/tan-12-state-and-control-reference.md) - [Evidence and method](https://present-sketch-tp94.here.now/chapters/tan-evidence-and-method) · [Markdown](https://present-sketch-tp94.here.now/chapters/tan-evidence-and-method.md) - [Tangent work and live control: next steps](https://present-sketch-tp94.here.now/chapters/unified-tan-next) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-tan-next.md) - [Tool permissions and approvals](https://present-sketch-tp94.here.now/chapters/unified-permissions) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-permissions.md) - [Orientation](https://present-sketch-tp94.here.now/chapters/permissions-orientation) · [Markdown](https://present-sketch-tp94.here.now/chapters/permissions-orientation.md) - [Start with the operation](https://present-sketch-tp94.here.now/chapters/permissions-start-with-the-operation) · [Markdown](https://present-sketch-tp94.here.now/chapters/permissions-start-with-the-operation.md) - [Read, write, and exec are tiers](https://present-sketch-tp94.here.now/chapters/permissions-read-write-and-exec-are-tiers) · [Markdown](https://present-sketch-tp94.here.now/chapters/permissions-read-write-and-exec-are-tiers.md) - [Approval Desk: modes and policies](https://present-sketch-tp94.here.now/chapters/permissions-approval-desk-modes-and-policies) · [Markdown](https://present-sketch-tp94.here.now/chapters/permissions-approval-desk-modes-and-policies.md) - [Approval Desk: ordered shell rules](https://present-sketch-tp94.here.now/chapters/permissions-approval-desk-ordered-shell-rules) · [Markdown](https://present-sketch-tp94.here.now/chapters/permissions-approval-desk-ordered-shell-rules.md) - [Dispatch Desk: device and path gates](https://present-sketch-tp94.here.now/chapters/permissions-dispatch-desk-device-and-path-gates) · [Markdown](https://present-sketch-tp94.here.now/chapters/permissions-dispatch-desk-device-and-path-gates.md) - [Boundary Desk: one call at a time](https://present-sketch-tp94.here.now/chapters/permissions-boundary-desk-one-call-at-a-time) · [Markdown](https://present-sketch-tp94.here.now/chapters/permissions-boundary-desk-one-call-at-a-time.md) - [Boundary Desk: when the host can ask](https://present-sketch-tp94.here.now/chapters/permissions-boundary-desk-when-the-host-can-ask) · [Markdown](https://present-sketch-tp94.here.now/chapters/permissions-boundary-desk-when-the-host-can-ask.md) - [Configuration and launch precedence](https://present-sketch-tp94.here.now/chapters/permissions-configuration-and-launch-precedence) · [Markdown](https://present-sketch-tp94.here.now/chapters/permissions-configuration-and-launch-precedence.md) - [Subagents and inherited policies](https://present-sketch-tp94.here.now/chapters/permissions-subagents-and-inherited-policies) · [Markdown](https://present-sketch-tp94.here.now/chapters/permissions-subagents-and-inherited-policies.md) - [Approval is not a sandbox](https://present-sketch-tp94.here.now/chapters/permissions-approval-is-not-a-sandbox) · [Markdown](https://present-sketch-tp94.here.now/chapters/permissions-approval-is-not-a-sandbox.md) - [Recovery without widening permission](https://present-sketch-tp94.here.now/chapters/permissions-recovery-without-widening-permission) · [Markdown](https://present-sketch-tp94.here.now/chapters/permissions-recovery-without-widening-permission.md) - [Evidence and limitations](https://present-sketch-tp94.here.now/chapters/permissions-evidence-and-limitations) · [Markdown](https://present-sketch-tp94.here.now/chapters/permissions-evidence-and-limitations.md) - [Tool permissions and approvals: next steps](https://present-sketch-tp94.here.now/chapters/unified-permissions-next) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-permissions-next.md) - [Extensions inside those boundaries](https://present-sketch-tp94.here.now/chapters/unified-extensions) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-extensions.md) - [Orientation](https://present-sketch-tp94.here.now/chapters/extensions-orientation) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-orientation.md) - [Choose what to build](https://present-sketch-tp94.here.now/chapters/extensions-choose-what-to-build) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-choose-what-to-build.md) - [Prepare a reversible lab](https://present-sketch-tp94.here.now/chapters/extensions-prepare-a-reversible-lab) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-prepare-a-reversible-lab.md) - [Seed Desk: welcome and inventory](https://present-sketch-tp94.here.now/chapters/extensions-seed-desk-welcome-and-inventory) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-seed-desk-welcome-and-inventory.md) - [Seed Desk: reservations on the active branch](https://present-sketch-tp94.here.now/chapters/extensions-seed-desk-reservations-on-the-active-branch) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-seed-desk-reservations-on-the-active-branch.md) - [Review Desk: edit and decide locally](https://present-sketch-tp94.here.now/chapters/extensions-review-desk-edit-and-decide-locally) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-review-desk-edit-and-decide-locally.md) - [Review Desk: a native panel and portable dialogs](https://present-sketch-tp94.here.now/chapters/extensions-review-desk-a-native-panel-and-portable-dialogs) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-review-desk-a-native-panel-and-portable-dialogs.md) - [Editors, themes and composer shapes](https://present-sketch-tp94.here.now/chapters/extensions-editors-themes-and-composer-shapes) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-editors-themes-and-composer-shapes.md) - [Package Lab: one file to an embedded host](https://present-sketch-tp94.here.now/chapters/extensions-package-lab-one-file-to-an-embedded-host) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-package-lab-one-file-to-an-embedded-host.md) - [Discovery, installation and reload](https://present-sketch-tp94.here.now/chapters/extensions-discovery-installation-and-reload) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-discovery-installation-and-reload.md) - [Tools, interception and native delegation](https://present-sketch-tp94.here.now/chapters/extensions-tools-interception-and-native-delegation) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-tools-interception-and-native-delegation.md) - [Session navigation and event-driven behavior](https://present-sketch-tp94.here.now/chapters/extensions-session-navigation-and-event-driven-behavior) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-session-navigation-and-event-driven-behavior.md) - [Background work and owner-addressed delivery](https://present-sketch-tp94.here.now/chapters/extensions-background-work-and-owner-addressed-delivery) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-background-work-and-owner-addressed-delivery.md) - [Models, providers, credentials and memory](https://present-sketch-tp94.here.now/chapters/extensions-models-providers-credentials-and-memory) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-models-providers-credentials-and-memory.md) - [Resources, event buses, MCP and Gemini manifests](https://present-sketch-tp94.here.now/chapters/extensions-resources-event-buses-mcp-and-gemini-manifests) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-resources-event-buses-mcp-and-gemini-manifests.md) - [Permission-denied file fallbacks](https://present-sketch-tp94.here.now/chapters/extensions-permission-denied-file-fallbacks) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-permission-denied-file-fallbacks.md) - [Public feature reference](https://present-sketch-tp94.here.now/chapters/extensions-public-feature-reference) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-public-feature-reference.md) - [All 46 extension events](https://present-sketch-tp94.here.now/chapters/extensions-all-46-extension-events) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-all-46-extension-events.md) - [Debugging and verification](https://present-sketch-tp94.here.now/chapters/extensions-debugging-and-verification) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-debugging-and-verification.md) - [Build and distribution checklist](https://present-sketch-tp94.here.now/chapters/extensions-build-and-distribution-checklist) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-build-and-distribution-checklist.md) - [Evidence and method](https://present-sketch-tp94.here.now/chapters/extensions-evidence-and-method) · [Markdown](https://present-sketch-tp94.here.now/chapters/extensions-evidence-and-method.md) - [Extensions inside those boundaries: next steps](https://present-sketch-tp94.here.now/chapters/unified-extensions-next) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-extensions-next.md) - [An empty context is not an empty history or memory store](https://present-sketch-tp94.here.now/chapters/connection-which-state-survives) · [Markdown](https://present-sketch-tp94.here.now/chapters/connection-which-state-survives.md) - [A conversation fork is not a worktree or a cloned runtime](https://present-sketch-tp94.here.now/chapters/connection-forks-and-shared-workspaces) · [Markdown](https://present-sketch-tp94.here.now/chapters/connection-forks-and-shared-workspaces.md) - [Changing focus, stopping work, and cancelling disclosure](https://present-sketch-tp94.here.now/chapters/connection-stop-the-owned-operation) · [Markdown](https://present-sketch-tp94.here.now/chapters/connection-stop-the-owned-operation.md) - [Permission belongs to an operation, a revision, and a lifetime](https://present-sketch-tp94.here.now/chapters/connection-authority-and-lifetimes) · [Markdown](https://present-sketch-tp94.here.now/chapters/connection-authority-and-lifetimes.md) - [A result, a receipt, and permission to share are different facts](https://present-sketch-tp94.here.now/chapters/connection-results-delivery-and-disclosure) · [Markdown](https://present-sketch-tp94.here.now/chapters/connection-results-delivery-and-disclosure.md) - [Match each claim to the layer that was checked](https://present-sketch-tp94.here.now/chapters/connection-evidence-and-reading-controls) · [Markdown](https://present-sketch-tp94.here.now/chapters/connection-evidence-and-reading-controls.md) - [Shared glossary](https://present-sketch-tp94.here.now/chapters/unified-glossary) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-glossary.md) - [Next steps](https://present-sketch-tp94.here.now/chapters/unified-next-steps) · [Markdown](https://present-sketch-tp94.here.now/chapters/unified-next-steps.md) Source chapter IDs are `-`; provenance keys are `/`. The catalog book IDs are `memory`, `tan`, `extensions`, `continuity`, `permissions`. Unified editorial chapters have their own IDs. Follow exact links instead of inventing chapter names. ## Preserved example stories ### Seed Desk: grow a useful helper A fictional community seed library grows from a welcome command into inventory queries and branch-local reservations. Run one stage at a time. ### Review Desk: make a decision before sharing A local release note gains human review, explicit one-action agent permission, and an optional native overlay. Nothing is published or sent. ### Package Lab: move from a file to a distribution A fictional field notebook demonstrates entry formats, module boundaries, resource discovery, optional plugin features and SDK binding. ### Return to yesterday's work At the fictional Lantern Board, yesterday's conversation says Ready for pickup while today's workspace says Packed and waiting. Identify the intended journal, rehearse native resume and continue in a disposable lab, and distinguish selecting history from moving a project or restoring files. ### Explore another direction, then reset deliberately Continue Return Desk's fictional Lantern Board lab using native OMP. Choose conversation boundaries without confusing them with workspace isolation or erasure. Private real-SDK fixtures independently use a fictional Cedar Library desk layout. ### Prepare a review packet without accidental disclosure Use an entirely fictional Harbor Notes journal to distinguish live-context dumps, saved-history HTML exports and a separate publication decision. The packet is not a sanitization tool, a workspace backup, or evidence of erasure. ### Approval Desk: predict the applicable policy Read the fictional Cedar Seed Library cases to distinguish tier defaults, explicit policies, keyed fallback, and ordered shell classification without executing a command. ### Dispatch Desk: follow the operation inside write Trace the fictional seed\_slot call through outer classification, keyed policy, inner enforcement, and supported argument replacement; count prompts separately from executions. ### Boundary Desk: one decision, one effect boundary Read recorded one-call answers, execute-time overrides, UI transport cases, synthetic provider checks, and a denied file primitive without turning them into blanket grants. These are reading illustrations, not fresh execution receipts. Open the chapters' or milestones' exact `/examples/` links for inert static text. Downloads never install or run examples. Memory and Tan have no invented example archives. ## Representations and routing Canonical chapter pages use `/chapters/`; `.html` assets are directly served. `Accept: text/markdown` on the homepage, a chapter, a support page, or `/labs/memory` selects that resource's authored Markdown. Explicit `.md` resources remain Markdown regardless of Accept. Root Markdown is the concise `/index.md`; `/tutorial.md` is the separate full manuscript. HTML is the ordinary page default. GET and HEAD only; missing routes return 404; unsupported negotiated page representations return 406; other methods return 405. ## Two browser-only interfaces `window.ompWorkbook` version 1 exists only on unified reading pages; scope `tutorial-only`. It exposes `discover`, `inspect`, `query`, `act`, `wait`, and `diagnose`. Discovery includes chapters, parts, reading paths, and the local Memory lab. Query searches all authored chapter plain text, not local files, transcripts, or OMP state. The shared `/book-data.js` module is a static asset loaded by the reader, not an API server. Discover first. Inspect immediately before an action and use exact registered IDs/actions and the current opaque document revision. Use reported disclosure controls before acting on hidden navigation items. Published content revision is not an action token. Never reuse a revision across documents or reloads. Navigation acknowledgement is not destination-load proof; inspect the destination before further interaction. The Memory lab alone exposes `window.memoryTutorial` version 1 instead. Its five stories, simulated stores, and observations are fictional. Discover and inspect on `/labs/memory` for that separate interface's controls, permissions, and revisions; the unified contract below does not govern the lab. The lab's `?mode=agent` is its own in-page guide, not the root guide. The unified checklist uses `omp-workbook-checklist-v1`; the lab preserves `omp-memory-workbook:checklist:v1` for four lesson flags and a last local observation. Resetting either tutorial state does not clear the other, erase real memory, or change OMP. These flags prove neither understanding nor execution. Support pages and Markdown expose neither interface. Neither interface accesses real sessions, memory, terminals, filesystem, tools, credentials, accounts, or uploads. ## Unified browser contract Generated from the authored contract at `/browser-interface.json`. Live discovery and current availability remain authoritative for the loaded unified reading document, not the Memory lab. ```json { "name": "ompWorkbook", "global": "window.ompWorkbook", "version": 1, "interfaceVersion": 1, "scope": "tutorial-only", "storageKey": "omp-workbook-checklist-v1", "permissions": { "read": [ "authored chapter text across every page", "tutorial DOM state", "supplied example milestones", "last observed browser-only checklist" ], "write": [ "native tutorial navigation", "native disclosures", "reading illustration selection", "one self-reported checklist key" ], "clipboard": "Explicit copy controls only; unconfirmed manual selection fallback.", "prohibited": [ "real OMP observation or control", "filesystem access", "command execution", "runtime service connections, fetch/XHR/WebSocket APIs or remote OMP control" ] }, "assetLoadingContract": "The browser loads self-hosted app.js and one shared book-data.js ES module using normal static asset loading and browser caching. The shared module contains all chapter search text, parts, paths, stories and this contract; each HTML document embeds only page metadata and its content revision. Styles and fonts are also static assets. No fetch API, runtime service, telemetry or OMP connection is included. Complete chapter bodies and native disclosures/links remain usable without JavaScript; checklist, copy confirmation and interface discovery require both modules to load. A page/data revision mismatch leaves interactive controls disabled and asks the reader to reload.", "catalogContract": "discover returns all chapters [{id,title,href,partId,sourceKey,controlId,revealControlIds}], parts [{id,title,description,introductionChapterId,chapterIds,controlId}], readingPaths [{id,title,description,chapterIds}] and labs [{id,title,href,global,scope}]. sourceKey is book/originalChapterId for preserved source chapters and null for unified editorial chapters. It identifies provenance, not a published private source path or a claim of fresh verification.", "labContract": "The local /labs/memory page preserves the original fictional simulator and its distinct window.memoryTutorial interface. window.ompWorkbook is only the book reading interface; it cannot inspect or act across that navigation boundary. Inspect/discover the destination lab interface after navigation.", "revisionContract": "Opaque document-specific token. Call inspect immediately before act. Native or agent actions, focus, scroll, disclosures, viewport and clipboard outcomes can invalidate it. Tokens from another document fail STALE_DOCUMENT; older tokens from this document fail STALE_REVISION for act. Never parse or construct tokens.", "navigationContract": "Chapter links use /chapters/. act on links returns status navigation with kind fragment or cross-document, href and requiresInspectionOnDestination. This reports a native navigation request, not a successful load/download. A newly loaded or back-forward-cache-restored document issues its own revision; inspect that document. wait only observes the current document and cannot follow navigation.", "operations": { "discover": { "input": "none", "output": "This contract plus revision, contentRevision, page, chapters, parts, readingPaths, labs, explorer and registered controls with availability and provenance." }, "inspect": { "input": "none", "output": "revision, contentRevision, page, explorer, checklist, clipboard, navigation, disclosures, lastChange, controls" }, "query": { "input": { "type": "object", "additionalProperties": false, "required": [ "text" ], "properties": { "text": { "type": "string", "maxLength": 240 }, "limit": { "type": "integer", "minimum": 1, "maximum": 10, "default": 5 } } }, "output": "status matched|empty|empty-query; query, count, totalMatches, items [{id,title,href,partId,sourceKey,controlId,revealControlIds,onCurrentPage,excerpt}]. Searches every authored chapter title and plainText from the shared static module; all whitespace-separated terms must match. revealControlIds lists outer contents then owning part disclosure. Open them with setOpen in that order, inspecting before each action, then activate the exact result control. Already-open disclosures are idempotent." }, "act": { "input": { "oneOf": [ { "type": "object", "additionalProperties": false, "required": [ "id", "action", "expectedRevision" ], "properties": { "id": { "type": "string", "minLength": 1 }, "action": { "const": "click" }, "expectedRevision": { "type": "string" } } }, { "type": "object", "additionalProperties": false, "required": [ "id", "action", "expectedRevision", "open" ], "properties": { "id": { "type": "string", "minLength": 1 }, "action": { "const": "setOpen" }, "expectedRevision": { "type": "string" }, "open": { "type": "boolean" } } }, { "type": "object", "additionalProperties": false, "required": [ "id", "action", "expectedRevision", "checked" ], "properties": { "id": { "type": "string", "minLength": 1 }, "action": { "const": "setChecked" }, "expectedRevision": { "type": "string" }, "checked": { "type": "boolean" } } } ] }, "output": "status performed|unchanged|navigation; id, action, changed, revision; optional clipboard outcome or navigation. setOpen/setChecked are idempotent. All effects activate the same registered element.click() event path as native controls." }, "wait": { "input": { "type": "object", "additionalProperties": false, "required": [ "afterRevision" ], "properties": { "afterRevision": { "type": "string" }, "timeoutMs": { "type": "integer", "minimum": 0, "maximum": 5000, "default": 1500 }, "match": { "type": "object", "additionalProperties": false, "properties": { "pageId": { "type": "string" }, "storyId": { "type": "string" }, "stageId": { "type": "string" } }, "dependentRequired": { "stageId": [ "storyId" ] } } } }, "output": "status matched only after a newer revision satisfies all match fields, otherwise timed-out; afterRevision, timeoutMs, state. Leaving the document rejects pending waits with STALE_DOCUMENT. IDs must exist. stageId requires its owning storyId. At most 32 pending waits." }, "diagnose": { "input": "none", "output": "runtime, tutorialIntegrity, connectedToOMP:false, ompHealth:not assessed, storage, capabilities, controls {registered,duplicateIds,missingControls,missingCopySources}, caveat" } }, "responseEnvelope": { "success": "{ok:true,version:1,scope: tutorial-only,revision,...operationFields}", "failure": "{ok:false,version:1,scope: tutorial-only,revision,error:{code,message,details?}}" }, "controls": { "schema": "{id,kind,role,label,actions,value,state,provenance:{chapterId,partId,sourceKey},focused,layout:{x,y,width,height,inViewport},availability:{available,reason}}", "value": "Current checkbox checked boolean, disclosure open boolean, link href string, or null for other controls. Layout is the current viewport-relative bounding rectangle in CSS pixels; inViewport reports rectangle intersection, not action availability.", "identity": "Exact registered DOM IDs only. No coordinate, text, selector or prefix matching. Hidden, disabled, detached and closed-disclosure controls reject actions.", "disclosures": "Native summary controls use setOpen. State includes open, disclosureId and partId (null outside part groups). inspect.disclosures includes id, controlId, partId and open. Sidebar, directory and checklist group disclosures start closed except the current chapter's part (the first group on home). Reader changes are document-local, not persisted. Closed ancestors must be opened before child actions; this never hides chapter content from the no-JavaScript edition.", "kinds": { "link": [ "click" ], "story": [ "click" ], "stage": [ "click" ], "stage-step": [ "click" ], "copy": [ "click" ], "reset": [ "click" ], "check": [ "setChecked" ], "disclosure": [ "setOpen" ] } }, "idPatterns": { "pages": "nav- (all pages), directory- (home); home-link, previous-chapter, next-chapter", "stories": "story- (home only)", "stages": "stage--- (home only); stage-previous, stage-next", "checklist": "check-; reset-checklist", "copy": "copy--<1-based snippet number>", "contents": "contents-toggle", "parts": "nav-part--toggle; directory-part--toggle (home); checklist-part--toggle", "readingPaths": "nav-reading-paths; path--<1-based chapter position> (home)", "memoryLab": "nav-memory-lab (all reading pages); open-memory-lab (home)", "guide": "agent-guide-toggle", "authoredLinks": "Preserved native authored id, otherwise link--<1-based generated link number>", "authoredDisclosures": "Preserved native summary id, otherwise toggle--<1-based generated summary number>" }, "explorerContract": { "available": "true only on home; otherwise navigate with home-link", "scope": "reading illustration; does not inspect or control OMP", "storyId": "selected exact story ID or null", "stageId": "selected exact stage ID or null", "milestone": "{index,total,id,title,goal,actions,observations,files,limitations} or null; supplied evidence, never a live runtime observation", "selection": "Selecting a different story opens its first stage. Selecting the current story preserves its stage. Previous/next are disabled at the boundaries. No selection is persisted." }, "checklistContract": { "scope": "self-reported only; verifiedByOMP is always false", "storageFormat": "{version:1,items:{:boolean}}", "reset": "Only localStorage.removeItem(omp-workbook-checklist-v1); no clear(), no other key removed. No legacy checklist keys are read, migrated or aliased.", "failure": "State remains in the current tab; unavailable/invalid-saved-data and write/reset failures are reported. A failed reset may leave an old record.", "concurrency": "Last local observation only; no multi-tab locking. On navigation the new document reads this same key." }, "clipboardContract": { "statuses": [ "idle", "pending", "copied", "manual" ], "confirmed": "true only after clipboard.writeText resolves before the 2500ms deadline. Manual selection is never confirmed copying.", "caveat": "Denial or timeout is unconfirmed, not proof a late write cannot happen. Source caption remains visible; only code text is copied. Nothing is executed." }, "errors": [ "INVALID_ARGUMENT", "STALE_REVISION", "STALE_DOCUMENT", "INVALID_REVISION", "UNKNOWN_TARGET", "AMBIGUOUS_TARGET", "DISABLED_TARGET", "UNSUPPORTED_ACTION", "ACTION_FAILED", "BUSY" ], "clipboardOutcomeErrors": [ "CLIPBOARD_UNCONFIRMED" ], "gaps": [ "No real OMP session, journal, model context, provider state, workspace or exported artifact is observed.", "Recorded observations only apply to the supplied example scenario.", "Query reads the shared static module's complete authored plainText; it does not claim other chapters are visible on this page.", "Only lesson flags persist; visiting a stage does not tick a lesson.", "Native navigation and clipboard results have explicit confirmation boundaries." ] } ``` ## Errors and private boundaries Use the overview, chapter directory, sitemap, and lab companion to recover from a missing resource. Private source-workbook archives, proof, inference records, build inputs, hidden publication state, and credentials are not public routes. A missing or unavailable browser API is a reason to read Markdown, not infer a hidden endpoint or permission to inspect real OMP data.