← Engel's Code Design Notebook

Full API verification · 13 October 2026 UTC

The agent server, as its consumers actually see it

935 mapped checks across 34 families, replayed against a real Agent Server. DeepSeek Flash and Pro, real HTTP and WebSocket traffic, persistent state, Python and TypeScript clients. Every confirmed defect was reproduced on two fresh runs.

Outcome: 130 confirmed defect groups: 12 high, 69 medium, 49 low. Target acca181af1f353975965bcf6486e1d0a58f444c0, server and SDK 1.54.0. GitHub issue and discussion.

935
Mapped checks
34
Families
130
Confirmed defect cases
12 / 69 / 49
High / medium / low

Counting: feature checks and confirmed defect groups are different units. Related branches and proven cross-client duplicates are merged as documented in the report. Expected failures (xfail) reproduce a mapped failure assertion; the reviewed verdict determines whether it is a product defect or recipe drift.

Recorded bug explanations

The screen recordings show fresh live API results. The diagrams explain the failure; the voice reads the evidence. An original quiet score supplies small observation cues. The narration now uses a natural neural voice. Captions and a transcript accompany each film. Voice provenance and remix checks.

Five recorded bugs, with narration and a quiet score

Download MP4 · Narration transcript

Results and limits

All 934 active mapped IDs have recorded outcomes across 34 families; one additional ID is retired. Every counted defect has two independent fresh confirmations. The aggregate merges three proven cross-client duplicates, preserving every consumer proof.

Real DeepSeek Flash and Pro and DeepSeek through the ACP adapter were exercised. Local Docker runtime, retention and SDK lifecycle checks pass. Production Docker/PyInstaller packaging, a real human subscription login, unavailable OpenVSCode, immutable-file and namespace prerequisites, unreaped descendant checks, and named secondary/client branches have explicit limits in the full report.

Recipe verdicts and product defects are separate measures. Live GitHub pagination and filtering pass. Its invalid-token branch is inconclusive because a direct fake-token provider control also returns 200 through this environment. Two expected-failure contracts remain ambiguous; Node 24 reconnect passes. Earlier interrupted or invalid setup attempts remain in the ledger. Full attempt history · Exact recipes and adaptations · Recording method and uncut artifact names.

Full Markdown report · Machine-readable summary · Download all reviewed evidence · Artifact checksums

Confirmed defects

medium · F02.workspace-cookie-root-path

Workspace session cookie drops the server URL prefix

Expected: A cookie minted through a prefixed server URL authenticates the prefixed workspace file URL.
Observed: Cookie Path is regardless of root_path. The browser-like cookie jar gets 401 at /qa-f02-prefix/{id}/workspace/qa-f02.html; the same valid cookie gets 200 at the unprefixed URL.

Reproduce and inspect evidence
control-agent-server map run --file F02 --only F02.workspace-cookie-root-path,F02.workspace-session-ipv6-loopback --fresh --repeat 2 --record --keep-going --timeout 420

mint.json · file-with-cookie.json · mint.json · file-with-cookie.json

Known map bug reproduced at the marked assertion in both fresh attempts. Header-authenticated prefixed URL and cookie-authenticated unprefixed URL are successful controls. No model needed. Source: auth_router.py cookie Path ignores root_path.

medium · F02.workspace-session-ipv6-loopback

IPv6 loopback workspace cookies omit Secure and Partitioned

Expected: Host [::1]:8000 receives SameSite=none; Secure; Partitioned, matching localhost and 127.0.0.1.
Observed: The IPv6 Host request returns 204 with SameSite=none but omits Secure and Partitioned, so browsers reject the cookie. The two IPv4/localhost controls include both flags.

Reproduce and inspect evidence
control-agent-server map run --file F02 --only F02.workspace-cookie-root-path,F02.workspace-session-ipv6-loopback --fresh --repeat 2 --record --keep-going --timeout 420

ipv6-host.json · ipv6-host.json

Known map bug reproduced twice. The test changes the HTTP Host header to IPv6 loopback while reaching the same loopback server; it does not claim an IPv6 network bind test. Source: auth_router.py:42-65 splits request.url.hostname on ':' before loopback matching.

medium · F03.init-delivered-cors-origins

Deferred init accepts CORS origins but leaves the boot allowlist unchanged

Expected: The allow_cors_origins delivered by successful POST /api/init authorizes that origin on a CORS preflight.
Observed: The delivered https://qa-f03.example gets 400 Disallowed CORS origin and no Access-Control-Allow-Origin. Localhost control gets200; an undelivered origin also gets400.

Reproduce and inspect evidence
control-agent-server map run --file F03 --only F03.init-success,F03.init-delivered-cors-origins --fresh --repeat 2 --record --keep-going --timeout 420

preflight.json · preflight.json

Known map bug at marked assertion in both fresh attempts. CORSDispatcher captures config.allow_cors_origins when create_app runs; successful init updates the config but does not rebuild middleware.

medium · F04.create-initial-message-run-false

Conversation create executes an initial message with run=false

Expected: Persist the initial message and remain idle with no model run when initial_message.run is false.
Observed: The false request runs to finished on the controlled provider just like the true control.

Reproduce and inspect evidence
control-agent-server map run --file F04 --only F04.create-initial-message-run-false,F04.create-secrets-get,F04.create-secrets-plain,F04.batch-get-limit,F04.patch-whitespace-title,F04.patch-unknown-id,F04.delete-unknown-id --fresh --repeat 2 --record --keep-going --timeout 420

start.json · F04-conversation-lifecycle-02-initial-message-run-false-f04-create-ini.json · start.json · F04-conversation-lifecycle-02-initial-message-run-false-f04-create-ini.json

The live recipe checks the persisted user message, then observes execution starting/finishing. The create schema advertises run=false, but _start_conversation unconditionally calls run(). Supplemental GET reports finished and exactly one ActionEvent on both fresh attempts.

low · F04.create-secrets-plain

Plain-string create secrets cause an unhandled server error

Expected: Accept the plain-string secret like the secrets update route, or reject it with 422.
Observed: POST returns 500: 'str' object has no attribute 'pop'.

Reproduce and inspect evidence
control-agent-server map run --file F04 --only F04.create-initial-message-run-false,F04.create-secrets-get,F04.create-secrets-plain,F04.batch-get-limit,F04.patch-whitespace-title,F04.patch-unknown-id,F04.delete-unknown-id --fresh --repeat 2 --record --keep-going --timeout 420

start.json · F04-conversation-lifecycle-07-plain-string-secret-value-f04-create-sec.json · start.json · F04-conversation-lifecycle-07-plain-string-secret-value-f04-create-sec.json

This is a malformed-input/status-only defect. Synthetic QA values are used; no real secret is posted in the negative test.

low · F04.batch-get-limit

A conversation batch of 100 IDs returns 500 instead of a client error

Expected: Refuse 100 IDs with 400/422 naming the limit.
Observed: A batch of 100 well-formed UUIDs returns 500 with an empty exception string.

Reproduce and inspect evidence
control-agent-server map run --file F04 --only F04.create-initial-message-run-false,F04.create-secrets-get,F04.create-secrets-plain,F04.batch-get-limit,F04.patch-whitespace-title,F04.patch-unknown-id,F04.delete-unknown-id --fresh --repeat 2 --record --keep-going --timeout 420

hundred.json · F04-conversation-lifecycle-08-100-ids-in-one-batch-f04-batch-get-limit.json · hundred.json · F04-conversation-lifecycle-08-100-ids-in-one-batch-f04-batch-get-limit.json

batch_get_conversations uses assert len(ids)<100 instead of request validation; the ordinary 99-ID control is covered by the primary full family.

low · F04.patch-whitespace-title

Whitespace title passes validation and erases the title

Expected: Reject a whitespace-only title with 422 and retain the existing title.
Observed: PATCH with a whitespace-only title returns 200; a subsequent GET reports title="" on two fresh supplemental runs.

Reproduce and inspect evidence
control-agent-server map run --file F04 --only F04.create-initial-message-run-false,F04.create-secrets-get,F04.create-secrets-plain,F04.batch-get-limit,F04.patch-whitespace-title,F04.patch-unknown-id,F04.delete-unknown-id --fresh --repeat 2 --record --keep-going --timeout 420

patch.json · F04-conversation-lifecycle-09-whitespace-only-title-f04-patch-whitespa.json · patch.json · F04-conversation-lifecycle-09-whitespace-only-title-f04-patch-whitespa.json

Metadata defect: validation checks min_length before stripping. Acceptance and persisted title erasure are both independently proven twice.

low · F04.patch-unknown-id

PATCH on a missing conversation contradicts its documented 404

Expected: PATCH returns 404 for the same missing ID that GET returns 404 for.
Observed: PATCH returns 200 with success=false despite the OpenAPI 404 response declaration.

Reproduce and inspect evidence
control-agent-server map run --file F04 --only F04.create-initial-message-run-false,F04.create-secrets-get,F04.create-secrets-plain,F04.batch-get-limit,F04.patch-whitespace-title,F04.patch-unknown-id,F04.delete-unknown-id --fresh --repeat 2 --record --keep-going --timeout 420

unknown.json · F04-conversation-lifecycle-10-patch-on-an-unknown-id-f04-patch-unknown.json · unknown.json · F04-conversation-lifecycle-10-patch-on-an-unknown-id-f04-patch-unknown.json

Status-contract defect; the source test currently locks the 200 behavior.

low · F04.delete-unknown-id

DELETE on a missing conversation contradicts its documented 404

Expected: DELETE returns 404 for a missing or already-deleted conversation.
Observed: DELETE on an absent ID returns 400, and a second DELETE after successful deletion also returns 400, despite the documented 404.

Reproduce and inspect evidence
control-agent-server map run --file F04 --only F04.create-initial-message-run-false,F04.create-secrets-get,F04.create-secrets-plain,F04.batch-get-limit,F04.patch-whitespace-title,F04.patch-unknown-id,F04.delete-unknown-id --fresh --repeat 2 --record --keep-going --timeout 420

unknown.json · F04-conversation-lifecycle-12-delete-on-an-unknown-id-f04-delete-unkno.json · unknown.json · F04-conversation-lifecycle-12-delete-on-an-unknown-id-f04-delete-unkno.json

Both the never-created and already-deleted branches reproduced twice.

high · F05.run-error-responsive

Rich exception rendering stalls the entire agent server

Expected: Health and event-count probes remain below 1.5 seconds while a model-provider failure is handled.
Observed: A positive-control /alive request took 67 ms; a failure-time probe took 4,512 ms. The second fresh attempt recorded 10,909 ms, while the request before the failure met the 1.5-second threshold.

Reproduce and inspect evidence
control-agent-server map run --file F05 --only F05.run-error,F05.run-error-responsive,F05.unknown-id-pause,F05.run-conflict,F05.pause-running,F05.pause-running-get,F05.pause-running-release,F05.restart-running-graceful,F05.restart-hard-running,F05.pause-running-crash --fresh --repeat 2 --record --keep-going --timeout 420

after.json · alive-before.json · F05-run-pause-interrupt-02-responsive-while-a-run-fails-f05-run-err.json · after.json

Default console logger.exception renders a large Rich traceback synchronously on the event loop. LOG_JSON=true or LOG_RICH_TRACEBACKS=false is the documented workaround; production Docker uses JSON logging.

low · F05.unknown-id-pause

Pause/interrupt on an unknown conversation use undocumented 400

Expected: Both pause and interrupt return their documented 404 for a missing conversation.
Observed: Both pause and interrupt return 400 for an absent valid UUID, despite GET returning 404 and both OpenAPI routes documenting 404.

Reproduce and inspect evidence
control-agent-server map run --file F05 --only F05.run-error,F05.run-error-responsive,F05.unknown-id-pause,F05.run-conflict,F05.pause-running,F05.pause-running-get,F05.pause-running-release,F05.restart-running-graceful,F05.restart-hard-running,F05.pause-running-crash --fresh --repeat 2 --record --keep-going --timeout 420

pause.json · F05-run-pause-interrupt-03-pause-or-interrupt-an-unknown-id-f05-unk.json · pause.json · F05-run-pause-interrupt-03-pause-or-interrupt-an-unknown-id-f05-unk.json

Each method reproduced twice. Status-only defect.

medium · F05.pause-running-get, F05.pause-running-crash

A mid-call pause is invisible to GET and lost on crash recovery

Expected: GET agrees with the accepted paused state; after SIGKILL/restart the accepted pause remains paused.
Observed: During an accepted mid-call pause, status search and PauseEvent say paused, but GET and base_state.json say running. After SIGKILL, lease expiry, and restart, both PauseEvents remain but GET reports error.

Reproduce and inspect evidence
control-agent-server map run --file F05 --only F05.run-error,F05.run-error-responsive,F05.unknown-id-pause,F05.run-conflict,F05.pause-running,F05.pause-running-get,F05.pause-running-release,F05.restart-running-graceful,F05.restart-hard-running,F05.pause-running-crash --fresh --repeat 2 --record --keep-going --timeout 420
.venv/bin/python /workspace/verification-artifacts/adapted-f05/run-adapted-f05.py map run --file F05 --only F05.restart-running-graceful,F05.restart-hard-running,F05.pause-running-crash --fresh --repeat 2 --record --keep-going --timeout 420

get.json · F05-run-pause-interrupt-06-get-after-a-mid-call-pause-f05-pause-run.json · get.json · F05-run-pause-interrupt-06-get-after-a-mid-call-pause-f05-pause-run.json

One root cause across GET, disk snapshot, and crash recovery: autosave is deferred while model I/O holds save_depth open. In this PID-1 container the killed owner remains a zombie; the adaptation verifies that state, records the remaining owner-lease TTL, waits for expiry, and restarts before the target assertion. Instantaneous dead-owner recovery is not certified.

medium · F06.search-kind-short, F34.events-search-kind

Documented short event kinds silently return empty results

Expected: kind=MessageEvent returns the two user messages, matching their wire kind and the TypeScript client contract.
Observed: The fully qualified MessageEvent filter finds two messages; the documented short kind returns an empty search and count 0. Both routes independently reproduce twice.

Reproduce and inspect evidence
control-agent-server map run --file F06 --only F06.send-no-run,F06.search-kind-short,F06.get-one,F06.unknown-event,F06.send-non-user-role,F06.ws-delete-close,F06.search-timestamp-order --fresh --repeat 2 --record --keep-going --timeout 420

short-name.json · F06-conversation-events-02-short-kind-names-f06-search-kind-short-k.json · short-name.json · F06-conversation-events-02-short-kind-names-f06-search-kind-short-k.json

The service compares module.ClassName rather than the documented wire kind; TypeScript clients following the documentation silently lose history. Aggregate merge: F34.events-search-kind. The TypeScript search drives the same server short-kind versus module.ClassName comparison.

medium · F06.unknown-event, F34.events-unknown-id

One absent event crashes get-one and batch history reads

Expected: Get-one returns 404 for a missing ID; a mixed batch preserves known events and returns null for the missing slot.
Observed: Get-one returns 500 for an absent event ID; a batch containing one valid event and one absent event also returns 500 instead of [event, null]. Both branches reproduce twice.

Reproduce and inspect evidence
control-agent-server map run --file F06 --only F06.send-no-run,F06.search-kind-short,F06.get-one,F06.unknown-event,F06.send-non-user-role,F06.ws-delete-close,F06.search-timestamp-order --fresh --repeat 2 --record --keep-going --timeout 420

get-one.json · F06-conversation-events-04-unknown-event-id-f06-unknown-event-known.json · get-one.json · F06-conversation-events-04-unknown-event-id-f06-unknown-event-known.json

EventLog.get_index raises KeyError before the router can return 404/null; an absent item aborts the whole batch. Aggregate merge: F34.events-unknown-id. The TypeScript lookup drives the same EventLog.get_index missing-ID failure as the REST consumer.

low · F06.send-non-user-role

A schema-valid non-user message causes 500

Expected: Reject assistant-role input with 4xx and append no events, including on an empty log.
Observed: An assistant-role POST returns 500 on both initialized and empty logs. The rejected POST to an empty log also persists a SystemPromptEvent, leaving count 1 instead of 0.

Reproduce and inspect evidence
control-agent-server map run --file F06 --only F06.send-no-run,F06.search-kind-short,F06.get-one,F06.unknown-event,F06.send-non-user-role,F06.ws-delete-close,F06.search-timestamp-order --fresh --repeat 2 --record --keep-going --timeout 420

assistant.json · F06-conversation-events-05-non-user-role-f06-send-non-user-role-kno.json · assistant.json · F06-conversation-events-05-non-user-role-f06-send-non-user-role-kno.json

Role is schema-valid but LocalConversation asserts user. Both response and empty-log mutation branches reproduced twice. Count remains one low-severity malformed-input bug.

medium · F06.search-timestamp-order

Timestamp-based event resume skips delayed stats updates

Expected: A timestamp cut at an observation keeps that observation and every later-listed event in REST and WebSocket replay.
Observed: The marked REST count is lower than the number of events listed from the observation onward.

Reproduce and inspect evidence
control-agent-server map run --file F06 --only F06.send-no-run,F06.search-kind-short,F06.get-one,F06.unknown-event,F06.send-non-user-role,F06.ws-delete-close,F06.search-timestamp-order --fresh --repeat 2 --record --keep-going --timeout 420

count-since-observation.json · F06-conversation-events-08-log-order-is-timestamp-order-f06-search-.json · count-since-observation.json · F06-conversation-events-08-log-order-is-timestamp-order-f06-search-.json

Stats updates are timestamped at model response time, then appended after tool observations; both REST count and legacy socket replay skip a subsequently appended stats event. Replay and unsorted-timestamp assertions separately reproduced twice using real DeepSeek file-editor turns.

medium · F06.ws-delete-close, F07.deleted-close

Deleting a conversation leaves its event/session sockets open

Expected: DELETE closes already subscribed sockets before answering; subsequent reads are 404 and new sockets 4004.
Observed: DELETE succeeds, REST returns 404 and a new socket 4004, but the existing capture remains open with close=null.

Reproduce and inspect evidence
control-agent-server map run --file F06 --only F06.send-no-run,F06.search-kind-short,F06.get-one,F06.unknown-event,F06.send-non-user-role,F06.ws-delete-close,F06.search-timestamp-order --fresh --repeat 2 --record --keep-going --timeout 420
control-agent-server map run --file F07 --only F07.live-order,F07.deleted-close --fresh --repeat 2 --record --keep-going --timeout 420

delete.json · socket.json · F06-conversation-events-06-deleting-a-conversation-closes-its-socke.json · delete.json

The legacy events and session protocols reproduce independently twice. Subscriber.close does not close the WebSocket, leaving connected clients waiting after successful DELETE. This is a socket/task leak; no OS process orphan is claimed.

high · F07.live-order

Out-of-order durable frames can make a session cursor lose a message

Expected: The first user message yields durable seq 0,1,2 in order, matching persisted log order.
Observed: The live socket emits 0,2,1: last_user_message_id is published before the user message at seq 1.

Reproduce and inspect evidence
control-agent-server map run --file F07 --only F07.live-order,F07.deleted-close --fresh --repeat 2 --record --keep-going --timeout 420

order-4b477523-fc4b-41e1-bd20-141a666eb5ce.json · F07-session-socket-01-live-frames-in-seq-order-f07-live-order-.json · order-d06266ef-6639-4e3d-82e9-708fd2dd8bc7.json · F07-session-socket-01-live-frames-in-seq-order-f07-live-order-.json

A client saving the highest sequence and disconnecting after 2 resumes past the missing message. Replay itself is ordered; the message remains on disk.

high · F08.secrets-visible, F08.secrets-unsaved-restart, F04.create-secrets-get

Runtime secret updates are not saved

Expected: GET immediately reflects an updated runtime secret and the secret survives restart.
Observed: GET omits the new secret until another state save; restart before that save loses the credential.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F08 --only F08.secrets-visible,F08.secrets-unsaved-restart --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F08-confirmation-security-secrets-01-runtime-secret-visible-to-get-f08-secret.json · get.json · F08-confirmation-security-secrets-05-unsaved-secret-restart-f08-secrets-unsav.json · get.json

Merged: both observations originate from updating the secret registry without triggering a conversation state save. Not filed by this worker: external reporting and publication remain parent-owned. Aggregate merge: F04.create-secrets-get. Constructor and runtime secret updates mutate LocalConversation.update_secrets without triggering a state save.

low · F08.secrets-bad-value

Non-string secret values return 500

Expected: Numbers, null and booleans are rejected with 422.
Observed: Number, null, and boolean secret values all return 500 instead of 422 in both additional fresh sibling runs.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F08 --only F08.secrets-bad-value --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F08-confirmation-security-secrets-02-non-string-secret-value-f08-secrets-bad-.json · number.json · F08-confirmation-security-secrets-02-non-string-secret-value-f08-secrets-bad-.json · number.json

Not filed by this worker: external reporting and publication remain parent-owned. Number-only original confirmations are supplemented with separate saved exchanges for all three input shapes; no extra defect group is counted.

medium · F09.switch-profile-edited, F09.switch-llm-registered-usage-id

Switch requests reuse stale registered LLM configuration

Expected: A switch installs posted or current profile configuration, or rejects the request.
Observed: A 200 success silently retains an older LLM when its usage_id was registered earlier; editing a saved profile is ignored on later switch.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F09 --only F09.switch-profile-edited,F09.switch-llm-registered-usage-id --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F09-model-switching-plugins-01-switch-to-an-edited-profile-f09-switch-p.json · get.json · switch-again.json · F09-model-switching-plugins-02-switch-onto-a-registered-usage-id-f09-sw.json

Merged: both variants use the first-write-wins LLM registry and silently reuse the previous registration. Not filed by this worker: external reporting and publication remain parent-owned.

low · F09.switch-llm-before-first-run

Switching before first run loses usage accounting

Expected: The successful switched model call appears under its usage_id in stats.
Observed: The run finishes but switched usage has no token or cost entry.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F09 --only F09.switch-llm-before-first-run --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F09-model-switching-plugins-03-switch-before-the-first-run-f09-switch-l.json · stats.json · switch.json · F09-model-switching-plugins-03-switch-before-the-first-run-f09-switch-l.json

Not filed by this worker: external reporting and publication remain parent-owned.

medium · F09.switch-llm-mid-run-get

GET omits an acknowledged mid-run model switch

Expected: GET and persisted state reflect the acknowledged LLM switch.
Observed: The acknowledged switch appears immediately on the WebSocket, but GET still reports the previous default usage_id while the tool step is running, in both fresh repeats.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F09 --only F09.switch-llm-mid-run-get --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F09-model-switching-plugins-05-get-right-after-a-mid-run-switch-f09-swi.json · frames.json · get.json · switch.json

Not filed by this worker: external reporting and publication remain parent-owned. The following contemporaneous base_state assertion was not reached; persisted-state loss and loss on crash are not claimed.

low · F09.acp-model-blank

Pre-run ACP model switch accepts whitespace

Expected: Blank model ids are rejected and the prior model remains.
Observed: Whitespace is accepted with 200 before the ACP session exists.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F09 --only F09.acp-model-blank --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F09-model-switching-plugins-07-blank-acp-model-f09-acp-model-blank-know.json · blank.json · F09-model-switching-plugins-07-blank-acp-model-f09-acp-model-blank-know.json · blank.json

Not filed by this worker: external reporting and publication remain parent-owned.

medium · F09.switch-llm-acp-refused

Native model switch endpoints alter ACP placeholder LLM

Expected: switch_llm and switch_profile reject ACP conversations and retain acp-managed config.
Observed: The endpoints accept and replace the ACP agent placeholder LLM.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F09 --only F09.switch-llm-acp-refused --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F09-model-switching-plugins-08-llm-switches-on-an-acp-conversation-f09-.json · switch-llm.json · switch-profile.json · F09-model-switching-plugins-08-llm-switches-on-an-acp-conversation-f09-.json

Not filed by this worker: external reporting and publication remain parent-owned.

low · F09.acp-model-live-unknown

Unsupported ACP model id returns 500

Expected: A model id absent from available_models is rejected with a client error.
Observed: The Claude ACP adapter model switch surfaces an internal 500.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F09 --only F09.acp-model-live-unknown --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F09-model-switching-plugins-10-unknown-model-on-a-live-session-f09-acp-.json · switch.json · F09-model-switching-plugins-10-unknown-model-on-a-live-session-f09-acp-.json · switch.json

Not filed by this worker: external reporting and publication remain parent-owned.

low · F09.ts-client-acp-docs

TypeScript ACP switch docs promise an absent 409

Expected: Docs explain that a pre-run switch is stored and returns 200.
Observed: Both switchAcpModel docstrings promise 409 before first message.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F09 --only F09.ts-client-acp-docs --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F09-model-switching-plugins-11-typescript-docstrings-for-a-pre-run-acp-.json · F09-model-switching-plugins-11-typescript-docstrings-for-a-pre-run-acp-.json

Not filed by this worker: external reporting and publication remain parent-owned.

medium · F09.load-plugin-twice

Loading a plugin twice duplicates hook side effects

Expected: Repeated plugin loading keeps one copy of its hooks.
Observed: Skills stay deduplicated but identical user_prompt_submit hooks are appended twice.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F09 --only F09.load-plugin-twice --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F09-model-switching-plugins-14-load-the-same-plugin-twice-f09-load-plug.json · get.json · second-load.json · F09-model-switching-plugins-14-load-the-same-plugin-twice-f09-load-plug.json

Not filed by this worker: external reporting and publication remain parent-owned.

low · F10.fork-tags-consistent

Fork tags differ between state and stored metadata

Expected: GET and meta.json agree on inherited tags.
Observed: GET drops source qa=src while meta.json retains it.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F10 --only F10.fork-tags-consistent --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F10-fork-navigate-condense-ask-05-fork-tags-agree-with-the-stored-metadata.json · fork.json · F10-fork-navigate-condense-ask-05-fork-tags-agree-with-the-stored-metadata.json · fork.json

Not filed by this worker: external reporting and publication remain parent-owned.

high · F10.fork-keeps-credentials, F10.fork-run-memory

Fork drops model credentials and cannot continue

Expected: The fork retains encrypted agent and condenser keys and can run with source history.
Observed: Fork base_state has no API key; continuing a DeepSeek fork fails authentication.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F10 --only F10.fork-keeps-credentials,F10.fork-run-memory --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F10-fork-navigate-condense-ask-06-the-fork-keeps-the-model-keys-f10-fork-k.json · F10-fork-navigate-condense-ask-07-a-fork-runs-with-the-source-s-memory-f10.json · auth-errors.json · F10-fork-navigate-condense-ask-06-the-fork-keeps-the-model-keys-f10-fork-k.json

Merged: failed continuation follows from the same missing cipher when fork state is saved. Not filed by this worker: external reporting and publication remain parent-owned.

medium · F10.navigate-final-response

Final-response endpoint returns abandoned branch answer

Expected: Navigating HEAD before the answer makes the active-branch final response empty.
Observed: agent_final_response still returns the abandoned answer.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F10 --only F10.navigate-final-response --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F10-fork-navigate-condense-ask-09-final-response-after-navigating-back-f10.json · after-navigate.json · F10-fork-navigate-condense-ask-09-final-response-after-navigating-back-f10.json · after-navigate.json

Not filed by this worker: external reporting and publication remain parent-owned.

low · F10.condense-status

Disabled condenser is reported as an internal server error

Expected: Missing or no-op condenser is a client configuration error.
Observed: The disabled condenser path returns an unhandled 500 with traceback in both fresh repeats.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F10 --only F10.condense-status --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F10-fork-navigate-condense-ask-10-refusal-status-f10-condense-status-known.json · disabled.json · F10-fork-navigate-condense-ask-10-refusal-status-f10-condense-status-known.json · disabled.json

Not filed by this worker: external reporting and publication remain parent-owned. The separate no-op condenser assertion was not reached after the disabled-case failure.

low · F10.ask-agent-unknown

Side question on unknown conversation returns 500

Expected: Unknown conversation is documented 404.
Observed: ask_agent returns internal 500.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F10 --only F10.ask-agent-unknown --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F10-fork-navigate-condense-ask-11-unknown-conversation-f10-ask-agent-unkno.json · unknown.json · F10-fork-navigate-condense-ask-11-unknown-conversation-f10-ask-agent-unkno.json · unknown.json

Not filed by this worker: external reporting and publication remain parent-owned.

medium · F11.goal-cap-overrun

Goal resume runs beyond max_iterations

Expected: No goal status reports iteration above max_iterations.
Observed: Resuming after failed last judge reports capped 2 of 1 and performs another round.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F11 --only F11.goal-cap-overrun --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F11-goals-02-a-resume-after-a-failed-last-audit-overr.json · goal-events.json · resume.json · F11-goals-02-a-resume-after-a-failed-last-audit-overr.json

Not filed by this worker: external reporting and publication remain parent-owned.

medium · F11.goal-restart-active

Restart leaves an inactive goal marked running

Expected: A loop cancelled by restart is reported interrupted and inactive.
Observed: Conversation restores paused but its latest goal status remains active/running.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F11 --only F11.goal-restart-active --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F11-goals-03-a-loop-active-at-a-restart-stays-running.json · after-restart.json · goal-events.json · F11-goals-03-a-loop-active-at-a-restart-stays-running.json

Not filed by this worker: external reporting and publication remain parent-owned.

medium · F12.sandbox-pause-websocket

Sandbox pause leaves open conversation sockets silent

Expected: Existing sockets close or continue delivering rehydrated conversation events.
Observed: An open socket remains bound to the unloaded service and receives no later new events.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F12 --only F12.sandbox-pause-websocket --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F12-runtime-and-credentials-01-open-sockets-across-a-pause-f12-sandbox-.json · fresh-session-socket.json · fresh-socket.json · old-session-socket.json

Not filed by this worker: external reporting and publication remain parent-owned. Both old events/session captures and their fresh controls were saved before the first failed assertion; both old streams lack the post-pause message and remote-close frame.

medium · F12.binding-native-cold

Pending file-credential binding poisons a native conversation

Expected: A cold native conversation never acquires an ACP credential-binding requirement.
Observed: Binding while native conversation is unloaded creates a persistent requirement that blocks later loading after pause.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F12 --only F12.binding-native-cold --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F12-runtime-and-credentials-02-regular-conversation-not-loaded-f12-bind.json · events-after-pause.json · put.json · F12-runtime-and-credentials-02-regular-conversation-not-loaded-f12-bind.json

Not filed by this worker: external reporting and publication remain parent-owned. The post-pause API loading failure is proved; the later meta.json length assertion was not reached.

medium · F12.managed-key-switch

Model switch loses managed API key refresh hook

Expected: An in-scope switched LLM retries a 401 after fetching managed key.
Observed: First run refreshes; after switch the 401 surfaces, no second fetch or retry, conversation errors.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F12 --only F12.managed-key-switch --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F12-runtime-and-credentials-05-refresh-after-a-model-switch-f12-managed.json · key-fetch.json · F12-runtime-and-credentials-05-refresh-after-a-model-switch-f12-managed.json · key-fetch.json

Not filed by this worker: external reporting and publication remain parent-owned. The pre-assertion wait prints error after the switch in both repeats, while the source sink count stays 1; the final finished-state GET assertion was not reached.

medium · F13.timestamp-offset

Bash timestamp filters compare local spelling rather than instant

Expected: Equivalent UTC and non-UTC offset timestamps select the same events.
Observed: UTC selects the command while equivalent +02:00 timestamp selects none.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F13 --only F13.timestamp-offset --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F13-bash-01-offset-timestamps-f13-timestamp-offset-k.json · plus-two.json · utc.json · F13-bash-01-offset-timestamps-f13-timestamp-offset-k.json

Not filed by this worker: external reporting and publication remain parent-owned.

