OMP Workbook

Read the source. Follow the evidence.

Evidence and method

What was actually observed

The supplied proof used real SDK sessions, TanCommandController, installed InputController callbacks, SessionFocusController, the registry, AsyncJobManager, and the persisted cold reviver.

Model transport was the repository’s mock provider. The UI was a recording adapter. The launcher denied network access, restricted writes to a fresh runtime area, and removed that area afterward.

Local verification recorded the following nine successful scenarios. Ultima received the first eight; the publisher subsequently added the initial-running-tan kill check before publication:

ScenarioBounded observation
Persisted parent and startupMain and the tan were streaming concurrently; their session identities differed; their working directory matched; the child received Main’s effective prompt-cache key.
Focused steering, follow-up, and EscapeSteering and follow-up entered the child’s queues, not Main’s. With loop mode off and no higher-priority panels/TTS, the first Escape cleared draft text and the next returned to Main without cancelling the job.
Queue delivery and normal parkingSteering preceded follow-up in the child conversation. The job completed with the last follow-up text; the agent parked and detached; focus returned to Main.
Main finishingMain’s recorded turn finished without an aborted assistant result.
Cold revival and continuationThe same Tan identity and transcript were reopened through the real cold-revive path, and a new prompt received a mock response.
Turn interruptionDirect AgentSession.abort() on the revived session left it idle and attached; a subsequent prompt worked. This was not an Escape-key test.
Explicit killDirect AgentLifecycleManager.release(..., {tombstone:true}) created the sidecar, retained the transcript, and caused revival to be refused. The physical x key was not exercised.
Running-job cancellationDirect AsyncJobManager.cancel(jobId) cancelled the job and the Tan registration became absent; its transcript remained. Passing the Tan ID to that lower-level job manager did not cancel the job.
Killing an initial running tanThe runtime Hub's abort-then-release primitives produced an aborted, detached, tombstoned agent. Its original job separately became completed with (no output) and an un-aborted job signal. The physical x key was not exercised.

The supplied focused-test report records 136 passed, 0 failed across:

  • packages/coding-agent/test/slash-commands/tan.test.ts
  • packages/coding-agent/test/modes/controllers/tan-command-controller.test.ts
  • packages/coding-agent/test/session-focus-controller.test.ts
  • packages/coding-agent/test/input-controller-escape.test.ts
  • packages/coding-agent/test/input-controller-keybindings.test.ts
  • packages/coding-agent/test/input-controller-focused-submit-restore.test.ts
  • packages/coding-agent/test/agent-hub-activate.test.ts
  • packages/coding-agent/test/registry/agent-lifecycle.test.ts

Other supplied test bodies were used as contract evidence, but are not silently included in that reported pass count.

What this evidence does not prove

It does not establish:

  • Physical terminal key delivery or actual OMP renderer appearance.
  • Real model quality, task success, provider cache hits, or savings.
  • Real LSP/MCP/tool side effects or complete external-process cancellation.
  • Worktree isolation.
  • Restart rediscovery.
  • Permanent transcript or artifact retention.
  • Upstream-release parity.
  • Browser verification or an official agentic score for this workbook.

The proof’s cold-revive fixture deliberately had no enabled tools and disabled several auxiliary systems. Its successful continuation is not evidence that every production tool configuration reconstructs identically.

The teaching recommendations—identity-first requests, disjoint file ownership, scope restatement, and post-control inspection—are operating practices derived from these boundaries.

This manuscript reports supplied evidence; it is not an additional execution or verification run.

Source map

