
 RUN  v3.2.7 /Users/k/.imcodes/worktrees/imcodes/deck_sub_0610320z/asg_nbp/repo

 ✓ |daemon| test/shared/session-identity.test.ts (26 tests) 156ms
 ✓ |daemon| test/daemon/send-tool.test.ts (35 tests) 296ms
 ✓ |daemon| test/daemon/supervision-worktree-inspector-authority.test.ts (11 tests) 12204ms
   ✓ remote-delivery authority is never served stale > drops the positive match when a NEW untracked path appears  611ms
   ✓ remote-delivery authority is never served stale > drops the positive match when a previously CLEAN tracked path becomes dirty  412ms
   ✓ remote-delivery authority is never served stale > drops the positive match when a reported path changes content in place  319ms
   ✓ the git queue is bounded end to end > fails closed when a request cannot start before its total deadline  1910ms
   ✓ the git queue is bounded end to end > rejects immediately once the queue hits its hard cap, and stays bounded  6335ms
   ✓ git failure, deadline and output cap all fail closed > never claims a delivery it could not afford to read  997ms
   ✓ git failure, deadline and output cap all fail closed > fails closed — and stays bounded — when a single git call outlives the deadline  787ms
 ✓ |daemon| test/daemon/transport-session-runtime.test.ts (203 tests) 12494ms
   ✓ TransportSessionRuntime > auto-retry redelivers a recoverable-failed message once the provider frees up  1027ms
   ✓ TransportSessionRuntime > keeps a recoverable retry isolated from messages queued during backoff  1006ms
   ✓ TransportSessionRuntime > auto-retry of a direct send does not duplicate timeline drain or runtime history  1006ms
   ✓ TransportSessionRuntime > auto-retry of a drained queued turn emits its user event only once  1016ms
   ✓ TransportSessionRuntime > uses a short retry budget for stale provider busy instead of the generic recoverable budget  7018ms
 ✓ |daemon| test/daemon/hook-port.test.ts (74 tests) 11732ms
   ✓ publication lock - never taken from a live or indeterminate holder > refuses while a LIVE holder owns the current epoch, leaving it untouched  1056ms
   ✓ publication lock - never taken from a live or indeterminate holder > never takes over a live holder however old its acquisition is  1062ms
   ✓ publication lock - never taken from a live or indeterminate holder > never treats a holder with the same {pid,startToken} as its own leftover  1048ms
   ✓ publication lock - never taken from a live or indeterminate holder > never takes over a holder whose liveness is indeterminate  1046ms
   ✓ legacy single-file lock - respected, never modified > a LIVE nonce-less legacy holder is never taken over, however long it waits  1044ms
   ✓ legacy single-file lock - respected, never modified > an indeterminate legacy holder is never taken over  1042ms
   ✓ publication lock - ownership-safe interleavings > CLAIM gap: a reclaimer suspended after final validation cannot displace a successor  1020ms
   ✓ publication lock - ownership-safe interleavings > RELEASE gap: a stale holder's release cannot release or remove a successor's entry  1059ms
   ✓ publication lock - ownership-safe interleavings > PRUNE gap: a high-epoch claimer resumed after a directory reset cannot prune the new generation  1056ms
   ✓ publication lock - ownership-safe interleavings > CLAIM across a reset: a late old-generation claim is invisible to the new generation  1049ms
   ✓ publication lock - ownership-safe interleavings > RELEASE after epoch reuse: a stale release names only its own acquisition  1053ms
 ✓ |daemon| test/daemon/jsonl-watcher.worker.test.ts (4 tests) 18041ms
   ✓ jsonl-watcher parity: worker ON vs worker OFF > produces identical events for plain assistant/user turns  5482ms
   ✓ jsonl-watcher parity: worker ON vs worker OFF > produces identical events for Edit tool_use + tool_result pair (file.change)  5019ms
   ✓ jsonl-watcher parity: worker ON vs worker OFF > produces identical events when tool_use and tool_result arrive in separate drain cycles  5018ms
   ✓ jsonl-watcher parity: worker ON vs worker OFF > falls back to main thread when worker is unavailable  2521ms
 ✓ |daemon| test/daemon/p2p-orchestrator.test.ts (70 tests | 2 skipped) 21741ms
   ✓ P2P orchestrator — parallel rounds > nudges stale active transport work when a P2P prompt is queued behind it  346ms
   ✓ P2P orchestrator — parallel rounds > removes its queued transport prompt when a P2P hop times out before drain  310ms
   ✓ P2P orchestrator — parallel rounds > does not cancel an active P2P transport turn just because discussion output has not appeared yet  310ms
   ✓ P2P orchestrator — parallel rounds > drains a queued P2P prompt immediately when the transport runtime is already idle  338ms
   ✓ P2P orchestrator — parallel rounds > restarts the full legacy combo pipeline for each selected cycle without advanced fields  541ms
   ✓ P2P orchestrator — parallel rounds > inlines original-request execution into each complete legacy combo-cycle summary and follows up to confirm  541ms
   ✓ P2P orchestrator — parallel rounds > includes the previous cycle output in the next cycle participant kickoff prompt  314ms
   ✓ P2P orchestrator — parallel rounds > times out instead of hanging when the post-summary execution turn never returns idle  568ms
   ✓ P2P orchestrator — parallel rounds > dispatches phase-2 hops in parallel and waits for the barrier before summary  336ms
   ✓ P2P orchestrator — parallel rounds > does not double the configured timeout for required initiator hops  2127ms
   ✓ P2P orchestrator — parallel rounds > waits for final idle content instead of completing on the first streamed heading  4964ms
   ✓ P2P orchestrator — parallel rounds > treats missing advanced audit verdicts as rework and records jump history  388ms
   ✓ P2P orchestrator — parallel rounds > forces the minimum rework loops before handing off to smart-gate evaluation  394ms
   ✓ P2P orchestrator — parallel rounds > hands off forced_rework rounds to smart-gate behavior after minTriggers is satisfied  359ms
   ✓ P2P orchestrator — parallel rounds > continues forced_rework routing on REWORK after minTriggers until maxTriggers is exhausted  361ms
   ✓ P2P orchestrator — parallel rounds > completes the openspec preset after proposal artifacts are created and audit eventually passes  547ms
   ✓ P2P orchestrator — parallel rounds > cleans up loop-generated hop artifacts after repeated advanced attempts settle  607ms
   ✓ P2P orchestrator — parallel rounds > keeps advanced loop bookkeeping deterministic while legacy projections remain compatibility-only  364ms
   ✓ P2P orchestrator — parallel rounds > injects reducer summaries into later loop prompts and keeps the helper prompt focused on the latest attempt context  437ms
   ✓ P2P orchestrator — parallel rounds > cleans worker-hop artifacts after repeated loop attempts  495ms
 ✓ |daemon| test/agent/codex-sdk-provider.test.ts (186 tests) 9164ms
   ✓ CodexSdkProvider > polls the Codex rollout briefly for raw update_plan calls without waiting for token usage  2021ms
   ✓ CodexSdkProvider > merges a task_name-only spawn with its child thread rollout instead of duplicating the UI row  2016ms
   ✓ CodexSdkProvider > discovers child rollout sub-agents by IM.codes session identity when Codex parent id differs  2013ms
   ✓ CodexSdkProvider > settles a turn from rollout task_complete when the app-server sends only idle/completed hints  344ms
   ✓ CodexSdkProvider > terminalizes a WebSearch started event when rollout settles a turn without turn/completed  345ms
   ✓ CodexSdkProvider > settles from rollout task_complete when turn/start response never returns and ignores its late response  355ms
   ✓ CodexSdkProvider > ignores a late id-less interrupted notification from a previous stop and still settles the newer turn  343ms
 ✓ |daemon| test/daemon/supervision-worktree-inspector-fork-cost.test.ts (13 tests) 9567ms
   ✓ supervision worktree inspection cost (production-shaped) > cold inspection spawns a bounded, constant number of git processes  1512ms
   ✓ supervision worktree inspection cost (production-shaped) > never spawns one git process per changed path (no refs x files amplification)  843ms
   ✓ supervision worktree inspection cost (production-shaped) > does not block the daemon event loop while inspecting  731ms
   ✓ supervision worktree inspection cost (production-shaped) > re-inspects an unchanged worktree with a single bounded probe  849ms
   ✓ supervision worktree inspection cost (production-shaped) > coalesces concurrent identical inspections into one underlying pass  655ms
   ✓ cached inspection invalidates precisely > re-reads when a reported file changes on disk  676ms
   ✓ cached inspection invalidates precisely > re-reads when a previously CLEAN tracked file becomes dirty  705ms
   ✓ cached inspection invalidates precisely > re-reads when a NEW untracked file appears  703ms
   ✓ cached inspection invalidates precisely > re-reads when staging changes  748ms
   ✓ cached inspection invalidates precisely > re-reads when HEAD moves  685ms
   ✓ cached inspection invalidates precisely > re-reads when a remote ref moves  683ms
   ✓ cached inspection invalidates precisely > expires by TTL even when nothing observable changed  764ms
 ✓ |daemon| test/daemon/memory-mcp-server.test.ts (28 tests) 22255ms
   ✓ memory MCP stdio server > lists the registered shared tools over stdio and does not leak secret env  1260ms
   ✓ memory MCP stdio server > keeps the real stdio child and initial catalog alive after the RSS watchdog samples overload  11048ms
   ✓ memory MCP stdio server > lists tools over stdio without identity env  1102ms
   ✓ memory MCP stdio server > activates only matching tools and replaces the previous lazy result set  3260ms
   ✓ memory MCP stdio server > loads persisted sessions before serving scoped send targets over stdio  972ms
   ✓ memory MCP stdio server > dispatches send_message through the daemon hook server from stdio MCP  890ms
   ✓ memory MCP stdio server > submits peer_audit_reply to dedicated ingress with the runtime-bound sender header  985ms
   ✓ memory MCP stdio server > submits delegation_reply to dedicated ingress with the runtime-bound sender header  931ms
   ✓ memory MCP stdio server > keeps listed send targets usable across a transient empty session-store refresh  1179ms
   ✓ createMemoryMcpServerFromEnv supervision wiring > forwards supervisionToolDeps to registerSupervisionMcpTools  493ms
 ✓ |daemon| test/daemon/qwen-cancel.test.ts (4 tests) 6667ms
   ✓ Qwen provider cancel > sends SIGTERM on cancel  2161ms
   ✓ Qwen provider cancel > escalates a SIGTERM-ignoring process to SIGKILL before cancel resolves  2135ms
   ✓ Qwen provider cancel > resets started flag after cancel so next send starts fresh  2288ms
 ✓ |daemon| test/daemon/memory-mcp-stdio-lifecycle.test.ts (13 tests) 12180ms
   ✓ memory MCP stdio lifecycle (subprocess) > exits when its parent dies even though stdin never reaches EOF  1763ms
   ✓ memory MCP stdio lifecycle (subprocess) > exits when it was already reparented before it ever ran, stdin still held  3327ms
   ✓ memory MCP stdio lifecycle (subprocess) > exits when its parent dies BEFORE the server is ready, stdin still held  1288ms
   ✓ memory MCP stdio lifecycle (subprocess) > still exits on a clean stdin EOF  845ms
   ✓ memory MCP stdio lifecycle (subprocess) > keeps running while its parent is alive and stdin is open  4945ms
 ✓ |daemon| test/daemon/hook-authority-global-containment.test.ts (4 tests) 3220ms
   ✓ machine hook-port containment > fences a spawned child that has no test-runner environment  1202ms
   ✓ machine hook-port containment > lets the lock-owning process publish, so the fence is not simply "always refuse"  1074ms
   ✓ machine hook-port containment > keeps the production record untouched while a sandboxed hook server runs  639ms
   ✓ machine hook-port containment > proves a sandbox home is genuinely not the machine record  304ms
 ✓ |daemon| test/shared/timeline-protocol-magic-string.test.ts (2 tests) 1785ms
   ✓ timeline protocol magic strings > keeps shared timeline protocol literals centralized outside compatibility fixtures  1784ms
 ✓ |daemon| test/daemon/gemini-idle-detection.test.ts (12 tests) 3790ms
   ✓ Gemini Idle Detection (Direct pollTick test) > emits idle ONLY after JSON stops changing (new data always = running)  653ms
   ✓ Gemini Idle Detection (Direct pollTick test) > emits idle after trailing info message once JSON settles  652ms
   ✓ Gemini spinner detection (braille at col 0) > confirms working state when spinner seen in majority of burst reads  324ms
   ✓ Gemini spinner detection (braille at col 0) > emits assistant.thinking with terminal-spinner source on confirmed spinner  327ms
   ✓ Gemini spinner detection (braille at col 0) > does NOT transition to running on single-frame spinner (burst fails)  326ms
   ✓ Gemini spinner detection (braille at col 0) > spinner overrides JSON idle status (ground truth)  326ms
   ✓ Gemini spinner detection (braille at col 0) > returns to idle when spinner disappears  647ms
   ✓ Gemini JSON change detection hardening > stays on unchanged path when both mtime and size match  323ms
 ✓ |daemon| test/daemon/supervision-task-registry.test.ts (249 tests) 2296ms
   ✓ SupervisionTaskRegistry > creates and verifies the exact worktree before live-hook delivery for exact-target and autoProvision tasks  616ms
 ✓ |daemon| test/daemon/sdk-transport-restore.test.ts (45 tests) 5555ms
   ✓ sdk transport session restore > restores claude-code-sdk sessions with persisted resume id and sends via resumed continuity  312ms
   ✓ sdk transport session restore > refuses to start a Brain codex turn when IM delegation is not authoritatively connected (control)  1538ms
   ✓ sdk transport session restore > emits startup memory.context when the first transport turn carries the seeded memory  2553ms
 ✓ |daemon| test/daemon/jsonl-parse-pool.test.ts (12 tests) 1779ms
   ✓ jsonlParsePool — REAL Worker thread > returns null on timeout; pool stays available afterwards  369ms
   ✓ jsonlParsePool — REAL Worker thread > shutdown() terminates worker cleanly and allows the pool to be reused  388ms