medium · F13.order-gt-paging

Bash output paging filters order after page limit

Expected: limit=1 with order__gt=0 returns the next output chunk.
Observed: The result is empty with a next_page_id; SDK pollers can miss later chunks and time out.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F13 --only F13.order-gt-paging --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F13-bash-03-order-filter-and-paging-f13-order-gt-pag.json · limit-1.json · limit-2.json · F13-bash-03-order-filter-and-paging-f13-order-gt-pag.json

Not filed by this worker: external reporting and publication remain parent-owned.

medium · F13.execute-large-output

Synchronous bash execution truncates output above 1 MiB

Expected: execute_bash_command returns all 1100012 stdout characters.
Observed: It returns only the final chunk, losing the first 1048576 characters.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F13 --only F13.execute-large-output --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F13-bash-04-large-output-through-execute-f13-execute.json · execute.json · F13-bash-04-large-output-through-execute-f13-execute.json · execute.json

Not filed by this worker: external reporting and publication remain parent-owned.

low · F13.scoped-bad-id

Malformed scoped bash conversation id produces 500

Expected: A non-UUID conversation id is rejected with 422.
Observed: The dependency reads unset runtime_event_service and produces 500.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F13 --only F13.scoped-bad-id --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F13-bash-05-malformed-conversation-id-f13-scoped-bad.json · execute.json · search.json · F13-bash-05-malformed-conversation-id-f13-scoped-bad.json

Not filed by this worker: external reporting and publication remain parent-owned.

high · F13.scoped-idle-eviction

Idle eviction kills a running scoped bash command

Expected: Running scoped commands keep their conversation loaded and can be stopped normally.
Observed: Idle eviction kills the active scoped command and leaves the retained stream without any terminal BashOutput through shutdown 19–20 seconds after eviction. Consumers expecting an exit code may wait until their own timeout.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F13 --only F13.scoped-idle-eviction --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F13-bash-06-idle-eviction-kills-a-running-command-f1.json · F13-bash-06-idle-eviction-kills-a-running-command-f1.json · f13-idle-eviction-terminal-evidence.json

Not filed by this worker: external reporting and publication remain parent-owned. The independent terminal-event evidence checks both retained owned BashCommand streams. No actual client poller wait, rehydration, or later stop API was exercised. See f13-idle-eviction-terminal-evidence.json.

low · F14.upload-onto-directory

Invalid upload target is reported as server failure

Expected: Directory target or parent-file collision yields 4xx.
Observed: Upload maps both collisions to a masked 500.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F14 --only F14.upload-onto-directory --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F14-files-02-upload-onto-a-directory-f14-upload-onto-.json · upload.json · F14-files-02-upload-onto-a-directory-f14-upload-onto-.json · upload.json

Not filed by this worker: external reporting and publication remain parent-owned. Two additional fresh sibling runs save 500 responses for both existing-directory and parent-is-file collisions.

low · F14.upload-size

Remote upload results omit file_size in Python and TypeScript

Expected: Both remote clients report the 70000-byte upload size, as LocalWorkspace does.
Observed: Bytes upload intact; Python returns None and TypeScript returns undefined for file_size.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F14 --only F14.upload-size --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F14-files-03-upload-size-in-the-consumers-result-f14-.json · rest.json · sdk.json · ts.json

Not filed by this worker: external reporting and publication remain parent-owned.

high · F14.upload-atomic

Failed overwrite destroys the previous file

Expected: Mid-write EFBIG failure leaves the previous uploaded file intact.
Observed: The existing target is truncated and replaced by 500000 partial bytes despite 500.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F14 --only F14.upload-atomic --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F14-files-04-failed-overwrite-f14-upload-atomic-known.json · F14-files-04-failed-overwrite-f14-upload-atomic-known.json

Not filed by this worker: external reporting and publication remain parent-owned.

medium · F14.subdirs-case-pagination

Case-only sibling directory names loop pagination

Expected: Pagination over Foo and foo reaches both directories.
Observed: The lowercased cursor repeats the first page indefinitely.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F14 --only F14.subdirs-case-pagination --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F14-files-05-paging-past-a-case-only-twin-f14-subdirs.json · page-2.json · F14-files-05-paging-past-a-case-only-twin-f14-subdirs.json · page-2.json

Not filed by this worker: external reporting and publication remain parent-owned.

low · F14.archive-format-doc

Archive format description omits nested-repository selection

Expected: The OpenAPI format description matches archive contents.
Observed: It promises the entire directory but a single nested repository excludes adjacent top.txt.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F14 --only F14.archive-format-doc --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F14-files-06-what-format-promises-f14-archive-format-.json · tar.json · F14-files-06-what-format-promises-f14-archive-format-.json · tar.json

Not filed by this worker: external reporting and publication remain parent-owned.

medium · F14.trajectory-concurrent

Concurrent trajectory exports share and corrupt one temporary ZIP

Expected: All concurrent downloads return 200 and valid ZIP bytes.
Observed: Shared temporary path is overwritten/unlinked across handlers, causing broken downloads and 500s.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F14 --only F14.trajectory-concurrent --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F14-files-08-concurrent-trajectory-downloads-f14-traj.json · burst.json · F14-files-08-concurrent-trajectory-downloads-f14-traj.json · burst.json

Not filed by this worker: external reporting and publication remain parent-owned.

medium · F14.trajectory-init-path

Trajectory export ignores init-time conversations_path

Expected: Both trajectory routes export the conversation stored at the initialized path.
Observed: GET finds the conversation but trajectory export reads the launch-time default and returns 404.

Reproduce and inspect evidence
PATH=/workspace/verification-artifacts/f08-f14-harness/.agents/skills/verify-agent-server/scripts:$PATH control-agent-server map run --file F14 --only F14.trajectory-init-path --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F14-files-11-init-time-conversations-path-f14-traject.json · F14-files-11-init-time-conversations-path-f14-traject.json · F14-files-02-init-time-conversations-path-f14-traject.json · global.json

Not filed by this worker: external reporting and publication remain parent-owned. Two additional fresh sibling runs save 404 responses from both the global and scoped export routes after custom init-time conversation storage was configured.

medium · F15.changes-repo-below-path

Changes misses a repository below the requested workspace directory

Expected: A plain workspace directory containing one repository returns its two changes prefixed with proj/.
Observed: HTTP 200 [] although GET for the nested repository returns UPDATED README.md and ADDED notes.txt.

Reproduce and inspect evidence
control-agent-server map run --file F15 --only F15.changes-repo-below-path --fresh --repeat 2 --record --keep-going

ws.json · ws.json

Known map bug, independently reproduced twice. Typical repository-backed workspace layout.

medium · F15.changes-special-names

Changes rejects tracked filenames with spaces and mangles non-ASCII filenames

Expected: HTTP 200 [{status: UPDATED, path: my notes.md}] with the real filename.
Observed: A modified tracked my notes.md makes the entire Changes response HTTP400: Unexpected git diff output format: M\tmy notes.md. In both supplemental fresh runs a modified café.txt is returned as the quoted/mangled path "caf/303/251.txt" instead of its real filename.

Reproduce and inspect evidence
control-agent-server map run --file F15 --only F15.changes-special-names --fresh --repeat 2 --record --keep-going

space.json · space.json · non-ascii.json · non-ascii.json

The original space case is confirmed twice. Copied recipes preserve the same assertions while continuing through sibling cases, and two further fresh runs independently prove the non-ASCII branch. Supplemental command and adaptations: F15-recipe-adaptation.md; family-results/F15-supplemental.json.

medium · F15.changes-subdir-paths

Changes returns tracked and untracked paths on inconsistent bases when querying a repository subdirectory

Expected: Every returned path resolves against one consistent base (requested src directory or repository root).
Observed: HTTP 200 [UPDATED README.md, ADDED new.py, UPDATED src/app.py]; no single base resolves all returned paths, and README.md is outside the requested src directory.

Reproduce and inspect evidence
control-agent-server map run --file F15 --only F15.changes-subdir-paths --fresh --repeat 2 --record --keep-going

src.json · src.json

Known map bug. Fixture repository-root positive control returns all four changes with consistent paths.

medium · F15.diff-whitespace

An unchanged indented file has a phantom diff because original text loses indentation

Expected: An unchanged file has identical original and modified text.
Observed: An unchanged indented file returns original indented line\nbody without its two leading spaces, while modified retains them. Both supplemental fresh runs also return original body and modified body followed by two newlines for the unchanged trailing-blank-line file. Changes lists neither unchanged file.

Reproduce and inspect evidence
control-agent-server map run --file F15 --only F15.diff-whitespace --fresh --repeat 2 --record --keep-going

lead.json · lead.json · trail.json · trail.json

Leading-indentation failure confirmed twice in the original recipe. CRLF positive controls pass. Copied recipe continues after the indentation assertion and independently proves trailing-blank-line loss in two further fresh runs.

medium · F15.diff-deleted-file

Diff cannot read a working-tree file that Changes correctly lists as deleted

Expected: HTTP 200 original from HEAD and modified empty string for a tracked deleted file.
Observed: Changes lists DELETED src/util.py, but Diff answers HTTP 400 'File does not exist: .../src/util.py'.

Reproduce and inspect evidence
control-agent-server map run --file F15 --only F15.diff-deleted-file --fresh --repeat 2 --record --keep-going

diff.json · diff.json

Known map bug. Deletion-list positive control reaches the file before diff failure.

high · F20.store-busy-responsive

Waiting for the LLM profile store lock stalls unrelated server requests

Expected: GET /alive must answer within 3000ms while a profile save waits for the store lock, as it does with no lock.
Observed: GET /alive returned 200 only after 25,771ms in the initial run and 23,523ms in the clean run. In both runs the waiting save returned 503 after approximately 30 seconds, no profile was created, and the exact timing assertion failed.

Reproduce and inspect evidence
control-agent-server map run --file F20 --only F20.store-busy-responsive --fresh --repeat 2 --record --keep-going --checkout /workspace/agent-sdk-verify

alive.json · busy-save.json · F20-llm-profiles-11-lock-wait-blocks-the-server-f20-store-bu.json · alive.json

Already independently confirmed twice and present in triage-f15-f21.json. Initial evidence occurred before the later ENOSPC interruption and has matching saved controls and failed assertion. Related F21 busy-lock case is listed separately pending its own repeated confirmation. No rerun or shared triage mutation was performed during extraction.

medium · F18.dangling-pointers

Settings PATCH accepts nonexistent agent and meta profile targets

Expected: PATCH /api/settings must reject nonexistent active_agent_profile_id and active_meta_profile targets with 404, as their dedicated activate routes do, without enabling a switch tool for a nonexistent meta-profile.
Observed: In both runs each dedicated activate route returned 404, but PATCH returned 200 with the nonexistent agent UUID or meta-profile name in the active pointer. The meta-profile PATCH also returned enable_classify_and_switch_llm_tool=true.

Reproduce and inspect evidence
control-agent-server map run --file F18 --only F18.dangling-pointers --fresh --repeat 2 --record --checkout /workspace/agent-sdk-verify

activate-agent-profile.json · agent-profile-id.json · activate-meta-profile.json · meta-profile.json

Grouped the agent and meta variants under the same feature ID and missing-target validation symptom. The saved response confirms acceptance and returned state; the map-described lazy default-profile suppression was not separately exercised in these focused repeats. Not filed: this task is read-only saved-evidence extraction; no issue lookup or external action was performed. Both fresh runs used checkout SHA acca181af1f353975965bcf6486e1d0a58f444c0. Reproduction commands are provided for review and were not rerun during extraction.

medium · F18.secret-scope-profile-errors

Scoped secret listing returns unhandled 500 for agent profile store errors

Expected: GET /api/settings/secrets?agent_profile_id= must map malformed agent-profile data to 400 and a busy profile-store lock to 503, matching the agent-profile routes.
Observed: In both runs the malformed profile control returned 400, while scoped secret listing returned 500 with the validation exception. With the lock held, the profile route returned 503 after about 30 seconds, while scoped secret listing returned 500 with Agent profile store lock acquisition timed out after 30.0s (about 32.6 seconds).

Reproduce and inspect evidence
control-agent-server map run --file F18 --only F18.secret-scope-profile-errors --fresh --repeat 2 --record --checkout /workspace/agent-sdk-verify

agent-profile-route.json · unloadable.json · agent-profile-busy.json · secrets-busy.json

Grouped malformed-data and busy-lock cases because they exercise the same scoped-list entry point and absent profile-store error mapping, with both control/target pairs independently saved in each run. Not filed: this task is read-only saved-evidence extraction; no issue lookup or external action was performed. Both fresh runs used checkout SHA acca181af1f353975965bcf6486e1d0a58f444c0. Reproduction commands are provided for review and were not rerun during extraction.

low · F18.secret-name-contract

Secret GET OpenAPI promises the wrong invalid-name status

Expected: The published GET /api/settings/secrets/{name} invalid-name status must match the live route response (422), or the route must return its published 400.
Observed: Both saved OpenAPI documents say 400 if name format is invalid for GET; GET /api/settings/secrets/1bad returned 422 in both runs, failing the assertion derived from that published description.

Reproduce and inspect evidence
control-agent-server map run --file F18 --only F18.secret-name-contract --fresh --repeat 2 --record --checkout /workspace/agent-sdk-verify

openapi.json · invalid-name.json · F18-settings-and-secrets-06-documented-status-for-an-invalid-name-f1.json · openapi.json

The saved DELETE description also says 400, but DELETE was not driven by these focused repeats. PUT already documents 422 in both saved OpenAPI documents; the frozen recipe prose claiming PUT also says 400 is stale and is excluded from this confirmed bug. Not filed: this task is read-only saved-evidence extraction; no issue lookup or external action was performed. Both fresh runs used checkout SHA acca181af1f353975965bcf6486e1d0a58f444c0. Reproduction commands are provided for review and were not rerun during extraction.

high · F18.secret-key-rotation

An unrelated secret write after cipher rotation destroys existing secret ciphertext

Expected: When ciphertext cannot be decrypted with the current cipher key, a write must reject the operation or preserve the old ciphertext so restoring the old key recovers the existing values.
Observed: In both runs rotating the cipher key and restoring it without a write recovered the original secret and LLM key. After another rotation, PUT of an unrelated secret returned 200 and an unrelated misc-settings PATCH also returned 200. Once the original key was restored, the saved state assertion showed custom_secrets.QA_F18_TOKEN.secret=null instead of its previous Fernet ciphertext.

Reproduce and inspect evidence
control-agent-server map run --file F18 --only F18.secret-key-rotation --fresh --repeat 2 --record --checkout /workspace/agent-sdk-verify

read-under-new-key.json · settings-under-new-key.json · control-rotated-back.json · put-under-new-key.json

The decisive post-restore persisted-null assertion is inside the map-run transcript, not a separate HTTP exchange. Each recipe stops at that first failing secrets.json assertion. The later settings.json ciphertext assertion and final post-restore GET checks were not executed, so permanent LLM-key loss and final HTTP reads are not claimed as independently confirmed here. Not filed: this task is read-only saved-evidence extraction; no issue lookup or external action was performed. Both fresh runs used checkout SHA acca181af1f353975965bcf6486e1d0a58f444c0. Reproduction commands are provided for review and were not rerun during extraction.

low · F17.noop-delete-no-file, F17.noop-write-untouched

Workspace registry no-op mutations unnecessarily create or rewrite the persistence file

Expected: A refused DELETE on a fresh directory must leave workspaces.json absent; re-posting identical registered workspaces must preserve the existing file inode and modification time, as GET does.
Observed: Both runs begin with no workspaces.json, return 404 for the two unknown-path deletes, keep both lists empty, then find a newly created file. Later an identical re-add returns 200 with the same registry body as before, but the inode/modification-time equality assertion fails; the preceding GET leaves that equality intact.

Reproduce and inspect evidence
control-agent-server map run --file F17 --only F17.noop-delete-no-file,F17.add-workspaces,F17.wire-format,F17.idempotent-add,F17.delete-workspace,F17.noop-write-untouched --fresh --repeat 2 --record --keep-going --checkout /workspace/agent-sdk-verify

delete.json · F17-workspaces-registry-01-a-refused-delete-on-a-fresh-directory-f1.json · get.json · readd.json

Grouped file creation and identical-content replacement as one persistence no-op defect. The re-add branch stops at its first failed stamp comparison; subsequent unknown workspace/parent DELETE stamp checks are not reached. F17.noop-write-readonly is blocked by missing chattr and is not included as a verified symptom. Explicit arrange IDs are included because F17 recipes lack Requires declarations. Confirmed on two fresh runs at checkout SHA acca181af1f353975965bcf6486e1d0a58f444c0. Not filed: read-only saved-evidence extraction performed no issue lookup, rerun, or external action.

low · F19.settings-empty-server

MCP settings accept a server with neither command nor URL

Expected: POST /api/settings/mcp/qa-empty with {} must return 422 and leave no stored server.
Observed: Both fresh runs confirm the key is initially absent, then POST {} returns 201 with qa-empty={enabled:true} in the returned MCP settings. The recipe removes the accepted entry and fails its explicit false guard.

Reproduce and inspect evidence
control-agent-server map run --file F19 --only F19.settings-empty-server --fresh --repeat 2 --record --keep-going --checkout /workspace/agent-sdk-verify

create.json · F19-mcp-01-server-with-neither-command-nor-url-f19-.json · create.json · F19-mcp-01-server-with-neither-command-nor-url-f19-.json

Only malformed configuration acceptance is proved. The frozen prose claims this can remove all MCP tools from future conversations, but these focused repeats do not independently drive that downstream behavior; no tool-loss severity claim is made. Confirmed on two fresh runs at checkout SHA acca181af1f353975965bcf6486e1d0a58f444c0. Not filed: read-only saved-evidence extraction performed no issue lookup, rerun, or external action.

low · F19.oauth-callback-replay

Replaying a completed MCP OAuth callback returns an unhandled server error

Expected: Submitting the callback again for a succeeded local OAuth job must return a handled result (200 or a 4xx such as 409).
Observed: Both runs complete the local OAuth flow and show the job succeeded/callback_ready=true immediately before replay. The repeated callback POST returns 500 with exception All connection attempts failed.

Reproduce and inspect evidence
control-agent-server map run --file F19 --only F19.oauth-callback-replay --fresh --repeat 2 --record --keep-going --checkout /workspace/agent-sdk-verify

succeeded.json · replay.json · F19-mcp-04-replayed-callback-f19-oauth-callback-rep.json · succeeded.json

The assertion stops at the replay response; the later status-unchanged GET is not reached. The frozen map claim about callbacks after consent timeout is not independently exercised. Only the local saved OAuth fixture was involved. Confirmed on two fresh runs at checkout SHA acca181af1f353975965bcf6486e1d0a58f444c0. Not filed: read-only saved-evidence extraction performed no issue lookup, rerun, or external action.

low · F19.oauth-callback-bad-port

An out-of-range OAuth callback port returns 500 instead of a validation error

Expected: A callback URL with port 99999 must return 400, as an incorrect in-range port does.
Observed: Both runs arrange a local OAuth job awaiting consent, accept the ready-state check, and return 400 Unexpected OAuth callback URL for port 1. Posting port 99999 returns 500 with exception Port out of range 0-65535.

Reproduce and inspect evidence
control-agent-server map run --file F19 --only F19.oauth-callback-bad-port --fresh --repeat 2 --record --keep-going --checkout /workspace/agent-sdk-verify

port-99999.json · F19-mcp-05-port-out-of-range-f19-oauth-callback-bad.json · port-99999.json · F19-mcp-05-port-out-of-range-f19-oauth-callback-bad.json

The recipe stops at the port-99999 failure. The subsequent nonnumeric port abc and final still-authorizing check are not reached, so neither is claimed as confirmed. Confirmed on two fresh runs at checkout SHA acca181af1f353975965bcf6486e1d0a58f444c0. Not filed: read-only saved-evidence extraction performed no issue lookup, rerun, or external action.

low · F16.vscode-url-not-running

A stopped VS Code editor is still advertised with a usable-looking URL

Expected: With enabled=true and running=false, both URL routes return url=null.
Observed: Both fresh keyed servers report running=false but the global URL returns a localhost editor URL carrying the redacted session token. The scoped URL-shape controls also return editor URLs.

Reproduce and inspect evidence
control-agent-server map run --file F16 --only F16.vscode-enabled-status,F16.vscode-url-shape,F16.vscode-url-not-running --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F16-workspace-serving-and-vscode-03-not-running-still-advertised-f16-vscode-.json · global.json · F16-workspace-serving-and-vscode-03-not-running-still-advertised-f16-vscode-.json · global.json

The keyless and deferred-init controls return null in both fresh runs. This is a dead-link/metadata defect; the caller already holds the token. The dedicated scoped null assertion follows the failed global assertion and is not reached. Not filed: parent owns external reporting; no issue was filed by this worker.

medium · F16.vscode-folder-encoding

VS Code URLs do not encode folder names containing ampersand or hash

Expected: Parsing the URL yields exactly the requested folder and no fragment.
Observed: The saved scoped URL pastes qa f16&x=1#frag literally: a URL parser reads a truncated folder, an extra x parameter, and a fragment. The normal-folder control passes in both runs.

Reproduce and inspect evidence
control-agent-server map run --file F16 --only F16.vscode-enabled-status,F16.vscode-url-shape,F16.vscode-folder-encoding --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F16-workspace-serving-and-vscode-04-folder-with-and-f16-vscode-folder-encodi.json · odd-folder.json · F16-workspace-serving-and-vscode-04-folder-with-and-f16-vscode-folder-encodi.json · odd-folder.json

No editor binary is installed. This confirms the URL returned by the real API and its browser parsing, not opening the editor. The URL is observable through the separately confirmed stopped-editor advertisement defect. Not filed: parent owns external reporting; no issue was filed by this worker.

medium · F16.docker-root-cookie

Cookie authentication fails on the slashless Docker workspace root

Expected: With the workspace-session cookie, slash and slashless routes both reach the conversation lookup (404 for the chosen unknown UUID).
Observed: In both fresh Docker-mode subprocesses the slashed route returns 404 with the cookie, but the slashless route returns 401 Unauthorized. Header-auth controls reach the conversation lookup for both forms.

Reproduce and inspect evidence
control-agent-server map run --file F16 --only F16.docker-root-cookie --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F16-workspace-serving-and-vscode-07-docker-mode-root-and-the-cookie-f16-dock.json · slash.json · slashless.json · F16-workspace-serving-and-vscode-07-docker-mode-root-and-the-cookie-f16-dock.json

This proves startup route/auth dispatch with OH_CONVERSATION_RUNTIME=docker; a Docker conversation/container is not used. The fresh parent map runs each launch and stop their own isolated Docker-mode server. Not filed: parent owns external reporting; no issue was filed by this worker.

high · F21.busy-blocks-server

Waiting for the agent-profile store lock stalls unrelated server requests

Expected: GET /alive must answer within 2000ms while an agent-profile request waits for the store lock.
Observed: No-lock /alive controls pass, but while the profile request waits for its store lock, /alive returns 200 only after 25,097ms and 25,063ms in the two fresh targeted runs.

Reproduce and inspect evidence
control-agent-server map run --file F21 --only F21.save-create,F21.acp-kind,F21.busy-blocks-server --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going --timeout 420

F21-agent-profiles-03-lock-wait-stalls-the-server-f21-busy-blo.json · alive.json · F21-agent-profiles-03-lock-wait-stalls-the-server-f21-busy-blo.json · alive.json

This matches the already-confirmed F20 LLM-profile-store stall family, but this agent-profile variant currently has only one clean-run proof. The recipe stops at the timing assertion; shell exit releases the held lock. Two further fresh targeted confirmations now reproduce the exact marked failures. Not filed: read-only evidence extraction performed no issue lookup or external action.

medium · F21.ts-payload-types

Exported TypeScript agent-profile types reject live server payload fields

Expected: The exported OpenHandsAgentProfile, ACPAgentProfile, and AgentProfileDiagnostics types must accept all fields of live payloads accepted by the generated server contract.
Observed: The generated-contract shape file type-checked. The exported shape file failed tsc with TS2353 for disabled_skills on OpenHandsAgentProfile, acp_startup_timeout on ACPAgentProfile, and resolved_mcp_config_keys on AgentProfileDiagnostics; the summary type produced no error. Both cited fresh targeted repeats reproduce this outcome; the exact per-attempt values are in the saved exchanges/transcripts.

Reproduce and inspect evidence
control-agent-server map run --file F21 --only F21.save-create,F21.acp-kind,F21.ts-payload-types --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going --timeout 420

F21-agent-profiles-04-typescript-payload-types-f21-ts-payload-.json · F21-agent-profiles-04-typescript-payload-types-f21-ts-payload-.json

Use the full-family command to ensure qa-f21-coder and qa-f21-acp fixture profiles exist; the selected recipe has no Requires declarations for those arrange steps. The compiler errors and payload snapshots are local saved evidence; no rebuild or network operation was performed during extraction. Two further fresh targeted confirmations now reproduce the exact marked failures. Not filed: read-only evidence extraction performed no issue lookup or external action.

medium · F21.json-suffix-identity

Overwriting an agent profile whose name ends in .json changes its identity

Expected: A repeated save of the same accepted name must retain the original profile id and increment revision to 1, or the .json-suffixed name must be rejected with 422 and nothing stored.
Observed: The accepted profile was activated under id 25f93991-4f33-4a2d-a179-bcff203c003b. A second save updated the LLM reference to deepseek-pro but returned a profile with different id be7b87d6-80df-4dd7-9f2c-62d429d7224e and revision 0. The saved identity/revision assertion failed. Both cited fresh targeted repeats reproduce this outcome; the exact per-attempt values are in the saved exchanges/transcripts.

Reproduce and inspect evidence
control-agent-server map run --file F21 --only F21.save-create,F21.acp-kind,F21.json-suffix-identity --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going --timeout 420

F21-agent-profiles-05-json-names-lose-their-identity-f21-json-.json · after-overwrite.json · F21-agent-profiles-05-json-names-lose-their-identity-f21-json-.json · after-overwrite.json

The recipe stops at its first identity/revision failure. The later DELETE and GET /api/settings pointer-clear assertion were not reached, so delete behavior and the final active pointer are not independently claimed. The original id is proven by the saved activation exchange inside the transcript. Two further fresh targeted confirmations now reproduce the exact marked failures. Not filed: read-only evidence extraction performed no issue lookup or external action.

low · F20.validate-bad-key-type

DeepSeek authentication failure is classified as a bad request

Expected: A provider authentication_error should be reported as LLMAuthenticationError.
Observed: POST /api/profiles/qa-draft/validate returned 200 valid=false with error.type=LLMBadRequestError, although its redacted provider message contains authentication_error. The saved jq assertion expecting LLMAuthenticationError failed. Both cited fresh targeted repeats reproduce this outcome; the exact per-attempt values are in the saved exchanges/transcripts.

Reproduce and inspect evidence
control-agent-server map run --file F20 --only F20.validate-bad-key-type --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going --timeout 420

F20-llm-profiles-01-deepseek-401-type-f20-validate-bad-key-t.json · deepseek-401.json · F20-llm-profiles-01-deepseek-401-type-f20-validate-bad-key-t.json · deepseek-401.json

The observed failure is error classification; validation honestly returns valid=false and the posted credential is absent from the provider message. The saved exchange does not include a separate upstream HTTP-status capture. Two further fresh targeted confirmations now reproduce the exact marked failures. Not filed: read-only evidence extraction performed no issue lookup or external action.

medium · F20.validate-unreachable-bounded, F20.validate-hang-bounded

Profile validation with default retries and timeout exceeds its 30-second bound

Expected: Validation should return a verdict within 30 seconds for a refused connection or a provider that never responds, with the default retry and timeout settings.
Observed: A refused localhost connection returned valid=false/LLMServiceUnavailableError after 120,553ms and 120,482ms. In both fresh runs the hanging fixture received the provider request, the CLI reached its30-second ReadTimeout, /alive stayed responsive, and a hard restart cancelled the in-flight validation. The exact marked bound assertions failed.

Reproduce and inspect evidence
control-agent-server map run --file F20 --only F20.validate-unreachable-bounded,F20.validate-hang-bounded --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going --timeout 420

F20-llm-profiles-02-unreachable-endpoint-is-slow-f20-validat.json · default-retries.json · F20-llm-profiles-03-hanging-provider-is-slower-f20-validate-.json · stub-request.json

Grouped the two variants because profile validation inherits the LLM default retry/timeout policy without a bounded preflight budget. No 27-minute terminal duration or eventual hanging-provider verdict is claimed: the focused recipe intentionally cancels it after proving the 30-second timeout. Two further fresh targeted confirmations now reproduce the exact marked failures. Not filed: read-only evidence extraction performed no issue lookup or external action.

medium · F20.json-alias-guard

Deleting an LLM profile through its .json alias bypasses the reference guard

Expected: Deleting the .json alias of a referenced profile must return 409 and preserve the profile, as deleting the plain name does.
Observed: The plain-name DELETE returned 409 naming the agent referrer and GET through the alias read the profile. Alias DELETE returned 200; the following plain-name GET returned 404 while the referencing agent profile still existed. Cleanup completed before the saved 409 assertion failed. Both cited fresh targeted repeats reproduce this outcome; the exact per-attempt values are in the saved exchanges/transcripts.

Reproduce and inspect evidence
control-agent-server map run --file F20 --only F20.json-alias-guard --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going --timeout 420

F20-llm-profiles-04-delete-through-the-json-alias-f20-json-a.json · delete.json · after.json · F20-llm-profiles-04-delete-through-the-json-alias-f20-json-a.json

Alias rename and active-profile pointer aftermath mentioned in frozen prose were not independently driven by this recipe and are excluded. Two further fresh targeted confirmations now reproduce the exact marked failures. Not filed: read-only evidence extraction performed no issue lookup or external action.

medium · F20.secret-key-rotation

Profile activation accepts an undecryptable stored key after cipher rotation

Expected: Activation must refuse a profile whose encrypted key cannot be decrypted, preserving the previous active profile and settings ciphertext.
Observed: After rotation the profile file retained Fernet ciphertext, profile detail returned config.api_key=null/api_key_set=false, while the list reported api_key_set=true. Activation returned 200 and llm_applied=true instead of 4xx, failing the exact activation assertion. Both cited fresh targeted repeats reproduce this outcome; the exact per-attempt values are in the saved exchanges/transcripts.

Reproduce and inspect evidence
control-agent-server map run --file F20 --only F20.secret-key-rotation --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going --timeout 420

F20-llm-profiles-05-secret-key-rotation-f20-secret-key-rotat.json · detail.json · list.json · activate.json

The recipe stops at activation. Later GET /api/settings and settings.json ciphertext checks were not reached; persisted settings destruction, a changed active pointer, and a subsequent conversation failure are not independently confirmed by this saved attempt. Two further fresh targeted confirmations now reproduce the exact marked failures. Not filed: read-only evidence extraction performed no issue lookup or external action.

high · F22.store-busy-responsive, F23.store-busy-responsive

Synchronous profile-store locks freeze the server

Expected: GET /alive responds within 3000 ms while a meta-profile save waits on the store lock.
Observed: F22 meta-profile save lock waits stall /alive for 29,087 and 27,731 ms; F23 provider-connection list lock waits also stall /alive while idle controls remain fast.

Reproduce and inspect evidence
control-agent-server map run --file F22 --only F22.save-classes,F22.store-busy-responsive --fresh --repeat 2 --record --keep-going
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F23-llm-catalog-and-connections.md --only F23.models-no-bedrock,F23.conn-create,F23.conn-create-blank-key,F23.conn-patch-blank-key,F23.validate-linked-draft,F23.store-busy-responsive --fresh --record --keep-going --timeout 360

