{
  "rows": {
    "S-P-N": {
      "row": "S-P-N",
      "sha": "e9236274a3a6e0c731a7df4092db1e686f039068",
      "preload": false,
      "command": "env -u NODE_OPTIONS vp test run src/serverSettings.test.ts src/project/AgentSessionScanner.test.ts --reporter=verbose",
      "cwd": "/home/ubuntu/wt/pr-25970-base/apps/server",
      "exit_code": 0,
      "transcript": "S-P-N.txt",
      "counts": {
        "P": 100
      },
      "statuses": {
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > reads Claude project cwds from transcripts, newest first": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > merges the same cwd seen by both agents and flags imported projects": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > returns the imported project ID through a realpath alias": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > merges case aliases and preserves the persisted project path": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > keeps case variants distinct when the filesystem identities differ": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > uses explicit default-slot homes instead of the fixture homes": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > scans each distinct home across multiple instances once": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > honors provider instance home directory environment variables": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > does not scan provider instances disabled by the envelope or config": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > drops candidates whose directory no longer exists": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes the home directory, temporary root, and T3 data directory": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes T3-managed worktree sandboxes": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > skips linked git worktrees and reports the origin of real checkouts": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > offers bare-repository worktrees separately and imports only their own sessions": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes sandboxes under the configured worktrees dir without .t3 in the path": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes sandboxes reached through a symlink into the worktrees dir": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > finds the cwd on a later line when the first records carry none": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > reads a complete transcript record at the exact chunk boundary": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > skips malformed transcripts without failing the scan": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > imports recent Claude and Codex sessions for the selected project only": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > keeps the provider instance that owns a custom session home": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > excludes Codex subagents from discovery and the recent-thread budget": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > suppresses duplicate session copies without reporting a skipped import": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > skips excessive records without blocking an older valid transcript": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks claudeAgent snapshot cwd after replacement with same root": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks claudeAgent snapshot cwd after replacement with other root": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks claudeAgent snapshot cwd after replacement with symlink alias": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks claudeAgent snapshot cwd after replacement with other then same": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks codex snapshot cwd after replacement with same root": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks codex snapshot cwd after replacement with other root": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks codex snapshot cwd after replacement with symlink alias": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks codex snapshot cwd after replacement with other then same": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > checks file identity and provider before skipping completed history": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > imports same-metadata replacements with exact large file IDs and backfills legacy IDs once": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > imports long Claude tool history with metadata from discarded records": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > skips growth during reading without exceeding the reserved bytes": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > uses configured order when custom instances share a session home": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > handles the exact record limit and an interior blank overflow=false": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > handles the exact record limit and an interior blank overflow=true": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > keeps Claude text and titles while dropping malformed and tool records": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > uses Claude custom titles [ 'Refactor auth module' ] over the AI title": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > uses Claude custom titles [ 'Refactor auth module', '' ] over the AI title": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > drops injected Codex instructions while keeping the visible user event": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > keeps the canonical first prompt after long Codex transcripts are capped": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > restores the canonical first prompt when a later user message remains": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > keeps mixed-format response users when turn IDs repeat after an assistant": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > preserves response user text when Codex turn metadata is ambiguous": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > uses the first valid Codex session ID when a fork copies ancestor metadata": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > skips Codex transcripts without a resumable session ID": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > uses the canonical Codex event when its turn has generated response context": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > preserves context markup in response-only Codex messages": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > titles a Codex event after the request that follows injected setup blocks": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > skips sessions without a visible user message": "P",
        "src/serverSettings.test.ts > server settings > serializes concurrent model preference edits without cancelling duplicate adds": "P",
        "src/serverSettings.test.ts > server settings > persists and broadcasts model preferences to other connected clients": "P",
        "src/serverSettings.test.ts > server settings > migrates saved token delivery to paragraph buffering without resetting settings": "P",
        "src/serverSettings.test.ts > server settings > moves an idle compaction mode saved in the legacy switch to its own field": "P",
        "src/serverSettings.test.ts > server settings > tells clients it reads idle compaction modes before any settings are saved": "P",
        "src/serverSettings.test.ts > server settings > saves through a symlinked settings file without replacing the link": "P",
        "src/serverSettings.test.ts > server settings > retries a failed settings read instead of keeping the failure": "P",
        "src/serverSettings.test.ts > server settings > decodes legacy object-shaped textGenerationModelSelection.options from settings.json": "P",
        "src/serverSettings.test.ts > server settings > deep merges nested settings updates without dropping siblings": "P",
        "src/serverSettings.test.ts > server settings > keeps an external settings edit that the watcher has not reloaded yet": "P",
        "src/serverSettings.test.ts > server settings > refuses to save over a settings file it cannot parse": "P",
        "src/serverSettings.test.ts > server settings > creates provider instances atomically without overwriting a concurrent add": "P",
        "src/serverSettings.test.ts > server settings > pauses provider-instance mutations while a settings snapshot is in use": "P",
        "src/serverSettings.test.ts > server settings > buffers changes after a subscription is acquired but before it is consumed": "P",
        "src/serverSettings.test.ts > server settings > preserves saved usage settings during cleanup edits and removes custom prices": "P",
        "src/serverSettings.test.ts > server settings > preserves model when switching providers via textGenerationModelSelection": "P",
        "src/serverSettings.test.ts > server settings > keeps a custom instance's selection when the driver's default instance is disabled": "P",
        "src/serverSettings.test.ts > server settings > falls back to enabled instance codex after disabling the selection": "P",
        "src/serverSettings.test.ts > server settings > skips explicitly disabled default instances when choosing a fallback": "P",
        "src/serverSettings.test.ts > server settings > falls back to the thread default when it is a custom model on that instance": "P",
        "src/serverSettings.test.ts > server settings > preserves the source control writer selection when its provider instance is disabled": "P",
        "src/serverSettings.test.ts > server settings > moves customized legacy provider settings into default instances on load": "P",
        "src/serverSettings.test.ts > server settings > keeps an explicit default instance over the legacy blob for its driver": "P",
        "src/serverSettings.test.ts > server settings > enables previously used optional providers while migrating legacy settings": "P",
        "src/serverSettings.test.ts > server settings > keeps explicit legacy disables even when provider history shows use": "P",
        "src/serverSettings.test.ts > server settings > migrates legacy providers from an invalid file without rewriting it": "P",
        "src/serverSettings.test.ts > server settings > keeps a default-off provider's new instance disabled and sparse on disk": "P",
        "src/serverSettings.test.ts > server settings > folds a legacy in-config enabled flag into the envelope on load": "P",
        "src/serverSettings.test.ts > server settings > keeps the inline value on disk when secret migration fails": "P",
        "src/serverSettings.test.ts > server settings > preserves an inline secret on a redacted settings save": "P",
        "src/serverSettings.test.ts > server settings > preserves the effective last inline secret when names are duplicated": "P",
        "src/serverSettings.test.ts > server settings > replaces an inline secret with an explicit value": "P",
        "src/serverSettings.test.ts > server settings > clears an inline secret with an explicit empty value": "P",
        "src/serverSettings.test.ts > server settings > preserves duplicate secret operation order (sensitive last: true)": "P",
        "src/serverSettings.test.ts > server settings > preserves duplicate secret operation order (sensitive last: false)": "P",
        "src/serverSettings.test.ts > server settings > uses the same secret lifecycle for provider config, environment, host tokens, and quota keys": "P",
        "src/serverSettings.test.ts > server settings > moves saved provider credentials to the secret store when settings load": "P",
        "src/serverSettings.test.ts > server settings > keeps source control host secrets in the secret store and tells clients only that one is set": "P",
        "src/serverSettings.test.ts > server settings > keeps the retired keys for another load when a token cannot be copied": "P",
        "src/serverSettings.test.ts > server settings > moves the retired bitbucket and github keys and their secrets on load": "P",
        "src/serverSettings.test.ts > server settings > moves a hand-edited source control token into the secret store when settings load": "P",
        "src/serverSettings.test.ts > server settings > materializes provider secrets for terminal environment resolution": "P",
        "src/serverSettings.test.ts > server settings > rolls back provider secret changes when the settings file commit fails": "P",
        "src/serverSettings.test.ts > server settings > rolls back provider secret changes after response materialization fails": "P",
        "src/serverSettings.test.ts > server settings > rolls back provider secret changes after partially committed write fails": "P",
        "src/serverSettings.test.ts > server settings > folds legacy project overrides into projectSettingsOverrides once": "P",
        "src/serverSettings.test.ts > server settings > leaves an unreadable settings.json untouched instead of folding over it": "P"
      },
      "named": {
        "S1": "P",
        "S2": "P",
        "S3": "P",
        "O1": "\u2014",
        "O2": "\u2014",
        "A1": "\u2014",
        "A2": "\u2014",
        "E1": "P",
        "E2": "P"
      },
      "summary": "100 passed (100)"
    },
    "S-P-E": {
      "row": "S-P-E",
      "sha": "e9236274a3a6e0c731a7df4092db1e686f039068",
      "preload": true,
      "command": "env NODE_OPTIONS=--require=/tmp/lead-25970-r1/evidence-capture-1/no-symlink-preload.cjs vp test run src/serverSettings.test.ts src/project/AgentSessionScanner.test.ts --reporter=verbose",
      "cwd": "/home/ubuntu/wt/pr-25970-base/apps/server",
      "exit_code": 1,
      "transcript": "S-P-E.txt",
      "counts": {
        "P": 95,
        "F": 3,
        "S": 2
      },
      "statuses": {
        "src/serverSettings.test.ts > server settings > serializes concurrent model preference edits without cancelling duplicate adds": "P",
        "src/serverSettings.test.ts > server settings > persists and broadcasts model preferences to other connected clients": "P",
        "src/serverSettings.test.ts > server settings > migrates saved token delivery to paragraph buffering without resetting settings": "P",
        "src/serverSettings.test.ts > server settings > moves an idle compaction mode saved in the legacy switch to its own field": "P",
        "src/serverSettings.test.ts > server settings > tells clients it reads idle compaction modes before any settings are saved": "P",
        "src/serverSettings.test.ts > server settings > saves through a symlinked settings file without replacing the link": "F",
        "src/serverSettings.test.ts > server settings > retries a failed settings read instead of keeping the failure": "P",
        "src/serverSettings.test.ts > server settings > decodes legacy object-shaped textGenerationModelSelection.options from settings.json": "P",
        "src/serverSettings.test.ts > server settings > deep merges nested settings updates without dropping siblings": "P",
        "src/serverSettings.test.ts > server settings > keeps an external settings edit that the watcher has not reloaded yet": "P",
        "src/serverSettings.test.ts > server settings > refuses to save over a settings file it cannot parse": "P",
        "src/serverSettings.test.ts > server settings > creates provider instances atomically without overwriting a concurrent add": "P",
        "src/serverSettings.test.ts > server settings > pauses provider-instance mutations while a settings snapshot is in use": "P",
        "src/serverSettings.test.ts > server settings > buffers changes after a subscription is acquired but before it is consumed": "P",
        "src/serverSettings.test.ts > server settings > preserves saved usage settings during cleanup edits and removes custom prices": "P",
        "src/serverSettings.test.ts > server settings > preserves model when switching providers via textGenerationModelSelection": "P",
        "src/serverSettings.test.ts > server settings > keeps a custom instance's selection when the driver's default instance is disabled": "P",
        "src/serverSettings.test.ts > server settings > falls back to enabled instance codex after disabling the selection": "P",
        "src/serverSettings.test.ts > server settings > skips explicitly disabled default instances when choosing a fallback": "P",
        "src/serverSettings.test.ts > server settings > falls back to the thread default when it is a custom model on that instance": "P",
        "src/serverSettings.test.ts > server settings > preserves the source control writer selection when its provider instance is disabled": "P",
        "src/serverSettings.test.ts > server settings > moves customized legacy provider settings into default instances on load": "P",
        "src/serverSettings.test.ts > server settings > keeps an explicit default instance over the legacy blob for its driver": "P",
        "src/serverSettings.test.ts > server settings > enables previously used optional providers while migrating legacy settings": "P",
        "src/serverSettings.test.ts > server settings > keeps explicit legacy disables even when provider history shows use": "P",
        "src/serverSettings.test.ts > server settings > migrates legacy providers from an invalid file without rewriting it": "P",
        "src/serverSettings.test.ts > server settings > keeps a default-off provider's new instance disabled and sparse on disk": "P",
        "src/serverSettings.test.ts > server settings > folds a legacy in-config enabled flag into the envelope on load": "P",
        "src/serverSettings.test.ts > server settings > keeps the inline value on disk when secret migration fails": "P",
        "src/serverSettings.test.ts > server settings > preserves an inline secret on a redacted settings save": "P",
        "src/serverSettings.test.ts > server settings > preserves the effective last inline secret when names are duplicated": "P",
        "src/serverSettings.test.ts > server settings > replaces an inline secret with an explicit value": "P",
        "src/serverSettings.test.ts > server settings > clears an inline secret with an explicit empty value": "P",
        "src/serverSettings.test.ts > server settings > preserves duplicate secret operation order (sensitive last: true)": "P",
        "src/serverSettings.test.ts > server settings > preserves duplicate secret operation order (sensitive last: false)": "P",
        "src/serverSettings.test.ts > server settings > uses the same secret lifecycle for provider config, environment, host tokens, and quota keys": "P",
        "src/serverSettings.test.ts > server settings > moves saved provider credentials to the secret store when settings load": "P",
        "src/serverSettings.test.ts > server settings > keeps source control host secrets in the secret store and tells clients only that one is set": "P",
        "src/serverSettings.test.ts > server settings > keeps the retired keys for another load when a token cannot be copied": "P",
        "src/serverSettings.test.ts > server settings > moves the retired bitbucket and github keys and their secrets on load": "P",
        "src/serverSettings.test.ts > server settings > moves a hand-edited source control token into the secret store when settings load": "P",
        "src/serverSettings.test.ts > server settings > materializes provider secrets for terminal environment resolution": "P",
        "src/serverSettings.test.ts > server settings > rolls back provider secret changes when the settings file commit fails": "P",
        "src/serverSettings.test.ts > server settings > rolls back provider secret changes after response materialization fails": "P",
        "src/serverSettings.test.ts > server settings > rolls back provider secret changes after partially committed write fails": "P",
        "src/serverSettings.test.ts > server settings > folds legacy project overrides into projectSettingsOverrides once": "P",
        "src/serverSettings.test.ts > server settings > leaves an unreadable settings.json untouched instead of folding over it": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > reads Claude project cwds from transcripts, newest first": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > merges the same cwd seen by both agents and flags imported projects": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > returns the imported project ID through a realpath alias": "F",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > merges case aliases and preserves the persisted project path": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > keeps case variants distinct when the filesystem identities differ": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > uses explicit default-slot homes instead of the fixture homes": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > scans each distinct home across multiple instances once": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > honors provider instance home directory environment variables": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > does not scan provider instances disabled by the envelope or config": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > drops candidates whose directory no longer exists": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes the home directory, temporary root, and T3 data directory": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes T3-managed worktree sandboxes": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > skips linked git worktrees and reports the origin of real checkouts": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > offers bare-repository worktrees separately and imports only their own sessions": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes sandboxes under the configured worktrees dir without .t3 in the path": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes sandboxes reached through a symlink into the worktrees dir": "F",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > finds the cwd on a later line when the first records carry none": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > reads a complete transcript record at the exact chunk boundary": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > skips malformed transcripts without failing the scan": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > imports recent Claude and Codex sessions for the selected project only": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > keeps the provider instance that owns a custom session home": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > excludes Codex subagents from discovery and the recent-thread budget": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > suppresses duplicate session copies without reporting a skipped import": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > skips excessive records without blocking an older valid transcript": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks claudeAgent snapshot cwd after replacement with same root": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks claudeAgent snapshot cwd after replacement with other root": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks claudeAgent snapshot cwd after replacement with symlink alias": "S",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks claudeAgent snapshot cwd after replacement with other then same": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks codex snapshot cwd after replacement with same root": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks codex snapshot cwd after replacement with other root": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks codex snapshot cwd after replacement with symlink alias": "S",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks codex snapshot cwd after replacement with other then same": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > checks file identity and provider before skipping completed history": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > imports same-metadata replacements with exact large file IDs and backfills legacy IDs once": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > imports long Claude tool history with metadata from discarded records": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > skips growth during reading without exceeding the reserved bytes": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > uses configured order when custom instances share a session home": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > handles the exact record limit and an interior blank overflow=false": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > handles the exact record limit and an interior blank overflow=true": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > keeps Claude text and titles while dropping malformed and tool records": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > uses Claude custom titles [ 'Refactor auth module' ] over the AI title": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > uses Claude custom titles [ 'Refactor auth module', '' ] over the AI title": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > drops injected Codex instructions while keeping the visible user event": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > keeps the canonical first prompt after long Codex transcripts are capped": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > restores the canonical first prompt when a later user message remains": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > keeps mixed-format response users when turn IDs repeat after an assistant": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > preserves response user text when Codex turn metadata is ambiguous": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > uses the first valid Codex session ID when a fork copies ancestor metadata": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > skips Codex transcripts without a resumable session ID": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > uses the canonical Codex event when its turn has generated response context": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > preserves context markup in response-only Codex messages": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > titles a Codex event after the request that follows injected setup blocks": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > skips sessions without a visible user message": "P"
      },
      "named": {
        "S1": "F",
        "S2": "F",
        "S3": "F",
        "O1": "\u2014",
        "O2": "\u2014",
        "A1": "\u2014",
        "A2": "\u2014",
        "E1": "S",
        "E2": "S"
      },
      "summary": "3 failed | 95 passed | 2 skipped (100)"
    },
    "S-H-N": {
      "row": "S-H-N",
      "sha": "bfd52848f9c02add53ab87e4a7dff31aae12b745",
      "preload": false,
      "command": "env -u NODE_OPTIONS vp test run src/serverSettings.test.ts src/project/AgentSessionScanner.test.ts --reporter=verbose",
      "cwd": "/home/ubuntu/wt/pr-25970/apps/server",
      "exit_code": 0,
      "transcript": "S-H-N.txt",
      "counts": {
        "P": 100
      },
      "statuses": {
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > reads Claude project cwds from transcripts, newest first": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > merges the same cwd seen by both agents and flags imported projects": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > returns the imported project ID through a realpath alias": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > merges case aliases and preserves the persisted project path": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > keeps case variants distinct when the filesystem identities differ": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > uses explicit default-slot homes instead of the fixture homes": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > scans each distinct home across multiple instances once": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > honors provider instance home directory environment variables": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > does not scan provider instances disabled by the envelope or config": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > drops candidates whose directory no longer exists": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes the home directory, temporary root, and T3 data directory": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes T3-managed worktree sandboxes": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > skips linked git worktrees and reports the origin of real checkouts": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > offers bare-repository worktrees separately and imports only their own sessions": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes sandboxes under the configured worktrees dir without .t3 in the path": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes sandboxes reached through a symlink into the worktrees dir": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > finds the cwd on a later line when the first records carry none": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > reads a complete transcript record at the exact chunk boundary": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > skips malformed transcripts without failing the scan": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > imports recent Claude and Codex sessions for the selected project only": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > keeps the provider instance that owns a custom session home": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > excludes Codex subagents from discovery and the recent-thread budget": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > suppresses duplicate session copies without reporting a skipped import": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > skips excessive records without blocking an older valid transcript": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks claudeAgent snapshot cwd after replacement with same root": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks claudeAgent snapshot cwd after replacement with other root": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks claudeAgent snapshot cwd after replacement with symlink alias": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks claudeAgent snapshot cwd after replacement with other then same": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks codex snapshot cwd after replacement with same root": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks codex snapshot cwd after replacement with other root": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks codex snapshot cwd after replacement with symlink alias": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks codex snapshot cwd after replacement with other then same": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > checks file identity and provider before skipping completed history": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > imports same-metadata replacements with exact large file IDs and backfills legacy IDs once": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > imports long Claude tool history with metadata from discarded records": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > skips growth during reading without exceeding the reserved bytes": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > uses configured order when custom instances share a session home": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > handles the exact record limit and an interior blank overflow=false": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > handles the exact record limit and an interior blank overflow=true": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > keeps Claude text and titles while dropping malformed and tool records": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > uses Claude custom titles [ 'Refactor auth module' ] over the AI title": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > uses Claude custom titles [ 'Refactor auth module', '' ] over the AI title": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > drops injected Codex instructions while keeping the visible user event": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > keeps the canonical first prompt after long Codex transcripts are capped": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > restores the canonical first prompt when a later user message remains": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > keeps mixed-format response users when turn IDs repeat after an assistant": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > preserves response user text when Codex turn metadata is ambiguous": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > uses the first valid Codex session ID when a fork copies ancestor metadata": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > skips Codex transcripts without a resumable session ID": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > uses the canonical Codex event when its turn has generated response context": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > preserves context markup in response-only Codex messages": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > titles a Codex event after the request that follows injected setup blocks": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > skips sessions without a visible user message": "P",
        "src/serverSettings.test.ts > server settings > serializes concurrent model preference edits without cancelling duplicate adds": "P",
        "src/serverSettings.test.ts > server settings > persists and broadcasts model preferences to other connected clients": "P",
        "src/serverSettings.test.ts > server settings > migrates saved token delivery to paragraph buffering without resetting settings": "P",
        "src/serverSettings.test.ts > server settings > moves an idle compaction mode saved in the legacy switch to its own field": "P",
        "src/serverSettings.test.ts > server settings > tells clients it reads idle compaction modes before any settings are saved": "P",
        "src/serverSettings.test.ts > server settings > saves through a symlinked settings file without replacing the link": "P",
        "src/serverSettings.test.ts > server settings > retries a failed settings read instead of keeping the failure": "P",
        "src/serverSettings.test.ts > server settings > decodes legacy object-shaped textGenerationModelSelection.options from settings.json": "P",
        "src/serverSettings.test.ts > server settings > deep merges nested settings updates without dropping siblings": "P",
        "src/serverSettings.test.ts > server settings > keeps an external settings edit that the watcher has not reloaded yet": "P",
        "src/serverSettings.test.ts > server settings > refuses to save over a settings file it cannot parse": "P",
        "src/serverSettings.test.ts > server settings > creates provider instances atomically without overwriting a concurrent add": "P",
        "src/serverSettings.test.ts > server settings > pauses provider-instance mutations while a settings snapshot is in use": "P",
        "src/serverSettings.test.ts > server settings > buffers changes after a subscription is acquired but before it is consumed": "P",
        "src/serverSettings.test.ts > server settings > preserves saved usage settings during cleanup edits and removes custom prices": "P",
        "src/serverSettings.test.ts > server settings > preserves model when switching providers via textGenerationModelSelection": "P",
        "src/serverSettings.test.ts > server settings > keeps a custom instance's selection when the driver's default instance is disabled": "P",
        "src/serverSettings.test.ts > server settings > falls back to enabled instance codex after disabling the selection": "P",
        "src/serverSettings.test.ts > server settings > skips explicitly disabled default instances when choosing a fallback": "P",
        "src/serverSettings.test.ts > server settings > falls back to the thread default when it is a custom model on that instance": "P",
        "src/serverSettings.test.ts > server settings > preserves the source control writer selection when its provider instance is disabled": "P",
        "src/serverSettings.test.ts > server settings > moves customized legacy provider settings into default instances on load": "P",
        "src/serverSettings.test.ts > server settings > keeps an explicit default instance over the legacy blob for its driver": "P",
        "src/serverSettings.test.ts > server settings > enables previously used optional providers while migrating legacy settings": "P",
        "src/serverSettings.test.ts > server settings > keeps explicit legacy disables even when provider history shows use": "P",
        "src/serverSettings.test.ts > server settings > migrates legacy providers from an invalid file without rewriting it": "P",
        "src/serverSettings.test.ts > server settings > keeps a default-off provider's new instance disabled and sparse on disk": "P",
        "src/serverSettings.test.ts > server settings > folds a legacy in-config enabled flag into the envelope on load": "P",
        "src/serverSettings.test.ts > server settings > keeps the inline value on disk when secret migration fails": "P",
        "src/serverSettings.test.ts > server settings > preserves an inline secret on a redacted settings save": "P",
        "src/serverSettings.test.ts > server settings > preserves the effective last inline secret when names are duplicated": "P",
        "src/serverSettings.test.ts > server settings > replaces an inline secret with an explicit value": "P",
        "src/serverSettings.test.ts > server settings > clears an inline secret with an explicit empty value": "P",
        "src/serverSettings.test.ts > server settings > preserves duplicate secret operation order (sensitive last: true)": "P",
        "src/serverSettings.test.ts > server settings > preserves duplicate secret operation order (sensitive last: false)": "P",
        "src/serverSettings.test.ts > server settings > uses the same secret lifecycle for provider config, environment, host tokens, and quota keys": "P",
        "src/serverSettings.test.ts > server settings > moves saved provider credentials to the secret store when settings load": "P",
        "src/serverSettings.test.ts > server settings > keeps source control host secrets in the secret store and tells clients only that one is set": "P",
        "src/serverSettings.test.ts > server settings > keeps the retired keys for another load when a token cannot be copied": "P",
        "src/serverSettings.test.ts > server settings > moves the retired bitbucket and github keys and their secrets on load": "P",
        "src/serverSettings.test.ts > server settings > moves a hand-edited source control token into the secret store when settings load": "P",
        "src/serverSettings.test.ts > server settings > materializes provider secrets for terminal environment resolution": "P",
        "src/serverSettings.test.ts > server settings > rolls back provider secret changes when the settings file commit fails": "P",
        "src/serverSettings.test.ts > server settings > rolls back provider secret changes after response materialization fails": "P",
        "src/serverSettings.test.ts > server settings > rolls back provider secret changes after partially committed write fails": "P",
        "src/serverSettings.test.ts > server settings > folds legacy project overrides into projectSettingsOverrides once": "P",
        "src/serverSettings.test.ts > server settings > leaves an unreadable settings.json untouched instead of folding over it": "P"
      },
      "named": {
        "S1": "P",
        "S2": "P",
        "S3": "P",
        "O1": "\u2014",
        "O2": "\u2014",
        "A1": "\u2014",
        "A2": "\u2014",
        "E1": "P",
        "E2": "P"
      },
      "summary": "100 passed (100)"
    },
    "S-H-E": {
      "row": "S-H-E",
      "sha": "bfd52848f9c02add53ab87e4a7dff31aae12b745",
      "preload": true,
      "command": "env NODE_OPTIONS=--require=/tmp/lead-25970-r1/evidence-capture-1/no-symlink-preload.cjs vp test run src/serverSettings.test.ts src/project/AgentSessionScanner.test.ts --reporter=verbose",
      "cwd": "/home/ubuntu/wt/pr-25970/apps/server",
      "exit_code": 0,
      "transcript": "S-H-E.txt",
      "counts": {
        "P": 95,
        "S": 5
      },
      "statuses": {
        "src/serverSettings.test.ts > server settings > serializes concurrent model preference edits without cancelling duplicate adds": "P",
        "src/serverSettings.test.ts > server settings > persists and broadcasts model preferences to other connected clients": "P",
        "src/serverSettings.test.ts > server settings > migrates saved token delivery to paragraph buffering without resetting settings": "P",
        "src/serverSettings.test.ts > server settings > moves an idle compaction mode saved in the legacy switch to its own field": "P",
        "src/serverSettings.test.ts > server settings > tells clients it reads idle compaction modes before any settings are saved": "P",
        "src/serverSettings.test.ts > server settings > saves through a symlinked settings file without replacing the link": "S",
        "src/serverSettings.test.ts > server settings > retries a failed settings read instead of keeping the failure": "P",
        "src/serverSettings.test.ts > server settings > decodes legacy object-shaped textGenerationModelSelection.options from settings.json": "P",
        "src/serverSettings.test.ts > server settings > deep merges nested settings updates without dropping siblings": "P",
        "src/serverSettings.test.ts > server settings > keeps an external settings edit that the watcher has not reloaded yet": "P",
        "src/serverSettings.test.ts > server settings > refuses to save over a settings file it cannot parse": "P",
        "src/serverSettings.test.ts > server settings > creates provider instances atomically without overwriting a concurrent add": "P",
        "src/serverSettings.test.ts > server settings > pauses provider-instance mutations while a settings snapshot is in use": "P",
        "src/serverSettings.test.ts > server settings > buffers changes after a subscription is acquired but before it is consumed": "P",
        "src/serverSettings.test.ts > server settings > preserves saved usage settings during cleanup edits and removes custom prices": "P",
        "src/serverSettings.test.ts > server settings > preserves model when switching providers via textGenerationModelSelection": "P",
        "src/serverSettings.test.ts > server settings > keeps a custom instance's selection when the driver's default instance is disabled": "P",
        "src/serverSettings.test.ts > server settings > falls back to enabled instance codex after disabling the selection": "P",
        "src/serverSettings.test.ts > server settings > skips explicitly disabled default instances when choosing a fallback": "P",
        "src/serverSettings.test.ts > server settings > falls back to the thread default when it is a custom model on that instance": "P",
        "src/serverSettings.test.ts > server settings > preserves the source control writer selection when its provider instance is disabled": "P",
        "src/serverSettings.test.ts > server settings > moves customized legacy provider settings into default instances on load": "P",
        "src/serverSettings.test.ts > server settings > keeps an explicit default instance over the legacy blob for its driver": "P",
        "src/serverSettings.test.ts > server settings > enables previously used optional providers while migrating legacy settings": "P",
        "src/serverSettings.test.ts > server settings > keeps explicit legacy disables even when provider history shows use": "P",
        "src/serverSettings.test.ts > server settings > migrates legacy providers from an invalid file without rewriting it": "P",
        "src/serverSettings.test.ts > server settings > keeps a default-off provider's new instance disabled and sparse on disk": "P",
        "src/serverSettings.test.ts > server settings > folds a legacy in-config enabled flag into the envelope on load": "P",
        "src/serverSettings.test.ts > server settings > keeps the inline value on disk when secret migration fails": "P",
        "src/serverSettings.test.ts > server settings > preserves an inline secret on a redacted settings save": "P",
        "src/serverSettings.test.ts > server settings > preserves the effective last inline secret when names are duplicated": "P",
        "src/serverSettings.test.ts > server settings > replaces an inline secret with an explicit value": "P",
        "src/serverSettings.test.ts > server settings > clears an inline secret with an explicit empty value": "P",
        "src/serverSettings.test.ts > server settings > preserves duplicate secret operation order (sensitive last: true)": "P",
        "src/serverSettings.test.ts > server settings > preserves duplicate secret operation order (sensitive last: false)": "P",
        "src/serverSettings.test.ts > server settings > uses the same secret lifecycle for provider config, environment, host tokens, and quota keys": "P",
        "src/serverSettings.test.ts > server settings > moves saved provider credentials to the secret store when settings load": "P",
        "src/serverSettings.test.ts > server settings > keeps source control host secrets in the secret store and tells clients only that one is set": "P",
        "src/serverSettings.test.ts > server settings > keeps the retired keys for another load when a token cannot be copied": "P",
        "src/serverSettings.test.ts > server settings > moves the retired bitbucket and github keys and their secrets on load": "P",
        "src/serverSettings.test.ts > server settings > moves a hand-edited source control token into the secret store when settings load": "P",
        "src/serverSettings.test.ts > server settings > materializes provider secrets for terminal environment resolution": "P",
        "src/serverSettings.test.ts > server settings > rolls back provider secret changes when the settings file commit fails": "P",
        "src/serverSettings.test.ts > server settings > rolls back provider secret changes after response materialization fails": "P",
        "src/serverSettings.test.ts > server settings > rolls back provider secret changes after partially committed write fails": "P",
        "src/serverSettings.test.ts > server settings > folds legacy project overrides into projectSettingsOverrides once": "P",
        "src/serverSettings.test.ts > server settings > leaves an unreadable settings.json untouched instead of folding over it": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > reads Claude project cwds from transcripts, newest first": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > merges the same cwd seen by both agents and flags imported projects": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > returns the imported project ID through a realpath alias": "S",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > merges case aliases and preserves the persisted project path": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > keeps case variants distinct when the filesystem identities differ": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > uses explicit default-slot homes instead of the fixture homes": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > scans each distinct home across multiple instances once": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > honors provider instance home directory environment variables": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > does not scan provider instances disabled by the envelope or config": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > drops candidates whose directory no longer exists": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes the home directory, temporary root, and T3 data directory": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes T3-managed worktree sandboxes": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > skips linked git worktrees and reports the origin of real checkouts": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > offers bare-repository worktrees separately and imports only their own sessions": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes sandboxes under the configured worktrees dir without .t3 in the path": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes sandboxes reached through a symlink into the worktrees dir": "S",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > finds the cwd on a later line when the first records carry none": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > reads a complete transcript record at the exact chunk boundary": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > skips malformed transcripts without failing the scan": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > imports recent Claude and Codex sessions for the selected project only": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > keeps the provider instance that owns a custom session home": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > excludes Codex subagents from discovery and the recent-thread budget": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > suppresses duplicate session copies without reporting a skipped import": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > skips excessive records without blocking an older valid transcript": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks claudeAgent snapshot cwd after replacement with same root": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks claudeAgent snapshot cwd after replacement with other root": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks claudeAgent snapshot cwd after replacement with symlink alias": "S",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks claudeAgent snapshot cwd after replacement with other then same": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks codex snapshot cwd after replacement with same root": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks codex snapshot cwd after replacement with other root": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks codex snapshot cwd after replacement with symlink alias": "S",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > rechecks codex snapshot cwd after replacement with other then same": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > checks file identity and provider before skipping completed history": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > imports same-metadata replacements with exact large file IDs and backfills legacy IDs once": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > imports long Claude tool history with metadata from discarded records": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > skips growth during reading without exceeding the reserved bytes": "P",
        "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > recentThreads > uses configured order when custom instances share a session home": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > handles the exact record limit and an interior blank overflow=false": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > handles the exact record limit and an interior blank overflow=true": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > keeps Claude text and titles while dropping malformed and tool records": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > uses Claude custom titles [ 'Refactor auth module' ] over the AI title": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > uses Claude custom titles [ 'Refactor auth module', '' ] over the AI title": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > drops injected Codex instructions while keeping the visible user event": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > keeps the canonical first prompt after long Codex transcripts are capped": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > restores the canonical first prompt when a later user message remains": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > keeps mixed-format response users when turn IDs repeat after an assistant": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > preserves response user text when Codex turn metadata is ambiguous": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > uses the first valid Codex session ID when a fork copies ancestor metadata": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > skips Codex transcripts without a resumable session ID": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > uses the canonical Codex event when its turn has generated response context": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > preserves context markup in response-only Codex messages": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > titles a Codex event after the request that follows injected setup blocks": "P",
        "src/project/AgentSessionScanner.test.ts > parseAgentSessionTranscript > skips sessions without a visible user message": "P"
      },
      "named": {
        "S1": "S",
        "S2": "S",
        "S3": "S",
        "O1": "\u2014",
        "O2": "\u2014",
        "A1": "\u2014",
        "A2": "\u2014",
        "E1": "S",
        "E2": "S"
      },
      "summary": "95 passed | 5 skipped (100)"
    },
    "O-P-N": {
      "row": "O-P-N",
      "sha": "e9236274a3a6e0c731a7df4092db1e686f039068",
      "preload": false,
      "command": "env -u NODE_OPTIONS vp test run --config ../../vite.config.ts --dir . src/server/usage.test.ts --reporter=verbose",
      "cwd": "/home/ubuntu/wt/pr-25970-base/packages/provider-opencode",
      "exit_code": 0,
      "transcript": "O-P-N.txt",
      "counts": {
        "P": 5
      },
      "statuses": {
        "src/server/usage.test.ts > readOpenCodeUsage > bounds raw history allocations while counting every eligible message once": "P",
        "src/server/usage.test.ts > readOpenCodeUsage > counts migrated OpenCode messages once and sees subsequent WAL writes": "P",
        "src/server/usage.test.ts > readOpenCodeUsage > reads only legacy OpenCode messages written since the window opened": "P",
        "src/server/usage.test.ts > readOpenCodeUsage > never follows symlinks in the legacy OpenCode store": "P",
        "src/server/usage.test.ts > openCodeUsageReader > scans canonical instance roots once, including XDG and home defaults": "P"
      },
      "named": {
        "S1": "\u2014",
        "S2": "\u2014",
        "S3": "\u2014",
        "O1": "P",
        "O2": "P",
        "A1": "\u2014",
        "A2": "\u2014",
        "E1": "\u2014",
        "E2": "\u2014"
      },
      "summary": "5 passed (5)"
    },
    "O-P-E": {
      "row": "O-P-E",
      "sha": "e9236274a3a6e0c731a7df4092db1e686f039068",
      "preload": true,
      "command": "env NODE_OPTIONS=--require=/tmp/lead-25970-r1/evidence-capture-1/no-symlink-preload.cjs vp test run --config ../../vite.config.ts --dir . src/server/usage.test.ts --reporter=verbose",
      "cwd": "/home/ubuntu/wt/pr-25970-base/packages/provider-opencode",
      "exit_code": 1,
      "transcript": "O-P-E.txt",
      "counts": {
        "P": 3,
        "F": 2
      },
      "statuses": {
        "src/server/usage.test.ts > readOpenCodeUsage > bounds raw history allocations while counting every eligible message once": "P",
        "src/server/usage.test.ts > readOpenCodeUsage > counts migrated OpenCode messages once and sees subsequent WAL writes": "P",
        "src/server/usage.test.ts > readOpenCodeUsage > reads only legacy OpenCode messages written since the window opened": "P",
        "src/server/usage.test.ts > readOpenCodeUsage > never follows symlinks in the legacy OpenCode store": "F",
        "src/server/usage.test.ts > openCodeUsageReader > scans canonical instance roots once, including XDG and home defaults": "F"
      },
      "named": {
        "S1": "\u2014",
        "S2": "\u2014",
        "S3": "\u2014",
        "O1": "F",
        "O2": "F",
        "A1": "\u2014",
        "A2": "\u2014",
        "E1": "\u2014",
        "E2": "\u2014"
      },
      "summary": "2 failed | 3 passed (5)"
    },
    "O-H-N": {
      "row": "O-H-N",
      "sha": "bfd52848f9c02add53ab87e4a7dff31aae12b745",
      "preload": false,
      "command": "env -u NODE_OPTIONS vp test run --config ../../vite.config.ts --dir . src/server/usage.test.ts --reporter=verbose",
      "cwd": "/home/ubuntu/wt/pr-25970/packages/provider-opencode",
      "exit_code": 0,
      "transcript": "O-H-N.txt",
      "counts": {
        "P": 5
      },
      "statuses": {
        "src/server/usage.test.ts > readOpenCodeUsage > bounds raw history allocations while counting every eligible message once": "P",
        "src/server/usage.test.ts > readOpenCodeUsage > counts migrated OpenCode messages once and sees subsequent WAL writes": "P",
        "src/server/usage.test.ts > readOpenCodeUsage > reads only legacy OpenCode messages written since the window opened": "P",
        "src/server/usage.test.ts > readOpenCodeUsage > never follows symlinks in the legacy OpenCode store": "P",
        "src/server/usage.test.ts > openCodeUsageReader > scans canonical instance roots once, including XDG and home defaults": "P"
      },
      "named": {
        "S1": "\u2014",
        "S2": "\u2014",
        "S3": "\u2014",
        "O1": "P",
        "O2": "P",
        "A1": "\u2014",
        "A2": "\u2014",
        "E1": "\u2014",
        "E2": "\u2014"
      },
      "summary": "5 passed (5)"
    },
    "O-H-E": {
      "row": "O-H-E",
      "sha": "bfd52848f9c02add53ab87e4a7dff31aae12b745",
      "preload": true,
      "command": "env NODE_OPTIONS=--require=/tmp/lead-25970-r1/evidence-capture-1/no-symlink-preload.cjs vp test run --config ../../vite.config.ts --dir . src/server/usage.test.ts --reporter=verbose",
      "cwd": "/home/ubuntu/wt/pr-25970/packages/provider-opencode",
      "exit_code": 0,
      "transcript": "O-H-E.txt",
      "counts": {
        "P": 3,
        "S": 2
      },
      "statuses": {
        "src/server/usage.test.ts > readOpenCodeUsage > bounds raw history allocations while counting every eligible message once": "P",
        "src/server/usage.test.ts > readOpenCodeUsage > counts migrated OpenCode messages once and sees subsequent WAL writes": "P",
        "src/server/usage.test.ts > readOpenCodeUsage > reads only legacy OpenCode messages written since the window opened": "P",
        "src/server/usage.test.ts > readOpenCodeUsage > never follows symlinks in the legacy OpenCode store": "S",
        "src/server/usage.test.ts > openCodeUsageReader > scans canonical instance roots once, including XDG and home defaults": "S"
      },
      "named": {
        "S1": "\u2014",
        "S2": "\u2014",
        "S3": "\u2014",
        "O1": "S",
        "O2": "S",
        "A1": "\u2014",
        "A2": "\u2014",
        "E1": "\u2014",
        "E2": "\u2014"
      },
      "summary": "3 passed | 2 skipped (5)"
    },
    "A-P-N": {
      "row": "A-P-N",
      "sha": "e9236274a3a6e0c731a7df4092db1e686f039068",
      "preload": false,
      "command": "env -u NODE_OPTIONS vp test run --config ../../vite.config.ts --dir . src/server/clientPolicy.test.ts --reporter=verbose",
      "cwd": "/home/ubuntu/wt/pr-25970-base/packages/provider-acp",
      "exit_code": 0,
      "transcript": "A-P-N.txt",
      "counts": {
        "P": 13
      },
      "statuses": {
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > auto-allows mutations only when every location is in cwd or an additional writable root": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > denies missing or out-of-root mutation locations": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > keeps non-mutating workspace permissions and denials unchanged": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > auto-accept-edits approves file changes without locations and asks for the rest": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > auto-allows read-kind permission requests under on-request approval": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > denies mutations through workspace symlinks that escape the writable roots": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > allows existing and new files beneath canonical writable roots": "P",
        "src/server/clientPolicy.test.ts > acpMcpToolApprovalElicitationDisposition > applies runtime policy only to explicitly tagged MCP approval elicitations": "P",
        "src/server/clientPolicy.test.ts > client terminal disposition > asks in approval-required and auto-accept-edits, allows in auto and full access": "P",
        "src/server/clientPolicy.test.ts > client terminal disposition > denies terminals under explicit read-only and workspace-write sandboxes": "P",
        "src/server/clientPolicy.test.ts > makeAcpClientPolicyGrants > grants terminals only from commands, never from an approved read or edit": "P",
        "src/server/clientPolicy.test.ts > makeAcpClientPolicyGrants > keeps accept-for-session command grants across turns": "P",
        "src/server/clientPolicy.test.ts > makeAcpClientPolicyGrants > drops a turn's command grant when a later turn approves one": "P"
      },
      "named": {
        "S1": "\u2014",
        "S2": "\u2014",
        "S3": "\u2014",
        "O1": "\u2014",
        "O2": "\u2014",
        "A1": "P",
        "A2": "P",
        "E1": "\u2014",
        "E2": "\u2014"
      },
      "summary": "13 passed (13)"
    },
    "A-P-E": {
      "row": "A-P-E",
      "sha": "e9236274a3a6e0c731a7df4092db1e686f039068",
      "preload": true,
      "command": "env NODE_OPTIONS=--require=/tmp/lead-25970-r1/evidence-capture-1/no-symlink-preload.cjs vp test run --config ../../vite.config.ts --dir . src/server/clientPolicy.test.ts --reporter=verbose",
      "cwd": "/home/ubuntu/wt/pr-25970-base/packages/provider-acp",
      "exit_code": 1,
      "transcript": "A-P-E.txt",
      "counts": {
        "P": 11,
        "F": 2
      },
      "statuses": {
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > auto-allows mutations only when every location is in cwd or an additional writable root": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > denies missing or out-of-root mutation locations": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > keeps non-mutating workspace permissions and denials unchanged": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > auto-accept-edits approves file changes without locations and asks for the rest": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > auto-allows read-kind permission requests under on-request approval": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > denies mutations through workspace symlinks that escape the writable roots": "F",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > allows existing and new files beneath canonical writable roots": "F",
        "src/server/clientPolicy.test.ts > acpMcpToolApprovalElicitationDisposition > applies runtime policy only to explicitly tagged MCP approval elicitations": "P",
        "src/server/clientPolicy.test.ts > client terminal disposition > asks in approval-required and auto-accept-edits, allows in auto and full access": "P",
        "src/server/clientPolicy.test.ts > client terminal disposition > denies terminals under explicit read-only and workspace-write sandboxes": "P",
        "src/server/clientPolicy.test.ts > makeAcpClientPolicyGrants > grants terminals only from commands, never from an approved read or edit": "P",
        "src/server/clientPolicy.test.ts > makeAcpClientPolicyGrants > keeps accept-for-session command grants across turns": "P",
        "src/server/clientPolicy.test.ts > makeAcpClientPolicyGrants > drops a turn's command grant when a later turn approves one": "P"
      },
      "named": {
        "S1": "\u2014",
        "S2": "\u2014",
        "S3": "\u2014",
        "O1": "\u2014",
        "O2": "\u2014",
        "A1": "F",
        "A2": "F",
        "E1": "\u2014",
        "E2": "\u2014"
      },
      "summary": "2 failed | 11 passed (13)"
    },
    "A-H-N": {
      "row": "A-H-N",
      "sha": "bfd52848f9c02add53ab87e4a7dff31aae12b745",
      "preload": false,
      "command": "env -u NODE_OPTIONS vp test run --config ../../vite.config.ts --dir . src/server/clientPolicy.test.ts --reporter=verbose",
      "cwd": "/home/ubuntu/wt/pr-25970/packages/provider-acp",
      "exit_code": 0,
      "transcript": "A-H-N.txt",
      "counts": {
        "P": 13
      },
      "statuses": {
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > auto-allows mutations only when every location is in cwd or an additional writable root": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > denies missing or out-of-root mutation locations": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > keeps non-mutating workspace permissions and denials unchanged": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > auto-accept-edits approves file changes without locations and asks for the rest": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > auto-allows read-kind permission requests under on-request approval": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > denies mutations through workspace symlinks that escape the writable roots": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > allows existing and new files beneath canonical writable roots": "P",
        "src/server/clientPolicy.test.ts > acpMcpToolApprovalElicitationDisposition > applies runtime policy only to explicitly tagged MCP approval elicitations": "P",
        "src/server/clientPolicy.test.ts > client terminal disposition > asks in approval-required and auto-accept-edits, allows in auto and full access": "P",
        "src/server/clientPolicy.test.ts > client terminal disposition > denies terminals under explicit read-only and workspace-write sandboxes": "P",
        "src/server/clientPolicy.test.ts > makeAcpClientPolicyGrants > grants terminals only from commands, never from an approved read or edit": "P",
        "src/server/clientPolicy.test.ts > makeAcpClientPolicyGrants > keeps accept-for-session command grants across turns": "P",
        "src/server/clientPolicy.test.ts > makeAcpClientPolicyGrants > drops a turn's command grant when a later turn approves one": "P"
      },
      "named": {
        "S1": "\u2014",
        "S2": "\u2014",
        "S3": "\u2014",
        "O1": "\u2014",
        "O2": "\u2014",
        "A1": "P",
        "A2": "P",
        "E1": "\u2014",
        "E2": "\u2014"
      },
      "summary": "13 passed (13)"
    },
    "A-H-E": {
      "row": "A-H-E",
      "sha": "bfd52848f9c02add53ab87e4a7dff31aae12b745",
      "preload": true,
      "command": "env NODE_OPTIONS=--require=/tmp/lead-25970-r1/evidence-capture-1/no-symlink-preload.cjs vp test run --config ../../vite.config.ts --dir . src/server/clientPolicy.test.ts --reporter=verbose",
      "cwd": "/home/ubuntu/wt/pr-25970/packages/provider-acp",
      "exit_code": 0,
      "transcript": "A-H-E.txt",
      "counts": {
        "P": 11,
        "S": 2
      },
      "statuses": {
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > auto-allows mutations only when every location is in cwd or an additional writable root": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > denies missing or out-of-root mutation locations": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > keeps non-mutating workspace permissions and denials unchanged": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > auto-accept-edits approves file changes without locations and asks for the rest": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > auto-allows read-kind permission requests under on-request approval": "P",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > denies mutations through workspace symlinks that escape the writable roots": "S",
        "src/server/clientPolicy.test.ts > acpPermissionDisposition > allows existing and new files beneath canonical writable roots": "S",
        "src/server/clientPolicy.test.ts > acpMcpToolApprovalElicitationDisposition > applies runtime policy only to explicitly tagged MCP approval elicitations": "P",
        "src/server/clientPolicy.test.ts > client terminal disposition > asks in approval-required and auto-accept-edits, allows in auto and full access": "P",
        "src/server/clientPolicy.test.ts > client terminal disposition > denies terminals under explicit read-only and workspace-write sandboxes": "P",
        "src/server/clientPolicy.test.ts > makeAcpClientPolicyGrants > grants terminals only from commands, never from an approved read or edit": "P",
        "src/server/clientPolicy.test.ts > makeAcpClientPolicyGrants > keeps accept-for-session command grants across turns": "P",
        "src/server/clientPolicy.test.ts > makeAcpClientPolicyGrants > drops a turn's command grant when a later turn approves one": "P"
      },
      "named": {
        "S1": "\u2014",
        "S2": "\u2014",
        "S3": "\u2014",
        "O1": "\u2014",
        "O2": "\u2014",
        "A1": "S",
        "A2": "S",
        "E1": "\u2014",
        "E2": "\u2014"
      },
      "summary": "11 passed | 2 skipped (13)"
    }
  },
  "changes": {
    "S-N": {},
    "S-E": {
      "src/serverSettings.test.ts > server settings > saves through a symlinked settings file without replacing the link": [
        "F",
        "S"
      ],
      "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > returns the imported project ID through a realpath alias": [
        "F",
        "S"
      ],
      "src/project/AgentSessionScanner.test.ts > AgentSessionScanner > scan > excludes sandboxes reached through a symlink into the worktrees dir": [
        "F",
        "S"
      ]
    },
    "O-N": {},
    "O-E": {
      "src/server/usage.test.ts > readOpenCodeUsage > never follows symlinks in the legacy OpenCode store": [
        "F",
        "S"
      ],
      "src/server/usage.test.ts > openCodeUsageReader > scans canonical instance roots once, including XDG and home defaults": [
        "F",
        "S"
      ]
    },
    "A-N": {},
    "A-E": {
      "src/server/clientPolicy.test.ts > acpPermissionDisposition > denies mutations through workspace symlinks that escape the writable roots": [
        "F",
        "S"
      ],
      "src/server/clientPolicy.test.ts > acpPermissionDisposition > allows existing and new files beneath canonical writable roots": [
        "F",
        "S"
      ]
    }
  }
}