Preparing worktree (detached HEAD 3e4c24a)
Preparing worktree (detached HEAD 3e4c24a)
 ✓ |daemon| test/store/context-store-worker.test.ts (14 tests) 3570ms
   ✓ context-store worker foundation > serializes a thrown op error as a plain code+message (no stack/path leak)  436ms
   ✓ context-store worker foundation > times out a pending RPC and discards the late worker reply  505ms
   ✓ context-store worker foundation > caps in-flight fire-and-forget at the backpressure limit  398ms
   ✓ context-store worker foundation > rejects awaited mutations past the awaited cap with context_store_overloaded  398ms
   ✓ context-store worker foundation > callOrElse falls back to local when the worker op errors  372ms
Preparing worktree (detached HEAD ab3362a)
Preparing worktree (detached HEAD ab3362a)
 ✓ |daemon| test/daemon/live-context-ingestion.test.ts (38 tests) 3313ms
   ✓ LiveContextIngestion > stages live timeline events and materializes them when the session becomes idle  433ms
   ✓ LiveContextIngestion > filters hidden and failed tool results from skill-review tool-iteration evidence  371ms
 ✓ |daemon| test/daemon/supervision-automation.test.ts (236 tests) 7553ms
   ✓ SupervisionAutomation > recovers the original user task after more than one thousand non-conversation events  716ms
Preparing worktree (detached HEAD 90a6130)
Preparing worktree (detached HEAD 90a6130)
 ✓ |daemon| test/daemon/supervision-integration-bundle.test.ts (3 tests) 2330ms
   ✓ immutable supervision integration bundle > preserves the exact tsk_f1x after bytes after the implementer worktree returns to base  1621ms
   ✓ immutable supervision integration bundle > is content addressed, replay-safe, and fails closed on bundle or target conflicts  426ms
 ✓ |daemon| test/daemon/lifecycle-boot-supervision-sweep.test.ts (1 test) 3793ms
   ✓ daemon boot enters the same bounded supervision convergence > repairs a stuck aggregate at boot, leaves unauthorized ones alone, and does not churn  3793ms
 ✓ |daemon| test/daemon/file-preview-read-dist-daemon-smoke.test.ts (2 tests) 2790ms
   ✓ dist default daemon preview-read smoke > uses real worker threads and emits visible success and sanitized errors through the default coordinator  387ms
   ✓ dist default daemon preview-read smoke > keeps non-preview commands responsive while real dist preview workers are delayed  2401ms