F22-lock-confirm-1-doctor-after.json · F22-lock-confirm-1-doctor-before.json · F22-lock-confirm-2-doctor-after.json · F22-lock-confirm-2-doctor-before-retry.json

The async meta-profile router calls the synchronous file-locked MetaProfileStore on the event loop. The same root cause may be grouped with F20/F23 store lock stalls, if each endpoint's proof and counting convention are retained. Both clean confirmations use explicit fresh launch, successful doctor before map driving, doctor after recovery, and targeted stop. Second run required an initial OpenAPI warmup retry before driving. F22.save-classes supplies the undeclared store-directory prerequisite. No model inference occurs in the selected recipe. Grouped F22/F23 synchronous store operations on async request paths. Each endpoint has its own two fresh proofs. Root may group the separately verified F20 route with this mechanism, preserving every endpoint proof.

low · F28.prepare-corrupt-archive

Matching-checksum non-gzip backend archive returns unhandled 500

Expected: POST backend/prepare rejects invalid archive format with HTTP 409 and records no approval.
Observed: Both fresh runs return HTTP 500 with exception not a gzip file after checksum validation.

Reproduce and inspect evidence
control-agent-server map run --file F28 --only F28.prepare-corrupt-archive --fresh --repeat 2 --record

prepare.json · F28-canvas-extensions-01-non-gzip-artifact-f28-prepare-corrupt-ar.json · prepare.json · F28-canvas-extensions-01-non-gzip-artifact-f28-prepare-corrupt-ar.json

tarfile.ReadError escapes the router ValueError mapping. The case stops at this invalid-format assertion; later no-write checks in the recipe are not reached.

medium · F25.install-unknown-ref, F28.install-ref-cached

Cached installs silently accept a nonexistent git ref

Expected: An unknown ref returns HTTP 400 and leaves the existing pinned install untouched.
Observed: Both Canvas and skill endpoints accept the nonexistent ref with 200 when the source is cached and install the cached checkout.

Reproduce and inspect evidence
control-agent-server map run --file F28 --only F28.install-ref-cached --fresh --repeat 2 --record
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F25-skills.md --only F25.marketplace-public,F25.install-bad-frontmatter,F25.install-documented-sources,F25.install-unknown-ref,F25.refresh-unfetchable,F25.sync-offline,F25.marketplace-stale-cache --fresh --record --keep-going --timeout 360

unknown-ref.json · F28-canvas-extensions-02-unknown-ref-on-a-cached-source-f28-insta.json · unknown-ref.json · F28-canvas-extensions-02-unknown-ref-on-a-cached-source-f28-insta.json

The first pinned install is the positive control; the cache falls back after checkout failure. This shares a generic cached-repository cause with F25 but each driving bullet is counted separately unless grouping is explained. Grouped F25/F28 shared cached-repository fallback defect; each endpoint has two fresh proofs. No duplicate bug count.

medium · F28.status-probe-latch

One slow health probe permanently latches a recovered backend unhealthy

Expected: After direct health returns ok again, backend status returns ready without manual stop/start.
Observed: Both fresh runs keep reporting unhealthy during the five-second recovery poll, despite direct health ok and a live serving process.

Reproduce and inspect evidence
control-agent-server map run --file F28 --only F28.status-probe-latch --fresh --repeat 2 --record

after-recovery.json · F28-canvas-extensions-03-health-probe-latch-f28-status-probe-latc.json · after-recovery.json · F28-canvas-extensions-03-health-probe-latch-f28-status-probe-latc.json

The slow probe has a one-second timeout. Once unhealthy, later status calls do not probe again. No timing-only model assertions are involved.

high · F28.hard-restart-orphan

A live backend survives the server crash while status says stopped

Expected: No backend process of the dead server survives its hard restart.
Observed: Both fresh runs report stopped with null pid after restart while pgrep of the run-private artifact path still finds the live backend.

Reproduce and inspect evidence
control-agent-server map run --file F28 --only F28.hard-restart-orphan --fresh --repeat 2 --record

status-after-crash.json · F28-canvas-extensions-04-backend-outlives-a-crash-f28-hard-restar.json · status-after-crash.json · F28-canvas-extensions-04-backend-outlives-a-crash-f28-hard-restar.json

The backend starts a new session and survives SIGKILL with parent pid 1. Matching the artifact command path excludes an empty-cmdline zombie; this is separate from the unreaped-child observation limit in backend-stop/status-exit-hang. Automatic targeted CLI stop reaps owned orphans.

low · F22.empty-router

A meta-profile with no routing mode is accepted

Expected: Reject a router with neither classes nor direct prompt with 422.
Observed: POST with only classifier_model returns 201 and persists an unusable routing configuration.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F22-meta-profiles.md --only F22.save-classes,F22.save-direct,F22.empty-router,F22.activate-acp,F22.corrupt-settings,F22.persistence-dir --fresh --record --keep-going --timeout 360

save.json · F22-meta-profiles-05-router-with-no-route-f22-empty-router-kn.json · save.json · F22-meta-profiles-03-router-with-no-route-f22-empty-router-kn.json

Validation defect; the model validator documents requiring one routing mode. Trap removes the test profile.

medium · F22.activate-acp

Meta-profile activation reports success while ACP drops it

Expected: Refuse activation or explicitly report that it was not applied.
Observed: Activation returns 200 activated while both settings and the list retain active_meta_profile=null on an ACP agent.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F22-meta-profiles.md --only F22.save-classes,F22.save-direct,F22.empty-router,F22.activate-acp,F22.corrupt-settings,F22.persistence-dir --fresh --record --keep-going --timeout 360

activate.json · list.json · F22-meta-profiles-17-activation-on-acp-settings-f22-activate-.json · activate.json

Both runs verify the ACP state and restore OpenHands settings afterwards; the copied recipe arranges the previously undeclared qa-direct activation.

low · F22.corrupt-settings

Corrupted settings produce an unmapped meta-profile activation error

Expected: Return 409 like LLM-profile activation and retain the corrupted file.
Observed: The LLM-profile control returns 409; meta-profile activation returns 500 for the same corrupted file. The file remains unchanged and is restored.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F22-meta-profiles.md --only F22.save-classes,F22.save-direct,F22.empty-router,F22.activate-acp,F22.corrupt-settings,F22.persistence-dir --fresh --record --keep-going --timeout 360

activate.json · llm-profile-activate.json · F22-meta-profiles-19-unreadable-settings-f22-corrupt-settings.json · activate.json

Status/error mapping only; no additional data loss is claimed.

medium · F22.persistence-dir

Meta-profile persistence does not expand the configured tilde path

Expected: Write meta-profiles under the expanded OH_PERSISTENCE_DIR beside settings.json.
Observed: The configured home/qa-f22-tilde/settings.json exists, but its adjacent meta-profile is absent; the meta-profile uses the unexpanded path.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F22-meta-profiles.md --only F22.save-classes,F22.save-direct,F22.empty-router,F22.activate-acp,F22.corrupt-settings,F22.persistence-dir --fresh --record --keep-going --timeout 360

F22-meta-profiles-24-persistence-directory-with-f22-persisten.json · save.json · F22-meta-profiles-06-persistence-directory-with-f22-persisten.json · save.json

Nested isolated servers are stopped by the recipe; saved response and state-location transcript prove both fresh attempts.

low · F23.models-no-bedrock

Provider model lists include identifiers from Bedrock

Expected: A DeepSeek provider list excludes Bedrock-only deepseek.* identifiers.
Observed: Both provider lists contain deepseek.r1-v1:0, deepseek.v3-v1:0, and deepseek.v3.2.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F23-llm-catalog-and-connections.md --only F23.models-no-bedrock,F23.conn-create,F23.conn-create-blank-key,F23.conn-patch-blank-key,F23.validate-linked-draft,F23.store-busy-responsive --fresh --record --keep-going --timeout 360

anthropic.json · deepseek.json · F23-llm-catalog-and-connections-05-no-bedrock-ids-under-a-provider-f23-mode.json · anthropic.json

The same recipe fetches Anthropic as a control, but its later negative assertion is not reached after the DeepSeek failure.

medium · F23.conn-create-blank-key, F23.conn-patch-blank-key

Blank and redacted provider keys are accepted on creation and update

Expected: Reject blank, whitespace-only, and redacted placeholder keys and retain the previous shared key.
Observed: Whitespace and placeholder creates return 201 with api_key_set=false. PATCH accepts empty, whitespace, and placeholder values; subsequent linked-profile activation applies null, null, and the literal placeholder.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F23-llm-catalog-and-connections.md --only F23.models-no-bedrock,F23.conn-create,F23.conn-create-blank-key,F23.conn-patch-blank-key,F23.validate-linked-draft,F23.store-busy-responsive --fresh --record --keep-going --timeout 360

list.json · placeholder.json · space.json · patch-1.json

One grouped validation defect across create/update; both endpoint branches independently reproduced twice. All negative-test keys are synthetic.

medium · F23.validate-linked-draft

Draft validation does not resolve its provider connection key

Expected: The same DeepSeek draft validates whether its key is inline or linked through provider_connection_id.
Observed: The inline-key positive control validates successfully; the linked draft returns valid=false with LLMAuthenticationError.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F23-llm-catalog-and-connections.md --only F23.models-no-bedrock,F23.conn-create,F23.conn-create-blank-key,F23.conn-patch-blank-key,F23.validate-linked-draft,F23.store-busy-responsive --fresh --record --keep-going --timeout 360

linked.json · F23-llm-catalog-and-connections-18-validate-a-linked-draft-f23-validate-lin.json · linked.json · F23-llm-catalog-and-connections-05-validate-a-linked-draft-f23-validate-lin.json

Tiny real DeepSeek calls distinguish credential resolution from provider/network availability.

medium · F24.status-offline

Expired subscription status crashes when token refresh is offline

Expected: Status returns connected=false after an unreachable token refresh, as it does for a rejected refresh.
Observed: An unexpired synthetic login reports connected=true; after expiry with the same unreachable proxy, status returns 500 All connection attempts failed.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F24-openai-subscription.md --only F24.status-offline,F24.device-start-offline --fresh --record --keep-going --timeout 360

F24-openai-subscription-18-status-with-an-expired-login-offline-f24.json · status.json · F24-openai-subscription-01-status-with-an-expired-login-offline-f24.json · status.json

No human login or real account is completed; fixtures contain only explicitly fake access/refresh tokens.

low · F24.device-start-offline

Offline device-login start returns an unhandled 500

Expected: Return a gateway failure such as 502/503/504 when OpenAI is unreachable.
Observed: A real throwaway device code is created and confirmed pending; after its loopback CONNECT relay stops, another device/start returns 500 All connection attempts failed.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F24-openai-subscription.md --only F24.status-offline,F24.device-start-offline --fresh --record --keep-going --timeout 360

F24-openai-subscription-19-start-and-poll-a-login-offline-f24-devic.json · start.json · F24-openai-subscription-02-start-and-poll-a-login-offline-f24-devic.json · start.json

No account login was completed. The later offline poll assertion is not reached and is listed as not-run.

medium · F25.marketplace-public

The public skills marketplace misses the current extensions manifest

Expected: Return the skills from the actual public extensions manifest.
Observed: A real extensions checkout is available, but GET /api/skills/marketplace returns 200 with skills=[].

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F25-skills.md --only F25.marketplace-public,F25.install-bad-frontmatter,F25.install-documented-sources,F25.install-unknown-ref,F25.refresh-unfetchable,F25.sync-offline,F25.marketplace-stale-cache --fresh --record --keep-going --timeout 360

catalog.json · F25-skills-03-public-marketplace-catalog-f25-marketpla.json · catalog.json · F25-skills-02-public-marketplace-catalog-f25-marketpla.json

The current repository uses .plugin/marketplace.json while the service default expects marketplaces/default.json.

low · F25.install-bad-frontmatter

Malformed skill frontmatter produces an unhandled server error

Expected: Reject malformed YAML frontmatter with a client error.
Observed: Skill install returns 500 with the YAML parser exception instead of 422.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F25-skills.md --only F25.marketplace-public,F25.install-bad-frontmatter,F25.install-documented-sources,F25.install-unknown-ref,F25.refresh-unfetchable,F25.sync-offline,F25.marketplace-stale-cache --fresh --record --keep-going --timeout 360

install.json · F25-skills-12-malformed-frontmatter-f25-install-bad-fr.json · install.json · F25-skills-03-malformed-frontmatter-f25-install-bad-fr.json

Synthetic local package; bad-input error mapping only.

medium · F25.install-documented-sources, F26.install-documented-source

Documented skill and plugin source examples cannot be parsed

Expected: The source syntax advertised by the current OpenAPI descriptions installs successfully.
Observed: The supported repository plus repo_path forms install from GitHub, while the advertised github:owner/repo/subdirectory forms return 400 Failed to fetch source.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F25-skills.md --only F25.marketplace-public,F25.install-bad-frontmatter,F25.install-documented-sources,F25.install-unknown-ref,F25.refresh-unfetchable,F25.sync-offline,F25.marketplace-stale-cache --fresh --record --keep-going --timeout 360
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F26-plugins.md --only F26.install-repo-root-name,F26.install-documented-source,F26.refresh-unfetchable,F26.conversation-resume-disabled --fresh --record --keep-going --timeout 360

documented.json · F25-skills-16-documented-install-sources-f25-install-d.json · documented.json · working-form.json

Grouped documentation/parser contract across skills and plugins. Working GitHub installs are live positive controls. The later skill /tree/main URL variant is not reached.

low · F25.refresh-unfetchable, F26.refresh-unfetchable

Refreshing a vanished skill or plugin source returns an unmapped 500

Expected: Refuse an unfetchable source with 400/422 and retain the prior install.
Observed: After a local installed source is moved away, both refresh endpoints return 500 with ExtensionFetchError.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F25-skills.md --only F25.marketplace-public,F25.install-bad-frontmatter,F25.install-documented-sources,F25.install-unknown-ref,F25.refresh-unfetchable,F25.sync-offline,F25.marketplace-stale-cache --fresh --record --keep-going --timeout 360
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F26-plugins.md --only F26.install-repo-root-name,F26.install-documented-source,F26.refresh-unfetchable,F26.conversation-resume-disabled --fresh --record --keep-going --timeout 360

refresh.json · F25-skills-20-refresh-of-a-vanished-source-f25-refresh.json · vanished.json · F26-plugins-16-unfetchable-refresh-f26-refresh-unfetcha.json

Grouped shared fetch-error mapping; each endpoint independently reproduced twice. Later preservation assertions are not reached after the status failure.

low · F25.sync-offline

Skills sync reports success after its git fetch fails

Expected: Report an unsuccessful forced refresh when its origin cannot be fetched.
Observed: A direct git fetch proves the configured origin is unreachable, but POST /api/skills/sync returns status=success and Skills repository synced successfully.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F25-skills.md --only F25.marketplace-public,F25.install-bad-frontmatter,F25.install-documented-sources,F25.install-unknown-ref,F25.refresh-unfetchable,F25.sync-offline,F25.marketplace-stale-cache --fresh --record --keep-going --timeout 360

sync.json · F25-skills-24-sync-without-a-reachable-origin-f25-sync.json · sync.json · F25-skills-10-sync-without-a-reachable-origin-f25-sync.json

Response metadata defect; retaining the cached clone is permissible, but the forced sync result is inaccurate.

medium · F25.marketplace-stale-cache

Skills sync does not refresh the marketplace catalog cache

Expected: After sync brings a newly listed skill into the clone, marketplace catalog lists that entry.
Observed: Sync succeeds and the cloned skill and manifest entry exist, but the catalog still omits qa-f25-pub-extra; one warmed catalog retains its prior entry, and the second retains a cached empty result.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F25-skills.md --only F25.marketplace-public,F25.install-bad-frontmatter,F25.install-documented-sources,F25.install-unknown-ref,F25.refresh-unfetchable,F25.sync-offline,F25.marketplace-stale-cache --fresh --record --keep-going --timeout 360

after-sync.json · F25-skills-32-catalog-after-a-sync-f25-marketplace-sta.json · after-sync.json · F25-skills-11-catalog-after-a-sync-f25-marketplace-sta.json

Independent from the public manifest-path issue: the local stand-in has a valid marketplaces/default.json. Sync invalidates only public-skills cache, leaving the catalog TTL cache.

low · F26.install-repo-root-name

Manifestless repository plugins inherit the cache hash in their name

Expected: A manifestless repository installs under its repository directory name.
Observed: The source qa-f26-src installs as qa-f26-src-<16 hex>, derived from its URL-hashed cache directory.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F26-plugins.md --only F26.install-repo-root-name,F26.install-documented-source,F26.refresh-unfetchable,F26.conversation-resume-disabled --fresh --record --keep-going --timeout 360

install.json · F26-plugins-07-repository-root-name-f26-install-repo-ro.json · install.json · F26-plugins-01-repository-root-name-f26-install-repo-ro.json

Metadata/naming defect; fixture is removed before the assertion.

medium · F26.conversation-resume-disabled

A resumed conversation still activates a disabled plugin skill

Expected: A resumed turn follows the plugin enabled state on disk.
Observed: After disabling the plugin and restarting, its hook no longer runs, but its first slash command still has activated_skills=[qa-f26-inst:qa-hello] on the user message.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F26-plugins.md --only F26.install-repo-root-name,F26.install-documented-source,F26.refresh-unfetchable,F26.conversation-resume-disabled --fresh --record --keep-going --timeout 360

frames.json · F26-plugins-20-resume-after-disabling-f26-conversation-.json · frames.json · F26-plugins-04-resume-after-disabling-f26-conversation-.json

Two real DeepSeek turns per proof. The later include_skills GET assertion is not reached; the live socket activation itself is proven twice.

low · F27.subagents-bad-skill

A sub-agent with an absent configured skill causes message POST 500

Expected: Reject invalid agent configuration or return a client error when it is used.
Observed: The conversation is created, but appending a user message returns 500 Skill ... not found but was given to agent ...

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F27-hooks-subagents-tools.md --only F27.subagents-bad-skill,F27.custom-tool-modules,F27.custom-tool-missing-on-resume --fresh --record --keep-going --timeout 360

send-control.json · send.json · F27-hooks-subagents-tools-15-agent-with-a-missing-skill-f27-subagents.json · send-control.json

Bad configuration/error-mapping defect, not a model failure.

low · F27.custom-tool-missing-on-resume

Resuming without the registered custom tool module returns an unhandled 500

Expected: Report a missing custom-module prerequisite with a controlled client error.
Observed: After the real custom-tool turn persists its observation, restart without its module makes message POST return 500 because the observation discriminator is not registered.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F27-hooks-subagents-tools.md --only F27.subagents-bad-skill,F27.custom-tool-modules,F27.custom-tool-missing-on-resume --fresh --record --keep-going --timeout 360

send.json · F27-hooks-subagents-tools-24-tool-module-gone-on-resume-f27-custom-to.json · send.json · F27-hooks-subagents-tools-03-tool-module-gone-on-resume-f27-custom-to.json

The initial custom tool executes successfully on real DeepSeek in both proofs; missing-module errors are not claimed as successful restores.

low · F27.server-info-browser-disabled

Server info advertises the browser despite enable_browser=false

Expected: The server-info usable_tools agrees with the config-aware catalog.
Observed: Catalog browser usability is false on the disabled server, but server_info still includes browser_tool_set.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F27-browser-config.md --fresh --record --keep-going --timeout 240

server-info.json · F27-hooks-subagents-tools-29-usable-tools-with-the-browser-disabled-f.json · server-info.json · F27-browser-config-02-server-info-browser-disabled-f27-server-.json

Metadata inconsistency. The fresh supplement retains the real host Chromium rather than requiring an unnecessary cache symlink.

low · F27.subagents-browser-disabled

Disabled-browser servers still list the browser-only built-in agent

Expected: Exclude the browser-only web-researcher when enable_browser=false.
Observed: The catalog marks browser_tool_set unusable, but built-in discovery still returns web-researcher.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/run-map.py map run --file F27-browser-config.md --fresh --record --keep-going --timeout 240

builtins.json · F27-hooks-subagents-tools-30-browser-only-sub-agent-with-the-browser-.json · builtins.json · F27-browser-config-03-subagents-browser-disabled-f27-subagents.json

Only discovery was driven; no browser delegation or configuration bypass is claimed.

medium · F27.browser-playwright-path

The browser availability probe ignores PLAYWRIGHT_BROWSERS_PATH

Expected: Find the real Chromium binary installed solely under PLAYWRIGHT_BROWSERS_PATH.
Observed: Two fresh Chromium-free layout-image containers report the browser unusable with the configured Playwright path. Linking the same binary into HOME/.cache/ms-playwright makes the catalog usable; removing that link reproduces the failure.

Reproduce and inspect evidence
.venv/bin/python /workspace/verification-artifacts/takeover-f22-f28/browser_container.py

catalog.json · layout.json · before.json · home-control.json

The real host Chromium binary is mounted read-only; only probe/catalog usability is asserted, not a navigation test. Each container is removed after its attached-run proof.

low · F29.session-forwarded-proto

Canvas bridge trusts a forwarded scheme despite its setting

Expected: With trust_forwarded_headers disabled, X-Forwarded-Proto should not alter an otherwise valid request.
Observed: The same session bootstrap succeeds without the header and returns 421 when X-Forwarded-Proto: https is supplied.

Reproduce and inspect evidence
control-agent-server map run --file F29 --only F29.session-forwarded-proto --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F29-app-backend-bridge-01-forwarded-proto-f29-session-forwarded-pr.json · F29-app-backend-bridge-01-forwarded-proto-f29-session-forwarded-pr.json

[]

low · F29.proxy-root-path-query

Canvas bare-root query parameter changes the proxied path

Expected: ?path=echo on the bare app root should reach the root with the query unchanged.
Observed: The proxy sends the request to /echo, whereas the trailing-slash root preserves /.

Reproduce and inspect evidence
control-agent-server map run --file F29 --only F29.proxy-root-path-query --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F29-app-backend-bridge-02-root-path-parameter-f29-proxy-root-path-.json · F29-app-backend-bridge-02-root-path-parameter-f29-proxy-root-path-.json

[]

low · F29.proxy-response-headers

Canvas proxy sends duplicate Date and Server headers

Expected: A proxied response should contain one Date and one Server header.
Observed: Uvicorn adds its headers alongside copied backend headers, producing comma-joined duplicate values.

Reproduce and inspect evidence
control-agent-server map run --file F29 --only F29.proxy-response-headers --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F29-app-backend-bridge-04-one-date-and-server-header-f29-proxy-res.json · F29-app-backend-bridge-04-one-date-and-server-header-f29-proxy-res.json

[]

medium · F29.ws-subprotocol

Canvas WebSocket bridge loses requested subprotocol

Expected: The bridge should negotiate qa.v1 exactly as the directly contacted backend does.
Observed: The direct socket selects qa.v1; the proxied socket selects no protocol and reports protocol none, breaking browser clients that require a subprotocol.

Reproduce and inspect evidence
control-agent-server map run --file F29 --only F29.ws-subprotocol --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F29-app-backend-bridge-05-subprotocol-f29-ws-subprotocol-known-bug.json · F29-app-backend-bridge-05-subprotocol-f29-ws-subprotocol-known-bug.json

[]

low · F29.backend-crash-detected

Canvas bridge keeps crashed backend ready until status polling

Expected: After the backend process exits, requests should return 503 backend not ready.
Observed: Without a status poll, requests return 502 Conversation container unreachable for the entire 15-second observation.

Reproduce and inspect evidence
control-agent-server map run --file F29 --only F29.backend-crash-detected --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F29-app-backend-bridge-06-crash-seen-by-the-bridge-f29-backend-cra.json · F29-app-backend-bridge-06-crash-seen-by-the-bridge-f29-backend-cra.json

[]

medium · F30.chat-usage-per-request

OpenAI continuation usage includes previous turns

Expected: The second request should report its own 3 prompt, 2 completion and 5 total tokens.
Observed: It reports accumulated 13 prompt, 7 completion and 20 total tokens although per-call usage is available.

Reproduce and inspect evidence
control-agent-server map run --file F30 --only F30.chat-usage-per-request --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F30-openai-gateway-03-usage-per-request-f30-chat-usage-per-req.json · F30-openai-gateway-03-usage-per-request-f30-chat-usage-per-req.json

[]

medium · F30.chat-reuse-concurrent

Overlapping OpenAI requests receive the later turn's answer

Expected: Request X should receive its stored QA_F30_RACE_B answer; request Y should receive QA_F30_RACE_C.
Observed: Both requests receive QA_F30_RACE_C although the server stores the correct separate B and C agent messages.

Reproduce and inspect evidence
control-agent-server map run --file F30 --only F30.chat-reuse-concurrent --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F30-openai-gateway-04-overlapping-turns-on-one-conversation-f3.json · F30-openai-gateway-04-overlapping-turns-on-one-conversation-f3.json

[]

medium · F30.chat-reuse-confirmation

OpenAI continuation waits 120 seconds at confirmation

Expected: A continued conversation awaiting confirmation should return 409 promptly, like a new one.
Observed: It remains waiting_for_confirmation with the proposed command unrun, then returns 504 after the fixed 120-second gateway timeout.

Reproduce and inspect evidence
control-agent-server map run --file F30 --only F30.chat-reuse-confirmation --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F30-openai-gateway-05-confirmation-on-a-continued-conversation.json · F30-openai-gateway-05-confirmation-on-a-continued-conversation.json

[]

medium · F30.chat-reuse-run-limit-429

Rejected OpenAI continuations persist duplicate user turns

Expected: A 429 should leave the conversation unchanged so an OpenAI retry is safe.
Observed: Each refused request appends the user message; two 429 responses leave two copies.

Reproduce and inspect evidence
control-agent-server map run --file F30 --only F30.chat-reuse-run-limit-429 --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F30-openai-gateway-06-run-limit-on-a-continued-conversation-f3.json · F30-openai-gateway-06-run-limit-on-a-continued-conversation-f3.json

[]

high · F31.takeover-keeps-metadata

Second-server takeover overwrites newer conversation metadata

Expected: The title last persisted by the first owner should survive takeover.
Observed: The second server rewrites meta.json with its startup catalog's older title, losing the owner's later rename.

Reproduce and inspect evidence
/workspace/verification-artifacts/harness-f29-f34/.agents/skills/verify-agent-server/scripts/control-agent-server map run --file F31 --only F31.takeover-keeps-metadata --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F31-persistence-and-limits-01-takeover-keeps-newer-metadata-f31-takeov.json · F31-persistence-and-limits-01-takeover-keeps-newer-metadata-f31-takeov.json

['Isolated copied recipe adjusts only exited-zombie setup observation; frozen product source and bug assertion unchanged. See F31-zombie-adaptation.md.']

medium · F31.fenced-write-no-trace

Rejected stale-owner write changes its GET state and returns 500

Expected: A lost-ownership PATCH should give a client error and leave visible state unchanged.
Observed: The guarded save refuses the write and disk remains correct, but the stale owner's GET reports the refused title; PATCH returns 500.

Reproduce and inspect evidence
control-agent-server map run --file F31 --only F31.fenced-write-no-trace --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F31-persistence-and-limits-03-refused-write-leaves-no-trace-f31-fenced.json · F31-persistence-and-limits-03-refused-write-leaves-no-trace-f31-fenced.json

[]

medium · F31.config-null-override

Explicit environment null cannot clear a configured value

Expected: OH_APP_BACKEND_PUBLIC_URL_IS_NONE=1 should clear the URL and capability even when the config file sets it.
Observed: The file's URL remains advertised because merge keeps an earlier value when the environment supplies None. The same behavior prevents environment-based disabling of a configured idle TTL.

Reproduce and inspect evidence
control-agent-server map run --file F31 --only F31.config-null-override --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F31-persistence-and-limits-09-null-from-the-environment-f31-config-nul.json · F31-persistence-and-limits-09-null-from-the-environment-f31-config-nul.json

[]

low · F31.tmux-dir-cleanup

Server-selected per-process tmux directory survives shutdown

Expected: The per-process TMUX_TMPDIR selected by the server should disappear after graceful stop.
Observed: The directory remains; the recipe's cleanup trap removes it after recording the failed assertion.

Reproduce and inspect evidence
/workspace/verification-artifacts/harness-f29-f34/.agents/skills/verify-agent-server/scripts/control-agent-server map run --file F31 --only F31.tmux-dir-cleanup --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F31-persistence-and-limits-01-per-process-tmux-directory-removed-on-st.json · F31-persistence-and-limits-01-per-process-tmux-directory-removed-on-st.json

['Isolated copied recipe adjusts only exited-zombie setup observation; frozen product source and bug assertion unchanged. See F31-zombie-adaptation.md.']

low · F32.buffer-stranded

Full webhook buffer waits behind an in-flight batch

Expected: The queued user message should reach the sink within ten seconds once the buffer fills.
Observed: The first batch is posted, while a second full buffer waits for the long flush timer or a later close.

Reproduce and inspect evidence
control-agent-server map run --file F32 --only F32.buffer-stranded --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F32-webhooks-and-telemetry-02-events-stranded-behind-an-in-flight-batc.json · F32-webhooks-and-telemetry-02-events-stranded-behind-an-in-flight-batc.json

[]

low · F32.webhook-spec-docs

Webhook schema documents the wrong event path and timer

Expected: OpenAPI should describe the per-conversation event path and a timer started by the first event.
Observed: It says events go to /events and the timer resets with every new event; live behavior differs.

Reproduce and inspect evidence
control-agent-server map run --file F32 --only F32.webhook-spec-docs --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F32-webhooks-and-telemetry-04-webhook-field-descriptions-f32-webhook-s.json · F32-webhooks-and-telemetry-04-webhook-field-descriptions-f32-webhook-s.json

[]

medium · F32.slow-receiver

Slow webhook causes 409 after the conversation reports finished

Expected: A finished conversation should accept a new run regardless of receiver latency.
Observed: A fast receiver permits POST /run; a 15-second receiver makes it return 409 Conversation already running while GET says finished.

Reproduce and inspect evidence
control-agent-server map run --file F32 --only F32.slow-receiver --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F32-webhooks-and-telemetry-05-a-slow-receiver-blocks-the-next-run-f32-.json · F32-webhooks-and-telemetry-05-a-slow-receiver-blocks-the-next-run-f32-.json

[]

low · F32.telemetry-usage-buckets

Conversation outcome telemetry misses real token and cost usage

Expected: A real model run's outcome should contain measured usage buckets.
Observed: The conversation has positive token usage but outcome total_tokens_bucket and cost_bucket are unknown.

Reproduce and inspect evidence
control-agent-server map run --file F32 --only F32.telemetry-usage-buckets --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F32-webhooks-and-telemetry-10-token-and-cost-buckets-from-real-usage-f.json · F32-webhooks-and-telemetry-10-token-and-cost-buckets-from-real-usage-f.json

[]

low · F32.telemetry-salt-docs

Telemetry schema promises a random fallback instead of secret key

Expected: The salt description should state that the configured secret key is the first fallback.
Observed: It promises per-process random salt and unlinkability across runs although the secret-key-derived reference remains stable across restarts.

Reproduce and inspect evidence
control-agent-server map run --file F32 --only F32.telemetry-salt-docs --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F32-webhooks-and-telemetry-16-salt-description-f32-telemetry-salt-docs.json · F32-webhooks-and-telemetry-16-salt-description-f32-telemetry-salt-docs.json

[]

medium · F33.conversation-token-callbacks

Python remote conversations ignore token callbacks

Expected: Token callbacks should receive streamed deltas supplied to the remote conversation.
Observed: Event callbacks see deltas, but the token callback is never called.