SubjectSupplied project-relative paths and symbols
Slash syntax and routingpackages/coding-agent/src/slash-commands/builtin-lifecycle.ts — BUILTIN_LIFECYCLE_SLASH_COMMANDS, tan.handleTui; packages/coding-agent/src/modes/interactive-mode.ts — InteractiveMode.handleTanCommand
Initial fork, inheritance, images, parkingpackages/coding-agent/src/modes/controllers/tan-command-controller.ts — TanCommandController.start, extractAssistantText; packages/coding-agent/src/session/session-manager.ts — SessionManager.forkFrom, ensureOnDisk
Rebuilt tools and settingspackages/coding-agent/src/sdk.ts — createAgentSession, createAgentSessionScoped, unregisterUnlessParked; packages/coding-agent/src/task/executor.ts — createSubagentSettings, createMCPProxyTools
Focused submissions, Escape, double-left, retry, dequeuepackages/coding-agent/src/modes/controllers/input-controller.ts — setupKeyHandlers, setupEditorSubmitHandler, #submitToFocusedSession, handleFollowUp, #handleFocusedLeftTap, handleRetry, restoreQueuedMessagesToEditor
Focus notices and automatic returnpackages/coding-agent/src/modes/controllers/session-focus-controller.ts — SessionFocusController.focusAgent, unfocus, #onRegistryEvent, #attach
Default keys and hotkeys-sheet limitationpackages/coding-agent/src/config/keybindings.ts — KEYBINDINGS, KeybindingsManager; packages/coding-agent/src/modes/utils/hotkeys-markdown.ts — buildHotkeysMarkdown
Runtime Hub navigation, revival, killpackages/coding-agent/src/modes/components/agent-hub.ts — AgentHubOverlayComponent.#handleTableInput, #activateAgent, #reviveSelected, #killSelected
/jobs versus /agentspackages/coding-agent/src/slash-commands/builtin-session.ts — BUILTIN_SESSION_SLASH_COMMANDS; packages/coding-agent/src/modes/controllers/command-controller.ts — handleJobsCommand
Job identity, ownership, retention, delivery consumptionpackages/coding-agent/src/async/job-manager.ts — AsyncJob, AsyncJobManager.register, cancel, consumeJobResults, #resolveJobId, #scheduleEviction
Hub argument shapes and waitspackages/coding-agent/src/tools/hub/index.ts — hubSchema, HubTool.execute, #executeWait; packages/coding-agent/src/tools/hub/types.ts — JobSnapshot, roster limits
Cancellation fallback and snapshotspackages/coding-agent/src/tools/hub/jobs.ts — executeCancel, cancelAgentRegistration, buildJobResult, runningAgentsOutsideJobs
Peer messaging and list scopepackages/coding-agent/src/tools/hub/messaging.ts — executeList, executeSend, executeMessageWait
Process-name distinctionpackages/coding-agent/src/tools/hub/launch.ts — LaunchParams, executeLaunch, operationFor
Queue timing and turn abortpackages/agent/src/agent-loop.ts — runLoopBody, executeToolCalls; packages/agent/src/agent.ts — steer, followUp, continue; packages/coding-agent/src/session/agent-session.ts — prompt, abort, #canAutoContinueForFollowUp
Owner delivery and large resultspackages/coding-agent/src/session/agent-session.ts — #deliverAsyncJobResult, #formatAsyncResultForFollowUp; packages/coding-agent/src/session/async-job-delivery.ts — inline and preview thresholds
Lifecycle and durable terminal intentpackages/coding-agent/src/registry/agent-lifecycle.ts — AgentLifecycleManager.ensureLive, release, persistAgentTombstone; packages/coding-agent/src/registry/agent-registry.ts — AgentStatus, getAgentTombstonePath
Saved discovery and cold reconstructionpackages/coding-agent/src/registry/persisted-agents.ts — ensurePersistedRoster, registerPersistedSubagents, readPersistedAgentMetadata; packages/coding-agent/src/task/persisted-revive.ts — createPersistedSubagentReviverFactory
Transcript, result, and scratch URLspackages/coding-agent/src/internal-urls/history-protocol.ts — HistoryProtocolHandler; packages/coding-agent/src/internal-urls/agent-protocol.ts — AgentProtocolHandler; packages/coding-agent/src/internal-urls/local-protocol.ts — resolveLocalRoot, LocalProtocolHandler.resolveOptions
Ordinary task output distinctionpackages/coding-agent/src/task/executor.ts — finalizeRunResult, finalizeSubagentLifecycle, runSubagentFollowUpTurn
Fork-boundary intentpackages/coding-agent/src/prompts/system/tan-context-switch.md; packages/coding-agent/src/prompts/system/background-tan-dispatch.md — prompt text interpreted as evidence of intended separation, not as instructions governing this workbook
Version and configuration definitionspackages/coding-agent/package.json; packages/coding-agent/src/config/settings-schema.ts — SETTINGS_SCHEMA; settings behavior was checked against the consuming paths above, not inferred solely from labels

The bundle does not include every terminal, provider, messaging transport, renderer, or GC implementation. Those omissions are material to claims about physical interaction, external effects, and long-term availability.


Tangent work and live control · Source chapter: tan/evidence-and-method. Original evidence remains scoped to its recorded snapshot.

Read this chapter as Markdown

Your lesson ticks

A self-reported reading checklist, not proof of real OMP behavior. Only these ticks are saved in this browser. Reading a milestone does not resume, fork, reset or export a session.

Chapters I have worked through
Start here 1
Sessions, resets, and reviewable history 19
Memory and reusable knowledge 14
Tangent work and live control 17
Tool permissions and approvals 15
Extensions inside those boundaries 23
Connections and next steps 8
0 of 97 checked

Checklist saving needs JavaScript and available browser storage.