warning: in the working copy of 'web/android/gradlew.bat', LF will be replaced by CRLF the next time Git touches it
 ✓ |daemon| test/daemon/supervision-worktree-provision.test.ts (7 tests) 1889ms
   ✓ supervision assignment worktree provisioning > provisions a safe worktree path for assignment id asg_2  349ms
   ✓ supervision assignment worktree provisioning > provisions the tracked Gradle batch file with CRLF bytes and a clean Git status  392ms
   ✓ supervision assignment worktree provisioning > fails closed without changing dirty, wrong-base, or foreign existing paths  352ms
 ✓ |daemon| test/daemon/timeline-projection-busy.test.ts (2 tests) 2009ms
   ✓ timeline projection client: saturation is not absence > raises TimelineProjectionBusyError instead of returning null when the worker stalls  2006ms
 ✓ |daemon| test/daemon/materialization-coordinator.test.ts (20 tests) 2354ms
   ✓ MaterializationCoordinator > materializes end-to-end through a WARM context-store worker (reads + commit off the main thread)  401ms
 ✓ |daemon| test/daemon/supervision-worktree-inspector-remote-match.test.ts (7 tests) 2139ms
   ✓ remote delivery matching against real git > matches the remote ref whose committed bytes are exactly the worktree bytes  385ms
   ✓ remote delivery matching against real git > reports no match when a single byte differs  411ms
   ✓ remote delivery matching against real git > still finds a non-preferred remote ref when origin/dev is not the match  305ms
 ✓ |daemon| test/daemon/gemini-watcher-tracking.test.ts (8 tests) 1951ms
   ✓ Gemini watcher — inode change detection > skips read when mtime, size, AND inode are all unchanged  327ms
   ✓ Gemini watcher — consecutive read failures trigger rescan > resets activeFile after 5 consecutive readConversation failures  1011ms
   ✓ Gemini watcher — consecutive read failures trigger rescan > resets readFailCount on successful read  607ms
 ✓ |daemon| test/daemon/direct-file-transfer-stall-proof.test.ts (1 test) 1943ms
   ✓ direct file transfer survives a blocked daemon loop > R-1: the real worker keeps producing while the main loop is fully blocked  1942ms
 ✓ |daemon| test/store/session-store.test.ts (19 tests) 1110ms
   ✓ session-store > loadStore reconcile (runtimeType backfill + error recovery) > migrates missing identities once and preserves them across daemon reload  457ms
 ✓ |daemon| test/daemon/agent-process-startup-sweep.test.ts (5 tests) 2010ms
   ✓ agent process group survives into the startup sweep > reaps the whole group of a crashed session, not just the leader  521ms
   ✓ agent process group survives into the startup sweep > refuses to signal when the recorded fingerprint no longer matches  479ms
   ✓ agent process group survives into the startup sweep > group-reaps survivors when the recorded leader is already gone  651ms
 ✓ |daemon| test/daemon/supervision-worktree-inspector.test.ts (7 tests) 1500ms
   ✓ authoritative supervision worktree inspection > continues to report conflicted paths for the registry gate  318ms
 ✓ |daemon| test/daemon/supervision-worktree-gc.test.ts (24 tests) 1769ms
   ✓ bounded supervision worktree GC > hard-bounds a crowded assignment root before registry or Git work  545ms
   ✓ bounded supervision worktree GC > uses real Git status, registration, and remote reachability evidence  593ms
 ✓ |daemon| test/daemon/env-injection.test.ts (6 tests) 2065ms
   ✓ IMCODES_SESSION env injection > injects a selected-file identity into a process agent on its first launch  2046ms
 ✓ |daemon| test/daemon/p2p-parser.test.ts (42 tests) 1519ms
 ✓ |daemon| test/daemon/lifecycle-worker-session-sync.test.ts (4 tests) 1508ms
   ✓ lifecycle worker session sync > treats legacy list responses as degraded and does not destructively prune local sessions  690ms
 ✓ |daemon| test/daemon/file-transfer-handler.test.ts (23 tests) 1300ms
   ✓ file-transfer local handle hardening > commits a relay upload into the selected existing directory without overwrite  779ms
 ✓ |daemon| test/daemon/hook-send.test.ts (49 tests | 3 skipped) 1542ms
 ✓ |daemon| test/store/turn-usage.test.ts (19 tests) 452ms
 ✓ |daemon| test/daemon/supervision-auto-audit.test.ts (122 tests) 928ms
 ✓ |daemon| test/daemon/direct-file-transfer-process-isolation.test.ts (4 tests | 1 skipped) 412ms
   ✓ P0 direct transfer native crash containment > reaps the production child after an orderly shutdown  325ms
 ✓ |daemon| test/daemon/transport-history.test.ts (21 tests) 2406ms
   ✓ transport-history > replay stays bounded on multi-megabyte JSONL files (tail-read only)  2142ms
 ✓ |daemon| test/agent/qwen-provider.test.ts (46 tests) 1108ms
   ✓ QwenProvider > retries a transient Premature close once before surfacing an error  369ms
 ✓ |daemon| test/daemon/cron-p2p-integration.test.ts (5 tests) 1254ms
   ✓ Cron → P2P integration > cron P2P with role participants creates discussion file and completes  542ms
   ✓ Cron → P2P integration > cron P2P with sub-session participantEntries completes  320ms
   ✓ Cron → P2P integration > cron P2P with mixed role + session participants deduplicates correctly  379ms
 ✓ |daemon| test/daemon/context-store.test.ts (39 tests) 1495ms
 ✓ |daemon| test/shared/fs-read-error-codes.test.ts (6 tests) 989ms
   ✓ fs-read shared error constants > keeps fs-read production consumers importing shared wire error values instead of redefining them  986ms
(node:43584) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓ |daemon| test/daemon/jsonl-watcher-refresh.test.ts (6 tests) 794ms
   ✓ jsonl watcher refresh() > refresh does not read another watcher's file  331ms
 ✓ |daemon| test/daemon/direct-file-transfer-worker-boundary.test.ts (46 tests) 962ms
 ✓ |daemon| test/daemon/memory-get-sources-rpc.test.ts (7 tests) 2308ms
 ✓ |daemon| test/daemon/timeline-projection.test.ts (7 tests) 1214ms
   ✓ timeline projection > preserves append order for equal-ts events and honors afterTs / beforeTs exclusivity  367ms
 ✓ |daemon| test/daemon/command-handler-memory-context.test.ts (42 tests) 768ms
   ✓ handleWebCommand memory context timeline > validates manual memory project directories before trusting canonical repo ids  344ms
 ✓ |daemon| test/daemon/session-resource-lifecycle.test.ts (10 tests) 871ms
   ✓ session resource lifecycle > registers stable owner identity and releases every resource idempotently on session completion  340ms
 ✓ |daemon| test/daemon/p2p-workflow-runtime.test.ts (28 tests) 1038ms
   ✓ ServerLink P2P workflow hello > exposes the current daemon workflow capabilities for launch binding  678ms
 ✓ |daemon| test/daemon/command-handler-transport-queue.test.ts (171 tests) 628ms
 ✓ |daemon| test/daemon/session-list.test.ts (11 tests) 1137ms
   ✓ buildSessionList > hydrates missing qwen display metadata from runtime config  389ms
 ✓ |daemon| test/daemon/machine-direct-transfer.test.ts (10 tests) 620ms
   ✓ machine direct encrypted TCP transfer > reuses the encrypted sender to stream from a controlled source into a Full receiver temp file  321ms
 ✓ |daemon| test/daemon/codex-watcher-retrack.test.ts (4 tests) 578ms
 ✓ |daemon| test/store/archive-sweeper.test.ts (6 tests) 404ms
 ✓ |daemon| test/daemon/command-handler-bad-input.test.ts (8 tests) 673ms
 ✓ |daemon| test/daemon/preview-ws-relay.test.ts (15 tests) 503ms
 ✓ |daemon| test/daemon/timeline-store.async.test.ts (6 tests) 555ms
   ✓ timeline-store async append (T1-T4) > T4b: flushAll(timeoutMs) logs warn when timeout fires while chain still in flight  418ms
 ✓ |daemon| test/daemon/gemini-watcher-refresh.test.ts (3 tests) 497ms
   ✓ gemini watcher refresh() > refresh does not follow a different session id file  479ms
 ✓ |daemon| test/daemon/tmux-security.test.ts (16 tests) 437ms
   ✓ tmux shell-injection prevention > tolerates repeated recoverable tmux server exits during one command  302ms
 ✓ |daemon| test/daemon/p2p-workflow-artifacts.test.ts (22 tests) 389ms
 ✓ |daemon| test/daemon/cloud-sync-e2e.test.ts (15 tests) 323ms
 ✓ |daemon| test/daemon/hook-authority-endpoint.test.ts (19 tests) 494ms
 ✓ |daemon| test/daemon/memory-mcp-search.test.ts (14 tests) 372ms
 ✓ |daemon| test/daemon/lifecycle-truncate-background.test.ts (3 tests) 139ms
 ✓ |daemon| test/daemon/claude-no-text-refresh.test.ts (2 tests) 404ms
 ✓ |daemon| test/daemon/gemini-file-change.test.ts (3 tests) 328ms
   ✓ Gemini watcher — file.change emission > defers file-tool rows until terminal success and falls back to visible rows on error  325ms
 ✓ |daemon| test/daemon/transport-queue-store.test.ts (63 tests) 338ms
 ✓ |daemon| test/store/context-store-production-owner.test.ts (4 tests) 325ms
 ✓ |daemon| test/daemon/supervision-broker.test.ts (47 tests) 164ms
 ✓ |daemon| test/daemon/timeline-store.tail-truncate.test.ts (2 tests) 325ms
 ✓ |daemon| test/store/fts-unavailable.test.ts (4 tests) 248ms
 ✓ |daemon| test/daemon/file-preview-read-dist-smoke.test.ts (1 test) 203ms
(node:46349) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓ |daemon| test/daemon/launch-session-codex.test.ts (3 tests) 230ms
 ✓ |daemon| test/store/materialization-commit.test.ts (3 tests) 280ms