Reproduce and inspect evidence
control-agent-server map run --file F33 --only F33.conversation-token-callbacks --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F33-sdk-remote-client-03-token-callbacks-on-a-remote-conversation.json · F33-sdk-remote-client-03-token-callbacks-on-a-remote-conversation.json

[]

medium · F33.conversation-streaming-state

Python remote state stores transient token deltas

Expected: state.events should exclude transient StreamingDeltaEvent frames and match stored server history.
Observed: The client adds streamed deltas to state.events although the server persists none.

Reproduce and inspect evidence
control-agent-server map run --file F33 --only F33.conversation-streaming-state --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F33-sdk-remote-client-04-deltas-kept-out-of-state-events-f33-conv.json · F33-sdk-remote-client-04-deltas-kept-out-of-state-events-f33-conv.json

[]

medium · F33.conversation-state-reread

Reading Python remote state twice corrupts its cached values

Expected: Repeated reads of confirmation policy, analyzer, agent and confirmation-mode flag should remain stable.
Observed: First reads are correct; second policy/agent reads raise ValidationError, analyzer becomes None and confirmation mode changes true to false.

Reproduce and inspect evidence
control-agent-server map run --file F33 --only F33.conversation-state-reread --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F33-sdk-remote-client-08-read-the-state-twice-f33-conversation-st.json · F33-sdk-remote-client-08-read-the-state-twice-f33-conversation-st.json

[]

medium · F33.conversation-run-join-long-tool

Python run join times out during a healthy long tool call

Expected: A second run() should join the 45-second tool call and return finished.
Observed: It raises ConversationRunError wrapping ReadTimeout after 30 seconds while the original run continues, writes its file and finishes.

Reproduce and inspect evidence
control-agent-server map run --file F33 --only F33.conversation-run-join-long-tool --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F33-sdk-remote-client-17-join-a-run-during-a-long-tool-call-f33-c.json · F33-sdk-remote-client-17-join-a-run-during-a-long-tool-call-f33-c.json

[]

medium · F33.conversation-reconnect-callbacks

Python reconnect reconciles history but skips missed callbacks

Expected: A user message recorded during the socket outage should reach callbacks after reconnection.
Observed: Both messages appear in server history and state.events; only the connected message reaches the callback.

Reproduce and inspect evidence
control-agent-server map run --file F33 --only F33.conversation-reconnect-callbacks --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F33-sdk-remote-client-23-callbacks-after-a-reconnect-f33-conversa.json · F33-sdk-remote-client-23-callbacks-after-a-reconnect-f33-conversa.json

[]

low · F33.custom-tool-module-unimportable

Unimportable custom tool produces an unhandled server error

Expected: A client tool the server cannot import should result in a 4xx or a recorded conversation error.
Observed: Creation succeeds with 201, then sending the message fails with 500 for the unregistered tool.

Reproduce and inspect evidence
control-agent-server map run --file F33 --only F33.custom-tool-module-unimportable --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F33-sdk-remote-client-26-an-agent-tool-the-server-cannot-import-f.json · F33-sdk-remote-client-26-an-agent-tool-the-server-cannot-import-f.json

[]

medium · F34.workspace-binary-download

TypeScript RemoteWorkspace corrupts binary downloads

Expected: The five-byte file ff 00 80 fe 41 should download byte for byte with file_size 5.
Observed: FileClient returns the exact bytes; RemoteWorkspace produces eleven bytes ef bf bd 00 ef bf bd ef bf bd 41 and file_size 11.

Reproduce and inspect evidence
control-agent-server map run --file F34 --only F34.workspace-binary-download --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F34-typescript-client-01-binary-download-through-remoteworkspace-.json · F34-typescript-client-01-binary-download-through-remoteworkspace-.json

[]

medium · F34.workspace-git-types

TypeScript GitChange status type disagrees with server values

Expected: Statuses returned by gitChanges should type-check against exported GitChange.status.
Observed: The server values UPDATED and ADDED type-check against generated GitChangeStatus but fail against the exported lowercase union.

Reproduce and inspect evidence
control-agent-server map run --file F34 --only F34.workspace-git-types --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F34-typescript-client-01-git-status-type-f34-workspace-git-types-.json · F34-typescript-client-01-git-status-type-f34-workspace-git-types-.json

[]

medium · F34.bash-websocket, F34.ws-callback-client

TypeScript BashWebSocketClient cannot open a Node socket

Expected: The Node callback should receive the BashOutput that the CLI replays on the same socket.
Observed: No frames arrive and onError says WebSocket implementation not available because the ESM module attempts require('ws').

Reproduce and inspect evidence
control-agent-server map run --file F34 --only F34.bash-websocket,F34.ws-callback-client --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F34-typescript-client-02-bash-events-socket-from-node-f34-bash-we.json · F34-typescript-client-02-bash-events-socket-from-node-f34-bash-we.json · F34-typescript-client-05-conversation-callback-socket-from-node-f.json · F34-typescript-client-05-conversation-callback-socket-from-node-f.json

['Two driving bullets share the ESM WebSocket constructor discovery failure and are counted as one defect.']

medium · F34.manager-update-result

TypeScript updateConversation return type promises missing fields

Expected: The declared ConversationInfo result should include the conversation id and stored new title.
Observed: The title is stored, but the promise resolves with success:true and its id/title are undefined.

Reproduce and inspect evidence
control-agent-server map run --file F34 --only F34.manager-update-result --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F34-typescript-client-06-update-result-f34-manager-update-result-.json · F34-typescript-client-06-update-result-f34-manager-update-result-.json

[]

medium · F34.manager-create-options

TypeScript manager ignores conversation execution options

Expected: maxIterations 7 and stuckDetection false should be preserved, like direct RemoteConversation.start.
Observed: The manager-created conversation has max_iterations 500 and stuck_detection true.

Reproduce and inspect evidence
control-agent-server map run --file F34 --only F34.manager-create-options --checkout /workspace/agent-sdk-verify --fresh --repeat 2 --record --keep-going

F34-typescript-client-07-create-options-f34-manager-create-option.json · F34-typescript-client-07-create-options-f34-manager-create-option.json

[]

All feature checks

The table shows the latest recorded result for each unique mapped feature, including fresh recovery and supplemental checks. The full report preserves earlier attempts and explains recipe drift. Preconditions are excluded from feature totals.