(node:46516) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓ |daemon| test/store/no-sync-context-store-guard.test.ts (6 tests) 161ms
 ✓ |daemon| test/daemon/supervision-repair-resume.test.ts (25 tests) 229ms
 ✓ |daemon| test/daemon/supervision-successor-finish-recovery.test.ts (14 tests) 141ms
 ✓ |daemon| test/store/pinned-notes.test.ts (1 test) 327ms
   ✓ pinned notes store integration > injects pinned notes byte-identically under the User-Pinned Notes heading  326ms
 ✓ |daemon| test/daemon/terminal-streamer-snapshot.test.ts (31 tests) 54ms
 ✓ |daemon| test/daemon/codex-watcher.test.ts (45 tests) 205ms
(node:46645) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓ |daemon| test/daemon/template-eligibility.test.ts (10 tests) 315ms
 ✓ |daemon| test/daemon/delegation-reply-ingress.test.ts (26 tests) 248ms
 ✓ |daemon| test/daemon/timeline-history-worker.test.ts (7 tests) 177ms
 ✓ |daemon| test/daemon/p2p-discussion-list.test.ts (12 tests) 336ms
 ✓ |daemon| test/daemon/timeline-projection-drain.test.ts (4 tests) 179ms
 ✓ |daemon| test/daemon/gemini-watcher-retrack.test.ts (3 tests) 200ms
 ✓ |daemon| test/daemon/instance-lock.test.ts (23 tests) 89ms
 ✓ |daemon| test/daemon/p2p-artifact-identity-persistence.test.ts (6 tests) 181ms
 ✓ |daemon| test/store/turn-usage-idempotent.test.ts (5 tests) 113ms
 ✓ |daemon| test/daemon/provider-callback-lifecycle.test.ts (9 tests) 272ms
 ✓ |daemon| test/daemon/memory-pruning.test.ts (6 tests) 135ms
 ✓ |daemon| test/daemon/timeline-store.retention.test.ts (4 tests) 235ms
 ✓ |daemon| test/daemon/supervision-mcp-registration.test.ts (58 tests) 216ms
 ✓ |daemon| test/daemon/upgrade-native-quiesce.test.ts (2 tests) 185ms
(node:47012) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓ |daemon| test/daemon/cursor-copilot-transport-restore.test.ts (4 tests) 226ms
 ✓ |daemon| test/daemon/codex-watcher-tail-history.test.ts (1 test) 149ms
 ✓ |daemon| test/daemon/memory-recall-integration.test.ts (42 tests) 124ms
(node:47075) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓ |daemon| test/daemon/direct-file-transfer-commit-recovery.test.ts (7 tests) 197ms
 ✓ |daemon| test/daemon/supervision-zero-change-autoprogress.test.ts (13 tests) 129ms
 ✓ |daemon| test/daemon/supervision-console-e2e.test.ts (15 tests) 117ms
 ✓ |daemon| test/store/dedup-merge.test.ts (3 tests) 128ms
 ✓ |daemon| test/daemon/cc-presets.test.ts (18 tests) 92ms
 ✓ |daemon| test/daemon/codex-watcher-refresh.test.ts (4 tests) 177ms
 ✓ |daemon| test/daemon/fs-git-cache.test.ts (27 tests) 147ms
(node:47425) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
(node:47426) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓ |daemon| test/daemon/supervision-store-migrations.test.ts (18 tests) 61ms
 ✓ |daemon| test/daemon/transport-message-queue-integration.test.ts (10 tests) 51ms
P2P: skipping symlink run-state entry /var/folders/vg/dk0l8d2n6gj9r1lszrj2k4p80000gn/T/imcodes-test-p2p-workflow-runs-1C1yxS/symlink-entry
P2P: dropping persisted identity bad-paths — invalid declared path
 ✓ |daemon| test/daemon/p2p-artifact-persistence-hardening.test.ts (5 tests) 121ms
 ✓ |daemon| test/daemon/native-quiesce-contract.test.ts (8 tests) 224ms
 ✓ |daemon| test/daemon/session-group-clone-engine.test.ts (4 tests) 164ms
 ✓ |daemon| test/shared/daemon-latency-summary.test.ts (1 test) 81ms
(node:47507) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓ |daemon| test/daemon/supervision-identity-convergence.test.ts (26 tests) 84ms
 ✓ |daemon| test/daemon/session-group-clone.test.ts (27 tests) 120ms
 ✓ |daemon| test/daemon/server-link.test.ts (33 tests) 172ms
 ✓ |daemon| test/daemon/supervision-console-producer.test.ts (35 tests) 100ms
 ✓ |daemon| test/daemon/session-identity-refresh-command.test.ts (1 test) 56ms
 ✓ |daemon| test/daemon/timeline-store.projection-fallback.test.ts (6 tests) 117ms
 ✓ |daemon| test/store/archive-backfill.test.ts (2 tests) 79ms
 ✓ |daemon| test/daemon/memory-mcp-tools-schema-firewall.test.ts (47 tests) 109ms
 ✓ |daemon| test/daemon/hook-server-validation.test.ts (15 tests) 56ms
 ✓ |daemon| test/daemon/machine-file-client.test.ts (12 tests) 143ms
(node:47911) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓ |daemon| test/daemon/supervision-lifecycle-convergence.test.ts (17 tests) 68ms
 ✓ |daemon| test/daemon/openclaw-provider.test.ts (44 tests) 72ms
(node:47981) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓ |daemon| test/daemon/supervision-list-query-cost.test.ts (1 test) 50ms
 ✓ |daemon| test/daemon/fs-list.test.ts (31 tests) 90ms
 ✓ |daemon| test/daemon/supervision-coordinator-authority.test.ts (12 tests) 31ms
 ✓ |daemon| test/daemon/processed-context-replication.test.ts (3 tests) 103ms
 ✓ |daemon| test/daemon/capability-mcp-tools.test.ts (7 tests) 67ms
 ✓ |daemon| test/daemon/machine-mcp-registration.test.ts (17 tests) 78ms
 ✓ |daemon| test/daemon/opencode-history.test.ts (14 tests) 57ms
 ✓ |daemon| test/daemon/discussion-orchestrator.test.ts (3 tests) 55ms
 ✓ |daemon| test/daemon/supervision-state-store.test.ts (7 tests) 35ms
 ✓ |daemon| test/shared-computer-use.test.ts (5 tests) 3ms
(node:48528) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓ |daemon| test/agent/transport-runtime-assembly.test.ts (41 tests) 44ms
 ✓ |daemon| test/daemon/supervision-console-session.test.ts (13 tests) 45ms
 ✓ |daemon| test/daemon/cron-mcp-client.test.ts (15 tests) 26ms
 ✓ |daemon| test/daemon/fs-list-worker-handler.test.ts (9 tests) 53ms
 ✓ |daemon| test/daemon/command-handler-delegation-regression.test.ts (6 tests) 63ms
 ✓ |daemon| test/daemon/preview-relay.test.ts (7 tests) 46ms
 ✓ |daemon| test/daemon/fs-write.test.ts (32 tests) 67ms
 ✓ |daemon| test/daemon/transport-resend-queue.test.ts (26 tests) 51ms
 ✓ |daemon| test/store/context-store-backoff-overflow.test.ts (6 tests) 112ms
 ✓ |daemon| test/daemon/peer-audit-service.test.ts (10 tests) 56ms
 ✓ |daemon| test/daemon/delegation-reply-store.test.ts (21 tests) 44ms
 ✓ |daemon| test/daemon/remote-desktop-login-screen.test.ts (7 tests) 42ms
 ✓ |daemon| test/daemon/supervision-idle-integration.test.ts (9 tests) 44ms
(node:48898) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
(node:48841) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓ |daemon| test/daemon/timeline-response-shaper.test.ts (4 tests) 82ms
 ✓ |daemon| test/daemon/transport-runtime-drain-error.test.ts (7 tests) 39ms
 ✓ |daemon| test/daemon/shared-context-send-surface.test.ts (1 test) 50ms
 ✓ |daemon| test/daemon/transport-status-lifecycle.test.ts (20 tests) 34ms
 ✓ |daemon| test/daemon/supervision-registry-binding.test.ts (6 tests) 37ms
 ✓ |daemon| test/daemon/transport-queue-projection.test.ts (8 tests) 50ms
(node:49134) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓ |daemon| test/daemon/supervision-registry-minting.test.ts (10 tests) 26ms
 ✓ |daemon| test/daemon/p2p-discussion-writer-queue.test.ts (6 tests) 29ms
 ✓ |daemon| test/daemon/command-handler-timeline-history-projection.test.ts (16 tests) 53ms
 ✓ |daemon| test/store/temp-file-store.test.ts (4 tests) 70ms
 ✓ |daemon| test/daemon/command-handler-clear.test.ts (3 tests) 35ms
 ✓ |daemon| test/daemon/pipe-pane-protocol.test.ts (15 tests) 47ms
 ✓ |daemon| test/daemon/subsession-manager.test.ts (52 tests) 40ms
 ✓ |daemon| test/daemon/qwen-mcp-config.test.ts (6 tests) 67ms
stdout | test/daemon/supervision-console-production-chain.test.ts > browser -> server bridge -> daemon registry -> browser task-console chain > returns the authoritative project snapshot to shared MAIN viewers and participants
{"level":"info","time":1789322245139,"msg":"Daemon authenticated","serverId":"server-console-chain","daemonVersion":null}

 ✓ |daemon| test/daemon/supervision-console-production-chain.test.ts (1 test) 44ms
 ✓ |daemon| test/store/project-store-contract.test.ts (2 tests) 35ms
 ✓ |daemon| test/daemon/copilot-sdk-runtime.test.ts (1 test) 26ms
 ✓ |daemon| test/store/context-meta.test.ts (2 tests) 21ms
 ✓ |daemon| test/shared-remote-exec.test.ts (32 tests) 25ms
 ✓ |daemon| test/daemon/timeline-emitter.test.ts (38 tests) 24ms
 ✓ |daemon| test/daemon/transport-resend-queue-emit.test.ts (9 tests) 26ms
 ✓ |daemon| test/daemon/message-pin-mcp-tools.test.ts (8 tests) 23ms
 ✓ |daemon| test/daemon/p2p-config-store.test.ts (6 tests) 56ms
 ✓ |daemon| test/daemon/transport-relay.test.ts (87 tests) 25ms
 ✓ |daemon| test/daemon/timeline-emitter-tempfile-guard.test.ts (3 tests) 27ms
 ✓ |daemon| test/daemon/timeline-replay.test.ts (8 tests) 16ms
 ✓ |daemon| test/daemon/alias-mcp-tools.test.ts (26 tests) 27ms
 ✓ |daemon| test/daemon/hook-server-stop-text.test.ts (4 tests) 26ms
 ✓ |daemon| test/daemon/supervision-auto-provision.test.ts (22 tests) 22ms
 ✓ |daemon| test/daemon/file-change-normalizer.test.ts (12 tests) 5ms
(node:49734) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓ |daemon| test/daemon/timeline-projection-worker-contract.test.ts (2 tests) 42ms
 ✓ |daemon| test/daemon/opencode-watcher.test.ts (7 tests) 46ms
 ✓ |daemon| test/daemon/supervision-prompts.test.ts (68 tests) 25ms
 ✓ |daemon| test/daemon/file-transfer-upload-registry-recovery.test.ts (1 test) 35ms
 ✓ |daemon| test/daemon/hook-server-send-id.test.ts (3 tests) 50ms
 ✓ |daemon| test/agent/priority-preserving-context-cap.test.ts (23 tests) 7ms
 ✓ |daemon| test/shared/memory-mcp-contracts.test.ts (16 tests) 21ms
 ✓ |daemon| test/shared/capability-management.test.ts (9 tests) 7ms
 ✓ |daemon| test/daemon/timeline-history-sanitize.test.ts (14 tests) 21ms
 ✓ |daemon| test/daemon/machine-mcp-deps.test.ts (27 tests) 17ms
 ✓ |daemon| test/daemon/command-handler-stop.test.ts (8 tests) 31ms
 ✓ |daemon| test/daemon/hook-server-sessions-live.test.ts (4 tests) 19ms
 ✓ |daemon| test/daemon/hook-server-session-restart.test.ts (3 tests) 20ms
 ✓ |daemon| test/daemon/execution-clone-mcp.test.ts (45 tests) 19ms
 ✓ |daemon| test/daemon/supervision-prompts-custom-instructions.test.ts (39 tests) 16ms
 ✓ |daemon| test/daemon/file-search.test.ts (13 tests) 23ms
 ✓ |daemon| test/store/context-store-single-owner.test.ts (5 tests) 36ms
 ✓ |daemon| test/daemon/codex-watcher-bootstrap.test.ts (3 tests) 23ms
 ✓ |daemon| test/daemon/cron-executor.test.ts (44 tests) 23ms
 ✓ |daemon| test/daemon/mcp-tool-discovery.test.ts (4 tests) 11ms
 ✓ |daemon| test/daemon/peer-audit-candidates.test.ts (22 tests) 7ms
 ✓ |daemon| test/shared/metrics.test.ts (5 tests) 20ms
 ✓ |daemon| test/daemon/file-preview-read-pool.test.ts (11 tests) 34ms
 ✓ |daemon| test/daemon/usage-sync-worker.test.ts (10 tests) 8ms
 ✓ |daemon| test/daemon/supervision-audit-routing-authority.test.ts (4 tests) 9ms
 ✓ |daemon| test/shared/p2p-workflow-library.test.ts (29 tests) 13ms
 ✓ |daemon| test/daemon/transport-drain-awaited.test.ts (5 tests) 18ms
 ✓ |daemon| test/daemon/session-manager-stop-project.test.ts (4 tests) 11ms
 ✓ |daemon| test/daemon/session-identity-mcp.test.ts (6 tests) 20ms
 ✓ |daemon| test/daemon/direct-file-transfer.test.ts (43 tests) 57364ms
   ✓ daemon direct file transfer v2 lease broker > never strips a live upload of its resume state under capacity pressure  26668ms
   ✓ daemon direct file transfer v2 lease broker > keeps the number of partials on disk bounded by the resume ledger capacity  26682ms
 ✓ |daemon| test/daemon/session-manager-restore.test.ts (10 tests) 16ms
 ✓ |daemon| test/shared/remote-desktop-access.test.ts (64 tests) 14ms
 ✓ |daemon| test/daemon/remote-desktop-privacy-barrier.test.ts (30 tests) 11ms
 ✓ |daemon| test/store/session-store-mock-isolation.test.ts (1 test) 15ms
 ✓ |daemon| test/store/context-store-worker-client.test.ts (13 tests) 29ms
 ✓ |daemon| test/shared/transport-queue-reducer.test.ts (12 tests) 12ms
 ✓ |daemon| test/daemon/execution-clone.test.ts (76 tests) 20ms
 ✓ |daemon| test/shared/supervision-execution-summary.test.ts (12 tests) 10ms
 ✓ |daemon| test/daemon/memory-inject-startup.test.ts (1 test) 16ms
 ✓ |daemon| test/daemon/ack-outbox.test.ts (2 tests) 30ms
 ✓ |daemon| test/daemon/remote-desktop-consent-provider.test.ts (27 tests) 17ms
 ✓ |daemon| test/store/context-store-worker-self-recovery.test.ts (11 tests) 36ms
 ✓ |daemon| test/shared/p2p-workflow-compiler.test.ts (8 tests) 13ms
 ✓ |daemon| test/shared/agent-delegation.test.ts (37 tests) 8ms
 ✓ |daemon| test/daemon/p2p-workflow-discussion-offsets.test.ts (6 tests) 26ms
 ✓ |daemon| test/daemon/peer-audit-reply-pipeline.test.ts (4 tests) 9ms
 ✓ |daemon| test/shared/p2p-workflow-artifacts.test.ts (6 tests) 11ms
 ✓ |daemon| test/daemon/file-preview-read-coordinator.test.ts (13 tests) 19ms
 ✓ |daemon| test/daemon/cron-executor-send.test.ts (3 tests) 22ms
 ✓ |daemon| test/daemon/peer-audit-result.test.ts (2 tests) 15ms
 ✓ |daemon| test/daemon/subsession-manager-forced-fresh.test.ts (22 tests) 11ms
 ✓ |daemon| test/daemon/oc-streaming-integration.test.ts (6 tests) 9ms
 ✓ |daemon| test/daemon/launch-session-opencode.test.ts (1 test) 17ms
 ✓ |daemon| test/daemon/peer-audit-reply-ingress.test.ts (11 tests) 11ms
 ✓ |daemon| test/daemon/memory-get-sources-orchestrator.test.ts (13 tests) 7ms
 ✓ |daemon| test/daemon/transport-resend-delivery.test.ts (6 tests) 11ms
 ✓ |daemon| test/daemon/execution-clone-orchestration.test.ts (17 tests) 9ms
 ✓ |daemon| test/daemon/cursor-mcp-config.test.ts (2 tests) 61ms
 ✓ |daemon| test/daemon/remote-desktop-daemon.test.ts (20 tests) 10ms
 ✓ |daemon| test/daemon/subsession-sync.test.ts (1 test) 4ms
 ✓ |daemon| test/shared/webrtc-connectivity.test.ts (9 tests) 7ms
 ✓ |daemon| test/daemon/well-known-directories.test.ts (41 tests) 8ms
 ✓ |daemon| test/shared-context-runtime-config.test.ts (18 tests) 3ms