FeatureResultBehavior / evidence
F01.alivepassmap run F01-server-status.md: Liveness (`F01.alive`).
Command transcript
F01.debug-tracebackspassmap run F01-server-status.md: DEBUG tracebacks (`F01.debug-tracebacks`).
Command transcript
F01.healthpassmap run F01-server-status.md: Health (`F01.health`).
Command transcript
F01.idle-timepassmap run F01-server-status.md: Idle time (`F01.idle-time`).
Command transcript
F01.openapipassmap run F01-server-status.md: OpenAPI document (`F01.openapi`).
Command transcript
F01.preload-toolspassmap run F01-server-status.md: Tool preload (`F01.preload-tools`).
Command transcript
F01.readypassmap run F01-server-status.md: Readiness (`F01.ready`).
Command transcript
F01.root-infopassmap run F01-server-status.md: Root alias (`F01.root-info`).
Command transcript
F01.server-infopassmap run F01-server-status.md: Server info (`F01.server-info`).
Command transcript
F01.static-filespassmap run F01-server-status.md: Static files (`F01.static-files`).
Command transcript
F01.uptime-restartpassmap run F01-server-status.md: Uptime across a restart (`F01.uptime-restart`).
Command transcript
F02.cors-configured-originspassmap run F02-auth-and-sessions.md: Configured CORS origins (`F02.cors-configured-origins`).
Command transcript
F02.cors-default-originspassmap run F02-auth-and-sessions.md: Default CORS origins (`F02.cors-default-origins`).
Command transcript
F02.cors-workspace-routespassmap run F02-auth-and-sessions.md: Workspace routes accept any origin (`F02.cors-workspace-routes`).
Command transcript
F02.default-bindblockedCLI default bind address inside unshare -rn
Command transcript
F02.http-header-onlypassmap run F02-auth-and-sessions.md: Header only (`F02.http-header-only`).
Command transcript
F02.http-key-requiredpassmap run F02-auth-and-sessions.md: Key required on HTTP (`F02.http-key-required`).
Command transcript
F02.keys-hidden-from-commandspassmap run F02-auth-and-sessions.md: Keys stay out of commands (`F02.keys-hidden-from-commands`).
Command transcript
F02.legacy-env-keypassmap run F02-auth-and-sessions.md: Legacy `SESSION_API_KEY` (`F02.legacy-env-key`).
Command transcript
F02.multiple-keyspassmap run F02-auth-and-sessions.md: A second key (`F02.multiple-keys`).
Command transcript
F02.no-auth-modepassmap run F02-auth-and-sessions.md: Unauthenticated mode (`F02.no-auth-mode`).
Command transcript
F02.rotate-keypassmap run F02-auth-and-sessions.md: Rotate the key (`F02.rotate-key`).
Command transcript
F02.workspace-cookie-accesspassmap run F02-auth-and-sessions.md: The cookie alone opens workspace files (`F02.workspace-cookie-access`).
Command transcript
F02.workspace-cookie-root-pathxfailmap run F02-auth-and-sessions.md: Cookie path ignores a prefix (`F02.workspace-cookie-root-path`), known bug.
Command transcript
F02.workspace-session-deletepassmap run F02-auth-and-sessions.md: Delete the workspace cookie (`F02.workspace-session-delete`).
Command transcript
F02.workspace-session-ipv6-loopbackxfailmap run F02-auth-and-sessions.md: IPv6 loopback is not a secure context (`F02.workspace-session-ipv6-loopback`), known bug.
Command transcript
F02.workspace-session-mintpassmap run F02-auth-and-sessions.md: Mint the workspace cookie (`F02.workspace-session-mint`).
Command transcript
F02.ws-auth-timeoutpassmap run F02-auth-and-sessions.md: Auth timeout (`F02.ws-auth-timeout`).
Command transcript
F02.ws-first-framepassmap run F02-auth-and-sessions.md: First-frame auth on every socket (`F02.ws-first-frame`).
Command transcript
F02.ws-first-frame-rejectpassmap run F02-auth-and-sessions.md: Rejected first frames (`F02.ws-first-frame-reject`).
Command transcript
F02.ws-legacy-keypassmap run F02-auth-and-sessions.md: Deprecated query and header keys (`F02.ws-legacy-key`).
Command transcript
F02.ws-legacy-rejectpassmap run F02-auth-and-sessions.md: Wrong legacy key fails the handshake (`F02.ws-legacy-reject`).
Command transcript
F03.auth-before-gateretiredretired by #5700. It asserted that a dormant pod with boot session keys answered 401 to a missing key before the 503 gate; readiness is now checked first, see `F03.gate-before-auth`.
No executable artifact (see limitation)
F03.dormant-bootpassmap run F03-deferred-init.md: Dormant boot (`F03.dormant-boot`).
Command transcript
F03.dormant-gates-apipassmap run F03-deferred-init.md: Dormant gate (`F03.dormant-gates-api`).
Command transcript
F03.dormant-gates-socketspassmap run F03-deferred-init.md: Dormant sockets (`F03.dormant-gates-sockets`).
Command transcript
F03.dormant-gates-v1passmap run F03-deferred-init.md: Dormant /v1 and app backends (`F03.dormant-gates-v1`).
Command transcript
F03.gate-before-authpassmap run F03-deferred-init.md: Readiness precedes auth (`F03.gate-before-auth`).
Command transcript
F03.init-applies-envpassmap run F03-deferred-init.md: Init env reaches bash (`F03.init-applies-env`).
Command transcript
F03.init-delivered-cors-originsxfailmap run F03-deferred-init.md: Delivered CORS origins (`F03.init-delivered-cors-origins`), known bug.
Command transcript
F03.init-delivered-max-runspassmap run F03-deferred-init.md: Delivered run capacity (`F03.init-delivered-max-runs`).
Command transcript
F03.init-delivered-webhookspassmap run F03-deferred-init.md: Delivered webhooks (`F03.init-delivered-webhooks`).
Command transcript
F03.init-delivered-worktree-rootpassmap run F03-deferred-init.md: Delivered worktree root (`F03.init-delivered-worktree-root`).
Command transcript
F03.init-enforces-session-keyspassmap run F03-deferred-init.md: Delivered keys are enforced (`F03.init-enforces-session-keys`).
Command transcript
F03.init-failure-rollbackpassmap run F03-deferred-init.md: Failure rollback (`F03.init-failure-rollback`).
Command transcript
F03.init-key-authpassmap run F03-deferred-init.md: Init key auth (`F03.init-key-auth`).
Command transcript
F03.init-keys-gate-bash-socketpassmap run F03-deferred-init.md: Delivered keys gate the bash socket (`F03.init-keys-gate-bash-socket`).
Command transcript
F03.init-open-without-secretpassmap run F03-deferred-init.md: Open init without a secret (`F03.init-open-without-secret`).
Command transcript
F03.init-opens-events-socket-and-v1passmap run F03-deferred-init.md: Events socket and /v1 open after init (`F03.init-opens-events-socket-and-v1`).
Command transcript
F03.init-redacts-secret-inputpassmap run F03-deferred-init.md: Input redaction (`F03.init-redacts-secret-input`).
Command transcript
F03.init-second-call-400passmap run F03-deferred-init.md: Second init is 400 (`F03.init-second-call-400`).
Command transcript
F03.init-state-not-persistedpassmap run F03-deferred-init.md: Init state is not persisted (`F03.init-state-not-persisted`).
Command transcript
F03.init-successpassmap run F03-deferred-init.md: Successful init (`F03.init-success`).
Command transcript
F03.init-validationpassmap run F03-deferred-init.md: Init validation (`F03.init-validation`).
Command transcript
F03.init-web-url-root-pathpassmap run F03-deferred-init.md: Delivered web URL sets the root path (`F03.init-web-url-root-path`).
Command transcript
F03.not-deferred-404passmap run F03-deferred-init.md: Not deferred is 404 (`F03.not-deferred-404`).
Command transcript
F04.batch-getpassmap run F04-conversation-lifecycle.md: Batch get (`F04.batch-get`).
Command transcript
F04.batch-get-limitxfailmap run F04-conversation-lifecycle.md: 100 ids in one batch (`F04.batch-get-limit`), known bug.
Command transcript
F04.countpassmap run F04-conversation-lifecycle.md: Count (`F04.count`).
Command transcript
F04.create-agent-profilepassmap run F04-conversation-lifecycle.md: Stored Agent Profile (`F04.create-agent-profile`).
Command transcript
F04.create-idempotentpassmap run F04-conversation-lifecycle.md: Idempotent create with a client id (`F04.create-idempotent`).
Command transcript
F04.create-initial-message-run-falsexfailmap run F04-conversation-lifecycle.md: `initial_message.run: false` (`F04.create-initial-message-run-false`), known bug.
Command transcript
F04.create-inline-agentpassmap run F04-conversation-lifecycle.md: Inline agent (`F04.create-inline-agent`).
Command transcript
F04.create-observabilitypassmap run F04-conversation-lifecycle.md: Observability headers (`F04.create-observability`).
Command transcript
F04.create-observability-precedencepassmap run F04-conversation-lifecycle.md: Body versus headers (`F04.create-observability-precedence`).
Command transcript
F04.create-parentpassmap run F04-conversation-lifecycle.md: Parent and child (`F04.create-parent`).
Command transcript
F04.create-secretspassmap run F04-conversation-lifecycle.md: Start-time secrets (`F04.create-secrets`).
Command transcript
F04.create-secrets-getxfailmap run F04-conversation-lifecycle.md: Start-time secret visible to GET (`F04.create-secrets-get`), known bug.
Command transcript
F04.create-secrets-plainxfailmap run F04-conversation-lifecycle.md: Plain-string secret value (`F04.create-secrets-plain`), known bug.
Command transcript
F04.create-settingspassmap run F04-conversation-lifecycle.md: Create from the saved settings (`F04.create-settings`).
Command transcript
F04.create-validationpassmap run F04-conversation-lifecycle.md: Create validation (`F04.create-validation`).
Command transcript
F04.create-validation-redactionpassmap run F04-conversation-lifecycle.md: 422 bodies keep the LLM key out (`F04.create-validation-redaction`).
Command transcript
F04.create-worktreepassmap run F04-conversation-lifecycle.md: Git worktree (`F04.create-worktree`).
Command transcript
F04.deletepassmap run F04-conversation-lifecycle.md: Delete (`F04.delete`).
Command transcript
F04.delete-unknown-idxfailmap run F04-conversation-lifecycle.md: DELETE on an unknown id (`F04.delete-unknown-id`), known bug.
Command transcript
F04.final-responsepassmap run F04-conversation-lifecycle.md: Final response (`F04.final-response`).
Command transcript
F04.getpassmap run F04-conversation-lifecycle.md: Read one conversation (`F04.get`).
Command transcript
F04.patch-errorspassmap run F04-conversation-lifecycle.md: PATCH errors (`F04.patch-errors`).
Command transcript
F04.patch-tagspassmap run F04-conversation-lifecycle.md: Retag (`F04.patch-tags`).
Command transcript
F04.patch-titlepassmap run F04-conversation-lifecycle.md: Rename (`F04.patch-title`).
Command transcript
F04.patch-unknown-idxfailmap run F04-conversation-lifecycle.md: PATCH on an unknown id (`F04.patch-unknown-id`), known bug.
Command transcript
F04.patch-whitespace-titlexfailmap run F04-conversation-lifecycle.md: Whitespace-only title (`F04.patch-whitespace-title`), known bug.
Command transcript
F04.read-no-hydratepassmap run F04-conversation-lifecycle.md: Cold reads do not load a conversation (`F04.read-no-hydrate`).
Command transcript
F04.restart-persistpassmap run F04-conversation-lifecycle.md: Restart (`F04.restart-persist`).
Command transcript
F04.run-realpassmap run F04-conversation-lifecycle.md: A real run (`F04.run-real`).
Command transcript
F04.search-filterpassmap run F04-conversation-lifecycle.md: Status filter (`F04.search-filter`).
Command transcript
F04.search-pagepassmap run F04-conversation-lifecycle.md: Search pages (`F04.search-page`).
Command transcript
F04.title-llm-profilepassmap run F04-conversation-lifecycle.md: Title from a saved LLM profile (`F04.title-llm-profile`).
Command transcript
F05.control-errorspassmap run F05-run-pause-interrupt.md: Auth and malformed ids (`F05.control-errors`).
Command transcript
F05.interrupt-idlepassmap run F05-run-pause-interrupt.md: Interrupt with nothing running (`F05.interrupt-idle`).
Command transcript
F05.interrupt-runningpassmap run F05-run-pause-interrupt.md: Interrupt a running conversation (`F05.interrupt-running`).
Command transcript
F05.interrupt-tool-callpassmap run F05-run-pause-interrupt.md: Interrupt during a tool call (`F05.interrupt-tool-call`).
Command transcript
F05.max-iterations-resumepassmap run F05-run-pause-interrupt.md: Resume after the cap (`F05.max-iterations-resume`).
Command transcript
F05.max-iterations-stoppassmap run F05-run-pause-interrupt.md: Iteration cap (`F05.max-iterations-stop`).
Command transcript
F05.pause-idlepassmap run F05-run-pause-interrupt.md: Pause an idle conversation (`F05.pause-idle`).
Command transcript
F05.pause-repeatpassmap run F05-run-pause-interrupt.md: Pause twice (`F05.pause-repeat`).
Command transcript
F05.pause-runningpassmap run F05-run-pause-interrupt.md: Pause during a long model call (`F05.pause-running`).
Command transcript
F05.pause-running-crashxfailmap run F05-run-pause-interrupt.md: Crash after a mid-call pause (`F05.pause-running-crash`), known bug.
Command transcript
F05.pause-running-getxfailmap run F05-run-pause-interrupt.md: GET after a mid-call pause (`F05.pause-running-get`), known bug.
Command transcript
F05.pause-running-releasepassmap run F05-run-pause-interrupt.md: Release a paused step with interrupt (`F05.pause-running-release`).
Command transcript
F05.pause-terminalpassmap run F05-run-pause-interrupt.md: Pause and interrupt a terminal conversation (`F05.pause-terminal`).
Command transcript
F05.pause-tool-steppassmap run F05-run-pause-interrupt.md: Pause during a tool call (`F05.pause-tool-step`).
Command transcript
F05.restart-hard-runningpassmap run F05-run-pause-interrupt.md: Crash while running (`F05.restart-hard-running`).
Command transcript
F05.restart-keeps-statuspassmap run F05-run-pause-interrupt.md: Statuses survive the restart (`F05.restart-keeps-status`).
Command transcript
F05.restart-running-gracefulpassmap run F05-run-pause-interrupt.md: Graceful restart while running (`F05.restart-running-graceful`).
Command transcript
F05.run-after-interruptpassmap run F05-run-pause-interrupt.md: Resume after an interrupt (`F05.run-after-interrupt`).
Command transcript
F05.run-capacitypassmap run F05-run-pause-interrupt.md: Run capacity (`F05.run-capacity`).
Command transcript
F05.run-conflictpassmap run F05-run-pause-interrupt.md: Run while running (`F05.run-conflict`).
Command transcript
F05.run-errorpassmap run F05-run-pause-interrupt.md: A run that fails (`F05.run-error`).
Command transcript
F05.run-error-responsivexfailmap run F05-run-pause-interrupt.md: Responsive while a run fails (`F05.run-error-responsive`), known bug.
Command transcript
F05.run-finished-nooppassmap run F05-run-pause-interrupt.md: Run with nothing to do (`F05.run-finished-noop`).
Command transcript
F05.run-new-inputpassmap run F05-run-pause-interrupt.md: New input after finishing (`F05.run-new-input`).
Command transcript
F05.run-queuedpassmap run F05-run-pause-interrupt.md: Run queued input on a real model (`F05.run-queued`).
Command transcript
F05.run-resume-pausedpassmap run F05-run-pause-interrupt.md: Resume a paused conversation (`F05.run-resume-paused`).
Command transcript
F05.stuck-detectedpassmap run F05-run-pause-interrupt.md: A run that loops ends `stuck` (`F05.stuck-detected`).
Command transcript
F05.stuck-new-inputpassmap run F05-run-pause-interrupt.md: New input un-sticks it (`F05.stuck-new-input`).
Command transcript
F05.stuck-rerunpassmap run F05-run-pause-interrupt.md: Run a stuck conversation again (`F05.stuck-rerun`).
Command transcript
F05.unknown-id-pausexfailmap run F05-run-pause-interrupt.md: Pause or interrupt an unknown id (`F05.unknown-id-pause`), known bug.
Command transcript
F05.unknown-id-runpassmap run F05-run-pause-interrupt.md: Run an unknown id (`F05.unknown-id-run`).
Command transcript
F06.batch-getpassmap run F06-conversation-events.md: Batch get (`F06.batch-get`).
Command transcript
F06.countpassmap run F06-conversation-events.md: Count (`F06.count`).
Command transcript
F06.get-onepassmap run F06-conversation-events.md: Get one event (`F06.get-one`).
Command transcript
F06.not-found-authpassmap run F06-conversation-events.md: Unknown conversation, bad id, no key (`F06.not-found-auth`).
Command transcript
F06.restart-persistpassmap run F06-conversation-events.md: History survives a restart (`F06.restart-persist`).
Command transcript
F06.search-filterspassmap run F06-conversation-events.md: Filters (`F06.search-filters`).
Command transcript
F06.search-kind-shortxfailmap run F06-conversation-events.md: Short kind names (`F06.search-kind-short`), known bug.
Command transcript
F06.search-pagepassmap run F06-conversation-events.md: Paging and sort order (`F06.search-page`).
Command transcript
F06.search-time-windowpassmap run F06-conversation-events.md: Time window (`F06.search-time-window`).
Command transcript
F06.search-timestamp-orderxfailmap run F06-conversation-events.md: Log order is timestamp order (`F06.search-timestamp-order`), known bug.
Command transcript
F06.search-validationpassmap run F06-conversation-events.md: Bad search parameters (`F06.search-validation`).
Command transcript
F06.send-imagepassmap run F06-conversation-events.md: Image content (`F06.send-image`).
Command transcript
F06.send-no-runpassmap run F06-conversation-events.md: Append a message without running (`F06.send-no-run`).
Command transcript
F06.send-non-user-rolexfailmap run F06-conversation-events.md: Non-user role (`F06.send-non-user-role`), known bug.
Command transcript
F06.send-resets-finishedpassmap run F06-conversation-events.md: A message reopens a finished conversation (`F06.send-resets-finished`).
Command transcript
F06.send-runpassmap run F06-conversation-events.md: Run a turn and watch it live (`F06.send-run`, `F06.ws-live`).
Command transcript
F06.send-run-limitpassmap run F06-conversation-events.md: Run capacity full (`F06.send-run-limit`).
Command transcript
F06.send-validationpassmap run F06-conversation-events.md: Message validation (`F06.send-validation`).
Command transcript
F06.send-while-runningpassmap run F06-conversation-events.md: A message while the agent runs (`F06.send-while-running`).
Command transcript
F06.unknown-eventxfailmap run F06-conversation-events.md: Unknown event id (`F06.unknown-event`), known bug.
Command transcript
F06.ws-bad-framepassmap run F06-conversation-events.md: Bad frames on the socket (`F06.ws-bad-frame`).
Command transcript
F06.ws-delete-closexfailmap run F06-conversation-events.md: Deleting a conversation closes its sockets (`F06.ws-delete-close`), known bug.
Command transcript
F06.ws-handshakepassmap run F06-conversation-events.md: Handshake: auth and close codes (`F06.ws-handshake`).
Command transcript
F06.ws-livepassmap run F06-conversation-events.md: Run a turn and watch it live (`F06.send-run`, `F06.ws-live`).
Command transcript
F06.ws-replay-allpassmap run F06-conversation-events.md: Replay everything (`F06.ws-replay-all`).
Command transcript
F06.ws-replay-sincepassmap run F06-conversation-events.md: Replay since a timestamp (`F06.ws-replay-since`).
Command transcript
F06.ws-sendpassmap run F06-conversation-events.md: Send a message over the socket (`F06.ws-send`).
Command transcript
F06.ws-snapshotpassmap run F06-conversation-events.md: First frame is a state snapshot (`F06.ws-snapshot`).
Command transcript
F07.authpassmap run F07-session-socket.md: Authentication (`F07.auth`).
Command transcript
F07.auth-frame-ignoredpassmap run F07-session-socket.md: Redundant auth frame (`F07.auth-frame-ignored`).
Command transcript
F07.bad-handshakepassmap run F07-session-socket.md: Malformed handshake (`F07.bad-handshake`).
Command transcript
F07.deleted-closexfailmap run F07-session-socket.md: Deleting closes the socket (`F07.deleted-close`), known bug.
Command transcript
F07.error-framepassmap run F07-session-socket.md: Invalid message (`F07.error-frame`).
Command transcript
F07.error-non-jsonpassmap run F07-session-socket.md: Non-JSON and binary frames (`F07.error-non-json`).
Command transcript
F07.frame-too-largepassmap run F07-session-socket.md: Oversized event (`F07.frame-too-large`).
Command transcript
F07.full-replaypassmap run F07-session-socket.md: Full replay (`F07.full-replay`).
Command transcript
F07.item-abortedpassmap run F07-session-socket.md: Interrupted stream (`F07.item-aborted`).
Command transcript
F07.live-durablepassmap run F07-session-socket.md: Live durable frame (`F07.live-durable`).
Command transcript
F07.live-orderxfailmap run F07-session-socket.md: Live frames in seq order (`F07.live-order`), known bug.
Command transcript
F07.progress-framespassmap run F07-session-socket.md: Streaming progress frames (`F07.progress-frames`).
Command transcript
F07.progress-not-replayedpassmap run F07-session-socket.md: Progress is never replayed (`F07.progress-not-replayed`).
Command transcript
F07.reject-non-userpassmap run F07-session-socket.md: Non-user role (`F07.reject-non-user`).
Command transcript
F07.replay-then-livepassmap run F07-session-socket.md: Replay and live tail, each event once (`F07.replay-then-live`).
Command transcript
F07.restart-resumepassmap run F07-session-socket.md: Cursor survives a restart (`F07.restart-resume`).
Command transcript
F07.resume-cursorpassmap run F07-session-socket.md: Resume from a cursor (`F07.resume-cursor`).
Command transcript
F07.send-messagepassmap run F07-session-socket.md: Send a message on the socket (`F07.send-message`).
Command transcript
F07.seq-on-diskpassmap run F07-session-socket.md: Seq is the on-disk index (`F07.seq-on-disk`).
Command transcript
F07.slow-consumerpassmap run F07-session-socket.md: Stalled reader (`F07.slow-consumer`).
Command transcript
F07.snapshot-transientpassmap run F07-session-socket.md: State snapshot (`F07.snapshot-transient`).
Command transcript
F07.subscriber-limitpassmap run F07-session-socket.md: Subscriber cap (`F07.subscriber-limit`).
Command transcript
F07.sync-firstpassmap run F07-session-socket.md: Sync comes first (`F07.sync-first`).
Command transcript
F07.unknown-conversationpassmap run F07-session-socket.md: Unknown conversation (`F07.unknown-conversation`).
Command transcript
F08.always-confirm-waitpassmap run F08-confirmation-security-secrets.md: Wait for confirmation (`F08.always-confirm-wait`).
Command transcript
F08.analyzer-errorspassmap run F08-confirmation-security-secrets.md: Analyzer errors (`F08.analyzer-errors`).
Command transcript
F08.analyzer-set-clearpassmap run F08-confirmation-security-secrets.md: Set and clear the analyzer (`F08.analyzer-set-clear`).
Command transcript
F08.confirm-acceptpassmap run F08-confirmation-security-secrets.md: Accept (`F08.confirm-accept`).
Command transcript
F08.confirm-capacitypassmap run F08-confirmation-security-secrets.md: Accept with the run capacity full (`F08.confirm-capacity`).
Command transcript
F08.confirm-errorspassmap run F08-confirmation-security-secrets.md: Confirmation errors (`F08.confirm-errors`).
Command transcript
F08.confirm-realpassmap run F08-confirmation-security-secrets.md: A real model asks first (`F08.confirm-real`).
Command transcript
F08.confirm-rejectpassmap run F08-confirmation-security-secrets.md: Reject (`F08.confirm-reject`).
Command transcript
F08.confirm-riskypassmap run F08-confirmation-security-secrets.md: Risk-based confirmation (`F08.confirm-risky`).
Command transcript
F08.policy-errorspassmap run F08-confirmation-security-secrets.md: Policy errors (`F08.policy-errors`).
Command transcript
F08.policy-setpassmap run F08-confirmation-security-secrets.md: Set the confirmation policy (`F08.policy-set`).
Command transcript
F08.secrets-bad-valuexfailmap run F08-confirmation-security-secrets.md: Non-string secret value (`F08.secrets-bad-value`), known bug.
Command transcript
F08.secrets-errorspassmap run F08-confirmation-security-secrets.md: Secret errors (`F08.secrets-errors`).
Command transcript
F08.secrets-lookuppassmap run F08-confirmation-security-secrets.md: Lookup secret (`F08.secrets-lookup`).
Command transcript
F08.secrets-lookup-selfpassmap run F08-confirmation-security-secrets.md: Lookup of the server's own secret (`F08.secrets-lookup-self`).
Command transcript
F08.secrets-no-cipherpassmap run F08-confirmation-security-secrets.md: No cipher (`F08.secrets-no-cipher`).
Command transcript
F08.secrets-overridepassmap run F08-confirmation-security-secrets.md: Override a start-time secret (`F08.secrets-override`).
Command transcript
F08.secrets-profile-scopepassmap run F08-confirmation-security-secrets.md: Agent Profile secret scope (`F08.secrets-profile-scope`).
Command transcript
F08.secrets-restartpassmap run F08-confirmation-security-secrets.md: Restart with a saved secret (`F08.secrets-restart`).
Command transcript
F08.secrets-terminalpassmap run F08-confirmation-security-secrets.md: Secrets in the terminal (`F08.secrets-terminal`).
Command transcript
F08.secrets-unsaved-restartxfailmap run F08-confirmation-security-secrets.md: Unsaved secret restart (`F08.secrets-unsaved-restart`), known bug.
Command transcript
F08.secrets-updatepassmap run F08-confirmation-security-secrets.md: Update secrets (`F08.secrets-update`).
Command transcript
F08.secrets-visiblexfailmap run F08-confirmation-security-secrets.md: Runtime secret visible to GET (`F08.secrets-visible`), known bug.
Command transcript
F09.acp-model-blankxfailmap run F09-model-switching-plugins.md: Blank ACP model (`F09.acp-model-blank`), known bug.
Command transcript
F09.acp-model-deferredpassmap run F09-model-switching-plugins.md: ACP model before the first run (`F09.acp-model-deferred`).
Command transcript
F09.acp-model-livepassmap run F09-model-switching-plugins.md: Live ACP switch (`F09.acp-model-live`).
Command transcript
F09.acp-model-live-timeoutpassmap run F09-model-switching-plugins.md: Live switch that times out (`F09.acp-model-live-timeout`).
Command transcript
F09.acp-model-live-unknownxfailmap run F09-model-switching-plugins.md: Unknown model on a live session (`F09.acp-model-live-unknown`), known bug.
Command transcript
F09.acp-model-nativepassmap run F09-model-switching-plugins.md: ACP switch on a regular conversation (`F09.acp-model-native`).
Command transcript
F09.auth-requiredpassmap run F09-model-switching-plugins.md: Key required (`F09.auth-required`).
Command transcript
F09.load-pluginpassmap run F09-model-switching-plugins.md: Load a plugin (`F09.load-plugin`).
Command transcript
F09.load-plugin-errorspassmap run F09-model-switching-plugins.md: Plugin load errors (`F09.load-plugin-errors`).
Command transcript
F09.load-plugin-hook-runspassmap run F09-model-switching-plugins.md: The loaded hook runs (`F09.load-plugin-hook-runs`).
Command transcript
F09.load-plugin-sdkpassmap run F09-model-switching-plugins.md: Load a plugin from the Python SDK (`F09.load-plugin-sdk`).
Command transcript
F09.load-plugin-twicexfailmap run F09-model-switching-plugins.md: Load the same plugin twice (`F09.load-plugin-twice`), known bug.
Command transcript
F09.restart-persistpassmap run F09-model-switching-plugins.md: Restart (`F09.restart-persist`).
Command transcript
F09.switch-llmpassmap run F09-model-switching-plugins.md: Switch to a caller-supplied LLM (`F09.switch-llm`).
Command transcript
F09.switch-llm-acp-refusedxfailmap run F09-model-switching-plugins.md: LLM switches on an ACP conversation (`F09.switch-llm-acp-refused`), known bug.
Command transcript
F09.switch-llm-before-first-runxfailmap run F09-model-switching-plugins.md: Switch before the first run (`F09.switch-llm-before-first-run`), known bug.
Command transcript
F09.switch-llm-encrypted-keypassmap run F09-model-switching-plugins.md: Mid-conversation switch with a cipher token (`F09.switch-llm-encrypted-key`).
Command transcript
F09.switch-llm-errorspassmap run F09-model-switching-plugins.md: Switch errors (`F09.switch-llm-errors`).
Command transcript
F09.switch-llm-mid-runpassmap run F09-model-switching-plugins.md: Switch during a running turn (`F09.switch-llm-mid-run`).
Command transcript
F09.switch-llm-mid-run-getxfailmap run F09-model-switching-plugins.md: GET right after a mid-run switch (`F09.switch-llm-mid-run-get`), known bug.
Command transcript
F09.switch-llm-provider-connectionpassmap run F09-model-switching-plugins.md: Switch through a provider connection (`F09.switch-llm-provider-connection`).
Command transcript
F09.switch-llm-registered-usage-idxfailmap run F09-model-switching-plugins.md: Switch onto a registered usage id (`F09.switch-llm-registered-usage-id`), known bug.
Command transcript
F09.switch-llm-wspassmap run F09-model-switching-plugins.md: Socket view of a switch (`F09.switch-llm-ws`).
Command transcript
F09.switch-profilepassmap run F09-model-switching-plugins.md: Switch to a saved profile (`F09.switch-profile`).
Command transcript
F09.switch-profile-editedxfailmap run F09-model-switching-plugins.md: Switch to an edited profile (`F09.switch-profile-edited`), known bug.
Command transcript
F09.switch-profile-errorspassmap run F09-model-switching-plugins.md: Profile switch errors (`F09.switch-profile-errors`).
Command transcript
F09.ts-clientpassmap run F09-model-switching-plugins.md: TypeScript client (`F09.ts-client`).
Command transcript
F09.ts-client-acp-docsxfailmap run F09-model-switching-plugins.md: TypeScript docstrings for a pre-run ACP switch (`F09.ts-client-acp-docs`), known bug.
Command transcript
F10.ask-agentpassmap run F10-fork-navigate-condense-ask.md: Ask a side question (`F10.ask-agent`).
Command transcript
F10.ask-agent-errorspassmap run F10-fork-navigate-condense-ask.md: Bad input, no key, unreachable model (`F10.ask-agent-errors`).
Command transcript
F10.ask-agent-runningpassmap run F10-fork-navigate-condense-ask.md: Side question during a run (`F10.ask-agent-running`).
Command transcript
F10.ask-agent-unknownxfailmap run F10-fork-navigate-condense-ask.md: Unknown conversation (`F10.ask-agent-unknown`), known bug.
Command transcript
F10.condense-errorspassmap run F10-fork-navigate-condense-ask.md: Unknown, malformed and unauthenticated (`F10.condense-errors`).
Command transcript
F10.condense-llmpassmap run F10-fork-navigate-condense-ask.md: Condense with DeepSeek (`F10.condense-llm`).
Command transcript
F10.condense-llm-failurepassmap run F10-fork-navigate-condense-ask.md: Unreachable condenser model (`F10.condense-llm-failure`).
Command transcript
F10.condense-no-condenserpassmap run F10-fork-navigate-condense-ask.md: No request-handling condenser (`F10.condense-no-condenser`).
Command transcript
F10.condense-statusxfailmap run F10-fork-navigate-condense-ask.md: Refusal status (`F10.condense-status`), known bug.
Command transcript
F10.fork-errorspassmap run F10-fork-navigate-condense-ask.md: Unknown, taken and invalid input (`F10.fork-errors`).
Command transcript
F10.fork-from-eventpassmap run F10-fork-navigate-condense-ask.md: Fork from an event (`F10.fork-from-event`).
Command transcript
F10.fork-independentpassmap run F10-fork-navigate-condense-ask.md: Fork and source diverge (`F10.fork-independent`).
Command transcript
F10.fork-keeps-credentialsxfailmap run F10-fork-navigate-condense-ask.md: The fork keeps the model keys (`F10.fork-keeps-credentials`), known bug.
Command transcript
F10.fork-metricspassmap run F10-fork-navigate-condense-ask.md: Metrics on a fork (`F10.fork-metrics`).
Command transcript
F10.fork-namedpassmap run F10-fork-navigate-condense-ask.md: Named fork (`F10.fork-named`).
Command transcript
F10.fork-run-memoryxfailmap run F10-fork-navigate-condense-ask.md: A fork runs with the source's memory (`F10.fork-run-memory`), known bug.
Command transcript
F10.fork-tags-consistentxfailmap run F10-fork-navigate-condense-ask.md: Fork tags agree with the stored metadata (`F10.fork-tags-consistent`), known bug.
Command transcript
F10.fork-wholepassmap run F10-fork-navigate-condense-ask.md: Fork the whole log (`F10.fork-whole`).
Command transcript
F10.navigate-branchpassmap run F10-fork-navigate-condense-ask.md: The next event branches (`F10.navigate-branch`).
Command transcript
F10.navigate-emptypassmap run F10-fork-navigate-condense-ask.md: Navigate to the empty tree (`F10.navigate-empty`).
Command transcript
F10.navigate-errorspassmap run F10-fork-navigate-condense-ask.md: Unknown, missing and unauthenticated (`F10.navigate-errors`).
Command transcript
F10.navigate-eventpassmap run F10-fork-navigate-condense-ask.md: Navigate to an earlier event (`F10.navigate-event`).
Command transcript
F10.navigate-final-responsexfailmap run F10-fork-navigate-condense-ask.md: Final response after navigating back (`F10.navigate-final-response`), known bug.
Command transcript
F10.restart-cold-callspassmap run F10-fork-navigate-condense-ask.md: Condense and ask on a cold conversation (`F10.restart-cold-calls`).
Command transcript
F10.restart-persistpassmap run F10-fork-navigate-condense-ask.md: State after a restart (`F10.restart-persist`).
Command transcript
F11.goal-authpassmap run F11-goals.md: Authentication (`F11.goal-auth`).
Command transcript
F11.goal-busypassmap run F11-goals.md: Busy while a round is in flight (`F11.goal-busy`).
Command transcript
F11.goal-busy-runpassmap run F11-goals.md: Busy with an ordinary run (`F11.goal-busy-run`).
Command transcript
F11.goal-cap-overrunxfailmap run F11-goals.md: A resume after a failed last audit overruns the cap (`F11.goal-cap-overrun`), known bug.
Command transcript
F11.goal-capacitypassmap run F11-goals.md: Capacity (`F11.goal-capacity`).
Command transcript
F11.goal-cappedpassmap run F11-goals.md: Round cap (`F11.goal-capped`).
Command transcript
F11.goal-completepassmap run F11-goals.md: A goal on a real model (`F11.goal-complete`).
Command transcript
F11.goal-delete-activepassmap run F11-goals.md: Delete a conversation with an active loop (`F11.goal-delete-active`).
Command transcript
F11.goal-followuppassmap run F11-goals.md: Incomplete verdict re-prompts (`F11.goal-followup`).
Command transcript
F11.goal-in-placepassmap run F11-goals.md: Same conversation, no new one (`F11.goal-in-place`).
Command transcript
F11.goal-interrupt-runpassmap run F11-goals.md: Interrupt the round (`F11.goal-interrupt-run`).
Command transcript
F11.goal-judge-errorpassmap run F11-goals.md: The judge fails (`F11.goal-judge-error`).
Command transcript
F11.goal-restart-activexfailmap run F11-goals.md: A loop active at a restart stays "running" (`F11.goal-restart-active`), known bug.
Command transcript
F11.goal-restart-resumepassmap run F11-goals.md: Resume after a restart (`F11.goal-restart-resume`).
Command transcript
F11.goal-resumepassmap run F11-goals.md: Resume a stopped loop (`F11.goal-resume`).
Command transcript
F11.goal-resume-finishedpassmap run F11-goals.md: Nothing to resume after the end (`F11.goal-resume-finished`).
Command transcript
F11.goal-resume-nonepassmap run F11-goals.md: Resume with no goal (`F11.goal-resume-none`).
Command transcript
F11.goal-run-errorpassmap run F11-goals.md: The round's provider fails (`F11.goal-run-error`).
Command transcript
F11.goal-stoppassmap run F11-goals.md: Stop an active loop (`F11.goal-stop`).
Command transcript
F11.goal-stop-nooppassmap run F11-goals.md: Stop with nothing to stop (`F11.goal-stop-noop`).
Command transcript
F11.goal-supersededpassmap run F11-goals.md: A user message supersedes the loop (`F11.goal-superseded`).
Command transcript
F11.goal-superseded-socketpassmap run F11-goals.md: A socket message supersedes the loop (`F11.goal-superseded-socket`).
Command transcript
F11.goal-unknown-idpassmap run F11-goals.md: Unknown and malformed ids (`F11.goal-unknown-id`).
Command transcript
F11.goal-validationpassmap run F11-goals.md: Invalid goal requests (`F11.goal-validation`).
Command transcript
F11.goal-wspassmap run F11-goals.md: Goal status on the socket (`F11.goal-ws`).
Command transcript
F12.binding-live-acppassmap run F12-runtime-and-credentials.md: Bind a loaded ACP Codex conversation (`F12.binding-live-acp`).
Command transcript
F12.binding-native-coldxfailmap run F12-runtime-and-credentials.md: Regular conversation, not loaded (`F12.binding-native-cold`), known bug.
Command transcript
F12.binding-native-too-latepassmap run F12-runtime-and-credentials.md: Regular conversation, loaded (`F12.binding-native-too-late`).
Command transcript
F12.binding-pendingpassmap run F12-runtime-and-credentials.md: Pending binding for an unknown id (`F12.binding-pending`).
Command transcript
F12.binding-pending-clearedpassmap run F12-runtime-and-credentials.md: A pause drops pending bindings (`F12.binding-pending-cleared`).
Command transcript
F12.binding-pending-on-createpassmap run F12-runtime-and-credentials.md: Pending binding consumed at create (`F12.binding-pending-on-create`).
Command transcript
F12.binding-profile-scopepassmap run F12-runtime-and-credentials.md: Profile excludes the secret (`F12.binding-profile-scope`).
Command transcript
F12.binding-rebindpassmap run F12-runtime-and-credentials.md: Re-bind (`F12.binding-rebind`).
Command transcript
F12.binding-required-after-pausepassmap run F12-runtime-and-credentials.md: Required after a pause (`F12.binding-required-after-pause`).
Command transcript
F12.binding-required-after-restartpassmap run F12-runtime-and-credentials.md: Required after a restart (`F12.binding-required-after-restart`).
Command transcript
F12.binding-source-statusespassmap run F12-runtime-and-credentials.md: Source answers (`F12.binding-source-statuses`).
Command transcript
F12.binding-source-unavailablepassmap run F12-runtime-and-credentials.md: Unavailable source (`F12.binding-source-unavailable`).
Command transcript
F12.binding-unsupported-secretpassmap run F12-runtime-and-credentials.md: Unsupported secret names (`F12.binding-unsupported-secret`).
Command transcript
F12.binding-validationpassmap run F12-runtime-and-credentials.md: Body validation (`F12.binding-validation`).
Command transcript
F12.discoverypassmap run F12-runtime-and-credentials.md: Discovery (`F12.discovery`).
Command transcript
F12.docker-runtimepassmap run F12-runtime-and-credentials.md: Docker runtime with a daemon (`F12.docker-runtime`).
Command transcript
F12.docker-runtime-contractpassmap run F12-runtime-and-credentials.md: Docker runtime mode without a daemon (`F12.docker-runtime-contract`).
Command transcript
F12.managed-key-refreshpassmap run F12-runtime-and-credentials.md: Managed key refresh on a 401 (`F12.managed-key-refresh`).
Command transcript
F12.managed-key-scopepassmap run F12-runtime-and-credentials.md: Refresh scope (`F12.managed-key-scope`).
Command transcript
F12.managed-key-switchxfailmap run F12-runtime-and-credentials.md: Refresh after a model switch (`F12.managed-key-switch`), known bug.
Command transcript
F12.runtime-coldpassmap run F12-runtime-and-credentials.md: Runtime of an unloaded conversation (`F12.runtime-cold`).
Command transcript
F12.runtime-errorspassmap run F12-runtime-and-credentials.md: Runtime errors (`F12.runtime-errors`).
Command transcript
F12.runtime-infopassmap run F12-runtime-and-credentials.md: Runtime info (`F12.runtime-info`).
Command transcript
F12.runtime-launched-profilepassmap run F12-runtime-and-credentials.md: Launched profile from the runtime (`F12.runtime-launched-profile`).
Command transcript
F12.runtime-reprovisionpassmap run F12-runtime-and-credentials.md: Reprovision (`F12.runtime-reprovision`).
Command transcript
F12.sandbox-pause-rehydratepassmap run F12-runtime-and-credentials.md: Rehydrate after a pause (`F12.sandbox-pause-rehydrate`).
Command transcript
F12.sandbox-pause-releasespassmap run F12-runtime-and-credentials.md: Pause releases everything (`F12.sandbox-pause-releases`).
Command transcript
F12.sandbox-pause-runningpassmap run F12-runtime-and-credentials.md: Pause a running conversation (`F12.sandbox-pause-running`).
Command transcript
F12.sandbox-pause-websocketxfailmap run F12-runtime-and-credentials.md: Open sockets across a pause (`F12.sandbox-pause-websocket`), known bug.
Command transcript
F12.ts-clientpassmap run F12-runtime-and-credentials.md: TypeScript client (`F12.ts-client`).
Command transcript
F13.authpassmap run F13-bash.md: Auth (`F13.auth`).
Command transcript
F13.clearpassmap run F13-bash.md: Clear (`F13.clear`).
Command transcript
F13.env-config-credentialspassmap run F13-bash.md: Other credential variables (`F13.env-config-credentials`).
Command transcript
F13.env-sanitizedpassmap run F13-bash.md: Sanitized environment (`F13.env-sanitized`).
Command transcript
F13.execute-large-outputxfailmap run F13-bash.md: Large output through execute (`F13.execute-large-output`), known bug.
Command transcript
F13.execute-syncpassmap run F13-bash.md: Synchronous execute (`F13.execute-sync`).
Command transcript
F13.get-eventspassmap run F13-bash.md: Single and batch reads (`F13.get-events`).
Command transcript
F13.global-cwdpassmap run F13-bash.md: Global cwd (`F13.global-cwd`).
Command transcript
F13.order-gt-pagingxfailmap run F13-bash.md: Order filter and paging (`F13.order-gt-paging`), known bug.
Command transcript
F13.output-chunkspassmap run F13-bash.md: Output chunks (`F13.output-chunks`).
Command transcript
F13.persist-restartpassmap run F13-bash.md: Restart (`F13.persist-restart`).
Command transcript
F13.retentionpassmap run F13-bash.md: Retention (`F13.retention`).
Command transcript
F13.retention-rollingpassmap run F13-bash.md: Rolling retention (`F13.retention-rolling`).
Command transcript
F13.scoped-bad-idxfailmap run F13-bash.md: Malformed conversation id (`F13.scoped-bad-id`), known bug.
Command transcript
F13.scoped-cwdpassmap run F13-bash.md: Scoped cwd (`F13.scoped-cwd`).
Command transcript
F13.scoped-idle-evictionxfailmap run F13-bash.md: Idle eviction kills a running command (`F13.scoped-idle-eviction`), known bug.
Command transcript
F13.scoped-isolationpassmap run F13-bash.md: Scope isolation (`F13.scoped-isolation`).
Command transcript
F13.scoped-routespassmap run F13-bash.md: Scoped routes (`F13.scoped-routes`).
Command transcript
F13.scoped-unknownpassmap run F13-bash.md: Unknown conversation (`F13.scoped-unknown`).
Command transcript
F13.searchpassmap run F13-bash.md: Search (`F13.search`).
Command transcript
F13.start-asyncpassmap run F13-bash.md: Asynchronous start (`F13.start-async`).
Command transcript
F13.stoppassmap run F13-bash.md: Stop one command (`F13.stop`).
Command transcript
F13.stop-idempotentpassmap run F13-bash.md: Stop is idempotent (`F13.stop-idempotent`).
Command transcript
F13.timeoutpassmap run F13-bash.md: Timeout (`F13.timeout`).
Command transcript
F13.timestamp-offsetxfailmap run F13-bash.md: Offset timestamps (`F13.timestamp-offset`), known bug.
Command transcript
F13.ws-commandpassmap run F13-bash.md: Commands over the socket (`F13.ws-command`).
Command transcript
F13.ws-livepassmap run F13-bash.md: Live and replayed socket frames (`F13.ws-live`).
Command transcript
F13.ws-resend-allpassmap run F13-bash.md: Deprecated replay flag (`F13.ws-resend-all`).
Command transcript
F13.ws-subscriber-cappassmap run F13-bash.md: Subscriber cap (`F13.ws-subscriber-cap`).
Command transcript
F14.archive-auto-basepassmap run F14-files.md: Automatic base with a remote (`F14.archive-auto-base`).
Command transcript
F14.archive-errorspassmap run F14-files.md: Archive validation (`F14.archive-errors`).
Command transcript
F14.archive-excludespassmap run F14-files.md: Exclude controls (`F14.archive-excludes`).
Command transcript
F14.archive-format-docxfailmap run F14-files.md: What `format` promises (`F14.archive-format-doc`), known bug.
Command transcript
F14.archive-git-deltapassmap run F14-files.md: git-delta patch (`F14.archive-git-delta`).
Command transcript
F14.archive-nested-repopassmap run F14-files.md: Nested repository (`F14.archive-nested-repo`).
Command transcript
F14.archive-tarpassmap run F14-files.md: tar.gz archive (`F14.archive-tar`).
Command transcript
F14.authpassmap run F14-files.md: Session key required (`F14.auth`).
Command transcript
F14.download-errorspassmap run F14-files.md: Download errors (`F14.download-errors`).
Command transcript
F14.homepassmap run F14-files.md: Home and favorites (`F14.home`).
Command transcript
F14.mkdirpassmap run F14-files.md: Create directories (`F14.mkdir`).
Command transcript
F14.restartpassmap run F14-files.md: Restart (`F14.restart`).
Command transcript
F14.scoped-conversation-errorspassmap run F14-files.md: Unknown or malformed conversation (`F14.scoped-conversation-errors`).
Command transcript
F14.scoped-path-guardpassmap run F14-files.md: Workspace path guard (`F14.scoped-path-guard`).
Command transcript
F14.scoped-trajectory-archivepassmap run F14-files.md: Scoped trajectory and archive (`F14.scoped-trajectory-archive`).
Command transcript
F14.scoped-transferpassmap run F14-files.md: Conversation-scoped transfer (`F14.scoped-transfer`).
Command transcript
F14.sdk-workspacepassmap run F14-files.md: SDK workspace (`F14.sdk-workspace`).
Command transcript
F14.subdirspassmap run F14-files.md: List subdirectories (`F14.subdirs`).
Command transcript
F14.subdirs-case-paginationxfailmap run F14-files.md: Paging past a case-only twin (`F14.subdirs-case-pagination`), known bug.
Command transcript
F14.subdirs-errorspassmap run F14-files.md: Listing errors (`F14.subdirs-errors`).
Command transcript
F14.subdirs-paginationpassmap run F14-files.md: Pagination (`F14.subdirs-pagination`).
Command transcript
F14.trajectorypassmap run F14-files.md: Trajectory zip (`F14.trajectory`).
Command transcript
F14.trajectory-concurrentxfailmap run F14-files.md: Concurrent trajectory downloads (`F14.trajectory-concurrent`), known bug.
Command transcript
F14.trajectory-errorspassmap run F14-files.md: Trajectory errors (`F14.trajectory-errors`).
Command transcript
F14.trajectory-init-pathxfailmap run F14-files.md: Init-time conversations path (`F14.trajectory-init-path`), known bug.
Command transcript
F14.upload-atomicxfailmap run F14-files.md: Failed overwrite (`F14.upload-atomic`), known bug.
Command transcript
F14.upload-downloadpassmap run F14-files.md: Upload and download round trip (`F14.upload-download`).
Command transcript
F14.upload-errorspassmap run F14-files.md: Upload validation (`F14.upload-errors`).
Command transcript
F14.upload-onto-directoryxfailmap run F14-files.md: Upload onto a directory (`F14.upload-onto-directory`), known bug.
Command transcript
F14.upload-sizexfailmap run F14-files.md: Upload size in the consumers' result (`F14.upload-size`), known bug.
Command transcript
F15.agent-changespassmap run F15-git.md: What the agent changed (`F15.agent-changes`).
Command transcript
F15.authpassmap run F15-git.md: Session key required (`F15.auth`).
Command transcript
F15.changespassmap run F15-git.md: Working-tree changes (`F15.changes`).
Command transcript
F15.changes-basepassmap run F15-git.md: Default display base (`F15.changes-base`).
Command transcript
F15.changes-nested-repopassmap run F15-git.md: Nested repository (`F15.changes-nested-repo`).
Command transcript
F15.changes-refpassmap run F15-git.md: Explicit base and its errors (`F15.changes-ref`).
Command transcript
F15.changes-repo-below-pathxfailmap run F15-git.md: Repository below the requested directory (`F15.changes-repo-below-path`), known bug.
Command transcript
F15.changes-special-namesxfailmap run F15-git.md: File names with a space or non-ASCII characters (`F15.changes-special-names`), known bug.
Command transcript
F15.changes-statusespassmap run F15-git.md: Staged deletions, additions and renames (`F15.changes-statuses`).
Command transcript
F15.changes-subdir-pathsxfailmap run F15-git.md: Subdirectory of a repository (`F15.changes-subdir-paths`), known bug.
Command transcript
F15.commit-changespassmap run F15-git.md: Files of one commit (`F15.commit-changes`).
Command transcript
F15.commitspassmap run F15-git.md: Commit history (`F15.commits`).
Command transcript
F15.diffpassmap run F15-git.md: Per-file diff (`F15.diff`).
Command transcript
F15.diff-commitpassmap run F15-git.md: Diff of one commit (`F15.diff-commit`).
Command transcript
F15.diff-deleted-filexfailmap run F15-git.md: Diff of a deleted file (`F15.diff-deleted-file`), known bug.
Command transcript
F15.diff-errorspassmap run F15-git.md: Diff errors (`F15.diff-errors`).
Command transcript
F15.diff-whitespacexfailmap run F15-git.md: Phantom whitespace diff (`F15.diff-whitespace`), known bug.
Command transcript
F15.non-repopassmap run F15-git.md: Not a repository, or no commits yet (`F15.non-repo`).
Command transcript
F15.repo-search-errorspassmap run F15-git.md: Provider and parameter validation (`F15.repo-search-errors`).
Command transcript
F15.repo-search-githubpassLive GitHub listing, pagination, and search; 401 control limited by environment
Command transcript
F15.repo-search-timeoutpassmap run F15-git.md: GitHub timeout (`F15.repo-search-timeout`).
Command transcript
F15.repo-search-tokenpassmap run F15-git.md: Token lookup (`F15.repo-search-token`).
Command transcript
F15.repo-search-unreachablepassmap run F15-git.md: GitHub unreachable (`F15.repo-search-unreachable`).
Command transcript
F15.scopedpassmap run F15-git.md: Conversation-scoped views (`F15.scoped`).
Command transcript
F15.scoped-guardpassmap run F15-git.md: Workspace guard (`F15.scoped-guard`).
Command transcript
F15.scoped-restartpassmap run F15-git.md: After a restart (`F15.scoped-restart`).
Command transcript
F15.sdk-workspacepassmap run F15-git.md: Python SDK workspace (`F15.sdk-workspace`).
Command transcript
F15.ts-clientpassmap run F15-git.md: TypeScript client (`F15.ts-client`).
Command transcript
F16.agent-artifactpassmap run F16-workspace-serving-and-vscode.md: The agent's own artifact (`F16.agent-artifact`).
Command transcript
F16.authpassmap run F16-workspace-serving-and-vscode.md: Header or cookie (`F16.auth`).
Command transcript
F16.content-typespassmap run F16-workspace-serving-and-vscode.md: Content types (`F16.content-types`).
Command transcript
F16.deleted-conversationpassmap run F16-workspace-serving-and-vscode.md: Deleted conversation (`F16.deleted-conversation`).
Command transcript
F16.dir-indexpassmap run F16-workspace-serving-and-vscode.md: Directory index and missing files (`F16.dir-index`).
Command transcript
F16.docker-root-cookiexfailmap run F16-workspace-serving-and-vscode.md: Docker-mode root and the cookie (`F16.docker-root-cookie`), known bug.
Command transcript
F16.file-bytespassmap run F16-workspace-serving-and-vscode.md: File bytes and headers (`F16.file-bytes`).
Command transcript
F16.live-contentpassmap run F16-workspace-serving-and-vscode.md: Live content (`F16.live-content`).
Command transcript
F16.rangepassmap run F16-workspace-serving-and-vscode.md: Byte ranges (`F16.range`).
Command transcript
F16.restartpassmap run F16-workspace-serving-and-vscode.md: Across a restart (`F16.restart`).
Command transcript
F16.root-indexpassmap run F16-workspace-serving-and-vscode.md: Root index (`F16.root-index`).
Command transcript
F16.symlink-escapepassmap run F16-workspace-serving-and-vscode.md: Symlinks (`F16.symlink-escape`).
Command transcript
F16.traversal-rejectedpassmap run F16-workspace-serving-and-vscode.md: Traversal (`F16.traversal-rejected`).
Command transcript
F16.unknown-conversationpassmap run F16-workspace-serving-and-vscode.md: Unknown and malformed ids (`F16.unknown-conversation`).
Command transcript
F16.vscode-authpassmap run F16-workspace-serving-and-vscode.md: VS Code routes are header-only (`F16.vscode-auth`).
Command transcript
F16.vscode-disabledpassmap run F16-workspace-serving-and-vscode.md: VS Code disabled (`F16.vscode-disabled`).
Command transcript
F16.vscode-enabled-statuspassmap run F16-workspace-serving-and-vscode.md: Enabled but not running (`F16.vscode-enabled-status`).
Command transcript
F16.vscode-folder-encodingxfailmap run F16-workspace-serving-and-vscode.md: Folder with `&` and `#` (`F16.vscode-folder-encoding`), known bug.
Command transcript
F16.vscode-runningblockedmap run F16-workspace-serving-and-vscode.md: VS Code actually running (`F16.vscode-running`), blocked.
No executable artifact (see limitation)
F16.vscode-scoped-guardspassmap run F16-workspace-serving-and-vscode.md: Scoped guards (`F16.vscode-scoped-guards`).
Command transcript
F16.vscode-url-after-initpassmap run F16-workspace-serving-and-vscode.md: Key delivered by init, no URL (`F16.vscode-url-after-init`).
Command transcript
F16.vscode-url-no-keypassmap run F16-workspace-serving-and-vscode.md: No key, no URL (`F16.vscode-url-no-key`).
Command transcript
F16.vscode-url-not-runningxfailmap run F16-workspace-serving-and-vscode.md: Not running, still advertised (`F16.vscode-url-not-running`), known bug.
Command transcript
F16.vscode-url-shapepassmap run F16-workspace-serving-and-vscode.md: URL shape (`F16.vscode-url-shape`).
Command transcript
F16.workspace-dir-missingpassmap run F16-workspace-serving-and-vscode.md: Workspace directory gone (`F16.workspace-dir-missing`).
Command transcript
F16.worktree-servedpassmap run F16-workspace-serving-and-vscode.md: Worktree conversation (`F16.worktree-served`).
Command transcript
F17.add-parentspassmap run F17-workspaces-registry.md: Register parents (`F17.add-parents`).
Command transcript
F17.add-workspacespassmap run F17-workspaces-registry.md: Register a repository and a plain directory (`F17.add-workspaces`).
Command transcript
F17.auth-requiredpassmap run F17-workspaces-registry.md: Session key required (`F17.auth-required`).
Command transcript
F17.concurrent-addspassmap run F17-workspaces-registry.md: Concurrent writes (`F17.concurrent-adds`).
Command transcript
F17.corrupted-filepassmap run F17-workspaces-registry.md: Corrupted file (`F17.corrupted-file`).
Command transcript
F17.delete-not-foundpassmap run F17-workspaces-registry.md: Unknown paths (`F17.delete-not-found`).
Command transcript
F17.delete-parentpassmap run F17-workspaces-registry.md: Delete a parent (`F17.delete-parent`).
Command transcript
F17.delete-workspacepassmap run F17-workspaces-registry.md: Delete a workspace (`F17.delete-workspace`).
Command transcript
F17.future-schemapassmap run F17-workspaces-registry.md: Future or invalid schema (`F17.future-schema`).
Command transcript
F17.idempotent-addpassmap run F17-workspaces-registry.md: Idempotent re-add (`F17.idempotent-add`).
Command transcript
F17.io-errorpassmap run F17-workspaces-registry.md: Unreadable file (`F17.io-error`).
Command transcript
F17.list-emptypassmap run F17-workspaces-registry.md: Empty registry (`F17.list-empty`).
Command transcript
F17.lists-independentpassmap run F17-workspaces-registry.md: Two independent lists (`F17.lists-independent`).
Command transcript
F17.noop-delete-no-filexfailmap run F17-workspaces-registry.md: A refused delete on a fresh directory (`F17.noop-delete-no-file`), known bug.
Command transcript
F17.noop-write-readonlyfailmap run F17-workspaces-registry.md: No-op writes on read-only storage (`F17.noop-write-readonly`), known bug.
Command transcript
F17.noop-write-untouchedxfailmap run F17-workspaces-registry.md: No-op writes leave the file alone (`F17.noop-write-untouched`), known bug.
Command transcript
F17.parent-childrenpassmap run F17-workspaces-registry.md: Children of a parent (`F17.parent-children`).
Command transcript
F17.paths-opaquepassmap run F17-workspaces-registry.md: Paths are opaque strings (`F17.paths-opaque`).
Command transcript
F17.persist-restartpassmap run F17-workspaces-registry.md: Persistence across a restart (`F17.persist-restart`).
Command transcript
F17.persistence-locationpassmap run F17-workspaces-registry.md: Location without `OH_PERSISTENCE_DIR` (`F17.persistence-location`).
Command transcript
F17.shared-dirpassmap run F17-workspaces-registry.md: Two servers, one file (`F17.shared-dir`).
Command transcript
F17.ts-clientpassmap run F17-workspaces-registry.md: TypeScript client (`F17.ts-client`).
Command transcript
F17.validationpassmap run F17-workspaces-registry.md: Validation (`F17.validation`).
Command transcript
F17.wire-formatpassmap run F17-workspaces-registry.md: Wire format (`F17.wire-format`).
Command transcript
F18.active-profile-pointerpassmap run F18-settings-and-secrets.md: Active LLM profile pointer (`F18.active-profile-pointer`).
Command transcript
F18.agent-diff-mergepassmap run F18-settings-and-secrets.md: Sparse agent diff and unset (`F18.agent-diff-merge`).
Command transcript
F18.agent-kind-switchpassmap run F18-settings-and-secrets.md: Agent kind switch (`F18.agent-kind-switch`).
Command transcript
F18.agent-schemapassmap run F18-settings-and-secrets.md: Agent settings schema (`F18.agent-schema`).
Command transcript
F18.auth-requiredpassmap run F18-settings-and-secrets.md: Key required (`F18.auth-required`).
Command transcript
F18.conversation-diffpassmap run F18-settings-and-secrets.md: Conversation settings (`F18.conversation-diff`).
Command transcript
F18.conversation-schemapassmap run F18-settings-and-secrets.md: Conversation settings schema (`F18.conversation-schema`).
Command transcript
F18.corrupted-filespassmap run F18-settings-and-secrets.md: Corrupted files (`F18.corrupted-files`).
Command transcript
F18.dangling-pointersxfailmap run F18-settings-and-secrets.md: Dangling meta-profile pointer (`F18.dangling-pointers`), known bug.
Command transcript
F18.encrypted-at-restpassmap run F18-settings-and-secrets.md: Encrypted at rest (`F18.encrypted-at-rest`).
Command transcript
F18.expose-modespassmap run F18-settings-and-secrets.md: Exposure modes (`F18.expose-modes`).
Command transcript
F18.get-defaultspassmap run F18-settings-and-secrets.md: Fresh defaults (`F18.get-defaults`).
Command transcript
F18.misc-settings-mergepassmap run F18-settings-and-secrets.md: Opaque misc settings (`F18.misc-settings-merge`).
Command transcript
F18.no-cipherpassmap run F18-settings-and-secrets.md: No cipher (`F18.no-cipher`).
Command transcript
F18.patch-llmpassmap run F18-settings-and-secrets.md: Set the LLM (`F18.patch-llm`).
Command transcript
F18.patch-validationpassmap run F18-settings-and-secrets.md: Rejected PATCH bodies (`F18.patch-validation`).
Command transcript
F18.persist-restartpassmap run F18-settings-and-secrets.md: Persistence across a restart (`F18.persist-restart`).
Command transcript
F18.roundtrippassmap run F18-settings-and-secrets.md: Post back what GET returned (`F18.roundtrip`).
Command transcript
F18.sdk-clone-repospassmap run F18-settings-and-secrets.md: SDK clones with the stored token (`F18.sdk-clone-repos`).
Command transcript
F18.sdk-remote-workspacepassmap run F18-settings-and-secrets.md: SDK consumer (`F18.sdk-remote-workspace`).
Command transcript
F18.secret-deletepassmap run F18-settings-and-secrets.md: Delete a secret (`F18.secret-delete`).
Command transcript
F18.secret-empty-valuepassmap run F18-settings-and-secrets.md: Empty secret value (`F18.secret-empty-value`).
Command transcript
F18.secret-key-rotationxfailmap run F18-settings-and-secrets.md: Cipher key rotation (`F18.secret-key-rotation`), known bug.
Command transcript
F18.secret-name-contractxfailmap run F18-settings-and-secrets.md: Documented status for an invalid name (`F18.secret-name-contract`), known bug.
Command transcript
F18.secret-name-validationpassmap run F18-settings-and-secrets.md: Secret names (`F18.secret-name-validation`).
Command transcript
F18.secret-put-list-getpassmap run F18-settings-and-secrets.md: Upsert, list and read a secret (`F18.secret-put-list-get`).
Command transcript
F18.secret-scope-agent-profilepassmap run F18-settings-and-secrets.md: Secrets scoped by an agent profile (`F18.secret-scope-agent-profile`).
Command transcript
F18.secret-scope-profile-errorsxfailmap run F18-settings-and-secrets.md: Agent-profile store busy (`F18.secret-scope-profile-errors`), known bug.
Command transcript
F18.ts-clientpassmap run F18-settings-and-secrets.md: TypeScript client (`F18.ts-client`).
Command transcript
F19.authpassmap run F19-mcp.md: Auth (`F19.auth`).
Command transcript
F19.conversation-secrets-at-restpassmap run F19-mcp.md: Credentials at rest (`F19.conversation-secrets-at-rest`).
Command transcript
F19.conversation-toolpassmap run F19-mcp.md: The agent uses the MCP tool (`F19.conversation-tool`).
Command transcript
F19.disabled-serverpassmap run F19-mcp.md: Disabled servers stay off (`F19.disabled-server`).
Command transcript
F19.oauth-callback-bad-portxfailmap run F19-mcp.md: Port out of range (`F19.oauth-callback-bad-port`), known bug.
Command transcript
F19.oauth-callback-replayxfailmap run F19-mcp.md: Replayed callback (`F19.oauth-callback-replay`), known bug.
Command transcript
F19.oauth-callback-validationpassmap run F19-mcp.md: Callback URL checks on a live job (`F19.oauth-callback-validation`).
Command transcript
F19.oauth-consent-deniedpassmap run F19-mcp.md: Denied consent (`F19.oauth-consent-denied`).
Command transcript
F19.oauth-consent-timeoutpassmap run F19-mcp.md: Consent timeout (`F19.oauth-consent-timeout`).
Command transcript
F19.oauth-flowpassmap run F19-mcp.md: Full OAuth consent (`F19.oauth-flow`).
Command transcript
F19.oauth-inline-writebackpassmap run F19-mcp.md: Inline OAuth server refresh (`F19.oauth-inline-writeback`).
Command transcript
F19.oauth-refresh-writebackpassmap run F19-mcp.md: Stored OAuth token refresh (`F19.oauth-refresh-writeback`).
Command transcript
F19.oauth-start-errorspassmap run F19-mcp.md: OAuth start refusals and early outcomes (`F19.oauth-start-errors`).
Command transcript
F19.oauth-stored-statepassmap run F19-mcp.md: Stored OAuth state (`F19.oauth-stored-state`).
Command transcript
F19.oauth-unknown-jobpassmap run F19-mcp.md: Unknown jobs (`F19.oauth-unknown-job`).
Command transcript
F19.restartpassmap run F19-mcp.md: Restart (`F19.restart`).
Command transcript
F19.settings-createpassmap run F19-mcp.md: Create one server (`F19.settings-create`).
Command transcript
F19.settings-deletepassmap run F19-mcp.md: Delete one server (`F19.settings-delete`).
Command transcript
F19.settings-empty-serverxfailmap run F19-mcp.md: Server with neither command nor url (`F19.settings-empty-server`), known bug.
Command transcript
F19.settings-patchpassmap run F19-mcp.md: Sparse patch (`F19.settings-patch`).
Command transcript
F19.settings-validationpassmap run F19-mcp.md: Invalid servers (`F19.settings-validation`).
Command transcript
F19.test-connect-failurespassmap run F19-mcp.md: Connection failures (`F19.test-connect-failures`).
Command transcript
F19.test-encrypted-envpassmap run F19-mcp.md: Encrypted env from settings (`F19.test-encrypted-env`).
Command transcript
F19.test-remote-bearerpassmap run F19-mcp.md: Remote server behind a bearer token (`F19.test-remote-bearer`).
Command transcript
F19.test-stdiopassmap run F19-mcp.md: Test a stdio server (`F19.test-stdio`).
Command transcript
F19.test-timeoutpassmap run F19-mcp.md: Handshake timeout (`F19.test-timeout`).
Command transcript
F19.test-tool-errorspassmap run F19-mcp.md: Tool failures stay in `tool_result` (`F19.test-tool-errors`).
Command transcript
F19.test-validationpassmap run F19-mcp.md: Connection test body validation (`F19.test-validation`).
Command transcript
F20.activatepassmap run F20-llm-profiles.md: Activate (`F20.activate`).
Command transcript
F20.activate-acppassmap run F20-llm-profiles.md: ACP settings (`F20.activate-acp`).
Command transcript
F20.activate-conversationpassmap run F20-llm-profiles.md: Activation drives conversations (`F20.activate-conversation`).
Command transcript
F20.activate-dangling-providerpassmap run F20-llm-profiles.md: Dangling provider link (`F20.activate-dangling-provider`).
Command transcript
F20.activate-linked-providerpassmap run F20-llm-profiles.md: Linked provider (`F20.activate-linked-provider`).
Command transcript
F20.auth-requiredpassmap run F20-llm-profiles.md: Key required (`F20.auth-required`).
Command transcript
F20.corrupt-filespassmap run F20-llm-profiles.md: Corrupted files (`F20.corrupt-files`).
Command transcript
F20.deletepassmap run F20-llm-profiles.md: Delete (`F20.delete`).
Command transcript
F20.delete-guardedpassmap run F20-llm-profiles.md: Guarded delete (`F20.delete-guarded`).
Command transcript
F20.get-secretspassmap run F20-llm-profiles.md: Reading the key (`F20.get-secrets`).
Command transcript
F20.json-alias-guardxfailmap run F20-llm-profiles.md: Delete through the `.json` alias (`F20.json-alias-guard`), known bug.
Command transcript
F20.key-encrypted-at-restpassmap run F20-llm-profiles.md: Encrypted at rest (`F20.key-encrypted-at-rest`).
Command transcript
F20.name-rulespassmap run F20-llm-profiles.md: Name rules (`F20.name-rules`).
Command transcript
F20.no-cipherpassmap run F20-llm-profiles.md: No cipher (`F20.no-cipher`).
Command transcript
F20.not-foundpassmap run F20-llm-profiles.md: Unknown names (`F20.not-found`).
Command transcript
F20.persist-restartpassmap run F20-llm-profiles.md: Restart (`F20.persist-restart`).
Command transcript
F20.profile-limitpassmap run F20-llm-profiles.md: Profile limit (`F20.profile-limit`).
Command transcript
F20.renamepassmap run F20-llm-profiles.md: Rename (`F20.rename`).
Command transcript
F20.rename-errorspassmap run F20-llm-profiles.md: Rename errors (`F20.rename-errors`).
Command transcript
F20.savepassmap run F20-llm-profiles.md: Save (`F20.save`).
Command transcript
F20.save-encrypted-roundtrippassmap run F20-llm-profiles.md: Encrypted round trip (`F20.save-encrypted-roundtrip`).
Command transcript
F20.save-without-secretspassmap run F20-llm-profiles.md: Save without secrets (`F20.save-without-secrets`).
Command transcript
F20.sdk-get-llmpassmap run F20-llm-profiles.md: SDK consumer (`F20.sdk-get-llm`).
Command transcript
F20.sdk-get-llm-linkedpassmap run F20-llm-profiles.md: SDK on a linked profile (`F20.sdk-get-llm-linked`).
Command transcript
F20.secret-key-rotationxfailmap run F20-llm-profiles.md: Secret key rotation (`F20.secret-key-rotation`), known bug.
Command transcript
F20.store-busypassmap run F20-llm-profiles.md: Store busy (`F20.store-busy`).
Command transcript
F20.store-busy-responsivexfailmap run F20-llm-profiles.md: Lock wait blocks the server (`F20.store-busy-responsive`), known bug.
Command transcript
F20.ts-clientpassmap run F20-llm-profiles.md: TypeScript client (`F20.ts-client`).
Command transcript
F20.validate-bad-key-typexfailmap run F20-llm-profiles.md: DeepSeek 401 type (`F20.validate-bad-key-type`), known bug.
Command transcript
F20.validate-hang-boundedxfailmap run F20-llm-profiles.md: Hanging provider is slower (`F20.validate-hang-bounded`), known bug.
Command transcript
F20.validate-livepassmap run F20-llm-profiles.md: Validate a working config (`F20.validate-live`).
Command transcript
F20.validate-provider-errorspassmap run F20-llm-profiles.md: Provider failures (`F20.validate-provider-errors`).
Command transcript
F20.validate-rejectspassmap run F20-llm-profiles.md: Validate rejects (`F20.validate-rejects`).
Command transcript
F20.validate-subscription-loginpassmap run F20-llm-profiles.md: Subscription without a login (`F20.validate-subscription-login`).
Command transcript
F20.validate-unreachable-boundedxfailmap run F20-llm-profiles.md: Unreachable endpoint is slow (`F20.validate-unreachable-bounded`), known bug.
Command transcript
F21.acp-kindpassmap run F21-agent-profiles.md: ACP profile (`F21.acp-kind`).
Command transcript
F21.acp-skill-sourcingpassmap run F21-agent-profiles.md: ACP skill sourcing (`F21.acp-skill-sourcing`).
Command transcript
F21.activatepassmap run F21-agent-profiles.md: Activate by id (`F21.activate`).
Command transcript
F21.activate-corrupt-settingspassmap run F21-agent-profiles.md: Activate over a corrupt settings file (`F21.activate-corrupt-settings`).
Command transcript
F21.auth-requiredpassmap run F21-agent-profiles.md: No key, no access (`F21.auth-required`).
Command transcript
F21.busy-blocks-serverxfailmap run F21-agent-profiles.md: Lock wait stalls the server (`F21.busy-blocks-server`), known bug.
Command transcript
F21.conversation-startpassmap run F21-agent-profiles.md: Start a conversation from a profile (`F21.conversation-start`).
Command transcript
F21.corrupt-filepassmap run F21-agent-profiles.md: Corrupt file (`F21.corrupt-file`).
Command transcript
F21.dangling-llm-reportxfailmap run F21-agent-profiles.md: How a dangling LLM reference is reported (`F21.dangling-llm-report`), known bug.
Command transcript
F21.deletepassmap run F21-agent-profiles.md: Delete (`F21.delete`).
Command transcript
F21.delete-active-acp-resetpassmap run F21-agent-profiles.md: Active ACP reset (`F21.delete-active-acp-reset`).
Command transcript
F21.json-suffix-identityxfailmap run F21-agent-profiles.md: `.json` names lose their identity (`F21.json-suffix-identity`), known bug.
Command transcript
F21.launch-additionspassmap run F21-agent-profiles.md: Launch additions (`F21.launch-additions`).
Command transcript
F21.launch-store-busypassmap run F21-agent-profiles.md: Busy store at conversation start (`F21.launch-store-busy`).
Command transcript
F21.lazy-seedpassmap run F21-agent-profiles.md: Lazy seed (`F21.lazy-seed`).
Command transcript
F21.limitpassmap run F21-agent-profiles.md: At most 50 (`F21.limit`).
Command transcript
F21.materialize-danglingpassmap run F21-agent-profiles.md: Dangling references (`F21.materialize-dangling`).
Command transcript
F21.materialize-draftpassmap run F21-agent-profiles.md: Draft preview (`F21.materialize-draft`).
Command transcript
F21.materialize-validpassmap run F21-agent-profiles.md: Materialize a resolvable profile (`F21.materialize-valid`).
Command transcript
F21.name-rulespassmap run F21-agent-profiles.md: Name rules (`F21.name-rules`).
Command transcript
F21.not-foundpassmap run F21-agent-profiles.md: Unknown names and ids (`F21.not-found`).
Command transcript
F21.renamepassmap run F21-agent-profiles.md: Rename (`F21.rename`).
Command transcript
F21.restartpassmap run F21-agent-profiles.md: Restart (`F21.restart`).
Command transcript
F21.save-createpassmap run F21-agent-profiles.md: Create (`F21.save-create`).
Command transcript
F21.save-overwritepassmap run F21-agent-profiles.md: Overwrite (`F21.save-overwrite`).
Command transcript
F21.save-validationpassmap run F21-agent-profiles.md: Save validation (`F21.save-validation`).
Command transcript
F21.secret-scopepassmap run F21-agent-profiles.md: Secret scope (`F21.secret-scope`).
Command transcript
F21.seed-acppassmap run F21-agent-profiles.md: ACP seed (`F21.seed-acp`).
Command transcript
F21.seed-no-ghost-llmpassmap run F21-agent-profiles.md: No ghost LLM profile (`F21.seed-no-ghost-llm`).
Command transcript
F21.store-busypassmap run F21-agent-profiles.md: Store busy (`F21.store-busy`).
Command transcript
F21.ts-clientpassmap run F21-agent-profiles.md: TypeScript client (`F21.ts-client`).
Command transcript
F21.ts-payload-typesxfailmap run F21-agent-profiles.md: TypeScript payload types (`F21.ts-payload-types`), known bug.
Command transcript
F22.acp-clears-pointerpassmap run F22-meta-profiles.md: ACP clears the pointer (`F22.acp-clears-pointer`).
Command transcript
F22.activatepassmap run F22-meta-profiles.md: Activate (`F22.activate`).
Command transcript
F22.activate-acpxfailmap run F22-meta-profiles.md: Activation on ACP settings (`F22.activate-acp`), known bug.
Command transcript
F22.auth-requiredpassmap run F22-meta-profiles.md: Key required (`F22.auth-required`).
Command transcript
F22.corrupt-filespassmap run F22-meta-profiles.md: Corrupted files (`F22.corrupt-files`).
Command transcript
F22.corrupt-settingsxfailmap run F22-meta-profiles.md: Unreadable settings (`F22.corrupt-settings`), known bug.
Command transcript
F22.deletepassmap run F22-meta-profiles.md: Delete (`F22.delete`).
Command transcript
F22.delete-active-clearspassmap run F22-meta-profiles.md: Delete the active one (`F22.delete-active-clears`).
Command transcript
F22.empty-routerxfailmap run F22-meta-profiles.md: Router with no route (`F22.empty-router`), known bug.
Command transcript
F22.limitpassmap run F22-meta-profiles.md: Limit (`F22.limit`).
Command transcript
F22.name-rulespassmap run F22-meta-profiles.md: Name rules (`F22.name-rules`).
Command transcript
F22.not-foundpassmap run F22-meta-profiles.md: Unknown names (`F22.not-found`).
Command transcript
F22.overwritepassmap run F22-meta-profiles.md: Overwrite (`F22.overwrite`).
Command transcript
F22.persist-restartpassmap run F22-meta-profiles.md: Restart (`F22.persist-restart`).
Command transcript
F22.persistence-dirxfailmap run F22-meta-profiles.md: Persistence directory with `~` (`F22.persistence-dir`), known bug.
Command transcript
F22.route-classespassmap run F22-meta-profiles.md: Classes-mode routing (`F22.route-classes`).
Command transcript
F22.route-directpassmap run F22-meta-profiles.md: Direct routing (`F22.route-direct`).
Command transcript
F22.route-missing-profilepassmap run F22-meta-profiles.md: Missing LLM profile (`F22.route-missing-profile`).
Command transcript
F22.save-classespassmap run F22-meta-profiles.md: Save in classes mode (`F22.save-classes`).
Command transcript
F22.save-directpassmap run F22-meta-profiles.md: Save in direct mode (`F22.save-direct`).
Command transcript
F22.store-busypassmap run F22-meta-profiles.md: Store busy (`F22.store-busy`).
Command transcript
F22.store-busy-responsivexfailmap run F22-meta-profiles.md: Lock wait blocks the server (`F22.store-busy-responsive`), known bug.
Command transcript
F22.ts-clientpassmap run F22-meta-profiles.md: TypeScript client (`F22.ts-client`).
Command transcript
F22.validationpassmap run F22-meta-profiles.md: Validation (`F22.validation`).
Command transcript
F23.acp-discovery-errorspassmap run F23-llm-catalog-and-connections.md: ACP discovery errors (`F23.acp-discovery-errors`).
Command transcript
F23.auth-requiredpassmap run F23-llm-catalog-and-connections.md: Key required (`F23.auth-required`).
Command transcript
F23.catalog-ts-clientpassmap run F23-llm-catalog-and-connections.md: TypeScript client (`F23.catalog-ts-client`).
Command transcript
F23.conn-createpassmap run F23-llm-catalog-and-connections.md: Create (`F23.conn-create`).
Command transcript
F23.conn-create-blank-keyxfailmap run F23-llm-catalog-and-connections.md: Blank keys on create (`F23.conn-create-blank-key`), known bug.
Command transcript
F23.conn-create-validationpassmap run F23-llm-catalog-and-connections.md: Create validation (`F23.conn-create-validation`).
Command transcript
F23.conn-deletepassmap run F23-llm-catalog-and-connections.md: Delete (`F23.conn-delete`).
Command transcript
F23.conn-key-encryptedpassmap run F23-llm-catalog-and-connections.md: Key hidden and encrypted (`F23.conn-key-encrypted`).
Command transcript
F23.conn-limitpassmap run F23-llm-catalog-and-connections.md: Limit (`F23.conn-limit`).
Command transcript
F23.conn-patch-blank-keyxfailmap run F23-llm-catalog-and-connections.md: Blank keys on update (`F23.conn-patch-blank-key`), known bug.
Command transcript
F23.conn-rotate-keypassmap run F23-llm-catalog-and-connections.md: Rotate the key (`F23.conn-rotate-key`).
Command transcript
F23.conn-updatepassmap run F23-llm-catalog-and-connections.md: Update (`F23.conn-update`).
Command transcript
F23.conn-update-validationpassmap run F23-llm-catalog-and-connections.md: Update validation (`F23.conn-update-validation`).
Command transcript
F23.corrupt-filepassmap run F23-llm-catalog-and-connections.md: Corrupted file (`F23.corrupt-file`).
Command transcript
F23.delete-guardpassmap run F23-llm-catalog-and-connections.md: Delete guard (`F23.delete-guard`).
Command transcript
F23.linked-runpassmap run F23-llm-catalog-and-connections.md: Linked profile runs on the connection (`F23.linked-run`).
Command transcript
F23.modelspassmap run F23-llm-catalog-and-connections.md: All models (`F23.models`).
Command transcript
F23.models-filterpassmap run F23-llm-catalog-and-connections.md: Provider filter (`F23.models-filter`).
Command transcript
F23.models-no-bedrockxfailmap run F23-llm-catalog-and-connections.md: No Bedrock ids under a provider (`F23.models-no-bedrock`), known bug.
Command transcript
F23.no-cipherpassmap run F23-llm-catalog-and-connections.md: No cipher (`F23.no-cipher`).
Command transcript
F23.persist-restartpassmap run F23-llm-catalog-and-connections.md: Restart (`F23.persist-restart`).
Command transcript
F23.providerspassmap run F23-llm-catalog-and-connections.md: Providers (`F23.providers`).
Command transcript
F23.store-busypassmap run F23-llm-catalog-and-connections.md: Store busy (`F23.store-busy`).
Command transcript
F23.store-busy-responsivexfailmap run F23-llm-catalog-and-connections.md: Lock wait blocks the server (`F23.store-busy-responsive`), known bug.
Command transcript
F23.strict-decryptpassmap run F23-llm-catalog-and-connections.md: Secret key changed (`F23.strict-decrypt`).
Command transcript
F23.validate-linked-draftxfailmap run F23-llm-catalog-and-connections.md: Validate a linked draft (`F23.validate-linked-draft`), known bug.
Command transcript
F23.verified-modelspassmap run F23-llm-catalog-and-connections.md: Verified models (`F23.verified-models`).
Command transcript
F24.auth-requiredpassmap run F24-openai-subscription.md: Key required (`F24.auth-required`).
Command transcript
F24.device-poll-invalidpassmap run F24-openai-subscription.md: Malformed polls (`F24.device-poll-invalid`).
Command transcript
F24.device-poll-outagepassmap run F24-openai-subscription.md: Outage during a pending login (`F24.device-poll-outage`).
Command transcript
F24.device-poll-pendingpassmap run F24-openai-subscription.md: Pending login (`F24.device-poll-pending`).
Command transcript
F24.device-poll-unknownpassmap run F24-openai-subscription.md: Unknown token (`F24.device-poll-unknown`).
Command transcript
F24.device-startpassmap run F24-openai-subscription.md: Start a login (`F24.device-start`).
Command transcript
F24.device-start-offlinexfailmap run F24-openai-subscription.md: Start and poll a login offline (`F24.device-start-offline`), known bug.
Command transcript
F24.login-completeblockedmap run F24-openai-subscription.md: Complete a login (`F24.login-complete`), blocked.
No executable artifact (see limitation)
F24.logoutpassmap run F24-openai-subscription.md: Logout (`F24.logout`).
Command transcript
F24.logout-cancels-pendingpassmap run F24-openai-subscription.md: Logout cancels pending logins (`F24.logout-cancels-pending`).
Command transcript
F24.modelspassmap run F24-openai-subscription.md: Subscription models (`F24.models`).
Command transcript
F24.offline-safepassmap run F24-openai-subscription.md: Offline-safe routes (`F24.offline-safe`).
Command transcript
F24.pending-lost-on-restartpassmap run F24-openai-subscription.md: Pending logins and restarts (`F24.pending-lost-on-restart`).
Command transcript
F24.status-connectedpassmap run F24-openai-subscription.md: Status with a stored login (`F24.status-connected`).
Command transcript
F24.status-disconnectedpassmap run F24-openai-subscription.md: Status with no login (`F24.status-disconnected`).
Command transcript
F24.status-invalid-filepassmap run F24-openai-subscription.md: Invalid credentials file (`F24.status-invalid-file`).
Command transcript
F24.status-offlinexfailmap run F24-openai-subscription.md: Status with an expired login offline (`F24.status-offline`), known bug.
Command transcript
F24.status-refresh-rejectedpassmap run F24-openai-subscription.md: Rejected refresh (`F24.status-refresh-rejected`).
Command transcript
F24.status-restartpassmap run F24-openai-subscription.md: Login across a restart (`F24.status-restart`).
Command transcript
F24.ts-clientpassmap run F24-openai-subscription.md: TypeScript client (`F24.ts-client`).
Command transcript
F25.authpassmap run F25-skills.md: Session key required (`F25.auth`).
Command transcript
F25.catalog-projectpassmap run F25-skills.md: Project skills (`F25.catalog-project`).
Command transcript
F25.catalog-registered-marketplacepassmap run F25-skills.md: Registered marketplace skills (`F25.catalog-registered-marketplace`).
Command transcript
F25.catalog-server-marketplacespassmap run F25-skills.md: Server-default marketplaces (`F25.catalog-server-marketplaces`).
Command transcript
F25.catalog-server-sourcespassmap run F25-skills.md: Sandbox and organization sources (`F25.catalog-server-sources`).
Command transcript
F25.catalog-user-precedencepassmap run F25-skills.md: User skills and precedence (`F25.catalog-user-precedence`).
Command transcript
F25.catalog-validationpassmap run F25-skills.md: Request validation (`F25.catalog-validation`).
Command transcript
F25.conversation-activationpassmap run F25-skills.md: Installed skill in a conversation (`F25.conversation-activation`).
Command transcript
F25.enable-disablepassmap run F25-skills.md: Disable and enable (`F25.enable-disable`).
Command transcript
F25.install-bad-frontmatterxfailmap run F25-skills.md: Malformed frontmatter (`F25.install-bad-frontmatter`), known bug.
Command transcript
F25.install-conflictpassmap run F25-skills.md: Already installed (`F25.install-conflict`).
Command transcript
F25.install-documented-sourcesxfailmap run F25-skills.md: Documented install sources (`F25.install-documented-sources`), known bug.
Command transcript
F25.install-errorspassmap run F25-skills.md: Install errors (`F25.install-errors`).
Command transcript
F25.install-gitpassmap run F25-skills.md: Install from a git source (`F25.install-git`).
Command transcript
F25.install-githubpassmap run F25-skills.md: Install from GitHub (`F25.install-github`).
Command transcript
F25.install-localpassmap run F25-skills.md: Install from a local directory (`F25.install-local`).
Command transcript
F25.install-refpassmap run F25-skills.md: Install at a ref (`F25.install-ref`).
Command transcript
F25.install-unknown-refxfailmap run F25-skills.md: Unknown ref (`F25.install-unknown-ref`), known bug.
Command transcript
F25.invoke-skillpassmap run F25-skills.md: Skill invoked through `invoke_skill` (`F25.invoke-skill`).
Command transcript
F25.marketplace-catalogpassmap run F25-skills.md: Marketplace catalog (`F25.marketplace-catalog`).
Command transcript
F25.marketplace-publicxfailmap run F25-skills.md: Public marketplace catalog (`F25.marketplace-public`), known bug.
Command transcript
F25.marketplace-stale-cachexfailmap run F25-skills.md: Catalog after a sync (`F25.marketplace-stale-cache`), known bug.
Command transcript
F25.name-errorspassmap run F25-skills.md: Unknown and invalid names (`F25.name-errors`).
Command transcript
F25.public-repopassmap run F25-skills.md: The real public repository (`F25.public-repo`).
Command transcript
F25.refreshpassmap run F25-skills.md: Refresh from the source (`F25.refresh`).
Command transcript
F25.refresh-unfetchablexfailmap run F25-skills.md: Refresh of a vanished source (`F25.refresh-unfetchable`), known bug.
Command transcript
F25.restart-persistpassmap run F25-skills.md: Restart (`F25.restart-persist`).
Command transcript
F25.sdk-load-skillspassmap run F25-skills.md: SDK consumer (`F25.sdk-load-skills`).
Command transcript
F25.self-healpassmap run F25-skills.md: Hand-copied and hand-deleted directories (`F25.self-heal`).
Command transcript
F25.syncpassmap run F25-skills.md: Sync the public repository (`F25.sync`).
Command transcript
F25.sync-offlinexfailmap run F25-skills.md: Sync without a reachable origin (`F25.sync-offline`), known bug.
Command transcript
F25.ts-clientpassmap run F25-skills.md: TypeScript client (`F25.ts-client`).
Command transcript
F25.uninstallpassmap run F25-skills.md: Uninstall (`F25.uninstall`).
Command transcript
F26.authpassmap run F26-plugins.md: Session key required (`F26.auth`).
Command transcript
F26.catalog-projectpassmap run F26-plugins.md: Project plugins (`F26.catalog-project`).
Command transcript
F26.catalog-user-precedencepassmap run F26-plugins.md: User plugins and precedence (`F26.catalog-user-precedence`).
Command transcript
F26.conversation-ambientpassmap run F26-plugins.md: Ambient load into a conversation (`F26.conversation-ambient`).
Command transcript
F26.conversation-disabledpassmap run F26-plugins.md: Disabled plugin in a new conversation (`F26.conversation-disabled`).
Command transcript
F26.conversation-resume-disabledxfailmap run F26-plugins.md: Resume after disabling (`F26.conversation-resume-disabled`), known bug.
Command transcript
F26.enable-disablepassmap run F26-plugins.md: Enable and disable (`F26.enable-disable`).
Command transcript
F26.install-agent-pluginspassmap run F26-plugins.md: Agent Plugins layout (`F26.install-agent-plugins`).
Command transcript
F26.install-conflictpassmap run F26-plugins.md: Duplicate install (`F26.install-conflict`).
Command transcript
F26.install-documented-sourcexfailmap run F26-plugins.md: Documented install source (`F26.install-documented-source`), known bug.
Command transcript
F26.install-errorspassmap run F26-plugins.md: Install errors (`F26.install-errors`).
Command transcript
F26.install-gitpassmap run F26-plugins.md: Install from a git source (`F26.install-git`).
Command transcript
F26.install-githubpassmap run F26-plugins.md: Install from GitHub (`F26.install-github`).
Command transcript
F26.install-localpassmap run F26-plugins.md: Install from a local path (`F26.install-local`).
Command transcript
F26.install-repo-root-namexfailmap run F26-plugins.md: Repository root name (`F26.install-repo-root-name`), known bug.
Command transcript
F26.marketplace-cachepassmap run F26-plugins.md: Catalog cache (`F26.marketplace-cache`).
Command transcript
F26.marketplace-localpassmap run F26-plugins.md: Marketplace against a local stand-in (`F26.marketplace-local`).
Command transcript
F26.marketplace-publicpassmap run F26-plugins.md: Public marketplace (`F26.marketplace-public`).
Command transcript
F26.name-errorspassmap run F26-plugins.md: Unknown and invalid names (`F26.name-errors`).
Command transcript
F26.refreshpassmap run F26-plugins.md: Refresh (`F26.refresh`).
Command transcript
F26.refresh-unfetchablexfailmap run F26-plugins.md: Unfetchable refresh (`F26.refresh-unfetchable`), known bug.
Command transcript
F26.restart-persistpassmap run F26-plugins.md: Persistence across a restart (`F26.restart-persist`).
Command transcript
F26.self-healpassmap run F26-plugins.md: Hand-edited store (`F26.self-heal`).
Command transcript
F26.ts-clientpassmap run F26-plugins.md: TypeScript client (`F26.ts-client`).
Command transcript
F26.uninstallpassmap run F26-plugins.md: Uninstall (`F26.uninstall`).
Command transcript
F27.agent-definitionspassmap run F27-hooks-subagents-tools.md: Forwarded sub-agent definitions (`F27.agent-definitions`).
Command transcript
F27.authpassmap run F27-hooks-subagents-tools.md: Session key required (`F27.auth`).
Command transcript
F27.browser-disabledpassmap run F27-browser-config.md: Browser config ordinary (`F27.browser-disabled-launch`, `F27.browser-disabled`).
Command transcript
F27.browser-disabled-launchpassmap run F27-browser-config.md: Browser config ordinary (`F27.browser-disabled-launch`, `F27.browser-disabled`).
Command transcript
F27.browser-playwright-pathxfailmap run F27-browser-container.md: Playwright override (`F27.browser-playwright-path`), known bug.
Command transcript
F27.browser-probepassmap run F27-browser-container.md: Home-cache positive control (`F27.browser-probe`).
Command transcript
F27.catalogpassmap run F27-hooks-subagents-tools.md: Tool catalog (`F27.catalog`).
Command transcript
F27.catalog-docker-runtimepassmap run F27-browser-config.md: Docker-runtime catalog (`F27.catalog-docker-runtime`).
Command transcript
F27.catalog-sealedpassmap run F27-hooks-subagents-tools.md: Client tools stay out of the catalog (`F27.catalog-sealed`).
Command transcript
F27.client-tool-callpassmap run F27-hooks-subagents-tools.md: Client tool call (`F27.client-tool-call`).
Command transcript
F27.custom-tool-missing-on-resumexfailmap run F27-hooks-subagents-tools.md: Tool module gone on resume (`F27.custom-tool-missing-on-resume`), known bug.
Command transcript
F27.custom-tool-modulespassmap run F27-hooks-subagents-tools.md: Custom tool module (`F27.custom-tool-modules`).
Command transcript
F27.hooks-absentpassmap run F27-hooks-subagents-tools.md: No hooks (`F27.hooks-absent`).
Command transcript
F27.hooks-blockpassmap run F27-hooks-subagents-tools.md: Blocking hooks (`F27.hooks-block`).
Command transcript
F27.hooks-conversationpassmap run F27-hooks-subagents-tools.md: Hooks in a conversation (`F27.hooks-conversation`).
Command transcript
F27.hooks-formatspassmap run F27-hooks-subagents-tools.md: Formats (`F27.hooks-formats`).
Command transcript
F27.hooks-invalidpassmap run F27-hooks-subagents-tools.md: Broken hooks.json (`F27.hooks-invalid`).
Command transcript
F27.hooks-not-automaticpassmap run F27-hooks-subagents-tools.md: Hooks are not loaded implicitly (`F27.hooks-not-automatic`).
Command transcript
F27.hooks-projectpassmap run F27-hooks-subagents-tools.md: Project hooks (`F27.hooks-project`).
Command transcript
F27.import-modulespassmap run F27-hooks-subagents-tools.md: Startup imports (`F27.import-modules`).
Command transcript
F27.server-info-browser-disabledxfailmap run F27-browser-config.md: Server-info browser disabled (`F27.server-info-browser-disabled`), known bug.
Command transcript
F27.subagents-bad-skillxfailmap run F27-hooks-subagents-tools.md: Agent with a missing skill (`F27.subagents-bad-skill`), known bug.
Command transcript
F27.subagents-browser-disabledxfailmap run F27-browser-config.md: Subagents browser disabled (`F27.subagents-browser-disabled`), known bug.
Command transcript
F27.subagents-builtinpassmap run F27-hooks-subagents-tools.md: Sub-agent built-ins (`F27.subagents-builtin`).
Command transcript
F27.subagents-invalidpassmap run F27-hooks-subagents-tools.md: Invalid definitions (`F27.subagents-invalid`).
Command transcript
F27.subagents-precedencepassmap run F27-hooks-subagents-tools.md: Precedence (`F27.subagents-precedence`).
Command transcript
F27.subagents-projectpassmap run F27-hooks-subagents-tools.md: Project sub-agents (`F27.subagents-project`).
Command transcript
F27.subagents-userpassmap run F27-hooks-subagents-tools.md: User sub-agents (`F27.subagents-user`).
Command transcript
F27.tools-listpassmap run F27-hooks-subagents-tools.md: Registered tools (`F27.tools-list`).
Command transcript
F27.tools-redirectpassmap run F27-hooks-subagents-tools.md: Slash redirects (`F27.tools-redirect`).
Command transcript
F27.validationpassmap run F27-hooks-subagents-tools.md: Bad bodies (`F27.validation`).
Command transcript
F28.backend-approval-gatepassmap run F28-canvas-extensions.md: Approval gate (`F28.backend-approval-gate`).
Command transcript
F28.backend-inherit-environmentpassmap run F28-canvas-extensions.md: Inherited environment (`F28.backend-inherit-environment`).
Command transcript
F28.backend-logspassmap run F28-canvas-extensions.md: Logs while starting (`F28.backend-logs`).
Command transcript
F28.backend-preparepassmap run F28-canvas-extensions.md: Prepare (`F28.backend-prepare`).
Command transcript
F28.backend-startpassmap run F28-canvas-extensions.md: Start (`F28.backend-start`).
Command transcript
F28.backend-start-failspassmap run F28-canvas-extensions.md: Failed starts (`F28.backend-start-fails`).
Command transcript
F28.backend-statuspassmap run F28-canvas-extensions.md: Backend status (`F28.backend-status`).
Command transcript
F28.backend-stopfailmap run F28-canvas-extensions.md: Stop (`F28.backend-stop`).
Command transcript
F28.broken-installpassmap run F28-canvas-extensions.md: Broken installs (`F28.broken-install`).
Command transcript
F28.bundlepassmap run F28-canvas-extensions.md: Bundle (`F28.bundle`).
Command transcript
F28.disable-stops-backendpassmap run F28-canvas-extensions.md: Disable stops the backend (`F28.disable-stops-backend`).
Command transcript
F28.enable-disablepassmap run F28-canvas-extensions.md: Enable and disable (`F28.enable-disable`).
Command transcript
F28.force-reinstallpassmap run F28-canvas-extensions.md: Reinstall (`F28.force-reinstall`).
Command transcript
F28.hard-restart-orphanxfailmap run F28-canvas-extensions.md: Backend outlives a crash (`F28.hard-restart-orphan`), known bug.
Command transcript
F28.iconpassmap run F28-canvas-extensions.md: Icon (`F28.icon`).
Command transcript
F28.install-errorspassmap run F28-canvas-extensions.md: Install errors (`F28.install-errors`).
Command transcript
F28.install-gitpassmap run F28-canvas-extensions.md: Install from a git URL (`F28.install-git`).
Command transcript
F28.install-localpassmap run F28-canvas-extensions.md: Install from a local directory (`F28.install-local`).
Command transcript
F28.install-refpassmap run F28-canvas-extensions.md: Pin a git ref (`F28.install-ref`).
Command transcript
F28.install-ref-cachedxfailmap run F28-canvas-extensions.md: Unknown ref on a cached source (`F28.install-ref-cached`), known bug.
Command transcript
F28.install-repo-pathpassmap run F28-canvas-extensions.md: Install a subdirectory (`F28.install-repo-path`).
Command transcript
F28.list-discoverypassmap run F28-canvas-extensions.md: Discovery by listing (`F28.list-discovery`).
Command transcript
F28.prepare-corrupt-archivexfailmap run F28-canvas-extensions.md: Non-gzip artifact (`F28.prepare-corrupt-archive`), known bug.
Command transcript
F28.restart-persistencepassmap run F28-core-supplement.md: Persistence (`F28.restart-persistence`).
Command transcript
F28.status-exit-hangfailmap run F28-canvas-extensions.md: Status after the leader exits (`F28.status-exit-hang`).
Command transcript
F28.status-probe-latchxfailmap run F28-canvas-extensions.md: Health probe latch (`F28.status-probe-latch`), known bug.
Command transcript
F28.ts-clientpassmap run F28-canvas-extensions.md: TypeScript client (`F28.ts-client`).
Command transcript
F28.uninstallpassmap run F28-core-supplement.md: Uninstall (`F28.uninstall`).
Command transcript
F28.unknown-namepassmap run F28-canvas-extensions.md: Unknown and invalid names (`F28.unknown-name`).
Command transcript
F29.backend-crash-detectedxfailmap run F29-app-backend-bridge.md: Crash seen by the bridge (`F29.backend-crash-detected`), known bug.
Command transcript
F29.backend-lifecycle-revokespassmap run F29-app-backend-bridge.md: Backend stop and disable revoke (`F29.backend-lifecycle-revokes`).
Command transcript
F29.ingress-advertisedpassmap run F29-app-backend-bridge.md: Ingress advertised (`F29.ingress-advertised`).
Command transcript
F29.ingress-config-errorspassmap run F29-app-backend-bridge.md: Ingress not configured or unusable (`F29.ingress-config-errors`).
Command transcript
F29.proxy-cookie-requiredpassmap run F29-app-backend-bridge.md: Cookie required (`F29.proxy-cookie-required`).
Command transcript
F29.proxy-credentials-strippedpassmap run F29-app-backend-bridge.md: Credentials stripped (`F29.proxy-credentials-stripped`).
Command transcript
F29.proxy-getpassmap run F29-app-backend-bridge.md: Proxied safe methods (`F29.proxy-get`).
Command transcript
F29.proxy-path-traversalpassmap run F29-app-backend-bridge.md: Path traversal (`F29.proxy-path-traversal`).
Command transcript
F29.proxy-request-framingxfailmap run F29-app-backend-bridge.md: Request framing (`F29.proxy-request-framing`), known bug.
Command transcript
F29.proxy-response-filterpassmap run F29-app-backend-bridge.md: Response filter (`F29.proxy-response-filter`).
Command transcript
F29.proxy-response-headersxfailmap run F29-app-backend-bridge.md: One Date and Server header (`F29.proxy-response-headers`), known bug.
Command transcript
F29.proxy-rootpassmap run F29-app-backend-bridge.md: App root (`F29.proxy-root`).
Command transcript
F29.proxy-root-path-queryxfailmap run F29-app-backend-bridge.md: Root `path` parameter (`F29.proxy-root-path-query`), known bug.
Command transcript
F29.proxy-unsafe-methodspassmap run F29-app-backend-bridge.md: Unsafe methods (`F29.proxy-unsafe-methods`).
Command transcript
F29.session-backend-not-readypassmap run F29-app-backend-bridge.md: Backend not ready (`F29.session-backend-not-ready`).
Command transcript
F29.session-bootstrappassmap run F29-app-backend-bridge.md: Session bootstrap (`F29.session-bootstrap`).
Command transcript
F29.session-configured-control-originpassmap run F29-app-backend-bridge.md: Configured control origins (`F29.session-configured-control-origin`).
Command transcript
F29.session-forwarded-protoxfailmap run F29-app-backend-bridge.md: Forwarded proto (`F29.session-forwarded-proto`), known bug.
Command transcript
F29.session-ingress-hostpassmap run F29-app-backend-bridge.md: Ingress host (`F29.session-ingress-host`).
Command transcript
F29.session-key-requiredpassmap run F29-app-backend-bridge.md: Session key required (`F29.session-key-required`).
Command transcript
F29.session-origin-rulespassmap run F29-app-backend-bridge.md: Origin rules (`F29.session-origin-rules`).
Command transcript
F29.session-revokepassmap run F29-app-backend-bridge.md: Revoke a session (`F29.session-revoke`).
Command transcript
F29.session-ttlpassmap run F29-app-backend-bridge.md: Session expiry (`F29.session-ttl`).
Command transcript
F29.sessions-not-persistedpassmap run F29-app-backend-bridge.md: Server restart (`F29.sessions-not-persisted`).
Command transcript
F29.trusted-forwarded-headerspassmap run F29-app-backend-bridge.md: Trusted forwarded headers (`F29.trusted-forwarded-headers`).
Command transcript
F29.uninstall-revokespassmap run F29-app-backend-bridge.md: Uninstall (`F29.uninstall-revokes`).
Command transcript
F29.ws-bridgepassmap run F29-app-backend-bridge.md: WebSocket bridge (`F29.ws-bridge`).
Command transcript
F29.ws-handshake-rejectionspassmap run F29-app-backend-bridge.md: Handshake rejections (`F29.ws-handshake-rejections`).
Command transcript
F29.ws-subprotocolxfailmap run F29-app-backend-bridge.md: Subprotocol (`F29.ws-subprotocol`), known bug.
Command transcript
F30.auth-bearer-or-headerpassmap run F30-openai-gateway.md: Bearer or session header (`F30.auth-bearer-or-header`).
Command transcript
F30.auth-open-without-keyspassmap run F30-openai-gateway.md: No session keys (`F30.auth-open-without-keys`).
Command transcript
F30.chat-agent-toolspassmap run F30-openai-gateway.md: The agent runs its own tools (`F30.chat-agent-tools`).
Command transcript
F30.chat-basicpassmap run F30-openai-gateway.md: Chat completion (`F30.chat-basic`).
Command transcript
F30.chat-confirmation-409passmap run F30-openai-gateway.md: Confirmation stops a new conversation (`F30.chat-confirmation-409`).
Command transcript
F30.chat-header-new-idpassmap run F30-openai-gateway.md: Caller-chosen id (`F30.chat-header-new-id`).
Command transcript
F30.chat-input-errorspassmap run F30-openai-gateway.md: Chat input errors (`F30.chat-input-errors`).
Command transcript
F30.chat-latest-user-onlypassmap run F30-openai-gateway.md: Only the latest user turn (`F30.chat-latest-user-only`).
Command transcript
F30.chat-reuse-after-restartpassmap run F30-openai-gateway.md: Continue after a restart (`F30.chat-reuse-after-restart`).
Command transcript
F30.chat-reuse-concurrentxfailmap run F30-openai-gateway.md: Overlapping turns on one conversation (`F30.chat-reuse-concurrent`), known bug.
Command transcript
F30.chat-reuse-confirmationxfailmap run F30-openai-gateway.md: Confirmation on a continued conversation (`F30.chat-reuse-confirmation`), known bug.
Command transcript
F30.chat-reuse-headerpassmap run F30-openai-gateway.md: Continue with the header (`F30.chat-reuse-header`).
Command transcript
F30.chat-reuse-keeps-llmpassmap run F30-openai-gateway.md: Continuing keeps the conversation's LLM (`F30.chat-reuse-keeps-llm`).
Command transcript
F30.chat-reuse-run-limit-429xfailmap run F30-openai-gateway.md: Run limit on a continued conversation (`F30.chat-reuse-run-limit-429`), known bug.
Command transcript
F30.chat-run-error-500passmap run F30-openai-gateway.md: Run ends in error (`F30.chat-run-error-500`).
Command transcript
F30.chat-run-limit-429passmap run F30-openai-gateway.md: Run limit (`F30.chat-run-limit-429`).
Command transcript
F30.chat-streampassmap run F30-openai-gateway.md: Streaming (`F30.chat-stream`).
Command transcript
F30.chat-system-suffixpassmap run F30-openai-gateway.md: System text goes to the system prompt (`F30.chat-system-suffix`).
Command transcript
F30.chat-timeout-504passmap run F30-openai-gateway.md: Gateway timeout (`F30.chat-timeout-504`).
Command transcript
F30.chat-usage-per-requestxfailmap run F30-openai-gateway.md: Usage per request (`F30.chat-usage-per-request`), known bug.
Command transcript
F30.models-listpassmap run F30-openai-gateway.md: Model list (`F30.models-list`).
Command transcript
F30.observability-headerspassmap run F30-openai-gateway.md: Observability headers (`F30.observability-headers`).
Command transcript
F30.openai-sdkpassmap run F30-openai-gateway.md: Official OpenAI SDK (`F30.openai-sdk`).
Command transcript
F30.responses-basicpassmap run F30-openai-gateway.md: Responses (`F30.responses-basic`).
Command transcript
F30.responses-errorspassmap run F30-openai-gateway.md: Responses errors (`F30.responses-errors`).
Command transcript
F30.responses-stateless-replaypassmap run F30-openai-gateway.md: Stateless replay (`F30.responses-stateless-replay`).
Command transcript
F31.config-invalid-fails-fastpassmap run F31-persistence-and-limits.md: Invalid limits stop startup (`F31.config-invalid-fails-fast`).
Command transcript
F31.config-null-overridexfailmap run F31-persistence-and-limits.md: Null from the environment (`F31.config-null-override`), known bug.
Command transcript
F31.config-precedencepassmap run F31-persistence-and-limits.md: Config file and environment (`F31.config-precedence`).
Command transcript
F31.config-silent-envpassmap run F31-persistence-and-limits.md: Unrecognised booleans and choices start anyway (`F31.config-silent-env`).
Command transcript
F31.crash-tool-callpassmap run F31-persistence-and-limits.md: Crash during a tool call (`F31.crash-tool-call`).
Command transcript
F31.create-capacitypassmap run F31-persistence-and-limits.md: Create at capacity (`F31.create-capacity`).
Command transcript
F31.eviction-skips-busypassmap run F31-persistence-and-limits.md: Busy conversations are kept (`F31.eviction-skips-busy`).
Command transcript
F31.fenced-write-no-tracexfailmap run F31-persistence-and-limits.md: Refused write leaves no trace (`F31.fenced-write-no-trace`), known bug.
Command transcript
F31.idle-evictionpassmap run F31-persistence-and-limits.md: Idle eviction (`F31.idle-eviction`).
Command transcript
F31.lease-claimedpassmap run F31-persistence-and-limits.md: Lease claimed on load (`F31.lease-claimed`).
Command transcript
F31.lease-dead-owner-takeoverpassmap run F31-persistence-and-limits.md: Dead owner takeover (`F31.lease-dead-owner-takeover`).
Command transcript
F31.lease-disabledpassmap run F31-persistence-and-limits.md: Leasing disabled (`F31.lease-disabled`).
Command transcript
F31.lease-expiry-fencingpassmap run F31-persistence-and-limits.md: Lease expiry fences a frozen owner (`F31.lease-expiry-fencing`).
Command transcript
F31.lease-released-gracefulpassmap run F31-persistence-and-limits.md: Graceful release (`F31.lease-released-graceful`).
Command transcript
F31.lease-renewedpassmap run F31-persistence-and-limits.md: Lease renewed (`F31.lease-renewed`).
Command transcript
F31.no-plaintext-at-restpassmap run F31-persistence-and-limits.md: Nothing secret in plaintext (`F31.no-plaintext-at-rest`).
Command transcript
F31.second-instance-catalogpassmap run F31-persistence-and-limits.md: Second server reads the catalog (`F31.second-instance-catalog`).
Command transcript
F31.second-instance-lease-heldpassmap run F31-persistence-and-limits.md: Second server refused while the owner lives (`F31.second-instance-lease-held`).
Command transcript
F31.second-instance-takeoverpassmap run F31-persistence-and-limits.md: Takeover after the owner dies (`F31.second-instance-takeover`).
Command transcript
F31.state-survives-restartspassmap run F31-persistence-and-limits.md: State survives restarts (`F31.state-survives-restarts`).
Command transcript
F31.storage-retentionpassmap run F31-persistence-and-limits.md: Storage retention and disk budget (`F31.storage-retention`); Docker source-image adaptation.
Command transcript
F31.takeover-keeps-metadataxfailmap run F31-persistence-and-limits.md: Takeover keeps newer metadata (`F31.takeover-keeps-metadata`), known bug.
Command transcript
F31.tmux-dir-cleanupxfailmap run F31-persistence-and-limits.md: Per-process tmux directory removed on stop (`F31.tmux-dir-cleanup`), known bug.
Command transcript
F32.backpressurepassmap run F32-webhooks-and-telemetry.md: Batch and queue limits (`F32.backpressure`).
Command transcript
F32.buffer-sizepassmap run F32-webhooks-and-telemetry.md: Custom headers, path prefix and buffer size (`F32.custom-headers`, `F32.buffer-size`).
Command transcript
F32.buffer-strandedxfailmap run F32-webhooks-and-telemetry.md: Events stranded behind an in-flight batch (`F32.buffer-stranded`), known bug.
Command transcript
F32.conversation-createdpassmap run F32-webhooks-and-telemetry.md: Conversation created (`F32.conversation-created`).
Command transcript
F32.conversation-lifecyclepassmap run F32-webhooks-and-telemetry.md: Conversation lifecycle posts (`F32.conversation-lifecycle`).
Command transcript
F32.custom-headerspassmap run F32-webhooks-and-telemetry.md: Custom headers, path prefix and buffer size (`F32.custom-headers`, `F32.buffer-size`).
Command transcript
F32.deferred-initpassmap run F32-webhooks-and-telemetry.md: Deferred pod gets telemetry and webhooks from `/api/init` (`F32.deferred-init`).
Command transcript
F32.deferred-init-flagxfailmap run F32-webhooks-and-telemetry.md: Deferred pods are labelled as such (`F32.deferred-init-flag`), known bug.
Command transcript
F32.env-configpassmap run F32-webhooks-and-telemetry.md: Webhooks from the environment (`F32.env-config`).
Command transcript
F32.events-full-statepassmap run F32-webhooks-and-telemetry.md: Full-state snapshot on every attach (`F32.events-full-state`).
Command transcript
F32.events-no-deltaspassmap run F32-webhooks-and-telemetry.md: No streaming deltas on webhooks (`F32.events-no-deltas`).
Command transcript
F32.events-postpassmap run F32-webhooks-and-telemetry.md: A run's events reach the webhook (`F32.events-post`).
Command transcript
F32.events-session-keypassmap run F32-webhooks-and-telemetry.md: Session key and content type on every request (`F32.events-session-key`).
Command transcript
F32.flush-delaypassmap run F32-webhooks-and-telemetry.md: Flush timer from the first event (`F32.flush-delay`).
Command transcript
F32.flush-on-closepassmap run F32-webhooks-and-telemetry.md: Flush on delete and on shutdown (`F32.flush-on-close`).
Command transcript
F32.requeuepassmap run F32-webhooks-and-telemetry.md: Failed batches are requeued (`F32.requeue`).
Command transcript
F32.retrypassmap run F32-webhooks-and-telemetry.md: Retries against a failing receiver (`F32.retry`).
Command transcript
F32.slow-receiverxfailmap run F32-webhooks-and-telemetry.md: A slow receiver blocks the next run (`F32.slow-receiver`), known bug.
Command transcript
F32.telemetry-consent-settingspassmap run F32-webhooks-and-telemetry.md: Consent from settings (`F32.telemetry-consent-settings`).
Command transcript
F32.telemetry-conversationpassmap run F32-webhooks-and-telemetry.md: Conversation telemetry is sanitized (`F32.telemetry-conversation`).
Command transcript
F32.telemetry-conversation-failedpassmap run F32-webhooks-and-telemetry.md: Failed runs (`F32.telemetry-conversation-failed`).
Command transcript
F32.telemetry-env-overridepassmap run F32-webhooks-and-telemetry.md: Environment override beats settings (`F32.telemetry-env-override`).
Command transcript
F32.telemetry-kill-switchpassmap run F32-webhooks-and-telemetry.md: Kill switch (`F32.telemetry-kill-switch`).
Command transcript
F32.telemetry-lifecyclepassmap run F32-webhooks-and-telemetry.md: Server lifecycle events (`F32.telemetry-lifecycle`).
Command transcript
F32.telemetry-off-by-defaultpassmap run F32-webhooks-and-telemetry.md: Telemetry is off by default (`F32.telemetry-off-by-default`).
Command transcript
F32.telemetry-request-failedpassmap run F32-webhooks-and-telemetry.md: Unhandled errors (`F32.telemetry-request-failed`).
Command transcript
F32.telemetry-salt-and-kindpassmap run F32-webhooks-and-telemetry.md: Pseudonym key and deployment kind (`F32.telemetry-salt-and-kind`).
Command transcript
F32.telemetry-salt-docsxfailmap run F32-webhooks-and-telemetry.md: Salt description (`F32.telemetry-salt-docs`), known bug.
Command transcript
F32.telemetry-usage-bucketsxfailmap run F32-webhooks-and-telemetry.md: Token and cost buckets from real usage (`F32.telemetry-usage-buckets`), known bug.
Command transcript
F32.webhook-spec-docsxfailmap run F32-webhooks-and-telemetry.md: Webhook field descriptions (`F32.webhook-spec-docs`), known bug.
Command transcript
F33.async-workspacepassmap run F33-sdk-remote-client.md: Async workspace (`F33.async-workspace`).
Command transcript
F33.client-toolspassmap run F33-sdk-remote-client.md: Client-defined tool (`F33.client-tools`).
Command transcript
F33.completion-logspassmap run F33-sdk-remote-client.md: Completion logs on the client (`F33.completion-logs`).
Command transcript
F33.conversation-ask-titlepassmap run F33-sdk-remote-client.md: Ask, generate and set a title (`F33.conversation-ask-title`).
Command transcript
F33.conversation-attachpassmap run F33-sdk-remote-client.md: Reattach from a second program (`F33.conversation-attach`).
Command transcript
F33.conversation-attach-largepassmap run F33-sdk-remote-client.md: Attach to a long history (`F33.conversation-attach-large`).
Command transcript
F33.conversation-callbackspassmap run F33-sdk-remote-client.md: Send and run to completion (`F33.conversation-run`, `F33.conversation-callbacks`, `F33.conversation-stats`).
Command transcript
F33.conversation-closepassmap run F33-sdk-remote-client.md: Close keeps or deletes (`F33.conversation-close`).
Command transcript
F33.conversation-confirmationpassmap run F33-sdk-remote-client.md: Confirm or reject (`F33.conversation-confirmation`).
Command transcript
F33.conversation-createpassmap run F33-sdk-remote-client.md: Create a conversation without running it (`F33.conversation-create`).
Command transcript
F33.conversation-create-profilepassmap run F33-sdk-remote-client.md: Create from a saved agent profile (`F33.conversation-create-profile`).
Command transcript
F33.conversation-create-requestpassmap run F33-sdk-remote-client.md: Create from a request, twice (`F33.conversation-create-request`).
Command transcript
F33.conversation-forkpassmap run F33-sdk-remote-client.md: Fork (`F33.conversation-fork`).
Command transcript
F33.conversation-fork-branchpassmap run F33-sdk-remote-client.md: Fork from an event, then move HEAD (`F33.conversation-fork-branch`).
Command transcript
F33.conversation-interruptpassmap run F33-sdk-remote-client.md: Interrupt a blocking run (`F33.conversation-interrupt`).
Command transcript
F33.conversation-pausepassmap run F33-sdk-remote-client.md: Pause a blocking run (`F33.conversation-pause`).
Command transcript
F33.conversation-plugins-tagpassmap run F33-sdk-remote-client.md: Plugin source with inline credentials (`F33.conversation-plugins-tag`).
Command transcript
F33.conversation-reconnectpassmap run F33-sdk-remote-client.md: A live conversation across a restart (`F33.conversation-reconnect`).
Command transcript
F33.conversation-reconnect-callbacksxfailmap run F33-sdk-remote-client.md: Callbacks after a reconnect (`F33.conversation-reconnect-callbacks`), known bug.
Command transcript
F33.conversation-restartpassmap run F33-sdk-remote-client.md: Reattach after a restart and continue (`F33.conversation-restart`).
Command transcript
F33.conversation-runpassmap run F33-sdk-remote-client.md: Send and run to completion (`F33.conversation-run`, `F33.conversation-callbacks`, `F33.conversation-stats`).
Command transcript
F33.conversation-run-errorpassmap run F33-sdk-remote-client.md: Provider error surfaces (`F33.conversation-run-error`).
Command transcript
F33.conversation-run-join-long-toolxfailmap run F33-sdk-remote-client.md: Join a run during a long tool call (`F33.conversation-run-join-long-tool`), known bug.
Command transcript
F33.conversation-run-timeoutpassmap run F33-sdk-remote-client.md: Time out, then wait again (`F33.conversation-run-timeout`).
Command transcript
F33.conversation-secretspassmap run F33-sdk-remote-client.md: Secrets for the agent (`F33.conversation-secrets`).
Command transcript
F33.conversation-state-rereadxfailmap run F33-sdk-remote-client.md: Read the state twice (`F33.conversation-state-reread`), known bug.
Command transcript
F33.conversation-statspassmap run F33-sdk-remote-client.md: Send and run to completion (`F33.conversation-run`, `F33.conversation-callbacks`, `F33.conversation-stats`).
Command transcript
F33.conversation-stop-hookpassmap run F33-sdk-remote-client.md: A Stop hook that refuses the first stop (`F33.conversation-stop-hook`).
Command transcript
F33.conversation-streamingpassmap run F33-sdk-remote-client.md: Streamed tokens (`F33.conversation-streaming`).
Command transcript
F33.conversation-streaming-statexfailmap run F33-sdk-remote-client.md: Deltas kept out of `state.events` (`F33.conversation-streaming-state`), known bug.
Command transcript
F33.conversation-stuckpassmap run F33-sdk-remote-client.md: A stuck agent (`F33.conversation-stuck`).
Command transcript
F33.conversation-token-callbacksxfailmap run F33-sdk-remote-client.md: Token callbacks on a remote conversation (`F33.conversation-token-callbacks`), known bug.
Command transcript
F33.custom-tool-modulepassmap run F33-sdk-remote-client.md: A custom tool module (`F33.custom-tool-module`).
Command transcript
F33.custom-tool-module-unimportablexfailmap run F33-sdk-remote-client.md: An agent tool the server cannot import (`F33.custom-tool-module-unimportable`), known bug.
Command transcript
F33.workspace-backgroundpassmap run F33-sdk-remote-client.md: Background command (`F33.workspace-background`).
Command transcript
F33.workspace-bad-keypassmap run F33-sdk-remote-client.md: Wrong session key (`F33.workspace-bad-key`).
Command transcript
F33.workspace-execpassmap run F33-sdk-remote-client.md: Commands, server info and liveness (`F33.workspace-exec`).
Command transcript
F33.workspace-filespassmap run F33-sdk-remote-client.md: File round trip (`F33.workspace-files`).
Command transcript
F33.workspace-gitpassmap run F33-sdk-remote-client.md: Git changes and diff (`F33.workspace-git`).
Command transcript
F33.workspace-runtime-lifecyclepassmap run F33-sdk-remote-client.md: Runtime key and release (`F33.workspace-runtime-lifecycle`); Docker source-image adaptation.
Command transcript
F33.workspace-runtime-scopepassmap run F33-sdk-remote-client.md: Conversation-scoped workspace (`F33.workspace-runtime-scope`).
Command transcript
F33.workspace-settingspassmap run F33-sdk-remote-client.md: LLM profiles, secrets and MCP from the server (`F33.workspace-settings`).
Command transcript
F33.ws-unavailablepassmap run F33-sdk-remote-client.md: No events socket (`F33.ws-unavailable`).
Command transcript
F34.bash-clientpassmap run F34-typescript-client.md: Bash client (`F34.bash-client`).
Command transcript
F34.bash-websocketxfailmap run F34-typescript-client.md: Bash events socket from Node (`F34.bash-websocket`), known bug.
Command transcript
F34.conversation-branchingpassmap run F34-typescript-client.md: Fork, navigate and ask (`F34.conversation-branching`).
Command transcript
F34.conversation-confirmpassmap run F34-typescript-client.md: Confirmation and secrets (`F34.conversation-confirm`).
Command transcript
F34.conversation-controlspassmap run F34-typescript-client.md: Title and confirmation policy (`F34.conversation-controls`).
Command transcript
F34.conversation-createpassmap run F34-typescript-client.md: Create a conversation (`F34.conversation-create`).
Command transcript
F34.conversation-runpassmap run F34-typescript-client.md: Send and run (`F34.conversation-run`).
Command transcript
F34.endpoint-auditpassmap run F34-typescript-client.md: Endpoint audit against this checkout (`F34.endpoint-audit`).
Command transcript
F34.event-streampassmap run F34-typescript-client.md: Event stream on Node's WebSocket (`F34.event-stream`).
Command transcript
F34.event-stream-reconnectpassmap run F34-typescript-client.md: Event stream reconnect (`F34.event-stream-reconnect`).
Command transcript
F34.event-stream-reconnect-nativexpassmap run F34-typescript-client.md: Reconnect on Node's own WebSocket (`F34.event-stream-reconnect-native`), known bug.
Command transcript
F34.events-listpassmap run F34-typescript-client.md: Events list (`F34.events-list`).
Command transcript
F34.events-search-kindxfailmap run F34-typescript-client.md: Short event kinds (`F34.events-search-kind`), known bug.
Command transcript
F34.events-unknown-idxfailmap run F34-typescript-client.md: Unknown event id (`F34.events-unknown-id`), known bug.
Command transcript
F34.hooks-clientpassmap run F34-typescript-client.md: Hooks (`F34.hooks-client`).
Command transcript
F34.http-errorspassmap run F34-typescript-client.md: Errors (`F34.http-errors`).
Command transcript
F34.managerpassmap run F34-typescript-client.md: Conversation manager (`F34.manager`).
Command transcript
F34.manager-acppassmap run F34-typescript-client.md: ACP conversations (`F34.manager-acp`).
Command transcript
F34.manager-create-optionsxfailmap run F34-typescript-client.md: Create options (`F34.manager-create-options`), known bug.
Command transcript
F34.manager-update-resultxfailmap run F34-typescript-client.md: Update result (`F34.manager-update-result`), known bug.
Command transcript
F34.mcp-clientpassmap run F34-typescript-client.md: MCP test (`F34.mcp-client`).
Command transcript
F34.restart-reloadpassmap run F34-typescript-client.md: Restart (`F34.restart-reload`).
Command transcript
F34.server-clientpassmap run F34-typescript-client.md: Server status and version gate (`F34.server-client`).
Command transcript
F34.version-gate-oldpassmap run F34-typescript-client.md: Old server version (`F34.version-gate-old`).
Command transcript
F34.workspace-binary-downloadxfailmap run F34-typescript-client.md: Binary download through RemoteWorkspace (`F34.workspace-binary-download`), known bug.
Command transcript
F34.workspace-execpassmap run F34-typescript-client.md: Workspace commands (`F34.workspace-exec`).
Command transcript
F34.workspace-filespassmap run F34-typescript-client.md: Workspace files (`F34.workspace-files`).
Command transcript
F34.workspace-gitpassmap run F34-typescript-client.md: Git through RemoteWorkspace (`F34.workspace-git`).
Command transcript
F34.workspace-git-typesxfailmap run F34-typescript-client.md: Git status type (`F34.workspace-git-types`), known bug.
Command transcript
F34.workspace-scopedpassmap run F34-typescript-client.md: Conversation-scoped workspace (`F34.workspace-scoped`).
Command transcript
F34.workspace-sessionpassmap run F34-typescript-client.md: Workspace session (`F34.workspace-session`).
Command transcript
F34.ws-callback-clientxfailmap run F34-typescript-client.md: Conversation callback socket from Node (`F34.ws-callback-client`), known bug.
Command transcript