(node:51107) ExperimentalWarning: SQLite is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
 ✓ |daemon| test/daemon/upgrade-blocked-outbox.test.ts (3 tests) 27ms
 ✓ |daemon| test/shared-machine-direct-file-transfer.test.ts (5 tests) 8ms
 ✓ |daemon| test/daemon/provider-sessions.test.ts (5 tests) 20ms
 ✓ |daemon| test/daemon/supervision-compat-shims.test.ts (11 tests) 11ms
 ✓ |daemon| test/shared/peer-audit.test.ts (33 tests) 7ms
 ✓ |daemon| test/daemon/peer-audit-controller.test.ts (18 tests) 32ms
 ✓ |daemon| test/shared/remote-desktop.test.ts (27 tests) 19ms
 ✓ |daemon| test/daemon/memory-mcp-machine-handlers.test.ts (10 tests) 24ms
 ✓ |daemon| test/daemon/terminal-streamer-pipe-grace.test.ts (5 tests) 11ms
 ✓ |daemon| test/daemon/session-dispatch-delegation.test.ts (6 tests) 9ms
 ✓ |daemon| test/daemon/remote-desktop-consent-ipc.test.ts (21 tests) 10ms
 ✓ |daemon| test/shared/template-prompt-patterns.test.ts (100 tests) 9ms
 ✓ |daemon| test/daemon/supervision-intent-ops.test.ts (17 tests) 6ms
 ✓ |daemon| test/daemon/execution-clone-admission.test.ts (6 tests) 6ms
 ✓ |daemon| test/daemon/session-dispatch-peer-audit.test.ts (17 tests) 9ms
 ✓ |daemon| test/shared/alias-expand.test.ts (29 tests) 6ms
 ✓ |daemon| test/daemon/terminal-streamer-stale-pane.test.ts (3 tests) 7ms
 ✓ |daemon| test/daemon/file-preview-read-observability.test.ts (2 tests) 7ms
 ✓ |daemon| test/daemon/fs-list-pool.test.ts (6 tests) 9ms
 ✓ |daemon| test/shared/supervision-execution-pool.test.ts (28 tests) 7ms
 ✓ |daemon| test/shared/direct-file-transfer-v2.test.ts (17 tests) 7ms
 ✓ |daemon| test/daemon/ordered-shutdown.test.ts (3 tests) 9ms
 ✓ |daemon| test/shared/supervision-task-console.test.ts (39 tests) 13ms
 ✓ |daemon| test/shared/tab-sharing.test.ts (14 tests) 7ms
 ✓ |daemon| test/daemon/verification-machine-client.test.ts (2 tests) 7ms
 ✓ |daemon| test/daemon/supervision-audit-envelope-contract.test.ts (10 tests) 4ms
 ✓ |daemon| test/daemon/transport-resend-preservation.test.ts (2 tests) 6ms
 ✓ |daemon| test/daemon/command-handler-test-session-guard.test.ts (2 tests) 14ms
 ✓ |daemon| test/daemon/fs-git-status-pool.test.ts (6 tests) 11ms
 ✓ |daemon| test/daemon/session-identity-client.test.ts (3 tests) 6ms
 ✓ |daemon| test/shared/custom-provider-sdk-agent-types.test.ts (3 tests) 5ms
 ✓ |daemon| test/daemon/session-restoration.test.ts (8 tests) 7ms
 ✓ |daemon| test/shared/openspec-auto-deliver.test.ts (15 tests) 8ms
 ✓ |daemon| test/shared-machine-reference.test.ts (12 tests) 5ms
 ✓ |daemon| test/daemon/shared-machine-authority-client.test.ts (2 tests) 4ms
 ✓ |daemon| test/daemon/execution-clone-lifecycle.test.ts (3 tests) 4ms
 ✓ |daemon| test/daemon/alias-audit.test.ts (13 tests) 4ms
 ✓ |daemon| test/shared/direct-file-transfer-ipc-limits.test.ts (21 tests) 8ms
 ✓ |daemon| test/daemon/p2p-config-mode.test.ts (59 tests) 9ms
 ✓ |daemon| test/daemon/verification-machine-mcp.test.ts (4 tests) 6ms
 ✓ |daemon| test/daemon/master-compaction-registry.test.ts (6 tests) 10ms
 ✓ |daemon| test/daemon/session-restart-mcp.test.ts (5 tests) 8ms
 ✓ |daemon| test/daemon/file-preview-read-response.test.ts (5 tests) 4ms
 ✓ |daemon| test/daemon/daemon-upgrade-guard.test.ts (21 tests) 7ms
 ✓ |daemon| test/daemon/terminal-parser.test.ts (26 tests) 6ms
 ✓ |daemon| test/daemon/service-recovery.test.ts (16 tests) 6ms
 ✓ |daemon| test/shared/sdk-subagent-status.test.ts (11 tests) 5ms
 ✓ |daemon| test/daemon/fs-list-worker.test.ts (2 tests) 9ms
 ✓ |daemon| test/daemon/p2p-workflow-launch-wiring.test.ts (3 tests) 2ms
 ✓ |daemon| test/shared/wire-protocol-contract.test.ts (4 tests) 3ms
 ✓ |daemon| test/shared/transport-types-contract.test.ts (24 tests) 3ms
 ✓ |daemon| test/daemon/memory-mcp-daemon-worker-proxy.test.ts (1 test) 4ms
 ✓ |daemon| test/shared/session-display.test.ts (3 tests) 2ms
 ✓ |daemon| test/daemon/worker-session-sync-retrier.test.ts (3 tests) 6ms
 ✓ |daemon| test/shared/p2p-workflow-validators.test.ts (15 tests) 4ms
 ✓ |daemon| test/daemon/command-handler-timeline-history-parity.test.ts (1 test) 6ms
 ✓ |daemon| test/shared/timeline-merge.test.ts (15 tests) 4ms
 ✓ |daemon| test/daemon/p2p-behavioral.test.ts (29 tests) 12ms
 ✓ |daemon| test/daemon/session-identity-sync.test.ts (4 tests) 4ms
 ✓ |daemon| test/daemon/memory-scoring.test.ts (21 tests) 4ms
 ✓ |daemon| test/shared/delegation-claim.test.ts (28 tests) 5ms
 ✓ |daemon| test/daemon/memory-mcp-resource-budget.test.ts (4 tests) 6ms
 ✓ |daemon| test/daemon/transport-types.test.ts (27 tests) 5ms
 ✓ |daemon| test/daemon/file-preview-read-worker.test.ts (7 tests) 6ms
 ✓ |daemon| test/shared/windows-authenticode-enrollment.test.ts (2 tests) 8ms
 ✓ |daemon| test/shared/supervision-audit-handoff.test.ts (23 tests) 6ms
 ✓ |daemon| test/daemon/command-handler-ack-contract.test.ts (1 test) 3ms
 ✓ |daemon| test/daemon/disk-usage.test.ts (5 tests) 5ms
 ✓ |daemon| test/daemon/p2p-workflow-allowlist-loader.test.ts (12 tests) 6ms
 ✓ |daemon| test/daemon/jsonl-parse-core.test.ts (15 tests) 4ms
 ✓ |daemon| test/daemon/file-preview-policy.test.ts (19 tests) 5ms
 ✓ |daemon| test/daemon/direct-file-transfer-ice.test.ts (2 tests) 2ms
 ✓ |daemon| test/daemon/lifecycle-startup-persist-failure.test.ts (2 tests) 4ms
 ✓ |daemon| test/agent/provider-context-routing.test.ts (8 tests) 3ms
 ✓ |daemon| test/daemon/peer-audit-process-injector.test.ts (12 tests) 4ms
 ✓ |daemon| test/daemon/backend-authored-context.test.ts (3 tests) 3ms
 ✓ |daemon| test/store/session-state-probe-events.test.ts (4 tests) 6ms
 ✓ |daemon| test/shared/p2p-workflow-protocol.test.ts (7 tests) 4ms
 ✓ |daemon| test/daemon/execution-clone-cap-integrity.test.ts (4 tests) 4ms
 ✓ |daemon| test/shared/mcp-machine-tool-gate.test.ts (9 tests) 4ms
 ✓ |daemon| test/shared/alias-types.test.ts (13 tests) 5ms
 ✓ |daemon| test/daemon/p2p-script-runner-sandbox.test.ts (33 tests) 4ms
 ✓ |daemon| test/shared/p2p-advanced.test.ts (14 tests) 4ms
 ✓ |daemon| test/shared/memory-eligible-event.test.ts (11 tests) 2ms
 ✓ |daemon| test/daemon/lifecycle-display.test.ts (7 tests) 5ms
 ✓ |daemon| test/daemon/session-resource-service.test.ts (5 tests) 12ms
 ✓ |daemon| test/daemon/systemd-unit-template.test.ts (19 tests) 9ms
 ✓ |daemon| test/daemon/oc-session-sync.test.ts (25 tests) 5ms
 ✓ |daemon| test/shared/execution-clone.test.ts (20 tests) 10ms
 ✓ |daemon| test/daemon/suppress-sqlite-warning.test.ts (2 tests) 5ms
 ✓ |daemon| test/shared/preview-ws-types.test.ts (27 tests) 12ms
 ✓ |daemon| test/daemon/memory-mcp-hook-authority-taxonomy.test.ts (6 tests) 36ms
 ✓ |daemon| test/shared/controlled-node-identity.test.ts (17 tests) 4ms
 ✓ |daemon| test/daemon/send-list-targets-eligibility.test.ts (4 tests) 6ms
 ✓ |daemon| test/shared/password-rules.test.ts (8 tests) 4ms
 ✓ |daemon| test/daemon/supervision-id-minter.test.ts (10 tests) 4ms
 ✓ |daemon| test/shared/p2p-workflow-script.test.ts (10 tests) 12ms
 ✓ |daemon| test/shared/session-activity-types.test.ts (13 tests) 6ms
 ✓ |daemon| test/daemon/file-preview-classifier.test.ts (11 tests) 6ms
 ✓ |daemon| test/daemon/memory-mcp-caller.test.ts (4 tests) 3ms
 ✓ |daemon| test/daemon/execution-clone-limits-resolver.test.ts (10 tests) 3ms
 ✓ |daemon| test/shared/p2p-workflow-logic-evaluator.test.ts (17 tests) 3ms
 ✓ |daemon| test/shared/session-group-clone.test.ts (7 tests) 4ms
 ✓ |daemon| test/daemon/supervisor-defaults-cache.test.ts (1 test) 4ms
 ✓ |daemon| test/daemon/peer-audit-baseline.test.ts (17 tests) 4ms
 ✓ |daemon| test/shared/test-session-guard.test.ts (4 tests) 3ms
 ✓ |daemon| test/daemon/file-preview-read-shutdown.test.ts (3 tests) 3ms
 ✓ |daemon| test/shared/imcodes-version-channel.test.ts (5 tests) 3ms
 ✓ |daemon| test/shared/remote-desktop-platform.test.ts (20 tests) 4ms
 ✓ |daemon| test/daemon/daemon-task-admission.test.ts (2 tests) 4ms
 ✓ |daemon| test/daemon/backend-context-namespace.test.ts (2 tests) 13ms
 ✓ |daemon| test/daemon/session-close.test.ts (5 tests) 3ms
 ✓ |daemon| test/shared/recall-cap-rule.test.ts (15 tests) 5ms
 ✓ |daemon| test/daemon/fs-git-status-worker.test.ts (4 tests) 3ms
 ✓ |daemon| test/shared/timeline-delivery-telemetry.test.ts (5 tests) 2ms
 ✓ |daemon| test/daemon/execution-routing-injection.test.ts (10 tests) 13ms
 ✓ |daemon| test/daemon/service-recovery-runner.test.ts (9 tests) 4ms
 ✓ |daemon| test/daemon/embedding-semantic.test.ts (9 tests) 3ms
 ✓ |daemon| test/shared/terminal-transport-contract.test.ts (2 tests) 1ms
 ✓ |daemon| test/shared/sanitize-project-name.test.ts (7 tests) 3ms
 ✓ |daemon| test/daemon/session-bootstrap.test.ts (6 tests) 3ms
 ✓ |daemon| test/daemon/transport-queued-events-bug3.test.ts (3 tests) 3ms
 ✓ |daemon| test/shared/memory-mcp-provenance.test.ts (2 tests) 2ms
 ✓ |daemon| test/daemon/structured-session-bootstrap.test.ts (4 tests) 5ms
 ✓ |daemon| test/daemon/file-preview-read-fanout.test.ts (4 tests) 5ms
 ✓ |daemon| test/shared/controlled-node-ticket-delivery.test.ts (4 tests) 2ms
 ✓ |daemon| test/shared-file-transfer-controlled.test.ts (5 tests) 3ms
 ✓ |daemon| test/daemon/p2p-launch-admission.test.ts (5 tests) 2ms
 ✓ |daemon| test/shared/transport-identity-scrub.test.ts (11 tests) 6ms
 ✓ |daemon| test/shared/windows-release-publisher-trust.test.ts (16 tests) 3ms
 ✓ |daemon| test/shared/computer-use.test.ts (5 tests) 4ms
 ✓ |daemon| test/shared/p2p-workflow-redaction.test.ts (2 tests) 8ms
 ✓ |daemon| test/daemon/cgroup-validation-probes.test.ts (3 tests | 1 skipped) 2ms
 ✓ |daemon| test/daemon/p2p-adapter-topology.test.ts (11 tests) 3ms
 ✓ |daemon| test/daemon/gemini-stable-id.test.ts (1 test) 7ms
 ✓ |daemon| test/daemon/timeline-detail-store.test.ts (2 tests) 3ms
 ✓ |daemon| test/daemon/codex-quota-refresh.test.ts (2 tests) 12ms
 ✓ |daemon| test/daemon/upgrade-deferral-backstop.test.ts (6 tests) 3ms
 ✓ |daemon| test/shared/session-control-commands.test.ts (5 tests) 3ms
 ✓ |daemon| test/shared/audit-convergence.test.ts (4 tests) 6ms
 ✓ |daemon| test/daemon/lifecycle-context-store-startup-order.test.ts (1 test) 2ms
 ✓ |daemon| test/shared/daemon-upgrade.test.ts (3 tests) 2ms
 ✓ |daemon| test/daemon/transport-relay-usage-payload.test.ts (5 tests) 4ms
 ✓ |daemon| test/daemon/daemon-task-admission-record-only.test.ts (3 tests) 10ms
 ✓ |daemon| test/daemon/context-model-config.test.ts (7 tests) 6ms
 ✓ |daemon| test/shared/remote-desktop-platform-adapters.test.ts (3 tests) 3ms
 ✓ |daemon| test/daemon/upgrade-toolchain-check.test.ts (5 tests) 4ms
 ✓ |daemon| test/shared/send-message-id.test.ts (3 tests) 2ms
 ✓ |daemon| test/daemon/provider-routing.test.ts (6 tests) 6ms
 ✓ |daemon| test/shared/models-options.test.ts (8 tests) 6ms
 ✓ |daemon| test/shared/cron-types.test.ts (12 tests) 8ms
 ✓ |daemon| test/daemon/backend-runtime-config.test.ts (1 test) 2ms
 ✓ |daemon| test/shared/session-scope.test.ts (3 tests) 2ms
 ✓ |daemon| test/daemon/execution-routing-appendix.test.ts (9 tests) 2ms
 ✓ |daemon| test/shared/p2p-workflow-materialize.test.ts (2 tests) 2ms
 ✓ |daemon| test/shared/p2p-workflow-validators-fieldpath.test.ts (6 tests) 3ms
 ✓ |daemon| test/shared/daemon-machine-list-contract.test.ts (4 tests) 4ms
 ✓ |daemon| test/shared/p2p-execution-marker.test.ts (7 tests) 3ms
 ✓ |daemon| test/shared/html-preview.test.ts (19 tests) 2ms
 ✓ |daemon| test/shared/transport-queue-privacy.test.ts (3 tests) 5ms
 ✓ |daemon| test/daemon/p2p-prototype-pollution.test.ts (7 tests) 5ms
 ✓ |daemon| test/daemon/file-preview-read-admission.test.ts (6 tests) 3ms
 ✓ |daemon| test/shared/clock-sync.test.ts (8 tests) 5ms
 ✓ |daemon| test/daemon/auto-upgrade-cooldown.test.ts (12 tests) 3ms
 ✓ |daemon| test/daemon/memory-projection-owner-cache.test.ts (6 tests) 2ms
 ✓ |daemon| test/store/source-id-merge.test.ts (1 test) 2ms
 ✓ |daemon| test/shared/memory-mcp-env.test.ts (1 test) 2ms
 ✓ |daemon| test/shared/memory-noise-patterns.test.ts (2 tests) 2ms
 ✓ |daemon| test/daemon/session-file-read-grants.test.ts (3 tests) 10ms
 ✓ |daemon| test/daemon/file-preview-read-cache-facade.test.ts (7 tests) 2ms
 ✓ |daemon| test/shared/git-remote-url.test.ts (4 tests) 4ms
 ✓ |daemon| test/daemon/project-path-key.test.ts (9 tests) 2ms
 ✓ |daemon| test/shared/fs-transport-contract.test.ts (2 tests) 3ms
 ✓ |daemon| test/daemon/watcher-claiming.test.ts (6 tests) 2ms
 ✓ |daemon| test/shared/p2p-workflow-prompt.test.ts (4 tests) 32ms
 ✓ |daemon| test/shared/user-session-text-caps.test.ts (7 tests) 2ms
 ✓ |daemon| test/shared/timeline-recoverable-errors.test.ts (5 tests) 2ms
 ✓ |daemon| test/shared-agent-types.test.ts (2 tests) 2ms
 ✓ |daemon| test/daemon/supervision-i18n.test.ts (8 tests) 2ms
 ✓ |daemon| test/shared/request-failure.test.ts (3 tests) 2ms
 ✓ |daemon| test/daemon/shared-machine-authority-context.test.ts (3 tests) 3ms
 ✓ |daemon| test/shared/memory-mcp-errors.test.ts (2 tests) 2ms
 ✓ |daemon| test/daemon/execution-clone-launch-boundary.test.ts (5 tests) 2ms
 ✓ |daemon| test/shared/alias-memory-isolation.test.ts (3 tests) 2ms
 ✓ |daemon| test/daemon/p2p-memory-filter.test.ts (5 tests) 2ms
 ✓ |daemon| test/shared/openspec-prompt-templates.test.ts (2 tests) 2ms
 ✓ |daemon| test/shared/session-model.test.ts (2 tests) 1ms
 ✓ |daemon| test/daemon/supervision-brain-authority.test.ts (3 tests) 2ms
 ✓ |daemon| test/shared/platform-types-contract.test.ts (2 tests) 1ms
 ↓ |daemon| test/daemon/p2p-workflow-script.test.ts (16 tests | 16 skipped)
 ✓ |daemon| test/daemon/command-handler-opencode-history.test.ts (5 tests) 2ms
 ✓ |daemon| test/daemon/session-type-switch.test.ts (2 tests) 2ms
 ✓ |daemon| test/daemon/openspec-auto-deliver-orchestrator.test.ts (91 tests) 78624ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > sends launch ack before collecting the implementation product baseline  2531ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > keeps one implementation prompt active while tasks remain unchecked and no completed marker exists  1248ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > still terminalizes when tasks.md stays empty past the read retry budget  310ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > dispatches final acceptance scoring instead of stopping early when implementation prompt budget is spent  1244ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > does not exhaust the marker reminder cap while a slow session has not answered the implementation prompt yet  890ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > asks the implementation LLM to commit&push, then verifies product changes after final implementation audit PASS when opted in  1735ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > runs the Standard preset from spec audit through implementation audit PASS  2332ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > advances spec repair to final acceptance when the repair idle event is missed  1155ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > builds Team audit prompts from canonical OpenSpec templates and final acceptance prompts with authoritative metadata  2534ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > feeds final audit PASS safety failures back into implementation repair  1771ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > keeps spec audit REWORK in audit repair instead of advancing to implementation  1100ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > inlines the previous spec acceptance audit required_changes into the next spec repair prompt  1101ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > starts another Team audit only after final acceptance says previous spec repairs are complete but still insufficient  1174ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > does not start another Team audit after final implementation acceptance PASS with perfect scores  1398ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > does not start another spec Team round after final spec acceptance PASS with acceptable scores  1119ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > stops for human input when spec audit reports BLOCKED  1138ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > feeds implementation audit REWORK back into implementation repair before re-auditing  1331ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > feeds low implementation audit scores back into implementation repair  1459ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > queues final acceptance audit prompts for resend when transport runtime is not initialized  1383ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > nudges stale active transport turns when a final acceptance audit prompt is queued  1441ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > drops stale queued Auto Deliver implementation prompts once final acceptance passes  1293ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > does not continue implementation after final acceptance PASS when changed-file coverage is documented outside repairs_applied  1682ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > removes stale runtime-pending Auto Deliver implementation prompts once final acceptance passes  1327ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > feeds final acceptance REWORK back into implementation repair before extending audit rounds  1328ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > continues implementation repair on fixable work even when external blocked_items are also listed  1283ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > hands off to a human only when no fixable work remains and external blockers persist  1404ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > does not let an in-flight idle advance send into the next test after test cleanup  2440ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > delivers (passed) when the only unchecked tasks are accepted external/deferred gates  1379ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > starts another Team implementation audit only after final acceptance says previous repairs are complete but still low scoring  1480ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > keeps valid missing authoritative result files classified as missing JSON  1345ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > requests authoritative result file repair before consuming another audit-repair round  1396ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > continues after a final acceptance result-file repair even when the idle event is missed  1384ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > consumes a valid final acceptance result file even while the transport runtime still reports busy  1602ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > consumes one final acceptance result only once when duplicate idle events race  1521ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > requests authoritative result file repair for verdict payload format errors  1595ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > requires repair_completion before consuming a final acceptance result  1691ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > keeps result-file repair prompts stage-scoped for spec audit repair  1201ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > keeps retrying final acceptance result-file repair instead of prompting for human input  2703ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > ignores stale idle events while final acceptance result-file prompts are still running  1801ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > stops for human input when implementation audit reports BLOCKED  1386ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > rejects stale metadata and malformed or missing authoritative result files  5502ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > rejects authoritative result files that symlink outside .imc/discussions  1507ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > rejects .imc/discussions directory symlink escapes with the same invalid-path classification  1463ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > ignores discussion JSON when the authoritative result file is missing  1593ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > uses an authoritative result file larger than the generic P2P summary tail  1221ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > surfaces wrapper P2P failures instead of misreporting missing authoritative JSON  1079ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > proceeds to repair + scoring on a post-summary execution-gate failure instead of audit_p2p_failed  1120ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > proceeds to repair + scoring when the audit discussion times out (a hop ran out of its time box)  1090ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > ignores late audit results after stop terminalization and releases the P2P lock  1107ms
   ✓ OpenSpec Auto Deliver daemon orchestrator > denies non-participant sibling stop and preserves terminal status on late stop  1230ms
 ✓ |daemon| test/daemon/jsonl-watcher.test.ts (49 tests) 111239ms
   ✓ parseLine — event type coverage > emits assistant.text for text blocks  2716ms
   ✓ parseLine — event type coverage > emits assistant.thinking for thinking blocks  2704ms
   ✓ parseLine — event type coverage > emits tool.call for tool_use blocks  2705ms
   ✓ parseLine — event type coverage > emits user.message for user text blocks  2705ms
   ✓ parseLine — event type coverage > emits user.message for string-form user content used by real CC transcripts  2708ms
   ✓ parseLine — event type coverage > emits tool.result for tool_result blocks  2707ms
   ✓ parseLine — event type coverage > emits tool.result with error for error tool_results  2708ms
   ✓ parseLine — event type coverage > emits usage.update for result events with cost  2704ms
   ✓ parseLine — event type coverage > emits agent.status for compact_boundary system events  2713ms
   ✓ parseLine — event type coverage > emits agent.status for bash_progress  2706ms
   ✓ parseLine — event type coverage > emits ask.question for AskUserQuestion tool_use  2711ms
   ✓ parseLine — event type coverage > handles multi-block assistant turns (text + tool_use)  2711ms
   ✓ parseLine — event type coverage > emits usage.update with token counts from assistant messages  2710ms
   ✓ parseLine — event type coverage > ignores invalid JSON lines gracefully  2708ms
   ✓ parseLine — event type coverage > ignores empty/whitespace lines  2714ms
   ✓ extractToolInput — tool-specific input extraction > extracts command from Bash tool  2712ms
   ✓ extractToolInput — tool-specific input extraction > extracts file_path from Read tool  2704ms
   ✓ extractToolInput — tool-specific input extraction > extracts pattern from Glob tool  2703ms
   ✓ extractToolInput — tool-specific input extraction > extracts pattern+path from Grep tool  2715ms
   ✓ extractToolInput — tool-specific input extraction > extracts description from Agent tool  2708ms
   ✓ file.change emission > emits hidden raw tool events and a visible file.change for Claude Edit  2714ms
   ✓ file.change emission > preserves repeated patches for the same file within a MultiEdit batch  2709ms
   ✓ file.change emission > does not emit file.change when Claude file identity is missing  2706ms
   ✓ file.change emission > keeps raw Claude tool rows visible when the deferred file tool errors  2710ms
   ✓ drainNewLines — partial line handling > does NOT lose data when file write splits a JSON line across drains  4570ms
   ✓ drainNewLines — partial line handling > handles multiple complete lines followed by a partial  4561ms
   ✓ startWatchingFile — timeout cleanup > cleans up phantom watcher when file never appears  1002ms
   ✓ startWatchingFile — timeout cleanup > succeeds when file appears within timeout  1003ms
   ✓ watcher status tracking > transitions from waiting_for_file to active  302ms
   ✓ watcher status tracking > returns stopped/null after stopWatching  302ms
   ✓ claim management > preClaimFile prevents other sessions from claiming the same file  303ms
   ✓ claim management > stopWatching releases claims  304ms
   ✓ stable eventId generation > generates deterministic eventIds based on byte offset  603ms
   ✓ stable eventId generation > produces same eventIds on re-read (daemon restart simulation)  605ms
   ✓ progress event subtypes > emits agent.status for agent_progress  2707ms
   ✓ progress event subtypes > emits agent.status for mcp_progress started  2708ms
   ✓ progress event subtypes > emits agent.status for waiting_for_task  2705ms
   ✓ system-injected message filtering > filters <task-notification> and emits agent.status processing instead  2703ms
   ✓ system-injected message filtering > filters <system-reminder> and emits agent.status processing instead  2703ms
   ✓ system-injected message filtering > filters <command-name> slash commands  2704ms
   ✓ system-injected message filtering > filters <local-command-caveat> local commands  2705ms
   ✓ system-injected message filtering > filters <bash-input> / <bash-stdout> / <bash-stderr>  2705ms
   ✓ system-injected message filtering > filters <command-message> tags  2704ms
   ✓ system-injected message filtering > filters string-form user content with system tags  2704ms
   ✓ system-injected message filtering > does NOT filter normal user messages  2705ms
   ✓ system-injected message filtering > does NOT filter user messages that mention XML tags in natural text  2704ms

 Test Files  436 passed | 1 skipped (437)
      Tests  6710 passed | 23 skipped (6733)
   Start at  01:56:30
   Duration  112.30s (transform 11.51s, setup 6.94s, collect 94.07s, tests 491.66s, environment 57ms, prepare 21.56s)

npm notice
npm notice New minor version of npm available! 11.8.0 -> 11.19.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.19.1
npm notice To update run: npm install -g npm@11.19.1
npm notice
exit=0