Harness, map, and prerequisites

Harness map issues (37)
[
  {
    "title": "Some F05/F06 isolated recipe selections omit state prerequisites",
    "actual": "Requires clauses omit earlier recipes whose variables or conversation state are consumed. Repro selections explicitly include the prerequisite IDs; shared files were not changed."
  },
  {
    "title": "Cold OpenAPI generation exceeded doctor timeout under concurrent load",
    "evidence": [
      "/workspace/verification-artifacts/family-results/F02-repro-doctor.json",
      "/workspace/verification-artifacts/family-results/F02-repro-doctor-retry.json"
    ],
    "actual": "The first doctor had only the OpenAPI check fail with ReadTimeout. After cache warmup the identical doctor was clean, with health/auth/build checks and no log tracebacks. Treat as transient timing; not counted as a product bug."
  },
  {
    "title": "Shared overlay filled during verification",
    "actual": "ENOSPC interrupted first primary F02 and first F04 repro save_evidence; empty F04-F07 repro summaries followed. Existing F01, F02-repro and F03-repro summaries were valid. After space restoration the incomplete families were restarted, preserving prior evidence. No bug conclusion uses ENOSPC attempts.",
    "runs": [
      "/workspace/verification-artifacts/runs/20261013-022642-a649-map-f02",
      "/workspace/verification-artifacts/runs/20261013-023639-adff-map-f04"
    ]
  },
  {
    "title": "Hard-restart lease checks encounter unreaped PID-1 zombies",
    "feature_ids": [
      "F05.restart-hard-running",
      "F05.pause-running-crash"
    ],
    "actual": "Original crash recipes fail before the target pause assertion because os.kill(owner_pid, 0) still succeeds for the killed zombie process. The recipe copy waits the recorded lease TTL and restarts; ordinary running recovery then passes and pause-loss reproduces.",
    "adaptation": "/workspace/verification-artifacts/adapted-f05/feature-map/F05-run-pause-interrupt.md",
    "evidence": [
      "/workspace/verification-artifacts/family-results/F05-lease-adapted-repro.json"
    ]
  },
  {
    "id": "cold-doctor-timeout",
    "title": "Cold OpenAPI doctor probe times out under CPU contention",
    "actual": "F08.secrets-restart, F10.restart-persist and F14 upload-atomic/restart stop at the required OpenAPI read while health/auth/SHA/socket checks pass.",
    "adaptation": "Isolated map copies retry doctor once; original timeout evidence is preserved.",
    "evidence": [
      "/workspace/verification-artifacts/family-results/F08-doctor-after-surprises.json"
    ],
    "notes": "Original doctor probes use http_client(10); no product code changed."
  },
  {
    "id": "F09-subscription-race",
    "title": "Mid-run recipes start before socket subscription",
    "feature_ids": [
      "F09.switch-llm-mid-run",
      "F09.switch-llm-mid-run-get"
    ],
    "actual": "Primary capture contains the sleep observation but misses its earlier ActionEvent.",
    "adaptation": "Create with --no-run, wait for socket full_state, then POST /run; same real DeepSeek prompt and assertions."
  },
  {
    "id": "missing-selected-dependencies",
    "title": "Selected restart recipes omit state-arranging dependencies",
    "feature_ids": [
      "F10.restart-persist",
      "F14.restart"
    ],
    "adaptation": "Added F10.fork-independent/navigate-empty and F14.upload-download/scoped-transfer in isolated copies."
  },
  {
    "id": "F12-blocked-label",
    "title": "Docker recipe remains unconditionally blocked on a capable host",
    "feature_ids": [
      "F12.docker-runtime"
    ],
    "adaptation": "Removed blocked label only in isolated copy, selected frozen-source image, added own-container safe inspection and missing lifecycle assertions."
  },
  {
    "id": "F12-no-daemon-precondition",
    "title": "Docker error-path recipe assumes no daemon without arranging it",
    "feature_ids": [
      "F12.docker-runtime-contract"
    ],
    "adaptation": "Explicit missing DOCKER_HOST Unix socket ensures intended no-daemon path."
  },
  {
    "id": "unknown-runtime-credential-redaction",
    "severity": "high",
    "confirmed": true,
    "title": "Harness does not automatically redact newly issued container session credentials",
    "actual": "Redactor recognizes run keys and selected env values, rather than the session_api_key response field.",
    "adaptation": "Capture raw output directly, reveal only boolean presence proof, register key via recognized OPENHANDS_API_KEY env before recording exchanges.",
    "notes": "Two fresh compatible-image observations safely printed only the boolean marker for an unmasked newly issued runtime key. The captured key was registered under OPENHANDS_API_KEY before evidence/attach. No credential value was printed or published. This is a harness gap, excluded from product-defect counts.",
    "runs": [
      "/workspace/verification-artifacts/runs/20261013-035149-9cf7-map-f12",
      "/workspace/verification-artifacts/runs/20261013-035150-c7fa-map-f12"
    ],
    "evidence": [
      "/workspace/verification-artifacts/runs/20261013-035149-9cf7-map-f12/evidence/map-run/F12-runtime-and-credentials-01-docker-runtime-with-a-daemon-f12-docker-.json",
      "/workspace/verification-artifacts/runs/20261013-035150-c7fa-map-f12/evidence/map-run/F12-runtime-and-credentials-01-docker-runtime-with-a-daemon-f12-docker-.json"
    ]
  },
  {
    "id": "disk-exhaustion",
    "title": "Docker build filled 32GB overlay and aborted evidence writes",
    "feature_ids": [
      "F12.managed-key-refresh",
      "F12.managed-key-scope",
      "F12.managed-key-switch",
      "F12.docker-runtime-contract",
      "F14.trajectory-init-path"
    ],
    "actual": "ENOSPC left primary F12.json/F14.json empty, with 27/29 feature ledger rows intact.",
    "recovery": "Root removed only owned disposable Docker build caches; 26GB free; affected tails replayed separately.",
    "evidence": [
      "/workspace/verification-artifacts/family-results/F12-primary-aborted.json",
      "/workspace/verification-artifacts/family-results/F14-primary-aborted.json"
    ]
  },
  {
    "id": "Docker-layout-and-owner-permissions",
    "feature_ids": [
      "F12.docker-runtime"
    ],
    "classification": "harness image setup",
    "detail": "Earlier image stored source/venv under the runtime-mounted /workspace. Relocation fixed the vanished entrypoint, then copied mode 700 root-owned virtualenv bin blocked UID 1000. Both failure variants are preserved as harness evidence. Local-uid artifact relocates public source/deps and grants read/traverse permissions; actual UID 1000 plus empty-/workspace import proof passes.",
    "evidence": [
      "/workspace/verification-artifacts/docker/runtime-layout-permissions.txt",
      "/workspace/verification-artifacts/docker/runtime-uid-imports-proof.json"
    ]
  },
  {
    "id": "Docker-vfs-transport-deadline",
    "feature_ids": [
      "F12.docker-runtime"
    ],
    "classification": "environment/harness timing",
    "detail": "Two compatible-image creates returned 201 in 86,055 ms and 82,971 ms. CLI default 30-second transport deadline interrupted earlier local vfs provisioning. Create/reprovision now allow 180 seconds. The configured child health deadline remains unchanged."
  },
  {
    "id": "Docker-persisted-history-route",
    "feature_ids": [
      "F12.docker-runtime"
    ],
    "classification": "map drift",
    "detail": "Frozen registry deliberately mounts outer persisted event reads before the runtime proxy. Events/search with X-Expose-Secrets returns 200; the refusal guard belongs to proxy_http. Copied recipe records persisted-history200 and tests 422 on an actual proxied scoped bash read."
  },
  {
    "feature_ids": [
      "F15.commits"
    ],
    "classification": "map drift",
    "detail": "Copied recipe now accepts valid ISO 8601 UTC Z timestamps and declares Requires: F15.changes-base for the feature-branch fixture. The first supplemental selective history attempt lacked that fixture and is discarded as a harness failure. Two further fresh corrected history attempts pass every assertion. Product checkout unchanged."
  },
  {
    "feature_ids": [
      "F15.ts-client",
      "F17"
    ],
    "classification": "environment and shared build race",
    "detail": "Initial npm cache/build race attempts discarded. Parent centrally rebuilt TypeScript. F15.ts-client passes in both fresh bug-reproduction runs; clean F17 full map has22 passes,2 expected failures and one chattr environment failure."
  },
  {
    "feature_ids": [
      "F15.repo-search-unreachable",
      "F16.vscode-enabled-status"
    ],
    "classification": "load transient/harness cascading state",
    "detail": "Initial cold OpenAPI doctor exceeded its fixed10-second timeout under shared load. Fresh F16 enabled-status/doctor and dependent URL-shape/no-key/deferred-init controls pass twice. F15 recovery warms OpenAPI before the unchanged doctor in a copied recipe."
  },
  {
    "feature_ids": [
      "F17.noop-write-untouched"
    ],
    "classification": "missing Requires",
    "detail": "Selective reproduction must explicitly include add-workspaces, wire-format, idempotent-add, delete-workspace prerequisites because family contains no Requires declarations."
  },
  {
    "feature_ids": [
      "F20.sdk-get-llm-linked",
      "F20.no-cipher",
      "F21.ts-client"
    ],
    "classification": "environment ENOSPC",
    "detail": "ENOSPC interrupted initial runs at02:39. Evidence preserved. Fresh complete replacement F20 has30 pass/6 xfail and F21 has29 pass/4 xfail. No disk-incident failure is counted as a product defect."
  },
  {
    "feature_ids": [
      "F21.dangling-llm-report"
    ],
    "classification": "source/map documentation drift",
    "status": "excluded-from-product-bugs",
    "expected": "The private seed-helper prose should describe materialize diagnostics using the publicly declared llm_profile_ref and llm_profile_resolved fields.",
    "actual": "The saved materialize body conforms to the public response model: valid=false, llm_profile_ref=qa-f21-missing, llm_profile_resolved=false, and an errors entry naming the missing profile. It has no dangling_llm_profile_ref field, and the public AgentProfileDiagnostics model and generated schema do not declare that field. The private seed helper docstring alone promises it; the recipe conditionally asserts it after grepping that docstring.",
    "runs": [
      "/workspace/verification-artifacts/runs/20261013-024523-a1a8-map-f21"
    ],
    "evidence": [
      "/workspace/verification-artifacts/runs/20261013-024523-a1a8-map-f21/evidence/F21.dangling-llm-report/materialize.json",
      "/workspace/verification-artifacts/runs/20261013-024523-a1a8-map-f21/evidence/map-run/F21-agent-profiles-30-how-a-dangling-llm-reference-is-reported.json"
    ],
    "source_references": [
      "/workspace/agent-sdk-verify/openhands-agent-server/openhands/agent_server/agent_profiles_router.py:181",
      "/workspace/agent-sdk-verify/openhands-agent-server/openhands/agent_server/agent_profiles_router.py:545",
      "/workspace/agent-sdk-verify/openhands-sdk/openhands/sdk/profiles/resolver.py:86",
      "/workspace/agent-sdk-verify/clients/typescript/src/generated/agent-server-schema.ts:1975"
    ],
    "notes": "No missing public-contract field or dishonest diagnostics response is established. Fix the seed docstring/map expectation rather than require a new redundant response field; no shared source or map was changed during extraction."
  },
  {
    "feature_ids": [
      "F18.secret-name-contract"
    ],
    "classification": "map drift",
    "detail": "Frozen prose says PUT documents400, but saved OpenAPI already documents422 for PUT. Only GET documentation/status mismatch is confirmed; DELETE branch was not reached."
  },
  {
    "feature_ids": [
      "F15.repo-search-github"
    ],
    "classification": "Old capability blocker removed; live positive checks verified; negative control limited by environment",
    "detail": "An isolated frozen skill copy removes only the predeclared blocked marker. QA_GITHUB_TOKEN is privately assigned from the supplied credential and registered as OPENHANDS_API_KEY for CLI redaction. Product source remains unchanged. Only the public target identity should remain in exported repository names and URLs.",
    "evidence": [
      "/workspace/verification-artifacts/F15-github-live-adaptation.md",
      "/workspace/verification-artifacts/F15-github-live-adaptation.patch"
    ],
    "harness_copy": "/workspace/verification-artifacts/github-live-harness"
  },
  {
    "feature_ids": [
      "F23",
      "F28"
    ],
    "kind": "environment_disk_exhaustion",
    "actual": "The 32 GB overlay filled during unrelated Docker VFS verification. F23/F28 replay aborted with ENOSPC while saving evidence and arranging fixtures; these attempts are excluded from product confirmations and are being rerun after 26 GB was freed.",
    "runs": [
      "/workspace/verification-artifacts/runs/20261013-022431-19cb-map-f23",
      "/workspace/verification-artifacts/runs/20261013-023125-701d-map-f28",
      "/workspace/verification-artifacts/runs/20261013-023753-d1da-map-f22"
    ],
    "notes": "All three affected run process groups were stopped through their explicit CLI --run selection. Partial ledgers are preserved. The last F22 directory was an unstarted confirmation attempt with zero evidence files."
  },
  {
    "feature_ids": [
      "F22.store-busy"
    ],
    "kind": "harness_timing_fragility",
    "actual": "Full replay failed shell elapsed <=33s, while the saved HTTP exchange correctly returned 503 after 30360 ms. CLI startup overhead under concurrent load is included in shell SECONDS.",
    "evidence": [
      "/workspace/verification-artifacts/runs/20261013-021742-7d44-map-f22/evidence/map-run/F22-meta-profiles-20-store-busy-f22-store-busy.json",
      "/workspace/verification-artifacts/runs/20261013-021742-7d44-map-f22/evidence/F22.store-busy/save.json"
    ],
    "notes": "The subsequent DELETE timeout step was not reached in this raw bullet. This failure does not count as a product bug."
  },
  {
    "feature_ids": [
      "F22.activate-acp",
      "F22.corrupt-settings",
      "F22.store-busy-responsive"
    ],
    "kind": "undeclared_state_prerequisites",
    "actual": "Several --only recipes depend on earlier state without declaring Requires. Activation and corrupted-settings need qa-direct active; responsive lock needs an existing meta-profile store directory.",
    "notes": "Explicit prerequisite IDs or CLI setup restore reviewable reproduction. A discarded exploratory lock subset used save-direct alone, which saved the needed directory but failed its list-count assertion; neither exploratory attempt is used in the confirmed-bug count."
  },
  {
    "feature_ids": [
      "F28.restart-persistence",
      "F28.uninstall"
    ],
    "kind": "map_count_drift",
    "expected": "Unrelated installed-app counts 6 before uninstall and5 after.",
    "actual": "New early qa-f28-flaky fixture installed by backend-stop makes counts7 and6; behavior checks after the obsolete count assert were skipped.",
    "runs": [
      "/workspace/verification-artifacts/runs/20261013-024207-5ac2-map-f28"
    ],
    "notes": "Fresh independent core persistence/uninstall supplement planned; no shared recipe edit."
  },
  {
    "feature_ids": [
      "F24.status-offline",
      "F24.device-start-offline"
    ],
    "kind": "discarded_arrangement_attempt",
    "actual": "The first copied precondition had incorrect indentation and did not carry its fixture variables into selected bullets. No bug assertion was reached; the corrected fresh replay reaches both markers.",
    "evidence": [
      "/workspace/verification-artifacts/family-results/F24-repro-arrangement-invalid.json",
      "/workspace/verification-artifacts/family-results/F24-repro.json"
    ]
  },
  {
    "feature_ids": [
      "F27.browser-disabled-launch",
      "F27.browser-disabled",
      "F27.catalog-docker-runtime"
    ],
    "kind": "host_chromium_layout_assumption",
    "actual": "The host already has standard Chromium. Primary negative-probe checks and cache-symlink assertions fail as preconditions, not product behavior. The focused config/catalog supplement uses the actual host layout and proves the remaining ordinary branches.",
    "evidence": [
      "/workspace/verification-artifacts/family-results/F27-browser-config-repro.json"
    ]
  },
  {
    "feature_ids": [
      "F28.backend-stop",
      "F28.status-exit-hang"
    ],
    "kind": "pid1_zombie_observation_limit",
    "actual": "The parent/child stop APIs and status transitions return their expected values, but kill -0 continues to see unreaped zombies. A group-stop timing bound also exceeds seven seconds in this environment. No additional live orphan is inferred from those PID checks; the separately confirmed hard-restart orphan has a nonempty artifact command line.",
    "evidence": [
      "/workspace/verification-artifacts/family-results/F28.json"
    ]
  },
  {
    "feature_ids": [
      "F28.restart-persistence",
      "F28.uninstall"
    ],
    "kind": "focused_core_replay",
    "actual": "The focused fresh fixture proves persistence, restart with an existing approval, uninstall, retained data/approval, repeated DELETE, and data removal without unrelated global install counts.",
    "evidence": [
      "/workspace/verification-artifacts/family-results/F28-core-supplement.json"
    ]
  },
  {
    "id": "ENOSPC",
    "reason": "Task-owned Docker build exhausted shared filesystem during original F30\u2013F34 pass; all original ledgers preserved; root removed only task build caches and npm download cache. Recovery supplements replace environment failures.",
    "evidence": "/workspace/verification-artifacts/F29-F34-enospc-incident.json"
  },
  {
    "id": "PID1-zombies",
    "reason": "PID1 does not reap exited server children; kill(pid,0) and CLI alive/stop status report zombies alive. Original instant takeover checks pass twice under own-scope subreaper with unchanged assertions,16 adopted exited children reaped,0 remain,0signals.",
    "evidence": [
      "/workspace/verification-artifacts/family-results/F31-takeover-supervised-repro.json",
      "/workspace/verification-artifacts/F31-takeover-supervisor-report.json",
      "/workspace/verification-artifacts/F31-zombie-adaptation.md"
    ]
  },
  {
    "id": "F32-shell-timer",
    "reason": "Separate CLI imports crossed6s window under load. One-process real HTTP probe observes flush6.106s and6.269s twice. First own adaptation omitted workspace and correctly422; those failures preserved.",
    "evidence": [
      "/workspace/verification-artifacts/family-results/F32-timer-corrected-repro.json",
      "/workspace/verification-artifacts/F32-timer-adaptation.md"
    ]
  },
  {
    "id": "F34-reconnect-window",
    "reason": "Original60s watcher window overlaps15sstop+~25sstartup+backoff;120s observation passes twice on ws-backed client and native Node24. Native knownmarker xpass is runtime drift.",
    "evidence": "/workspace/verification-artifacts/family-results/F34-reconnect-adapted-repro.json"
  },
  {
    "id": "F30-missing-Requires",
    "reason": "Reuse-run-limit recipe consumes QA_F30_SECOND created by reuse-header but declares chat-basic only. Supplement explicitly includes reuse-header; limit recovery passes twice."
  },
  {
    "id": "source-verification-image",
    "reason": "Docker became available, so static capability blockers are adapted. Published canonical image packaging remains outside this proof; exact frozen source image requires relocated source/UID1000 traversal permissions.",
    "evidence": "/workspace/verification-artifacts/F31-F33-docker-capability-adaptation.md"
  },
  {
    "id": "F33-provider-refusal",
    "reason": "Unmodified real DeepSeek prompt refused hashing synthetic QA strings and produced no ObservationEvent. Explicit local synthetic fixture purpose passes real DeepSeek and unchanged assertions.",
    "evidence": "/workspace/verification-artifacts/family-results/F33-secrets-synthetic-prompt.json"
  }
]
Blocked (9)
[
  {
    "feature_ids": [
      "F02.default-bind"
    ],
    "prerequisite": "Writable /proc/self/uid_map and unprivileged user/network namespaces for unshare -rn",
    "attempted": "python -m openhands.agent_server default host inside a private namespace",
    "actual": "unshare: cannot open /proc/self/uid_map: Read-only file system. It failed before launching the server.",
    "evidence": [
      "/workspace/verification-artifacts/runs/20261013-024124-a231-map-f02/evidence/F02.default-bind/no-key.json"
    ],
    "notes": "This is blocked by the execution environment, not an agent-server bug. The primary JSON retains the raw fail; the evidence ledger has a later blocked judgment."
  },
  {
    "feature_ids": [
      "F05.restart-hard-running"
    ],
    "prerequisite": "A host that reaps the killed server PID before the immediate recovery assertion",
    "attempted": "Original immediate SIGKILL/restart dead-owner takeover recipe",
    "actual": "The container leaves the owner PID as a zombie and os.kill(pid, 0) treats it as alive. Recovery after recorded lease expiry and a further restart is proven twice; instantaneous takeover is not proven.",
    "evidence": [
      "/workspace/verification-artifacts/family-results/F05-repro.json",
      "/workspace/verification-artifacts/family-results/F05-lease-adapted-repro.json"
    ]
  },
  {
    "title": "Running Codex ACP credential write-back",
    "prerequisite": "Codex ACP binary plus OpenAI login not provided",
    "route": "External credential source PUT with expected_version/value",
    "notes": "F12 activation, scrubbing, binding scope and reload guard are driven; provider-driven credential refresh synchronization is not reached.",
    "reason": "Codex ACP binary plus OpenAI login not provided",
    "feature_ids": [
      "F12.binding-live-acp"
    ]
  },
  {
    "id": "canonical-docker-packaging",
    "feature_ids": [
      "F12.docker-runtime"
    ],
    "route": "Canonical Dockerfile-built runtime image",
    "reason": "Canonical build exhausted the 32 GB overlay and was aborted. The compatible local image uses frozen source plus the locked host virtualenv; local lifecycle coverage does not verify canonical packaging."
  },
  {
    "feature_ids": [
      "F16.vscode-running"
    ],
    "reason": "No installed OpenVSCode Server binary; map hardcoded blocked."
  },
  {
    "feature_ids": [
      "F17.noop-write-readonly"
    ],
    "reason": "chattr executable missing (exit127); immutable-attribute capability and filesystem support also unproven. API assertions were not reached."
  },
  {
    "feature_ids": [
      "F15.repo-search-github"
    ],
    "route": "Invalid-token 401 branch only",
    "reason": "Live GitHub listing returned 200; pagination and case-insensitive AGENT-SDK search passed. The 401 negative control branch is inconclusive because api.github.com/user/repos itself returns 200 for the same fake token through the inherited egress/proxy environment. The local persisted token equals the fake fixture, so no backend token-selection/cache defect is established.",
    "evidence": [
      "/workspace/verification-artifacts/runs/20261013-041559-37e6-map-f15/evidence/F15.repo-search-github/bad-token.json",
      "/workspace/verification-artifacts/runs/20261013-041559-37e6-map-f15/evidence/F15.repo-search-github/direct-negative-control.json"
    ],
    "positive_branch_evidence": [
      "/workspace/verification-artifacts/runs/20261013-041559-37e6-map-f15/evidence/F15.repo-search-github/page-1.json",
      "/workspace/verification-artifacts/runs/20261013-041559-37e6-map-f15/evidence/F15.repo-search-github/page-2.json",
      "/workspace/verification-artifacts/runs/20261013-041559-37e6-map-f15/evidence/map-run/F15-git-01-live-github-listing-f15-repo-search-gith.json"
    ],
    "harness_copy": "/workspace/verification-artifacts/github-live-harness/.agents/skills/verify-agent-server/references/feature-map/F15-git.md"
  },
  {
    "feature_ids": [
      "F24.login-complete"
    ],
    "prerequisite": "A human completing a real ChatGPT account login",
    "actual": "Not attempted; throwaway device codes and fake persisted tokens test the credential-free branches without signing anyone in."
  },
  {
    "feature_ids": [
      "F28.backend-stop",
      "F28.status-exit-hang"
    ],
    "prerequisite": "A host that reaps terminated descendant PIDs before kill -0 process-absence checks",
    "actual": "Ordinary stop/status APIs succeeded, but the final process-absence/timing bounds are inconclusive for unreaped zombies. No extra product bug counted.",
    "evidence": [
      "/workspace/verification-artifacts/family-results/F28.json"
    ]
  }
]
Inconclusive (3)
[
  {
    "feature_ids": [
      "F15.repo-search-github"
    ],
    "expectation": "A deliberately invalid GitHub token should produce401.",
    "actual": "Both the Agent Server route and direct api.github.com negative control return 200. The local store contains the fake fixture token. Egress authentication or response handling prevents an unauthenticated upstream control.",
    "classification": "Environment negative control limitation; no product bug",
    "evidence": [
      "/workspace/verification-artifacts/runs/20261013-041559-37e6-map-f15/evidence/F15.repo-search-github/bad-token.json",
      "/workspace/verification-artifacts/runs/20261013-041559-37e6-map-f15/evidence/F15.repo-search-github/direct-negative-control.json"
    ]
  },
  {
    "id": "F29.proxy-request-framing",
    "reason": "Valid HTTP rechunking changes Transfer-Encoding; GETbody/status correct and adjacent POST exact-byte control passes. No supported backend failure shown; exclude productbug count."
  },
  {
    "id": "F32.deferred-init-flag",
    "reason": "Effective deferred_init false after /api/init is intentional and asserted by unit tests. Map assumes booted-deferred semantics without documentedcontract. Exclude productbug count."
  }
]

No product fixes were made. The target stays frozen; adaptations change setup and observation only. Credentials, private settings, and raw server state are excluded from publication.