# Test Coverage Value Audit Ledger — Items 1–5 Final Audit and Acceptance Record

> Single authoritative audit artifact through Item 5. This file records the Item 1 census, merged Item 2 retention/consolidation decisions, merged Item 3 candidate-gap confirmation, the Item 4 exact retention freeze with dependency-safe implementation batches, and the reconciled Item 5 landed deltas, review corrections, recount, and acceptance evidence.

## Scope and status

- Source plan: `docs/plans/test-coverage-value-audit-2026-05-29.md`.
- Counted targets: root `RepoPromptTests` from `Tests/RepoPromptTests/**` and nested `RepoPromptClaudeCompatibleProviderTests` from `Packages/RepoPromptAgentProviders/Tests/**`.
- This census owns the count exactly once for each current declared XCTest method whose Swift declaration name begins with `test`.
- **Baseline drift detected:** the plan records `478 root + 5 provider = 483`, but the current clean checkout recount is **`497 root + 5 provider = 502`**. The root target has **19 additional current declarations** relative to the plan baseline. The census below accounts for the current tree rather than silently forcing the stale subtotal.
- No Swift source, Swift test, or script files were edited while creating or merging Items 1–4. Item 5 then landed only the frozen implementation batches, the reviewed minimal production disposition, the uncounted CLI work, and acceptance corrections recorded below.

## Orchestration progress

- [x] Item 1 — Foundational census created and verified against the current checkout. Active audit baseline is **497 root + 5 provider = 502**, with the plan's earlier 483 total retained as historical drift evidence.
- [x] Item 2 — Retention/consolidation review merged and exactly reconciled. Proposed Item 2 allocation is **429 root + 5 provider = 434**, derived from the complete **497 root + 5 provider = 502** current census.
- [x] Item 3 — Candidate-gap confirmation merged and exactly reconciled. Every candidate row has an allowed disposition; approved counted additions are **+16 root + 0 provider**, moving the planning projection from **429 root + 5 provider = 434** to **445 root + 5 provider = 450**. CLI process-harness and live-smoke work is recorded separately as uncounted.
- [x] Item 4 — Retention freeze and dependency-safe batches complete. Frozen allocation is **445 root + 5 provider = 450** counted XCTest methods. The exact VCS-C03 delta is **-1** and the AgentMode provider-cancel protection remains one matrix method.
- [x] Item 5 — Frozen edits landed and reconciled. Final recount is **445 root + 5 provider = 450**; final validation classes are **437 behavioral + 12 structural + 1 diagnostic = 450**. Non-disruptive live smoke was attempted but blocked because the CE app was unavailable; live smoke remains pending a user-approved disruptive launch and is not recorded as passed.

## Baseline and count policy

| Policy | Treatment |
| --- | --- |
| Included unit | Every declaration matching `^\s*func\s+(test[A-Za-z0-9_]*)\s*\(` in first-party Swift test files under the two counted test-target paths. |
| Conditional/opt-in declarations | Counted if declared, including `#if DEBUG` and opt-in benchmark XCTest methods. |
| Hidden breadth | Recorded independently in `scenario_or_fixture_note`; loops, generated loads, tables, resources, and goldens do not multiply declaration count. |
| Excluded | Helper functions not beginning with `test`, live CE MCP smoke, `Vendor/**` tests, scripts, and non-first-party package tests. |
| Exactly-once key | `target + file + declaration line + method name`; the generated manifest asserts uniqueness. |
| Primary counting owner | `primary_contract_id` is deliberately lightweight and suite-scoped for Item 1. Later audit items may refine contract grouping without changing row ownership. |

### Recount evidence

The declaration recount was produced from the current checkout with:

```bash
python3 - <<'PY'
from pathlib import Path
import re
pat = re.compile(r'^\s*func\s+(test[A-Za-z0-9_]*)\s*\(', re.M)
for label, root in [('root', Path('Tests/RepoPromptTests')), ('provider', Path('Packages/RepoPromptAgentProviders/Tests/RepoPromptClaudeCompatibleProviderTests'))]:
    rows = [(p, m.group(1)) for p in sorted(root.rglob('*.swift')) for m in pat.finditer(p.read_text(errors='replace'))]
    print(f'{label}: {len(rows)}')
PY
```

Current output:

```text
root: 497
provider: 5
total: 502
```

- Canonical current manifest SHA-256 (`target<TAB>file<TAB>line<TAB>method`): `70b3f8f4c1e50c2de05fdda4e7bd65fe0787ccf34a8fa5fedf6c1db3328e6c4e`.
- Repository status observed immediately after recount: clean (`main` → `origin/main`, no changes).

### Historical baseline versus current recount

| Target | Plan baseline | Current declared methods | Drift |
| --- | ---: | ---: | ---: |
| `RepoPromptTests` | 478 | 497 | +19 |
| `RepoPromptClaudeCompatibleProviderTests` | 5 | 5 | +0 |
| **Counted total** | **483** | **502** | **+19** |

### Current root-domain subtotals

| Root domain | Declared methods |
| --- | ---: |
| `AI` | 30 |
| `AgentMode` | 103 |
| `App` | 2 |
| `Chat` | 6 |
| `CodeMap` | 10 |
| `Diagnostics` | 1 |
| `Diffing` | 11 |
| `MCP` | 119 |
| `Prompt` | 22 |
| `Root` | 33 |
| `Security` | 12 |
| `Services` | 54 |
| `WorkspaceContext` | 94 |
| **Root subtotal** | **497** |

### Provisional validation-class totals

> These Item 1 classes are provisional routing labels, not Item 2 retention decisions. Structural and diagnostic rows are intentionally marked for detailed exception review.

| Target | Behavioral coverage | Structural/deletion guard | Diagnostic benchmark | Total |
| --- | ---: | ---: | ---: | ---: |
| `RepoPromptTests` | 478 | 18 | 1 | 497 |
| `RepoPromptClaudeCompatibleProviderTests` | 5 | 0 | 0 | 5 |
| **Counted total** | 483 | 18 | 1 | 502 |

## Item 2 authoritative retention/consolidation merge

### Scope boundary and merge rule

This section merges **Item 2 decisions only** from the four non-overlapping ignored shard reports. The linked shard sections are incorporated by reference as the detailed decision records: they name affected methods, surviving protection, preserved scenarios, rationale, count delta, and later validation lanes. This merge does **not** perform Item 3 candidate-gap confirmation, approve additions, freeze Item 4 batches, or edit Swift files.

| Shard report | Reviewed counting ownership | Current | Proposed retained after Item 2 | Delta |
| --- | --- | ---: | ---: | ---: |
| [`test-coverage-value-audit-item2-mcp-report.md`](test-coverage-value-audit-item2-mcp-report.md) | Root `MCP/**` | 119 | 101 | -18 |
| [`test-coverage-value-audit-item2-agent-provider-report.md`](test-coverage-value-audit-item2-agent-provider-report.md) | Root `AgentMode/**` + root `AI/**` | 133 | 118 | -15 |
| [`test-coverage-value-audit-item2-agent-provider-report.md`](test-coverage-value-audit-item2-agent-provider-report.md) | Nested provider-package target | 5 | 5 | 0 |
| [`test-coverage-value-audit-item2-workspace-services-report.md`](test-coverage-value-audit-item2-workspace-services-report.md) | Root `WorkspaceContext/**` + `Services/**` | 148 | 132 | -16 |
| [`test-coverage-value-audit-item2-remaining-domains-report.md`](test-coverage-value-audit-item2-remaining-domains-report.md) | Remaining root domains and root-level suites | 97 | 78 | -19 |
| **Exact counted reconciliation** | **Root plus provider** | **497 + 5 = 502** | **429 + 5 = 434** | **-68** |

The root ownership rows are non-overlapping and exhaustive: `119 + 133 + 148 + 97 = 497` current root declarations and `101 + 118 + 132 + 78 = 429` proposed retained root declarations. The provider package remains separately owned and unchanged at `5 → 5`. The Item 2 proposal therefore moves the counted suite from `502 → 434` (`-68`) before any Item 3 addition decision.

### Root domain reconciliation

| Root domain | Current census | Proposed retained after Item 2 | Delta | Owning shard |
| --- | ---: | ---: | ---: | --- |
| `AI` | 30 | 21 | -9 | Agent / provider |
| `AgentMode` | 103 | 97 | -6 | Agent / provider |
| `App` | 2 | 2 | 0 | Remaining domains |
| `Chat` | 6 | 1 | -5 | Remaining domains |
| `CodeMap` | 10 | 6 | -4 | Remaining domains |
| `Diagnostics` | 1 | 1 | 0 | Remaining domains |
| `Diffing` | 11 | 8 | -3 | Remaining domains |
| `MCP` | 119 | 101 | -18 | MCP |
| `Prompt` | 22 | 17 | -5 | Remaining domains |
| `Root` | 33 | 32 | -1 | Remaining domains |
| `Security` | 12 | 11 | -1 | Remaining domains |
| `Services` | 54 | 43 | -11 | WorkspaceContext / Services (`FileSystem 12 → 8`; `VCS 42 → 35`) |
| `WorkspaceContext` | 94 | 89 | -5 | WorkspaceContext / Services |
| **Root subtotal** | **497** | **429** | **-68** | **Exact** |
| Nested provider package | 5 | 5 | 0 | Agent / provider |
| **Counted total** | **502** | **434** | **-68** | **Exact** |

### Validation-class totals and threshold-trigger rationale status

| Validation class | Current counted methods | Proposed retained after Item 2 | Delta | Threshold-trigger status |
| --- | ---: | ---: | ---: | --- |
| Behavioral coverage | 483 | 421 | -62 | Primary retained allocation; no numeric review trigger. |
| Structural/deletion guard | 18 | 12 | -6 | **Triggered** because proposed allocation is above 10. Rationale is satisfied for Item 2 by the explicit 12-method exception inventory below; recheck at the later retention freeze if Item 3 or implementation changes the allocation. |
| Diagnostic benchmark | 1 | 1 | 0 | Not triggered: proposed allocation is not above 2. |
| **Counted total** | **502** | **434** | **-68** | Exact. |

| Shard class allocation | Current behavioral | Current structural | Current diagnostic | Proposed behavioral | Proposed structural | Proposed diagnostic | Proposed total |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| MCP | 114 | 5 | 0 | 97 | 4 | 0 | 101 |
| AgentMode / AI / provider | 132 | 5 | 1 | 118 | 4 | 1 | 123 |
| WorkspaceContext / Services | 145 | 3 | 0 | 129 | 3 | 0 | 132 |
| Remaining domains | 92 | 5 | 0 | 77 | 1 | 0 | 78 |
| **Exact counted reconciliation** | **483** | **18** | **1** | **421** | **12** | **1** | **434** |

Root contributes `416 behavioral + 12 structural + 1 diagnostic = 429`; the nested provider package contributes `5 behavioral`. The structural review trigger is not a pre-approved cap. The retained `12` methods are accepted for Item 2 because each protects an architecture/removal, copied exposure, DEBUG observability, concurrency-safety, or ownership boundary that is not cheaply replaced by existing behavioral assertions.

### Proposed consolidation/deletion decision index

Every Item 2 reduction below is covered by a linked detailed shard record. Scenario-preserving consolidations must carry their listed rows into the surviving declaration. Transfers or decompositions marked atomic must land with their surviving protection; no deletion-first implementation is authorized.

#### MCP shard — `119 → 101` (`-18`)

Detailed records: [`test-coverage-value-audit-item2-mcp-report.md` § “Detailed consolidation and deletion decisions”](test-coverage-value-audit-item2-mcp-report.md#detailed-consolidation-and-deletion-decisions).

| Decision | Purpose | Delta |
| --- | --- | ---: |
| `MCP-CONS-01` | Combine connection-manager source safety guards. | -1 structural |
| `MCP-CONS-02` | Merge bound/unbound effective workspace-path checks. | -1 |
| `MCP-CONS-03` | Merge direct child-binding inheritance opt-in/opt-out checks. | -1 |
| `MCP-CONS-04` | Consolidate MCP parent-source inheritance combinations. | -3 |
| `MCP-CONS-05` | Merge explicit-worktree precedence cases. | -1 |
| `MCP-CONS-06` | Merge resolver explicit-ID and legacy-alias success paths. | -1 |
| `MCP-CONS-07` | Merge runless binding-release preserve/drop branches. | -1 |
| `MCP-CONS-08` | Merge nested-source rejection and top-level allowance checks. | -1 |
| `MCP-CONS-09` | Combine `manage_worktree` capability and routing-policy footprint. | -1 |
| `MCP-CONS-10` | Remove duplicate catalog-order declaration and transfer unique alias-removal checks. | -1 |
| `MCP-CONS-11` | Remove exact merge-schema subset duplication. | -1 |
| `MCP-CONS-12` | Remove redundant merge DTO nesting fixture; retain stronger service/formatter protection. | -1 |
| `MCP-CONS-13` | Transfer previous-binding formatter coverage to formatter ownership. | -1 |
| `MCP-CONS-14` | Consolidate discovery-tool worktree-scope formatters. | -2 |
| `MCP-CONS-15` | Move list formatting coverage to formatter ownership without reducing declarations. | 0 |
| `MCP-CONS-16` | Consolidate available/unavailable `agent_run` formatter coverage. | -1 |
| **MCP subtotal** |  | **-18** |

#### AgentMode / AI / provider shard — `138 → 123` (`-15`)

Detailed records: [`test-coverage-value-audit-item2-agent-provider-report.md` § “Proposed scenario-preserving consolidations”](test-coverage-value-audit-item2-agent-provider-report.md#proposed-scenario-preserving-consolidations). The linked report also records two rejected quota-chasing collapses (`R1`, `R2`) that remain retained.

| Decision | Purpose | Delta |
| --- | --- | ---: |
| `C1` | Recommendation-provider normalization matrix. | -2 |
| `C2` | Sidebar root-row default worktree projection. | -1 |
| `C3` | Worktree merge-card nil-DTO fallback matrix. | -1 |
| `C4` | Transcript Oracle tool-name allow-list boundary. | -1 |
| `C5` | Transcript activation-remount suppression matrix. | -1 |
| `C6` | Oracle-planning dropdown invalid-state matrix. | -1 |
| `C7` | Consolidate `PromptViewModel` strict-planning source guard. | -1 structural |
| `C8` | AI Queries Codex ephemeral-thread policy matrix. | -2 |
| `C9` | Codex CLI provider-forwarding matrix. | -1 |
| `C10` | Codex active-turn mismatch parser matrix. | -1 |
| `C11` | Codex interrupt-turn resolution matrix. | -1 |
| `C12` | Codex fresh `thread/start` JSON-RPC shape matrix. | -2 |
| `C13` | Optional assertion-level cleanup inside prompt-export persistence coverage. | 0 |
| **AgentMode / AI / provider subtotal** | Provider package remains `5 → 5`. | **-15** |

#### WorkspaceContext / Services shard — `148 → 132` (`-16`)

Detailed records: [`test-coverage-value-audit-item2-workspace-services-report.md` § “Detailed consolidation decisions”](test-coverage-value-audit-item2-workspace-services-report.md#detailed-consolidation-decisions).

| Decision | Purpose | Delta |
| --- | --- | ---: |
| `WS-STORE-C01` | Consolidate batch root-unload scenarios. | -1 |
| `WS-STORE-C02` | Consolidate successful `mode: "slices"` set scenarios. | -1 |
| `WS-STORE-C03` | Consolidate `mode: "slices"` rejection scenarios. | -1 |
| `WS-STORE-C04` | Consolidate loaded root-shell integration scenarios. | -1 |
| `WS-SEL-C01` | Consolidate save-snapshot stored-selection fallback variants. | -1 |
| `FS-C01` | Consolidate routine event-path mapping cases. | -4 |
| `VCS-C01` | Consolidate supported repository-selector syntax. | -5 |
| `VCS-C02` | Consolidate malformed porcelain-input rejection cases. | -1 |
| `VCS-C03` | Atomically decompose bundled preview/dirty/stale real-worktree declaration into existing focused owners. | -1 proposed; reconcile later actual delta if a new declaration is required |
| **WorkspaceContext / Services subtotal** |  | **-16 proposed** |

#### Remaining domains shard — `97 → 78` (`-19`)

Detailed records: [`test-coverage-value-audit-item2-remaining-domains-report.md` § “Detailed deletion and consolidation decisions”](test-coverage-value-audit-item2-remaining-domains-report.md#detailed-deletion-and-consolidation-decisions).

| Decision | Purpose | Delta |
| --- | --- | ---: |
| `REM-CODEMAP-01` | Consolidate three golden-loop declarations while preserving all 13 fixture/golden rows. | -2 |
| `REM-CODEMAP-02` | Consolidate compact auto-mode tree smoke into full-tree snapshot owner. | -1 |
| `REM-CODEMAP-03` | Fold initial mismatched-CodeMap rejection into accepted-state lifecycle owner. | -1 |
| `REM-CODEMAP-04` | Preserve per-group fixture caps inside consolidated golden owner. | 0 |
| `REM-CHAT-01` | Consolidate chat-name extraction scenarios into one labeled table. | -5 |
| `REM-DIFF-01` | Consolidate insertion/deletion cumulative-offset variants. | -1 |
| `REM-DIFF-02` | Consolidate text-preservation and no-op rows. | -2 |
| `REM-PROMPT-01` | Consolidate resolved file-tree truth table. | -2 |
| `REM-PROMPT-02` | Delete obsolete `PromptViewModel` source-spelling migration guard. | -1 |
| `REM-PROMPT-03` | Consolidate and retain bundled prompt-mirror structural exception. | -2 structural |
| `REM-SECURITY-01` | Delete removed-Gemini reset inertness assertion as not a current CE contract. | -1 |
| `REM-ROOT-01` | Delete obsolete legacy-workspace-aggregator source-spelling guard. | -1 |
| **Remaining-domains subtotal** |  | **-19** |

### Retained structural/deletion-guard exception inventory — 12 methods

The repository-wide structural threshold review is triggered (`12 > 10`) and satisfied for Item 2 by these explicit exceptions. Detailed affected-method names, preserved assertions, and rationales are incorporated from the linked sections.

| Owning shard | Exception records | Proposed methods | Why behavioral coverage alone is insufficient |
| --- | --- | ---: | --- |
| MCP | [`MCP-STRUCT-01`, `MCP-STRUCT-02`, `MCP-STRUCT-03`, `MCP-STRUCT-04`](test-coverage-value-audit-item2-mcp-report.md#retained-structuralhelp-exposure-exceptions) | 4 | Preserve removed unsafe/incomplete connection-manager paths, copied stale CE command exposure scans, `manage_worktree` parser/group/help exposure, and legacy workflow namespace removal. The CLI exposure guard remains structural and does not claim executable parser/forwarding coverage. |
| AgentMode / AI | [`S1`, `S2`, `S3`, `S4`](test-coverage-value-audit-item2-agent-provider-report.md#retained-structuraldeletion-guard-exceptions) | 4 | Preserve the single allowed provider-package importer, strict Oracle reporting wiring, the combined `PromptViewModel` strict-planning guard, and removed legacy MCP planning-model migration paths. These are narrow architecture/wiring/removal boundaries. |
| WorkspaceContext / Services | [`WS-STRUCT-01`, `WS-STRUCT-02`, `WS-STORE-STRUCT-01`](test-coverage-value-audit-item2-workspace-services-report.md#retained-structural-exceptions) | 3 | Preserve runtime-search cutover deletion, DEBUG store-backed loading diagnostics layering, and deferred initial scan-flush ownership without weaker timing-dependent black-box proxies. |
| Remaining domains | [`REM-PROMPT-03`](test-coverage-value-audit-item2-remaining-domains-report.md#rem-prompt-03--consolidate-and-retain-the-bundled-prompt-mirror-structural-exception) | 1 | Preserve absence of the removed bundled prompt mirror, presence of canonical compiled prompt sources, and absence of stale mirror-path references. |
| **Structural subtotal** |  | **12** | **Threshold rationale recorded. Re-evaluate at Item 4 retention freeze.** |

Embedded CodeMap bounded-fixture caps from `REM-CODEMAP-04` remain assertions inside the retained behavioral golden owner; they are not additional structural XCTest declarations.

### Retained diagnostic benchmark exception inventory — 1 method

| Owning shard | Exception record | Proposed methods | Rationale |
| --- | --- | ---: | --- |
| AgentMode transcript | [`D1 — Opt-in transcript crawl-refresh benchmark`](test-coverage-value-audit-item2-agent-provider-report.md#d1--opt-in-transcript-crawl-refresh-benchmark) | 1 | Retain the DEBUG/opt-in report harness separately from behavioral transcript protection. It measures long active-crawl final-turn refresh and is explicitly tracked rather than misclassified. |
| **Diagnostic subtotal** |  | **1** | **No threshold rationale required (`1 ≤ 2`).** |

`Diagnostics/BenchmarkDiffApplierTests.testModifyChangeAppliesGeneratedDiffChunks`, DEBUG replay-evidence coverage, ignore metrics coverage, and store scan-targeting tests remain behavioral because they assert deterministic pass/fail outcomes rather than only emit measurements.

### Cross-layer ownership decisions retained

The following linked sections are part of the authoritative Item 2 record. Similar identifiers or fixtures do not authorize collapsing distinct package/root, unit/integration, serialization/presentation, catalog/consumer, persistence/reconciliation/UI, or primitive/orchestration layers.

| Shard | Incorporated ownership decision records | Required boundary |
| --- | --- | --- |
| MCP | [`Retained cross-layer overlap decisions`](test-coverage-value-audit-item2-mcp-report.md#retained-cross-layer-overlap-decisions) | Retain the report's catalog golden versus readable-field assertions, registration ownership, DTO coding keys, graph metadata, merge formatter versus smoke, single scope-block composition, direct inheritance versus MCP integration, snapshot serialization versus formatter rendering, pure policy versus integration, DEBUG routing validation, wait-any async/payload split, MCP control notifications, and real temporary-Git smoke layers. |
| AgentMode / AI / provider | [`O1`, `O2`, `O3`, `O4`, `O5`, `O6`, `O7`, `O8`, `O9`, `O10`](test-coverage-value-audit-item2-agent-provider-report.md#cross-layer-overlap-decisions) | Retain provider-package pure runtime/catalog/codec behavior separately from root bridge, catalog conversion, and permission policy; preserve Codex policy verticals, transcript persistence/projection/benchmark traversal, ask-user model versus Context Builder integration, worktree persistence/reconciliation/review/UI, semantic model-order projections, and UI-race versus detached-cleanup layers. |
| WorkspaceContext / Services | [`Retained cross-layer overlap decisions`](test-coverage-value-audit-item2-workspace-services-report.md#retained-cross-layer-overlap-decisions) | Retain compiler versus service ignore precedence, low-level versus VCS clean merge, conflict primitive versus persisted reconciliation, both advisory-lock layers, and all five root-binding projection declarations. |
| Remaining domains | [`Ownership-layer and cross-shard boundaries`](test-coverage-value-audit-item2-remaining-domains-report.md#ownership-layer-and-cross-shard-boundaries) | Retain App router parsing, Diagnostics integration, the mixed-owner DiffParser declaration, Prompt/store handoff, workflow catalog rendering, Security fail-closed policy, root persistence/UI policy, and CodeMap syntax/tree contracts without collapsing consumer layers. |

### CodeMap fixture/golden breadth retained

The CodeMap consolidation is declaration-count reduction, not fixture reduction. `REM-CODEMAP-01` preserves all **13** explicit fixture/golden comparisons: `5` CE/core, `5` expanded-language, and `3` edge fixtures. `REM-CODEMAP-02` preserves explicit full rendering plus compact auto-mode dispatch against the same tree golden. `REM-CODEMAP-04` preserves group caps of `≤5`, `≤5`, and `≤3` in the consolidated owner. Added unlisted or orphan fixtures/goldens remain an Item 2 observation only; this merge does not perform Item 3 confirmation or approve a new inventory guard.

### Item 2 completion and deferred issues

- **Item 2 is complete:** shard ownership is exhaustive and non-overlapping; current and proposed arithmetic reconcile exactly to `497 root + 5 provider = 502` and `429 root + 5 provider = 434`.
- **No Item 2 issue blocks Item 3 gap analysis.** Candidate-gap confirmation remains intentionally unperformed. In particular, executable CLI parser/forwarding accessibility, `PartitionStore` / `SliceRebaseEngine`, diff generation, secure storage, window-close policy, and agent-run lifecycle questions remain deferred to Item 3 without addition approval.
- `VCS-C03` has an implementation-time conditional delta: its proposed `-1` assumes all scenarios fold into existing focused declarations. If implementation requires a new XCTest declaration, Item 4 batch planning must reconcile the actual delta instead of forcing `-1`. This does not block Item 3 gap analysis.
- CodeMap fixture↔golden exact-inventory coverage is an observation, not an approved addition and not a blocker.
- No Swift source or test files were edited and no test command was run during the Item 2 documentation merge.

## Item 3 authoritative candidate-gap confirmation merge

### Scope boundary and merge rule

This section merges **Item 3 candidate-gap confirmation only** from the four non-overlapping ignored reports. The linked reports are incorporated by reference as the detailed evidence records. This merge resolves each apparent-gap row to an allowed disposition, records approved scenarios, target ownership, count delta, validation lane, and any minimal deterministic seam. It does **not** perform Item 4 retention freeze or batch planning, edit Swift or scripts, run validation lanes, or touch unrelated tracked administration work.

| Item 3 report | Reviewed candidate ownership | Counted root delta | Provider delta | Uncounted harness / live work |
| --- | --- | ---: | ---: | --- |
| [`test-coverage-value-audit-item3-diff-report.md`](test-coverage-value-audit-item3-diff-report.md) | Root Diffing and MCP ApplyEdits behavior | +2 | 0 | None |
| [`test-coverage-value-audit-item3-security-app-report.md`](test-coverage-value-audit-item3-security-app-report.md) | Root Security and App close policy | +6 | 0 | None |
| [`test-coverage-value-audit-item3-slices-report.md`](test-coverage-value-audit-item3-slices-report.md) | Root WorkspaceContext slice persistence / rebase | +3 | 0 | None |
| [`test-coverage-value-audit-item3-agent-cli-report.md`](test-coverage-value-audit-item3-agent-cli-report.md) | Root AgentMode lifecycle and CE MCP CLI executable boundary | +5 | 0 | Deterministic CLI process harness plus targeted live smoke |
| **Approved Item 3 total** | **All protocol candidates resolved** | **+16** | **0** | **CLI work remains uncounted** |

### Exact post-Item-3 planning projection

| Reconciliation step | Root `RepoPromptTests` | Nested provider target | Counted total |
| --- | ---: | ---: | ---: |
| Current Item 1 census | 497 | 5 | 502 |
| Item 2 proposed retention/consolidation delta | -68 | 0 | -68 |
| Post-Item-2 proposal | 429 | 5 | 434 |
| Item 3 approved counted additions | +16 | 0 | +16 |
| **Post-Item-3 planning projection** | **445** | **5** | **450** |

The arithmetic is exact: `429 + 16 = 445` root and `445 + 5 = 450` counted total. This remains below the provisional `500`-method ceiling. The AgentMode report notes that Item 4 could deliberately split the provider-cancel matrix into one extra declaration (`+6` rather than `+5` for that report), but that optional split is **not approved or counted by this Item 3 merge**. If Item 4 chooses it, Item 4 must explicitly reconcile the revised projection (`446 root + 5 provider = 451`) instead of silently changing this exact Item 3 projection.

### DiffGenerationUtility routing, search-block ambiguity, and failure

Overall protocol-row disposition: **`uncovered-current-contract — focused addition approved`**. Existing outcome-level integration protects active success routing, but unmatched, exact ambiguity semantics, and the `replaceAll` duplicate-match bypass remain insufficiently protected. Full evidence: [`test-coverage-value-audit-item3-diff-report.md`](test-coverage-value-audit-item3-diff-report.md).

| Candidate row | Allowed disposition | Direct / indirect evidence | Approved scenarios | Target and counted delta | Validation lane | Minimal seam |
| --- | --- | --- | --- | --- | --- | --- |
| Active `.rewrite` routing without search block | `covered-indirectly — no addition` | `DiffGenerationUtility.swift:108-113`; active MCP route at `ApplyEditsEngine.swift:24-44,512-527`; `ApplyEditsCoreRecoveryTests.swift:9-27` asserts rewritten text and verbose diff. | Retain existing façade rewrite protection. | Existing root MCP coverage; `+0`. | Existing ApplyEdits focused lane when touched. | None. |
| Active `.modify` routing with search block | `covered-indirectly — no addition` | `DiffGenerationUtility.swift:98-111`; `DiffBatchGenerator.swift:61-79`; `ApplyEditsCoreRecoveryTests.swift:68-88`; distinct Diagnostics integration in `BenchmarkDiffApplierTests.swift:5-59`. | Retain current modify/search-block success layers. | Existing root MCP / Diagnostics coverage; `+0`. | Existing touched-suite lanes. | None. |
| `.create` / `.delete` branches on the façade | `not-current-contract — no addition` | Branches exist at `DiffGenerationUtility.swift:87-91`, but current façade callers do not pass those actions; shipped create/delete behavior uses other paths. | None. Do not add tests merely for unused façade branches. | No test target; `+0`. | None. | None. |
| Legacy selector-only façade input | `not-current-contract — no addition` | `DiffGenerationUtility.swift:112-138` immediately throws and retains only commented legacy logic; current callers pass nil selectors. | None. | No test target; `+0`. | None. | None. |
| Unmatched current search-block selection | `uncovered-current-contract — focused addition approved` | Active helper failure at `DiffGenerationUtility.swift:400-406`, batch projection at `DiffBatchGenerator.swift:81-88`, and single MCP translation at `ApplyEditsEngine.swift:528-535`; inspected tests do not assert either observable unmatched outcome. | Add one combined ApplyEdits method: assert exact single-edit invalid-params error and batch `.failed` outcome, unchanged text, zero applied edits, and localized exact failure message. | Root `RepoPromptTests`, extend `MCP/ApplyEdits/ApplyEditsCoreRecoveryTests.swift`; `+1`. | `make dev-test FILTER=ApplyEditsCoreRecoveryTests` | None. |
| Ambiguous current search-block selection | `uncovered-current-contract — focused addition approved` | `DiffGenerationUtility.swift:1532-1541` emits semantic line-number error. Existing `ApplyEditsCoreRecoveryTests.swift:91-113` reaches it but asserts only non-nil error text. | Strengthen existing partial-outcome method to assert the exact ambiguity message while preserving later partial success. | Root `RepoPromptTests`; `+0`. | `make dev-test FILTER=ApplyEditsCoreRecoveryTests` | None. |
| `replaceAll` duplicate-match ambiguity bypass | `uncovered-current-contract — focused addition approved` | `DiffGenerationUtility.swift:312-385` has repeated-match and cumulative-offset handling. Existing tests parse `replaceAll` but do not execute this branch. | Add one direct façade contrast method with duplicate matches, ambiguity check enabled, `replaceAll: true`, line-count-changing replacement, chunk application, and all-occurrence assertions. | Root `RepoPromptTests`, new `Diffing/DiffGenerationUtilityRoutingTests.swift`; `+1`. | `make dev-test FILTER=DiffGenerationUtilityRoutingTests` | None; internal façade and chunk applier are already reachable with `@testable import RepoPrompt`. |

### DEBUG secure-storage persistence policy and successful secure write

Overall protocol-row disposition: **`uncovered-current-contract — focused addition approved`**. Full evidence: [`test-coverage-value-audit-item3-security-app-report.md`](test-coverage-value-audit-item3-security-app-report.md).

| Candidate row | Allowed disposition | Direct / indirect evidence | Approved scenarios | Target and counted delta | Validation lane | Minimal seam |
| --- | --- | --- | --- | --- | --- | --- |
| DEBUG backend-selection policy and successful Keychain write path | `uncovered-current-contract — focused addition approved` | `KeychainServiceTests.swift:7-77` covers read/delete only. Repository test search found no `SecureKeyValueStorageFactory`, `DebugSecureStorageRuntimePolicy`, `RuntimeCodeSigningInfo`, or ephemeral-backend reference. `AgentPermissionSecureStoreTests.swift:14-190` injects a fake and therefore does not reach selection policy or `KeychainService.save`. | Add one DEBUG policy truth-table method for explicit normalized `keychain` marker plus non-empty TeamIdentifier; add two `KeychainService.save` methods for update-success/no-add and update-missing/add-success canonical CE attributes and UTF-8 payload. | Root `RepoPromptTests`: new `Security/DebugSecureStorageRuntimePolicyTests.swift` `+1`; extend `Security/KeychainServiceTests.swift` `+2`; total `+3`. | `make dev-test FILTER=DebugSecureStorageRuntimePolicyTests`; `make dev-test FILTER=KeychainServiceTests` | None. Existing pure `DebugSecureStorageRuntimePolicy.backendKind` and injected `SecItemClient` are sufficient. A test-only query helper is allowed if needed. |

### WindowCloseCoordinator.decide

Overall protocol-row disposition: **`uncovered-current-contract — focused addition approved`**. Full evidence: [`test-coverage-value-audit-item3-security-app-report.md`](test-coverage-value-audit-item3-security-app-report.md).

| Candidate row | Allowed disposition | Direct / indirect evidence | Approved scenarios | Target and counted delta | Validation lane | Minimal seam |
| --- | --- | --- | --- | --- | --- | --- |
| Pure app-close decision ordering and messaging | `uncovered-current-contract — focused addition approved` | Repository test search found no `WindowCloseCoordinator`, close-decision/snapshot types, or close-confirmation strings. Existing `AppPlatformUtilityRecoveryTests.swift:1-57` protects unrelated deep-link and appcast parsing. | Add three table-oriented methods: termination/authorization precedence; active-work precedence plus deterministic formatting; MCP continuity confirmations plus ordinary allow cases. Do not add presentation-only `.background` or `.denyDuplicatePrompt` cases to this pure seam. | Root `RepoPromptTests`, new `App/WindowCloseCoordinatorDecisionTests.swift`; `+3`. | `make dev-test FILTER=WindowCloseCoordinatorDecisionTests` | None; internal static `decide(snapshot:authorization:)` is already pure and reachable. |

### PartitionStore / SliceRebaseEngine

Overall protocol-row disposition: **`uncovered-current-contract — focused addition approved`**. Retain the existing observable deletion-reconciliation integration while adding the three missing direct outcomes. Full evidence: [`test-coverage-value-audit-item3-slices-report.md`](test-coverage-value-audit-item3-slices-report.md).

| Candidate row | Allowed disposition | Direct / indirect evidence | Approved scenarios | Target and counted delta | Validation lane | Minimal seam |
| --- | --- | --- | --- | --- | --- | --- |
| Existing partition-backed write/load/delete reconciliation | `covered-indirectly — no addition` | `WorkspaceFileContextStoreTests.testHydrateSlicesForActiveTabWithEmptyStoredSelectionDeletesPersistedSlices` creates visible state, hydrates empty active-tab selection, then proves visible and partition-backed absence through the production view-model/store path. | Retain existing integration method. | Existing root WorkspaceContext coverage; `+0`. | Existing touched-suite lane. | None. |
| Positive cold partition durability plus scope isolation | `uncovered-current-contract — focused addition approved` | Existing hydration coverage stays in one coordinator lifetime and proves absence after deletion; it does not cold-reload exact persisted ranges, anchors, metadata, or tab/workspace partition isolation. | Add one method using a temporary partition base: writer persists normalized ranges, metadata, and anchors; fresh reader round-trips exact value; another tab scope is empty, with alternate-workspace assertion optionally in the same method. | Root `RepoPromptTests`, focused WorkspaceContext slice suite; `+1`. | `make dev-test FILTER=SelectionSlicePersistenceAndRebaseTests`; if seam lands, `make dev-swift-build PRODUCT=RepoPrompt`. | Allow one narrow behavior-preserving `PartitionStore` base-directory initializer dependency defaulting to the existing Application Support location. |
| Dropped-range rebase outcomes | `uncovered-current-contract — focused addition approved` | No test references `SliceRebaseEngine`; existing slice integrations do not mutate sliced content or assert a rebase result. Engine drops ranges for empty new content and unresolved anchor mappings. | Add one table-driven pure-engine method: empty new content and unmappable selected signature both yield `rebased == []`, original dropped range, and `didChange == true`. | Root `RepoPromptTests`, focused WorkspaceContext slice suite; `+1`. | `make dev-test FILTER=SelectionSlicePersistenceAndRebaseTests` | None. |
| Equal-cache anchor-fallback regression (`oldText == newText`) | `uncovered-current-contract — focused addition approved` | `SliceRebaseEngine.swift:37-65` explicitly guards the cache edge; no observable WorkspaceContext or direct engine test protects it. | Add one pure-engine method with stale range and saved pre-edit anchor, current content supplied as both old and new, and a unique inserted line above selection; assert shifted range, no drops, and change. | Root `RepoPromptTests`, focused WorkspaceContext slice suite; `+1`. | `make dev-test FILTER=SelectionSlicePersistenceAndRebaseTests` | None. |

Recorded residual limitation, not an approved addition and not a freeze blocker: the three methods do not claim full asynchronous `WorkspaceFilesViewModel` modified-file orchestration coverage. Expand only if Item 4 explicitly broadens ownership beyond the cited store/engine seam.

### AgentModeRunService provider/run lifecycle

Overall protocol-row disposition: **`uncovered-current-contract — focused addition approved`**. Existing adjacent outcomes remain retained where sufficient; add a focused five-method lifecycle matrix without duplicating them. Full evidence: [`test-coverage-value-audit-item3-agent-cli-report.md`](test-coverage-value-audit-item3-agent-cli-report.md).

| Candidate row | Allowed disposition | Direct / indirect evidence | Approved scenarios | Target and counted delta | Validation lane | Minimal seam |
| --- | --- | --- | --- | --- | --- | --- |
| Pre-provider startup-failure transition | `uncovered-current-contract — focused addition approved` | `AgentRunWorktreeStartTests.swift:26-46` asserts the pure missing-worktree recovery text through `effectiveWorkspacePath`, but does not execute `startAgentRun` or `failBeforeProviderStartup` at `AgentModeRunService.swift:143-149,444-474`. | Add one missing-worktree method asserting failed state/outcome, one recovery error item, inactive binding, and no provider/controller factory invocation. | Root `RepoPromptTests`, focused `AgentModeRunServiceLifecycleTests.swift`; `+1`. | Lifecycle focused lane plus adjacent lanes listed below. | Existing DEBUG initializer injections. |
| Current provider dispatch matrix | `uncovered-current-contract — focused addition approved` | No direct root `AgentModeRunService` test. Current explicit Codex, Claude-native, and ACP routes are at `AgentModeRunService.swift:152-218`. | Add one matrix method using recorders/fakes for `.codexExec`, a Claude-native provider, and an ACP provider; assert only expected runner/factory family is entered. | Root `RepoPromptTests`, focused lifecycle suite; `+1`. | Lifecycle focused lane plus adjacent lanes listed below. | Existing DEBUG initializer injections. |
| Final headless fallback for a future provider | `not-current-contract — no addition` | Every current provider kind is Codex, Claude-native, or ACP-routed; the fallback at `AgentModeRunService.swift:220-227` has no current selecting provider. | None until a future provider selects it. | No test target; `+0`. | None. | None. |
| Claude queued steering drain and failed-send restoration | `uncovered-current-contract — focused addition approved` | MCP wait-output coverage asserts wake serialization shape but does not execute Claude idle gate, native send, queue drain, or failed-send restoration at `AgentModeRunService.swift:669-830`. | Add one matrix method: success waits idle before send and drains queue; failed send restores draft and clears queue. | Root `RepoPromptTests`, focused lifecycle suite; `+1`. | Lifecycle focused lane plus adjacent lanes listed below. | Approve only if required: optional DEBUG-only MCP-idle waiter override wired to `AgentModeRunService.Dependencies.awaitNoActiveMCPTools`, retaining shipped default behavior. |
| ACP queued steering ordering | `uncovered-current-contract — focused addition approved` | ACP identity tests exercise controller bootstrap/load identity, not service queue drain, idle ordering, interrupt/prompt send, or restoration at `AgentModeRunService.swift:288-442`. | Add one ACP method asserting idle wait before interrupt/prompt send and queue drain or deterministic restoration on failed send. | Root `RepoPromptTests`, focused lifecycle suite; `+1`. | Lifecycle focused lane plus adjacent lanes listed below. | Same optional DEBUG-only MCP-idle waiter override only if required. |
| Guarded common user-stop cancellation | `covered-indirectly — no addition` | `AgentModeStopSubmitTargetTests.swift:35-92` already verifies target routing, MCP run cancellation observation, cancelled state, and stale-target refusal through `cancelAgentRun`. | Retain existing common-cancel protection; do not duplicate. | Existing root AgentMode coverage; `+0`. | `make dev-test FILTER=AgentModeStopSubmitTargetTests` when implementation touches lifecycle cancel wiring. | None. |
| Execution-location-change draft restoration | `covered-indirectly — no addition` | `AgentRunWorktreeStartTests.swift:627-688` verifies confirmation, old binding before confirmation, queued ACP/shared-draft restoration, identity invalidation, and no in-flight-prompt replay. | Retain existing integration protection; do not duplicate. | Existing root MCP coverage; `+0`. | `make dev-test FILTER=AgentRunWorktreeStartTests` when implementation touches shared behavior. | None. |
| Current provider-specific cancel cleanup matrix | `uncovered-current-contract — focused addition approved` | Existing common-cancel protection does not assert Claude-native and ACP controller cleanup branches at `AgentModeRunService.swift:990-1044`. | Add one matrix method for Claude-native and ACP-controller cancel: common MCP-tool cancellation precedes shutdown, runtime/controller reference clears, fake cleanup is reached. Codex common cancel remains indirect unless implementation proves a missing Codex-specific assertion. | Root `RepoPromptTests`, focused lifecycle suite; `+1`. | Lifecycle focused lane plus adjacent lanes listed below. | Existing DEBUG initializer injections. |

AgentMode later-implementation validation lanes:

```bash
make dev-test FILTER=AgentModeRunServiceLifecycleTests
make dev-test FILTER=AgentModeStopSubmitTargetTests
make dev-test FILTER=AgentRunWorktreeStartTests
make dev-swift-build PRODUCT=RepoPrompt
```

Because the later implementation affects Agent Mode runtime behavior, record applicable CE live MCP smoke separately. Use credentialed `./conductor smoke --agent-run` only when provider credentials and model access are intentionally available.

### Executable CE MCP CLI parsing and forwarding — uncounted process and live lanes

Accessibility decision: the existing root XCTest target cannot directly import the separate `RepoPromptMCP` executable without dependency or production-design changes, but an executable/process harness can reach the boundary without either change. Full evidence: [`test-coverage-value-audit-item3-agent-cli-report.md`](test-coverage-value-audit-item3-agent-cli-report.md).

| Candidate row | Allowed disposition | Direct / indirect evidence | Approved scenarios | Harness / live target and count treatment | Validation lane | Minimal seam |
| --- | --- | --- | --- | --- | --- | --- |
| Deterministic executable parser behavior for direct `manage_worktree` syntax | `uncovered-current-contract — focused addition approved` | Structural `CECLINamingAndRoutingTests.swift:75-108` reads parser/group/help source strings but does not execute `MCPCommandParser`. The DEBUG executable already exposes real-parser `--test-parse` at `Sources/RepoPromptMCP/main.swift:1715-1725,2366-2445`. | Add a narrow process harness for key/value shorthand (`aliasCall`, converted args) and JSON payload (`call`, preserved payload) using the coordinated debug executable artifact. | Executable/process harness against coordinated debug `repoprompt-mcp`; **uncounted:** `+0` XCTest methods. | `make dev-swift-build PRODUCT=repoprompt-mcp`; run narrow executable `--test-parse` harness. | None; reuse existing DEBUG `--test-parse` hook. |
| General live executable forwarding | `covered-indirectly — retain live smoke` | Existing conductor smoke invokes CLI process for `windows`, `workspace switch`, `tree --type roots`, and direct `agent_manage`, covering launch, bootstrap connection, and representative forwarding. | Retain existing live smoke stages. | CE debug CLI live smoke; **uncounted live smoke.** | `make dev-smoke`, or `make dev-smoke-launch` when intentional launch is required. | None. |
| Live `manage_worktree` parser-to-forwarding vertical | `uncovered-but-live-only — smoke lane recorded` | Existing live smoke does not issue shorthand `manage_worktree`; app-internal worktree harnesses bypass the executable parser. | Add targeted smoke stage: `rpce-cli-debug -w 1 -e 'manage_worktree op=list'`. | CE debug CLI live smoke; **uncounted live smoke.** | `make dev-smoke`, or `make dev-smoke-launch` when intentional launch is required. | None. |

No `RepoPromptTests` target-dependency change, CLI production redesign, or new production seam is approved. CLI process-harness and live-smoke work must remain separate from the counted `445 root + 5 provider = 450` projection.

### Item 3 completion and Item 4 handoff

- **Item 3 is complete:** every candidate row is resolved to one allowed disposition and the counted arithmetic reconciles exactly to **`445 root + 5 provider = 450`** after all approved counted additions.
- **Item 4 has not been performed.** The projection above is not a retained-subtotal freeze and does not authorize implementation batches.
- The deterministic CLI `--test-parse` process harness and targeted `manage_worktree op=list` live smoke are approved but uncounted. They do not change the XCTest projection.
- No unresolved Item 3 candidate decision blocks Item 4. Before freezing batches, Item 4 must explicitly reconcile the already-recorded `VCS-C03` implementation-time conditional delta and decide whether to keep the approved one-method AgentMode provider-cancel matrix or deliberately split it into an extra declaration. The optional split is not required by Item 3 and is not included in the `450` projection.
- The slices report's asynchronous view-model orchestration limitation and the Item 2 CodeMap fixture↔golden exact-inventory observation are recorded residuals, not approved additions and not freeze blockers unless Item 4 deliberately expands scope.
- No Swift source, Swift test, or script file was edited and no validation lane was run during this Item 3 documentation merge.

## Item 4 authoritative retention freeze and dependency-safe implementation batches

### Scope boundary and freeze rule

This section performs **Item 4 only**. It freezes exact retained subtotals, validation-class totals, threshold rationale, the two explicit implementation choices handed off by Item 3, and a small dependency-safe sequence for later Item 5 implementation. It does **not** edit Swift files, scripts, `Makefile`, or unrelated administration files, and it does not run validation lanes.

All later implementation work must follow the frozen records below. Replacement protection lands first or atomically with any dependent declaration removal. If implementation discovers a materially different contract or an unavoidable extra declaration, stop and revise this authoritative freeze before continuing rather than silently drifting from the reconciled allocation.

### Exact counted allocation freeze

| Reconciliation step | Root `RepoPromptTests` | Nested provider target | Counted total |
| --- | ---: | ---: | ---: |
| Current Item 1 census | 497 | 5 | 502 |
| Frozen Item 2 consolidations/removals | -68 | 0 | -68 |
| Frozen Item 3 focused additions | +16 | 0 | +16 |
| **Item 4 frozen final subtotal** | **445** | **5** | **450** |

The arithmetic is exact: `497 - 68 + 16 = 445` root methods; provider-package pure coverage remains `5`; and `445 + 5 = 450`. The frozen counted total remains below the provisional `500`-method ceiling by `50` methods. No deletion quota or minimum was used: each `-68` reduction is the Item 2 value-reviewed scenario-preserving consolidation or obsolete-contract removal, and each `+16` addition is the Item 3 confirmed current-contract protection.

### Exact final validation-class totals

All approved Item 3 additions are behavioral coverage. Structural and diagnostic allocations are unchanged from the Item 2 exception review.

| Target | Behavioral coverage | Structural/deletion guard | Diagnostic benchmark | Final subtotal |
| --- | ---: | ---: | ---: | ---: |
| Root `RepoPromptTests` | 432 | 12 | 1 | 445 |
| Nested `RepoPromptClaudeCompatibleProviderTests` | 5 | 0 | 0 | 5 |
| **Counted total** | **437** | **12** | **1** | **450** |

| Validation class | Freeze rationale |
| --- | --- |
| Behavioral coverage — `437` | Primary allocation: executable current CE outputs, rejection boundaries, transformations, integrations, and external contracts. The `+16` approved additions close confirmed current gaps without adding dead façade, legacy, or future-provider coverage. |
| Structural/deletion guard — `12` | The plan's review trigger is exceeded (`12 > 10`), so the explicit Item 2 inventory is re-accepted at freeze: `4` MCP guards preserve prohibited unsafe/incomplete routing paths, copied CLI/help exposure, and removed namespaces; `4` AgentMode/AI guards preserve the single provider-package importer, strict Oracle reporting/planning wiring, and removed migration paths; `3` WorkspaceContext/Services guards preserve runtime-search cutover, DEBUG loading-diagnostics layering, and deferred scan-flush ownership; `1` Prompt guard preserves the removed prompt-mirror boundary and canonical source ownership. Existing behavioral tests do not cheaply prove these absence, ownership, layering, or copied-exposure constraints. |
| Diagnostic benchmark — `1` | Below the `>2` review trigger. Retain the DEBUG/opt-in transcript crawl-refresh benchmark as a measurement harness, separately classified from behavioral protection. |
| Live smoke | Uncounted. Retain CE CLI smoke and add the targeted `manage_worktree op=list` vertical below without charging the XCTest census. |

### Exact frozen root-domain allocation

| Root domain | Current census | Frozen Item 2 delta | Frozen Item 3 addition | Final methods |
| --- | ---: | ---: | ---: | ---: |
| `AI` | 30 | -9 | 0 | 21 |
| `AgentMode` | 103 | -6 | +5 | 102 |
| `App` | 2 | 0 | +3 | 5 |
| `Chat` | 6 | -5 | 0 | 1 |
| `CodeMap` | 10 | -4 | 0 | 6 |
| `Diagnostics` | 1 | 0 | 0 | 1 |
| `Diffing` | 11 | -3 | +1 | 9 |
| `MCP` | 119 | -18 | +1 | 102 |
| `Prompt` | 22 | -5 | 0 | 17 |
| `Root` | 33 | -1 | 0 | 32 |
| `Security` | 12 | -1 | +3 | 14 |
| `Services` | 54 | -11 | 0 | 43 |
| `WorkspaceContext` | 94 | -5 | +3 | 92 |
| **Root subtotal** | **497** | **-68** | **+16** | **445** |

The nested provider package remains `5 → 5`: no provider-package test or source edit is approved. Its pure protocol/runtime/catalog ownership stays separate from root bridge, adapter, launch-environment, permission, and lifecycle coverage.

### Explicit freeze choice 1 — `VCS-C03` is exactly `-1`

`VCS-C03` is no longer conditional. Review of the focused VCS suites confirms that all bundled scenarios fit existing focused declarations without a new XCTest method.

**Remove exactly one declaration atomically with replacement assertions:**

- `Tests/RepoPromptTests/Services/VCS/GitWorktreeMergeEndToEndTests.swift`
  - remove `testPreviewDirtySourceCleanApplyAndStalePreviewWithRealWorktrees()`
  - retain `testConflictApplyReconcileAbortAndManualContinueWithRealWorktrees()` unchanged, including its reloaded `.applying` conflict reconciliation, abort, and manual-continue vertical

**Extend existing focused owners atomically:**

| Preserved bundled scenario | Exact surviving owner and required edit |
| --- | --- |
| Clean artifact-publishing preview → apply compatibility | Extend `GitWorktreeMergeGitServiceTests.testVCSPreviewApplyCompletesCleanMerge()`: call `preview(publishArtifacts: true)`, `XCTUnwrap(preview.artifacts)` before apply, and retain completed-status, merge-commit, merged-content, and two-parent assertions. |
| Artifact publication details | Retain `GitWorktreeMergePreviewPublisherTests.testPreviewPublishesDiffSnapshotAndMergeSidecar()` unchanged. It already owns manifest, map, sidecar, patch, JSON heads, operation ID, summary, and visualization detail. |
| Dirty source blocker | Append an independent second `GitMergeFixture` scenario to `GitWorktreeMergeGitServiceTests.testVCSPreviewApplyCompletesCleanMerge()`: create an uncommitted source file, preview without artifacts, and assert blocked inspection with `.sourceDirty`. Use a separate fixture so dirty state cannot weaken clean-apply assertions. |
| Stale target no-mutation evidence | Extend the target-stale subsection of `GitWorktreeMergeGitServiceTests.testVCSApplyRejectsStaleSourceAndTargetHeads()`: after the intentional target commit capture `HEAD`, `HEAD^{tree}`, and `status --porcelain`; after apply retain `.stale`, stale-reason, and absent-source assertions and prove all three captured values are unchanged. |

| VCS-C03 suite | Before | After | Delta |
| --- | ---: | ---: | ---: |
| `GitWorktreeMergeEndToEndTests` | 2 | 1 | -1 |
| `GitWorktreeMergeGitServiceTests` | 10 | 10 | 0 |
| `GitWorktreeMergePreviewPublisherTests` | 1 | 1 | 0 |
| **VCS-C03 exact total** | **13** | **12** | **-1** |

**Atomicity rule:** do not land deletion-first. Freeze one atomic sub-batch containing the two Git-service extensions and bundled-method removal.

### Explicit freeze choice 2 — retain one AgentMode provider-cancel matrix method

Keep the approved Claude-native plus ACP controller cancel cleanup protection as **one** table/matrix-oriented XCTest declaration in the new `AgentModeRunServiceLifecycleTests.swift`. Do not split it into two declarations.

The two named rows protect one service-level `AgentModeRunService.cancelRun` contract:

1. common MCP-tool cancellation is requested before provider shutdown;
2. the provider-specific runtime/controller reference clears immediately;
3. cleanup reaches the old runtime.

The Claude-native row covers synchronous controller clearing plus resume-transfer cleanup. The ACP row covers `acpController` clearing plus `cancelPrompt()` and `shutdown()`. Named rows preserve diagnostic clarity. A second declaration would improve naming only, not add a distinct behavior boundary. Codex common cancellation remains protected indirectly by the retained `AgentModeStopSubmitTargetTests` layer and is not duplicated.

| New `AgentModeRunServiceLifecycleTests` declaration | Delta |
| --- | ---: |
| Startup-failure state transition | +1 |
| Current Codex / Claude-native / ACP provider dispatch matrix | +1 |
| Claude queued-steering success/failure restoration matrix | +1 |
| ACP queued-steering ordering/restoration method | +1 |
| Claude-native / ACP provider-specific cancel cleanup matrix | +1 |
| **AgentMode lifecycle exact total** | **+5** |

The rejected split is not an implementation fallback. If later work identifies a genuinely distinct contract that requires another method, stop and revise this freeze instead of silently moving to `451`.

### Exact minimal deterministic seams frozen for later implementation

Only these two behavior-preserving production seams are approved. No other source redesign, target-dependency change, or CLI production seam is authorized.

| Seam | Exact later source edit | Why required | Validation |
| --- | --- | --- | --- |
| Slice partition base URL injection | `Sources/RepoPrompt/Infrastructure/WorkspaceContext/Slices/PartitionStore.swift`: add an instance `baseURL`, initialize it with an internal initializer defaulting to the existing `Self.partitionsBaseURL()`, and make `partitionURL(forRoot:scope:)` use the instance value. | Allows deterministic temporary-directory cold reload/isolation coverage without global override or writes to real Application Support. Production default behavior remains unchanged. | `make dev-test FILTER=SelectionSlicePersistenceAndRebaseTests`; `make dev-swift-build PRODUCT=RepoPrompt` |
| AgentMode run-service MCP-idle waiter injection | `Sources/RepoPrompt/Features/AgentMode/ViewModels/AgentModeViewModel.swift`: add a narrow `AgentModeRunServiceMCPIdleWaiter` closure dependency, store it as an optional property, set production initialization to `nil`, add DEBUG initializer parameter `testAgentModeRunServiceMCPIdleWaiter: AgentModeRunServiceMCPIdleWaiter? = nil`, and use the override in `makeRunService()` or fall back to the current `mcpServer?.awaitNoActiveToolExecutions(runID:)` behavior. | Required to record deterministic idle-before-send ordering in the approved Claude and ACP steering tests. The current view-model construction hardwires the MCP server waiter. | `make dev-test FILTER=AgentModeRunServiceLifecycleTests`; adjacent AgentMode lanes; `make dev-swift-build PRODUCT=RepoPrompt`; applicable uncounted CE smoke |

`AgentModeRunService.swift` itself does not need a seam edit: its `Dependencies.awaitNoActiveMCPTools` closure already exists. `SliceRebaseEngine.swift` does not need a seam edit. The DEBUG CLI `--test-parse` hook already exists and must be reused unchanged.

### Frozen implementation sequence

Use the following small dependency-safe sequence for later Item 5 work. The numbered batches are ordered. Sub-batches within Batch 1 and Batch 2 are non-overlapping and may be implemented independently, but each sub-batch must reconcile its own delta and pass its focused coordinated validation before the next dependent step. Any Swift batch follows the repository formatting workflow: run `make dev-format` when the intended Swift edits are complete, then `make dev-lint` before handoff.

#### Batch 1 — land focused replacement protection and the two minimal seams first (`+16` root)

This additive batch lands before reductions. It closes every approved current-contract gap and ensures later reshaping never temporarily removes required protection.

| Sub-batch | Exact touched files/modules | Frozen delta | Required coordinated validation lanes |
| --- | --- | ---: | --- |
| **1A — Diff routing / ApplyEdits** | Extend `Tests/RepoPromptTests/MCP/ApplyEdits/ApplyEditsCoreRecoveryTests.swift` with the combined unmatched single/batch contract and strengthen the existing exact ambiguity assertion; add `Tests/RepoPromptTests/Diffing/DiffGenerationUtilityRoutingTests.swift` for `replaceAll` duplicate-match bypass plus cumulative offsets. | +2 behavioral | `make dev-test FILTER=ApplyEditsCoreRecoveryTests`; `make dev-test FILTER=DiffGenerationUtilityRoutingTests` |
| **1B — Security and App close policy** | Add `Tests/RepoPromptTests/Security/DebugSecureStorageRuntimePolicyTests.swift`; extend `Tests/RepoPromptTests/Security/KeychainServiceTests.swift` with update-success/no-add and update-missing/add-success write methods; add `Tests/RepoPromptTests/App/WindowCloseCoordinatorDecisionTests.swift`. | +6 behavioral | `make dev-test FILTER=DebugSecureStorageRuntimePolicyTests`; `make dev-test FILTER=KeychainServiceTests`; `make dev-test FILTER=WindowCloseCoordinatorDecisionTests` |
| **1C — Slice persistence / rebase** | Add `Tests/RepoPromptTests/WorkspaceContext/Slices/SelectionSlicePersistenceAndRebaseTests.swift`; add only the frozen instance-base-URL seam in `Sources/RepoPrompt/Infrastructure/WorkspaceContext/Slices/PartitionStore.swift`. | +3 behavioral | `make dev-test FILTER=SelectionSlicePersistenceAndRebaseTests`; `make dev-swift-build PRODUCT=RepoPrompt` |
| **1D — AgentMode lifecycle** | Add `Tests/RepoPromptTests/AgentMode/AgentModeRunServiceLifecycleTests.swift`; add only the frozen DEBUG idle-waiter override in `Sources/RepoPrompt/Features/AgentMode/ViewModels/AgentModeViewModel.swift`. Keep provider cancel as one named-row matrix method. | +5 behavioral | `make dev-test FILTER=AgentModeRunServiceLifecycleTests`; `make dev-test FILTER=AgentModeStopSubmitTargetTests`; `make dev-test FILTER=AgentRunWorktreeStartTests`; `make dev-swift-build PRODUCT=RepoPrompt`; record applicable `make dev-smoke` separately, and use credentialed `./conductor smoke --agent-run` only when intentionally available |
| **Batch 1 total** | Root protection additions only; provider package unchanged. | **+16** | Recount expected root subtotal after this batch: `497 + 16 = 513`. This temporary additive subtotal is intentional and replacement-first. |

#### Batch 2 — apply approved scenario-preserving consolidations and obsolete-contract removals (`-68` root)

Batch 2 starts only after Batch 1 protection passes. Each sub-batch is non-overlapping. Transfers and folded assertions land atomically with their declaration removals.

| Sub-batch | Frozen records | Exact touched files | Frozen delta | Required coordinated validation lanes |
| --- | --- | --- | ---: | --- |
| **2A — MCP reshaping** | `MCP-CONS-01` through `MCP-CONS-16` | `Tests/RepoPromptTests/MCP/BindContextRoutingRecoveryTests.swift`; `MCP/AgentRunWorktreeStartTests.swift`; `MCP/TabContextRoutingTests.swift`; `MCP/ManageWorktreeToolServiceTests.swift`; `MCP/ToolOutputFormatterWorktreeTests.swift`. Validate retained owner layers in `MCP/ToolCatalogSnapshotTests.swift` and `MCP/WorktreeAPISmokeHarnessTests.swift` without weakening their contracts. | -18 | `make dev-test FILTER=BindContextRoutingRecoveryTests`; `make dev-test FILTER=AgentRunWorktreeStartTests`; `make dev-test FILTER=TabContextRoutingTests`; `make dev-test FILTER=ManageWorktreeToolServiceTests`; `make dev-test FILTER=ToolCatalogSnapshotTests`; `make dev-test FILTER=ToolOutputFormatterWorktreeTests`; `make dev-test FILTER=WorktreeAPISmokeHarnessTests` |
| **2B — AgentMode / AI matrices** | `C1` through `C13` | `Tests/RepoPromptTests/AgentMode/RecommendationProviderFilterNormalizationTests.swift`; `AgentMode/AgentWorkspaceRootsSidebarStoreTests.swift`; `AgentMode/AgentWorktreeMergeAttentionTests.swift`; `AgentMode/Transcript/AgentToolResultPersistencePolicyTests.swift`; `AgentMode/Transcript/AgentTranscriptActivationRepaintRemountPolicyTests.swift`; `AI/AIModelPreferenceRegressionTests.swift`; `AI/AIQueriesServiceCodexPolicyTests.swift`; `AI/CodexCLIProviderThreadPolicyTests.swift`; `AI/CodexNativeSessionControllerInterruptTests.swift`; `AI/CodexNativeSessionControllerThreadStartTests.swift`. Preserve per-row isolation/shutdown and do not collapse rejected `R1` or `R2`. | -15 | Run `make dev-test FILTER=<TouchedSuite>` for each touched suite named at left. No provider-package lane is needed for this sub-batch because no provider-package file changes. |
| **2C — WorkspaceContext / Services including atomic VCS-C03** | `WS-STORE-C01` through `WS-STORE-C04`; `WS-SEL-C01`; `FS-C01`; `VCS-C01`; `VCS-C02`; exact `VCS-C03` | `Tests/RepoPromptTests/WorkspaceContext/WorkspaceFileContextStoreTests.swift`; `WorkspaceContext/WorkspaceSelectionCoordinatorTests.swift`; `Services/FileSystem/FileSystemServiceEventPathMappingTests.swift`; `Services/VCS/GitRepoTargetResolverTests.swift`; `Services/VCS/GitWorktreePorcelainParserTests.swift`; `Services/VCS/GitWorktreeMergeEndToEndTests.swift`; `Services/VCS/GitWorktreeMergeGitServiceTests.swift`. Validate `Services/VCS/GitWorktreeMergePreviewPublisherTests.swift` unchanged. The VCS-C03 focused extensions land atomically with its bundled-method removal. | -16 exact | `make dev-test FILTER=WorkspaceFileContextStoreTests`; `make dev-test FILTER=WorkspaceSelectionCoordinatorTests`; `make dev-test FILTER=FileSystemServiceEventPathMappingTests`; `make dev-test FILTER=GitRepoTargetResolverTests`; `make dev-test FILTER=GitWorktreePorcelainParserTests`; `make dev-test FILTER=GitWorktreeMergeGitServiceTests`; `make dev-test FILTER=GitWorktreeMergeEndToEndTests`; `make dev-test FILTER=GitWorktreeMergePreviewPublisherTests` |
| **2D — remaining root domains** | `REM-CODEMAP-01` through `REM-CODEMAP-04`; `REM-CHAT-01`; `REM-DIFF-01`; `REM-DIFF-02`; `REM-PROMPT-01` through `REM-PROMPT-03`; `REM-SECURITY-01`; `REM-ROOT-01` | `Tests/RepoPromptTests/CodeMap/CodeMapGoldenTests.swift`; `CodeMap/FileViewModelAcceptedCodeMapTests.swift`; `Chat/ChatNameExtractorTests.swift`; `Diffing/DiffChunkTextApplierTests.swift`; `Prompt/PromptContextResolvedFileTreeTests.swift`; `Prompt/PromptMigrationRemovalTests.swift`; `Prompt/PromptResourceMirrorRemovalTests.swift`; `Security/AgentPermissionSecureStoreTests.swift`; `WorkspaceRootSyncTests.swift`. Preserve all 13 CodeMap fixture/golden rows and caps `≤5`, `≤5`, `≤3`. | -19 | `make dev-test FILTER=CodeMapGoldenTests`; `make dev-test FILTER=FileViewModelAcceptedCodeMapTests`; `make dev-test FILTER=ChatNameExtractorTests`; `make dev-test FILTER=DiffChunkTextApplierTests`; `make dev-test FILTER=PromptContextResolvedFileTreeTests`; `make dev-test FILTER=PromptMigrationRemovalTests`; `make dev-test FILTER=PromptResourceMirrorRemovalTests`; `make dev-test FILTER=AgentPermissionSecureStoreTests`; `make dev-test FILTER=WorkspaceRootSyncTests` |
| **Batch 2 total** | All Item 2 reductions. | Root tests only. | **-68** | Recount expected root subtotal after Batch 2: `513 - 68 = 445`. |

#### Batch 3 — add uncounted CLI executable harness and live parser-to-forwarding smoke (`+0` counted XCTest)

Keep this script-only work separate from counted XCTest arithmetic and from the root/provider target dependencies.

| Work | Exact later touched files | Frozen implementation | Validation lane |
| --- | --- | --- | --- |
| Deterministic executable parser harness | Add `Scripts/test_repoprompt_mcp_parse_harness.py`. | Invoke the coordinated DEBUG `repoprompt-mcp` artifact with existing `--test-parse` for (1) `manage_worktree op=list include_graph=true graph_limit=8`, asserting `success == true`, `command == "aliasCall"`, `toolName == "manage_worktree"`, and converted arguments; and (2) `manage_worktree {"op":"list"}`, asserting `success == true`, `command == "call"`, `toolName == "manage_worktree"`, and preserved JSON payload. Accept the binary path explicitly, defaulting to `.build/debug/repoprompt-mcp`. | `make dev-swift-build PRODUCT=repoprompt-mcp` (`build` lane), then `python3 Scripts/test_repoprompt_mcp_parse_harness.py .build/debug/repoprompt-mcp` |
| Live shorthand parser-to-forwarding vertical | Extend `Scripts/conductor.py` `operation_smoke` stages and add a mocked regression in `Scripts/test_conductor_lifecycle.py`. | Add `rpce-cli-debug -w <window> -e 'manage_worktree op=list'` after `tree --type roots` and before the direct `agent_manage` stage. Preserve existing live stages. The Python regression asserts the shorthand stage is invoked in that ordering. | `make conductor-selftest`; `make dev-smoke` (`debugArtifact`, `liveApp` lanes), or `make dev-smoke-launch` (`build`, `debugArtifact`, `liveApp`) only when intentional relaunch is acceptable |

No `RepoPromptTests` dependency on the `RepoPromptMCP` executable is approved. No `Package.swift` edit, `Makefile` edit, parser extraction, or new CLI production seam is approved. The new parser harness is intentionally invoked explicitly after the coordinated MCP build because it requires that artifact; it is not added to artifact-independent `conductor-selftest`. The existing DEBUG `--test-parse` hook remains the deterministic seam. Batch 3 changes the counted allocation by `+0`.

#### Batch 4 — final acceptance and ledger evidence

After Batches 1–3 reconcile, append actual command results and the final recount to this ledger.

```bash
make dev-format          # after intended Swift edits
make dev-lint
make dev-test
make dev-provider-test
make dev-swift-build PRODUCT=RepoPrompt
make dev-swift-build PRODUCT=repoprompt-mcp
python3 Scripts/test_repoprompt_mcp_parse_harness.py .build/debug/repoprompt-mcp
make conductor-selftest
make guardrails
make dev-smoke
```

Use `make dev-smoke-launch` only when intentional app relaunch is acceptable. Record credentialed `./conductor smoke --agent-run` separately only when provider credentials and model access are intentionally available.

Expected acceptance recount:

| Target | Frozen final methods |
| --- | ---: |
| Root `RepoPromptTests` | 445 |
| Nested `RepoPromptClaudeCompatibleProviderTests` | 5 |
| **Counted total** | **450** |

### Item 4 completion and Item 5 handoff

- **Item 4 is complete:** the exact final allocation is frozen at **`445 root + 5 provider = 450`**; final classes reconcile to **`437 behavioral + 12 structural + 1 diagnostic = 450`**.
- **`VCS-C03` is frozen at `-1`**, not conditional. Its focused replacement assertions and bundled-method removal land in one atomic sub-batch.
- **AgentMode provider-specific cancellation remains one matrix declaration**. The lifecycle addition remains exactly `+5`; the optional split is deliberately rejected because it adds no distinct service-level contract.
- The two approved production seams are exact and minimal: `PartitionStore` instance base-URL injection and DEBUG-only `AgentModeViewModel` run-service idle-waiter injection. No other source seam is approved.
- The CLI executable parser harness and live `manage_worktree op=list` smoke stage are frozen as uncounted Batch 3 work. They do not alter `R`, `P`, or validation-class totals.
- Later Item 5 implementation must reconcile each batch delta before continuing, preserve the linked Item 2 scenario rows, and stop for a ledger revision rather than silently changing the frozen method allocation.
- No Swift file, script, `Makefile`, or unrelated administration file was edited and no validation lane was run during Item 4.

## Item 5 authoritative landed reconciliation and acceptance evidence

### Scope boundary and authority

This section is the final Item 5 record. The ignored Item 5 shard and review reports remain working evidence only; this ledger is the single authoritative audit artifact. Item 5 executed the frozen dependency-safe batches, reconciled actual declaration deltas, incorporated Oracle-review corrections, recorded the CLI harness/smoke work separately from XCTest arithmetic, and completed all non-live acceptance lanes. No nested provider-package declaration changed.

The Item 4 batch plan remains above as historical freeze evidence. Where implementation review changed a proposed seam disposition, the final landed disposition below supersedes the earlier proposal.

### Actual landed counted batch deltas

| Landed batch | Actual root delta | Provider delta | Reconciliation note |
| --- | ---: | ---: | --- |
| Batch 1A — Diff routing / ApplyEdits protection | +2 | 0 | Added unmatched single/batch protection and the direct `replaceAll` routing owner. |
| Batch 1B — Security / App close-policy protection | +6 | 0 | Added three secure-storage declarations and three pure close-decision declarations. |
| Batch 1C — slice persistence / rebase protection | +3 | 0 | Added cold-reload/isolation and two rebase declarations. |
| Batch 1D — AgentMode lifecycle protection | +5 | 0 | Added the frozen five-method lifecycle matrix; provider-specific cancellation remains one matrix declaration. |
| **Batch 1 replacement-first subtotal** | **+16** | **0** | Root declarations temporarily moved `497 → 513`. |
| Batch 2A — MCP reshaping | -18 | 0 | `MCP-CONS-01` through `MCP-CONS-16` reconciled exactly. |
| Batch 2B — AgentMode / AI matrices | -15 | 0 | `C1` through `C13` reconciled exactly. |
| Batch 2C — WorkspaceContext / Services | -16 | 0 | Includes atomic `VCS-C03` focused assertion transfer and bundled declaration removal at the frozen exact `-1`. |
| Batch 2D — remaining root domains | -19 | 0 | Preserved the 13 CodeMap fixture/golden scenarios and caps while reconciling the remaining frozen records. |
| **Batch 2 reshaping subtotal** | **-68** | **0** | Root declarations moved `513 → 445`. |
| Batch 3 — CLI executable harness / smoke stage | 0 | 0 | Script-only, intentionally uncounted work. |
| Oracle-review corrections and workspace slice-set order follow-up | 0 | 0 | Corrections changed assertions, bounded waits, cleanup, and a test ordering assumption without adding or removing declarations. |
| **Net landed delta from the Item 1 recount** | **-52** | **0** | `497 + 16 - 68 = 445` root; provider remains `5`. |

### Final declaration recount

The final declaration recount uses the ledger policy `^\s*func\s+(test[A-Za-z0-9_]*)\s*\(` under the two counted targets.

| Target | Item 1 current recount | Landed net delta | Final declared methods |
| --- | ---: | ---: | ---: |
| Root `RepoPromptTests` | 497 | -52 | **445** |
| Nested `RepoPromptClaudeCompatibleProviderTests` | 5 | 0 | **5** |
| **Counted total** | **502** | **-52** | **450** |

Final observed recount:

```text
root: 445
provider: 5
total: 450
```

### Final validation-class totals

All Item 3 additions landed as behavioral coverage. The retained structural/deletion-guard and diagnostic-benchmark allocations remain unchanged from the Item 4 freeze.

| Target | Behavioral coverage | Structural/deletion guard | Diagnostic benchmark | Final subtotal |
| --- | ---: | ---: | ---: | ---: |
| Root `RepoPromptTests` | 432 | 12 | 1 | 445 |
| Nested `RepoPromptClaudeCompatibleProviderTests` | 5 | 0 | 0 | 5 |
| **Counted total** | **437** | **12** | **1** | **450** |

### Final production seam and fix disposition

| Production area | Final landed disposition |
| --- | --- |
| `Sources/RepoPrompt/Infrastructure/WorkspaceContext/Slices/PartitionStore.swift` | **Retained.** The narrow instance `baseURL` initializer seam defaults to the existing Application Support partition location and enables deterministic temporary-directory cold reload/isolation coverage without changing shipped default behavior. |
| `Sources/RepoPrompt/Infrastructure/Diffing/DiffGenerationUtility.swift` | **Fixed and covered.** The landed `replaceAll` coordinate correction creates generated chunks at original-file coordinates and leaves cumulative insertion/deletion adjustment to the applier. The direct routing owner covers both positive-delta and negative-delta duplicate-match replacements while retaining the ambiguity contrast when `replaceAll` is false. |
| `Sources/RepoPrompt/Features/AgentMode/ViewModels/AgentModeViewModel.swift` proposed DEBUG idle-waiter hook | **Removed as unnecessary after review.** The lifecycle harness directly constructs `AgentModeRunService.Dependencies(awaitNoActiveMCPTools:)`; the proposed view-model override was redundant and leaves no net source diff. |

The final landed production-source diff is limited to `PartitionStore.swift` and `DiffGenerationUtility.swift`.

### CLI executable harness and smoke work — intentionally uncounted

| Work | Final disposition |
| --- | --- |
| `Scripts/test_repoprompt_mcp_parse_harness.py` | Added the deterministic DEBUG `repoprompt-mcp --test-parse` process harness for shorthand and JSON `manage_worktree` parser cases. Oracle review added a bounded parser timeout with a clear `HarnessError`. The harness passed against `.build/debug/repoprompt-mcp`. |
| `Scripts/conductor.py` and `Scripts/test_conductor_lifecycle.py` | Added the live shorthand stage `manage_worktree op=list` after `tree --type roots` and before direct `agent_manage`, plus the mocked ordering regression. `make conductor-selftest` passed. |
| Count treatment | Script harness and live smoke remain outside the two XCTest targets: **`+0` counted declarations**. No `Package.swift`, `Makefile`, parser extraction, or CLI production seam was added. |

### Oracle-review corrections and acceptance follow-up

The ignored [`test-coverage-value-audit-item5-review-corrections-report.md`](test-coverage-value-audit-item5-review-corrections-report.md) records the scoped Oracle-review correction pass. The ignored [`test-coverage-value-audit-item5-workspace-order-fix-report.md`](test-coverage-value-audit-item5-workspace-order-fix-report.md) records the later full-suite follow-up. Together they changed no declaration count.

| Area | Final correction or assessment |
| --- | --- |
| AgentMode lifecycle harness | Added bounded ACP awaits and failure-path cleanup; controller shutdown is reached on success and thrown failure paths. |
| CLI parse harness | Added timeout handling and a clear timeout failure. |
| Diff routing | Folded negative-delta `replaceAll` coverage into the existing direct routing declaration alongside the positive-delta row. |
| Transcript persistence | Restored non-Oracle `error_count` absence and pinned shipped generic `summary_text == "chat_send • success"` behavior. |
| VCS clean preview/apply owner | Strengthened retained artifact coverage with `mapPath` and `sidecarPath` existence assertions. |
| AgentMode view-model seam | Removed the redundant proposed DEBUG idle-waiter hook after review. |
| `manage_worktree` catalog/schema discoverability | Assessed as already satisfied by retained catalog and public-schema owners; no restoration declaration required. |
| Workspace slice-set consolidation | Relaxed an unjustified relative-order assumption for newly appended slice paths to set-membership assertions while retaining preservation and replacement behavior. |

A final scoped Oracle re-review reported no actionable correctness issues in the review-correction diff.

### Final validation evidence

| Command | Final outcome |
| --- | --- |
| `make dev-format` | **Passed.** |
| `make dev-lint` | **Passed.** |
| `make dev-test` | **Passed.** Full coordinated root suite. |
| `make dev-provider-test` | **Passed.** Nested provider-package suite. |
| `make dev-swift-build PRODUCT=RepoPrompt` | **Passed.** |
| `make dev-swift-build PRODUCT=repoprompt-mcp` | **Passed.** |
| `python3 Scripts/test_repoprompt_mcp_parse_harness.py .build/debug/repoprompt-mcp` | **Passed.** |
| `make conductor-selftest` | **Passed.** |
| `make guardrails` | **Passed.** |
| `make dev-smoke` | **Attempted, blocked because the CE debug app was unavailable. Not passed.** |

Live CE smoke remains **pending** a user-approved disruptive `make dev-smoke-launch` (or equivalent intentional launch). It must not be represented as passed. Credentialed `./conductor smoke --agent-run` remains separate and was not claimed.

### Item 5 completion

- **Counted acceptance is complete:** final recount is **`445 root + 5 provider = 450`**.
- **Class reconciliation is complete:** **`437 behavioral + 12 structural + 1 diagnostic = 450`**.
- **Production disposition is complete:** retain the `PartitionStore` base-URL seam, retain the covered `DiffGenerationUtility.replaceAll` coordinate fix, and remove the unnecessary proposed AgentMode view-model hook.
- **CLI work is complete and uncounted:** parser harness and mocked smoke ordering passed; the live stage remains unexecuted because the CE app was unavailable.
- **Non-live validation is complete:** formatting, lint, both XCTest suites, both product builds, parser harness, conductor self-test, and guardrails passed.
- **Live smoke is pending user-approved disruptive launch, not passed.**

## Scenario and fixture breadth index

Rows with non-empty notes are repeated here as a compact consolidation-safety index. Their census rows still count once.

| Target | File | Method | Scenario / fixture breadth hidden behind one declaration |
| --- | --- | --- | --- |
| `RepoPromptTests` | `AI/AIModelPreferenceRegressionTests.swift` | `testLegacyMCPPlanningModelMigrationSymbolAndStartupCallAreRemoved` | Source-shape loop: 2 source files x 3 removed identifiers. |
| `RepoPromptTests` | `AgentMode/ClaudeCompatible/ClaudeCompatiblePluginBridgeTests.swift` | `testOnlyBridgeImportsProviderPackage` | Dynamically enumerates `Sources/RepoPrompt/**/*.swift`; expects exactly one provider-package importer. |
| `RepoPromptTests` | `AgentMode/ClaudeCompatible/ClaudeCompatiblePluginBridgeTests.swift` | `testBridgeRuntimeSmokeMapsPluginIDsDiscoveryRuntimeAndHeadlessAdapters` | Table loop: 4 provider/plugin mappings (Claude, GLM, Kimi, custom), then GLM discovery config assertions. |
| `RepoPromptTests` | `AgentMode/Transcript/AgentToolResultPersistencePolicyTests.swift` | `testConfirmedOracleSendToolNamesPersistBoundedStructuredSummaries` | Table loop: 2 equivalent Oracle-send tool names (`ask_oracle`, `oracle_send`). |
| `RepoPromptTests` | `AgentMode/Transcript/AgentTranscriptCrawlRefreshBenchmarkTests.swift` | `testLongActiveCrawlFinalTurnRefreshBenchmarkReport` | Opt-in DEBUG benchmark: 40 tool-result pairs, >=24 KiB payloads, 1 warmup + 9 measured refresh samples; emits report. |
| `RepoPromptTests` | `CodeMap/CodeMapGoldenTests.swift` | `testCEFixturesMatchGoldenCodeMapDescriptions` | Golden helper loop: 5 CE fixtures (C, Go, Python, Swift, TypeScript). |
| `RepoPromptTests` | `CodeMap/CodeMapGoldenTests.swift` | `testExpandedLanguageFixturesMatchGoldenCodeMapDescriptions` | Golden helper loop: 5 expanded fixtures (Dart, Java, JavaScript, Ruby, Rust). |
| `RepoPromptTests` | `CodeMap/CodeMapGoldenTests.swift` | `testCodeMapEdgeFixturesPreserveExportsTypesAndMethods` | Golden helper loop: 3 edge fixtures (C++, PHP, TSX). |
| `RepoPromptTests` | `MCP/AgentRunMCPToolServiceWaitAnyTests.swift` | `testWaitAnySteeringInterruptValueShapeOmitsNonTerminalAssistantText` | Builds and inspects 2 session snapshots; loop verifies omitted assistant text. |
| `RepoPromptTests` | `MCP/ApplyEdits/ApplyEditsCoreRecoveryTests.swift` | `testRequestBuilderAcceptsBatchPayloadShapes` | Table loop: 4 accepted payload shapes (array, object, JSON string, wrapped args JSON). |
| `RepoPromptTests` | `MCP/CECLINamingAndRoutingTests.swift` | `testNamedSourcesDoNotAdvertiseStaleDebugCommandNames` | Source-shape enumeration: 8 fixed sources + dynamic workflow-prompt sources checked against 7 stale names. |
| `RepoPromptTests` | `MCP/CECLINamingAndRoutingTests.swift` | `testProviderNeutralWorkflowPromptSourcesReplacedLegacyWorkflowPromptFile` | Dynamically enumerates `Sources/RepoPrompt/**/*.swift` for removed namespace references. |
| `RepoPromptTests` | `MCP/CodexIntegration/CodexIntegrationConfigurationTests.swift` | `testToolTimeoutMutationAcceptsIntegerRadixAndSignVariants` | Table loop: 4 integer spellings (signed decimal, hex, octal, binary). |
| `RepoPromptTests` | `MCP/ManageWorktreeToolServiceTests.swift` | `testManageWorktreeSchemaIncludesMergeOpsAndFields` | Schema table loop: 5 merge operations and 8 fields. |
| `RepoPromptTests` | `MCP/ToolCatalogSnapshotTests.swift` | `testWorktreePublicAPISchemaFieldsRemainAdvertised` | Schema tables: 8 general manage-worktree fields, 8 merge fields, 11 agent-run worktree fields. |
| `RepoPromptTests` | `PresetJSONOnlyPersistenceTests.swift` | `testMissingPresetJSONCreatesEmptyDocumentsAndIgnoresLegacyDefaults` | Fixture breadth: seeds 4 legacy defaults and verifies they are ignored. |
| `RepoPromptTests` | `PresetJSONOnlyPersistenceTests.swift` | `testPresetSaveWritesJSONOnlyAndDoesNotWriteLegacyMirrorKeys` | Fixture breadth: verifies absence of 10 legacy mirror/default keys after save. |
| `RepoPromptTests` | `Prompt/PromptMigrationRemovalTests.swift` | `testLegacyCopyOverridesAndCustomizationsIgnoreRemovedFields` | Table loop: 3 removed JSON keys across 2 encoded document forms. |
| `RepoPromptTests` | `Prompt/PromptResourceMirrorRemovalTests.swift` | `testSourcesAndTestsDoNotReferenceBundledPromptMirror` | Dynamically enumerates Swift sources/tests and checks 2 forbidden bundled-mirror path fragments. |
| `RepoPromptTests` | `Prompt/WorkflowPromptCatalogTests.swift` | `testCatalogMetadataMatchesWorkflowIDs` | Catalog loop: all 9 workflow descriptors. |
| `RepoPromptTests` | `Prompt/WorkflowPromptCatalogTests.swift` | `testRenderedManagedPromptFrontmatterCompatibility` | Catalog loop: 9 install descriptors. |
| `RepoPromptTests` | `Prompt/WorkflowPromptCatalogTests.swift` | `testAgentWorkflowTemplatesRenderFromProviderNeutralCatalog` | Enum loop: every `AgentWorkflow` case; count intentionally derived from current enum. |
| `RepoPromptTests` | `Security/AgentPermissionSecureStoreTests.swift` | `testAccessModesCapturedForPlainReadsWritesAndDeletesOnly` | Enum loop: failure/reset behavior across every `AgentPermissionSecureDomain` case. |
| `RepoPromptTests` | `Security/AgentPermissionSecureStoreTests.swift` | `testRemovedGeminiPermissionDocumentsAreIgnoredDuringReset` | Enum loop: reset failures across every secure domain while removed Gemini key stays untouched. |
| `RepoPromptTests` | `WorkspaceContext/PathMatching/PathMatchingRecoveryTests.swift` | `testAliasAndAbsoluteResolutionStayScopedToTheMatchingRoot` | Snapshot fixture: 3 file records across 2 roots. |
| `RepoPromptTests` | `WorkspaceContext/PathMatching/PathMatchingRecoveryTests.swift` | `testUnicodeAndCaseInsensitiveLookupPreserveStoredRelativePath` | Snapshot fixture: 2 Unicode file records. |
| `RepoPromptTests` | `WorkspaceContext/ReplayEvidenceHarnessTests.swift` | `testFocusedLargeBurstRoutesImmediateWithCappedDefaultChunks` | Generated load: 600 file-add deltas; expects 6 x 100 replay chunks. |
| `RepoPromptTests` | `WorkspaceContext/ReplayEvidenceHarnessTests.swift` | `testUnfocusedBurstQueuesAndDeferredDrainUsesConfiguredChunks` | Generated load: 250 queued file-add deltas; expects chunks 100, 100, 50. |
| `RepoPromptTests` | `WorkspaceContext/ReplayEvidenceHarnessTests.swift` | `testRemovedFolderBurstUsesOneBatchedDescendantLookup` | Generated load: 60 folder adds then 60 folder removals; expects one descendant lookup. |
| `RepoPromptTests` | `WorkspaceContext/ReplayEvidenceHarnessTests.swift` | `testRemovedFolderCleanupFlushesBeforeSamePathFileAdd` | Two-delta ordering scenario: folder removal then same-path file add in one replay chunk. |
| `RepoPromptTests` | `WorkspaceContext/Search/SearchPathFilteringTests.swift` | `testCancelledTaskReportsCancellationMetadata` | Generated load: 50,000 path snapshots to exercise cancellation metadata. |
| `RepoPromptTests` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift` | `testCancelledRootLoadAfterUIRootAppendDoesNotLeaveUIOrStoreRoot` | Generated load: writes 1,500 Swift files before cancellation cleanup assertions. |
| `RepoPromptTests` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift` | `testCallerCancelledLoadFolderAfterUIRootAppendCleansUIAndStoreRoot` | Generated load: writes 1,500 Swift files before caller-driven cancellation cleanup assertions. |
| `RepoPromptTests` | `WorkspaceContext/WorkspaceLoadingDiagnosticsGuardTests.swift` | `testDebugDiagnosticsExposeStoreBackedLoadingSnapshot` | Dynamically enumerates debug-diagnostics source fragments before checking required markers. |
| `RepoPromptClaudeCompatibleProviderTests` | `Runtime/ClaudeCompatibleRuntimeSupportTests.swift` | `testRuntimeLaunchAndHeadlessSmokesPromptEnvironmentAndModels` | Multi-scenario smoke: prompt modes, normalized GLM env, GLM + Kimi resolver cases, headless args fixture. |
| `RepoPromptClaudeCompatibleProviderTests` | `Runtime/ClaudeCompatibleRuntimeSupportTests.swift` | `testProviderCatalogDefaultsExposeStableRawValues` | Catalog breadth: 4 provider raw values, 4 runtime mappings, 4 model-catalog snapshots. |
| `RepoPromptClaudeCompatibleProviderTests` | `SDK/ClaudeSDKNDJSONTranslatorTests.swift` | `testAssistantToolAndResultSmokePreservesUsageArgsAndStableInvocationID` | NDJSON fixtures: assistant usage/text/tool-use plus matching user tool-result invocation ID. |
| `RepoPromptClaudeCompatibleProviderTests` | `SDK/ClaudeSDKNDJSONTranslatorTests.swift` | `testLifecycleAndStreamSmokeCoversSessionCancellationDeltaStopAndContextUsage` | NDJSON fixtures: init, message-start usage, text delta, message stop, cancelled result. |
| `RepoPromptClaudeCompatibleProviderTests` | `SDK/ClaudeSDKProtocolCodecTests.swift` | `testProtocolCodecSmokeDecodesControlRepairsControlCharactersAndEncodesUserMessage` | Protocol fixtures: permission decode, raw-newline repair/decode, user-message encode. |

## Census field legend

| Field | Item 1 meaning |
| --- | --- |
| `method_id` | Stable row label for this snapshot plus the exact declared method name. |
| `file` | Path relative to the counted target root, with the declaration line captured during recount. |
| `target`, `domain` | Reconcile root/provider execution boundaries and root concentration. |
| `primary_contract_id` | One suite-scoped counting owner. It is intentionally lightweight until Item 2 contract-value review. |
| `secondary_contract_tags` | Traceability tags retained without assigning a second count owner. |
| `validation_class` | Provisional `behavioral coverage`, `structural/deletion guard`, or `diagnostic benchmark`. Live smoke is outside this counted census. |
| `layer` | Provisional unit/bridge/integration/runtime ownership routing aid. |
| `scenario_or_fixture_note` | Breadth hidden by tables, loops, generated load, dynamic enumeration, or golden fixtures. `—` means no special breadth note was recorded in Item 1, not that the method has only one assertion. |
| `tentative_disposition` | Item 1 routing only. Structural/diagnostic exceptions are queued for detailed review; ordinary rows are tentatively retained until Item 2. |

## Exhaustive executable XCTest census

### Root target — `RepoPromptTests`

| method_id | file | target | domain | primary_contract_id | secondary_contract_tags | validation_class | layer | scenario_or_fixture_note | tentative_disposition |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| `R0001:testPlanningDropdownDoesNotDisplayFirstAvailableModelWhenRawIsEmpty` | `AI/AIModelPreferenceRegressionTests.swift:7` | `RepoPromptTests` | `AI` | `root.ai.aimodel-preference-regression-tests` | `suite:AIModelPreferenceRegressionTests; declaration:7` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0002:testPlanningDropdownDoesNotDisplayFirstAvailableModelWhenRawIsInvalid` | `AI/AIModelPreferenceRegressionTests.swift:22` | `RepoPromptTests` | `AI` | `root.ai.aimodel-preference-regression-tests` | `suite:AIModelPreferenceRegressionTests; declaration:22` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0003:testNonPlanningDropdownRetainsFirstAvailableFallbackForInvalidRaw` | `AI/AIModelPreferenceRegressionTests.swift:37` | `RepoPromptTests` | `AI` | `root.ai.aimodel-preference-regression-tests` | `suite:AIModelPreferenceRegressionTests; declaration:37` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0004:testSettingsSyncClearsStaleModelRawWhenPersistedValueIsEmptyOrMissing` | `AI/AIModelPreferenceRegressionTests.swift:51` | `RepoPromptTests` | `AI` | `root.ai.aimodel-preference-regression-tests` | `suite:AIModelPreferenceRegressionTests; declaration:51` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0005:testStrictOraclePlanningResolutionRejectsEmptyInvalidAndUnavailableRaw` | `AI/AIModelPreferenceRegressionTests.swift:65` | `RepoPromptTests` | `AI` | `root.ai.aimodel-preference-regression-tests` | `suite:AIModelPreferenceRegressionTests; declaration:65` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0006:testStrictOraclePlanningResolutionReturnsConfiguredModelOnlyWhenRawParsesAndIsAvailable` | `AI/AIModelPreferenceRegressionTests.swift:95` | `RepoPromptTests` | `AI` | `root.ai.aimodel-preference-regression-tests` | `suite:AIModelPreferenceRegressionTests; declaration:95` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0007:testOracleModelsReportingUsesStrictPlanningResolutionInsteadOfPreferredFallback` | `AI/AIModelPreferenceRegressionTests.swift:104` | `RepoPromptTests` | `AI` | `root.ai.aimodel-preference-regression-tests` | `suite:AIModelPreferenceRegressionTests; declaration:104` | structural/deletion guard | architecture/source-shape guard | — | review: structural exception rationale required |
| `R0008:testMCPOraclePlanningResolutionUsesProviderConfiguredAvailability` | `AI/AIModelPreferenceRegressionTests.swift:113` | `RepoPromptTests` | `AI` | `root.ai.aimodel-preference-regression-tests` | `suite:AIModelPreferenceRegressionTests; declaration:113` | structural/deletion guard | architecture/source-shape guard | — | review: structural exception rationale required |
| `R0009:testPlanningValidationDoesNotAutoHealStrictOracleModel` | `AI/AIModelPreferenceRegressionTests.swift:123` | `RepoPromptTests` | `AI` | `root.ai.aimodel-preference-regression-tests` | `suite:AIModelPreferenceRegressionTests; declaration:123` | structural/deletion guard | architecture/source-shape guard | — | review: structural exception rationale required |
| `R0010:testLegacyMCPPlanningModelMigrationSymbolAndStartupCallAreRemoved` | `AI/AIModelPreferenceRegressionTests.swift:132` | `RepoPromptTests` | `AI` | `root.ai.aimodel-preference-regression-tests` | `suite:AIModelPreferenceRegressionTests; declaration:132` | structural/deletion guard | architecture/source-shape guard | Source-shape loop: 2 source files x 3 removed identifiers. | review: structural exception rationale required |
| `R0011:testOracleCodexRequestStartsNewThreadsEphemerally` | `AI/AIQueriesServiceCodexPolicyTests.swift:5` | `RepoPromptTests` | `AI` | `root.ai.aiqueries-service-codex-policy-tests` | `suite:AIQueriesServiceCodexPolicyTests; declaration:5` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0012:testOrdinaryCodexChatRemainsPersistentByDefault` | `AI/AIQueriesServiceCodexPolicyTests.swift:13` | `RepoPromptTests` | `AI` | `root.ai.aiqueries-service-codex-policy-tests` | `suite:AIQueriesServiceCodexPolicyTests; declaration:13` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0013:testOracleNonCodexRequestDoesNotApplyCodexThreadPolicy` | `AI/AIQueriesServiceCodexPolicyTests.swift:22` | `RepoPromptTests` | `AI` | `root.ai.aiqueries-service-codex-policy-tests` | `suite:AIQueriesServiceCodexPolicyTests; declaration:22` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0014:testEphemeralProviderForwardsPolicyAndAlwaysStartsFreshThread` | `AI/CodexCLIProviderThreadPolicyTests.swift:6` | `RepoPromptTests` | `AI` | `root.ai.codex-cliprovider-thread-policy-tests` | `suite:CodexCLIProviderThreadPolicyTests; declaration:6` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0015:testDefaultProviderLeavesFreshThreadPersistent` | `AI/CodexCLIProviderThreadPolicyTests.swift:15` | `RepoPromptTests` | `AI` | `root.ai.codex-cliprovider-thread-policy-tests` | `suite:CodexCLIProviderThreadPolicyTests; declaration:15` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0016:testActiveTurnMismatchParserExtractsFoundTurnID` | `AI/CodexNativeSessionControllerInterruptTests.swift:5` | `RepoPromptTests` | `AI` | `root.ai.codex-native-session-controller-interrupt-tests` | `suite:CodexNativeSessionControllerInterruptTests; declaration:5` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0017:testActiveTurnMismatchParserRejectsUnrelatedAndMalformedErrors` | `AI/CodexNativeSessionControllerInterruptTests.swift:13` | `RepoPromptTests` | `AI` | `root.ai.codex-native-session-controller-interrupt-tests` | `suite:CodexNativeSessionControllerInterruptTests; declaration:13` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0018:testResolvedInterruptTurnIDDoesNotUseCachedTurnAfterSuccessfulNoActiveRefresh` | `AI/CodexNativeSessionControllerInterruptTests.swift:19` | `RepoPromptTests` | `AI` | `root.ai.codex-native-session-controller-interrupt-tests` | `suite:CodexNativeSessionControllerInterruptTests; declaration:19` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0019:testResolvedInterruptTurnIDFallsBackToCachedTurnOnlyWhenRefreshFails` | `AI/CodexNativeSessionControllerInterruptTests.swift:34` | `RepoPromptTests` | `AI` | `root.ai.codex-native-session-controller-interrupt-tests` | `suite:CodexNativeSessionControllerInterruptTests; declaration:34` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0020:testOptedInFreshThreadStartIncludesEphemeralTrue` | `AI/CodexNativeSessionControllerThreadStartTests.swift:15` | `RepoPromptTests` | `AI` | `root.ai.codex-native-session-controller-thread-start-tests` | `suite:CodexNativeSessionControllerThreadStartTests; declaration:15` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0021:testStandardFreshThreadStartOmitsEphemeralByDefault` | `AI/CodexNativeSessionControllerThreadStartTests.swift:25` | `RepoPromptTests` | `AI` | `root.ai.codex-native-session-controller-thread-start-tests` | `suite:CodexNativeSessionControllerThreadStartTests; declaration:25` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0022:testAgentModeDefaultFreshThreadStartOmitsEphemeral` | `AI/CodexNativeSessionControllerThreadStartTests.swift:35` | `RepoPromptTests` | `AI` | `root.ai.codex-native-session-controller-thread-start-tests` | `suite:CodexNativeSessionControllerThreadStartTests; declaration:35` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0023:testResumeNeverIncludesEphemeralWhenFreshStartsAreOptedIn` | `AI/CodexNativeSessionControllerThreadStartTests.swift:45` | `RepoPromptTests` | `AI` | `root.ai.codex-native-session-controller-thread-start-tests` | `suite:CodexNativeSessionControllerThreadStartTests; declaration:45` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0024:testScalarOrderingUsesAsciiFoldThenRawScalarTieBreak` | `AI/ModelPickerStringOrderingTests.swift:6` | `RepoPromptTests` | `AI` | `root.ai.model-picker-string-ordering-tests` | `suite:ModelPickerStringOrderingTests; declaration:6` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0025:testAIModelSemanticPickerOrderingCoversGptVersionsServiceTierReasoningAndRawTieBreaks` | `AI/ModelPickerStringOrderingTests.swift:17` | `RepoPromptTests` | `AI` | `root.ai.model-picker-string-ordering-tests` | `suite:ModelPickerStringOrderingTests; declaration:17` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0026:testSemanticOrderingUsesFamilyBeforeDisplayNameAcrossFamilies` | `AI/ModelPickerStringOrderingTests.swift:41` | `RepoPromptTests` | `AI` | `root.ai.model-picker-string-ordering-tests` | `suite:ModelPickerStringOrderingTests; declaration:41` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0027:testStaleGeminiCLIPrefixedModelsAreRejectedForFallback` | `AI/ModelPickerStringOrderingTests.swift:50` | `RepoPromptTests` | `AI` | `root.ai.model-picker-string-ordering-tests` | `suite:ModelPickerStringOrderingTests; declaration:50` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0028:testAIModelCodexMenuGroupsUseStableSemanticOrdering` | `AI/ModelPickerStringOrderingTests.swift:56` | `RepoPromptTests` | `AI` | `root.ai.model-picker-string-ordering-tests` | `suite:ModelPickerStringOrderingTests; declaration:56` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0029:testAgentModelCatalogCodexMenuUsesStableSemanticOrdering` | `AI/ModelPickerStringOrderingTests.swift:79` | `RepoPromptTests` | `AI` | `root.ai.model-picker-string-ordering-tests` | `suite:ModelPickerStringOrderingTests; declaration:79` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0030:testCollapsedCodexOptionsUseStableSemanticOrderingAndPreserveDefaults` | `AI/ModelPickerStringOrderingTests.swift:106` | `RepoPromptTests` | `AI` | `root.ai.model-picker-string-ordering-tests` | `suite:ModelPickerStringOrderingTests; declaration:106` | behavioral coverage | root AI unit/integration | — | retain (tentative) |
| `R0031:testCursorNewSessionPublishesRuntimeIDAsVerifiedLoadID` | `AgentMode/ACPProviderSessionIdentityTests.swift:15` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.acpprovider-session-identity-tests` | `suite:ACPProviderSessionIdentityTests; declaration:15` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0032:testOpenCodeColdResumeUsesPersistedSessionIDForLoad` | `AgentMode/ACPProviderSessionIdentityTests.swift:40` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.acpprovider-session-identity-tests` | `suite:ACPProviderSessionIdentityTests; declaration:40` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0033:testGenericLoadFailureFallbackInvalidatesStaleResumeID` | `AgentMode/ACPProviderSessionIdentityTests.swift:66` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.acpprovider-session-identity-tests` | `suite:ACPProviderSessionIdentityTests; declaration:66` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0034:testProviderSessionIdentityNormalizesEmptyIDs` | `AgentMode/ACPProviderSessionIdentityTests.swift:98` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.acpprovider-session-identity-tests` | `suite:ACPProviderSessionIdentityTests; declaration:98` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0035:testValidationRejectsInvalidInteractions` | `AgentMode/AgentAskUserModelsTests.swift:5` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-ask-user-models-tests` | `suite:AgentAskUserModelsTests; declaration:5` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0036:testSubmittedResponseBuildsStructuredAnswersFromDrafts` | `AgentMode/AgentAskUserModelsTests.swift:52` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-ask-user-models-tests` | `suite:AgentAskUserModelsTests; declaration:52` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0037:testSubmittedResponseRequiresCompleteAnswers` | `AgentMode/AgentAskUserModelsTests.swift:90` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-ask-user-models-tests` | `suite:AgentAskUserModelsTests; declaration:90` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0038:testTimedOutAndSkippedResponsesCarryExpectedStatus` | `AgentMode/AgentAskUserModelsTests.swift:104` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-ask-user-models-tests` | `suite:AgentAskUserModelsTests; declaration:104` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0039:testStructuredAndFlatAnswersConvertBackToDrafts` | `AgentMode/AgentAskUserModelsTests.swift:123` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-ask-user-models-tests` | `suite:AgentAskUserModelsTests; declaration:123` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0040:testAnswerConversionRejectsUnknownInvalidCustomAndInvalidSingleSelectAnswers` | `AgentMode/AgentAskUserModelsTests.swift:172` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-ask-user-models-tests` | `suite:AgentAskUserModelsTests; declaration:172` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0041:testPendingStateTracksCurrentQuestionAndCompleteness` | `AgentMode/AgentAskUserModelsTests.swift:227` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-ask-user-models-tests` | `suite:AgentAskUserModelsTests; declaration:227` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0042:testJsonObjectUsesStructuredResponseShape` | `AgentMode/AgentAskUserModelsTests.swift:249` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-ask-user-models-tests` | `suite:AgentAskUserModelsTests; declaration:249` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0043:testComposerCancelTargetUsesExplicitTabSessionIdentity` | `AgentMode/AgentModeStopSubmitTargetTests.swift:7` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-stop-submit-target-tests` | `suite:AgentModeStopSubmitTargetTests; declaration:7` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0044:testGuardedCancelRoutesToRenderTimeTargetTabWhenCurrentTabChanged` | `AgentMode/AgentModeStopSubmitTargetTests.swift:34` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-stop-submit-target-tests` | `suite:AgentModeStopSubmitTargetTests; declaration:34` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0045:testGuardedCancelRejectsStaleTargetAfterNewRunStarts` | `AgentMode/AgentModeStopSubmitTargetTests.swift:68` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-stop-submit-target-tests` | `suite:AgentModeStopSubmitTargetTests; declaration:68` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0046:testGuardedSubmitRoutesToRenderTimeTargetTabWhenCurrentTabChanged` | `AgentMode/AgentModeStopSubmitTargetTests.swift:93` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-stop-submit-target-tests` | `suite:AgentModeStopSubmitTargetTests; declaration:93` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0047:testGuardedSubmitRejectsMismatchedRunIdentityAndPreservesDraft` | `AgentMode/AgentModeStopSubmitTargetTests.swift:123` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-stop-submit-target-tests` | `suite:AgentModeStopSubmitTargetTests; declaration:123` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0048:testFreshManualThreadProjectsAndUpdatesInitialStartLocation` | `AgentMode/AgentModeStopSubmitTargetTests.swift:155` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-stop-submit-target-tests` | `suite:AgentModeStopSubmitTargetTests; declaration:155` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0049:testFreshLinkedManualThreadProjectsInitialLocationThenPersistentLocalLocationAfterStart` | `AgentMode/AgentModeStopSubmitTargetTests.swift:171` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-stop-submit-target-tests` | `suite:AgentModeStopSubmitTargetTests; declaration:171` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0050:testLinkedStartedThreadDoesNotReuseRetainedInitialWorktreeIntent` | `AgentMode/AgentModeStopSubmitTargetTests.swift:203` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-stop-submit-target-tests` | `suite:AgentModeStopSubmitTargetTests; declaration:203` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0051:testLinkedMCPParentedThreadDoesNotExposeOrPrepareInitialWorktree` | `AgentMode/AgentModeStopSubmitTargetTests.swift:229` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-stop-submit-target-tests` | `suite:AgentModeStopSubmitTargetTests; declaration:229` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0052:testGuardedFirstSendRejectsStaleInitialStartLocationSelection` | `AgentMode/AgentModeStopSubmitTargetTests.swift:257` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-stop-submit-target-tests` | `suite:AgentModeStopSubmitTargetTests; declaration:257` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0053:testGuardedFirstSendUsesRenderTimeSourceTab` | `AgentMode/AgentModeStopSubmitTargetTests.swift:283` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-stop-submit-target-tests` | `suite:AgentModeStopSubmitTargetTests; declaration:283` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0054:testGuardedFirstSendRejectsIfAttachmentsChangeDuringCreateAndPreservesDraft` | `AgentMode/AgentModeStopSubmitTargetTests.swift:335` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-stop-submit-target-tests` | `suite:AgentModeStopSubmitTargetTests; declaration:335` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0055:testPendingUserInputCancelTargetBindsSnapshotTabAndRequestIdentity` | `AgentMode/AgentModeStopSubmitTargetTests.swift:369` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-stop-submit-target-tests` | `suite:AgentModeStopSubmitTargetTests; declaration:369` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0056:testActiveRefreshCompactsSummaryOnlyToolResultSourceWhilePreservingRawRenderPayload` | `AgentMode/AgentModeViewModelInactiveRefreshTests.swift:7` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-view-model-inactive-refresh-tests` | `suite:AgentModeViewModelInactiveRefreshTests; declaration:7` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0057:testRefreshingInactiveSessionDoesNotClobberActivePresentation` | `AgentMode/AgentModeViewModelInactiveRefreshTests.swift:54` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-view-model-inactive-refresh-tests` | `suite:AgentModeViewModelInactiveRefreshTests; declaration:54` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0058:testScheduledLiveRefreshBuildsWhenSessionTurnsInactive` | `AgentMode/AgentModeViewModelInactiveRefreshTests.swift:94` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-view-model-inactive-refresh-tests` | `suite:AgentModeViewModelInactiveRefreshTests; declaration:94` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0059:testCoalescedScheduledRefreshBuildsOnceWithLatestSourceItems` | `AgentMode/AgentModeViewModelInactiveRefreshTests.swift:129` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-view-model-inactive-refresh-tests` | `suite:AgentModeViewModelInactiveRefreshTests; declaration:129` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0060:testSilentReplacementInvalidatesDerivedStateAndActivationCatchUpRebuilds` | `AgentMode/AgentModeViewModelInactiveRefreshTests.swift:164` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-view-model-inactive-refresh-tests` | `suite:AgentModeViewModelInactiveRefreshTests; declaration:164` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0061:testActivationRepublishesRunInteractionRuntimeAndLiveBashState` | `AgentMode/AgentModeViewModelInactiveRefreshTests.swift:195` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-mode-view-model-inactive-refresh-tests` | `suite:AgentModeViewModelInactiveRefreshTests; declaration:195` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0062:testOldAgentSessionJSONDecodesWithEmptyWorktreeBindings` | `AgentMode/AgentSessionWorktreeBindingPersistenceTests.swift:5` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-session-worktree-binding-persistence-tests` | `suite:AgentSessionWorktreeBindingPersistenceTests; declaration:5` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0063:testAgentSessionRoundTripsWorktreeBindingsAsVersionSix` | `AgentMode/AgentSessionWorktreeBindingPersistenceTests.swift:23` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-session-worktree-binding-persistence-tests` | `suite:AgentSessionWorktreeBindingPersistenceTests; declaration:23` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0064:testDataServiceStubAndMetadataExposeWorktreeBindingSummaries` | `AgentMode/AgentSessionWorktreeBindingPersistenceTests.swift:44` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-session-worktree-binding-persistence-tests` | `suite:AgentSessionWorktreeBindingPersistenceTests; declaration:44` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0065:testLegacyMetadataIndexRecordsDecodeWithEmptyWorktreeBindingSummaries` | `AgentMode/AgentSessionWorktreeBindingPersistenceTests.swift:84` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-session-worktree-binding-persistence-tests` | `suite:AgentSessionWorktreeBindingPersistenceTests; declaration:84` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0066:testOldAgentSessionJSONDecodesWithEmptyWorktreeMergeOperations` | `AgentMode/AgentSessionWorktreeMergePersistenceTests.swift:5` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-session-worktree-merge-persistence-tests` | `suite:AgentSessionWorktreeMergePersistenceTests; declaration:5` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0067:testAgentSessionRoundTripsActiveWorktreeMergeOperationsAsVersionSix` | `AgentMode/AgentSessionWorktreeMergePersistenceTests.swift:23` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-session-worktree-merge-persistence-tests` | `suite:AgentSessionWorktreeMergePersistenceTests; declaration:23` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0068:testDataServiceStubMetadataAndSidebarExposeActiveMergeSummaries` | `AgentMode/AgentSessionWorktreeMergePersistenceTests.swift:45` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-session-worktree-merge-persistence-tests` | `suite:AgentSessionWorktreeMergePersistenceTests; declaration:45` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0069:testReconciliationCancelsAwaitingApproval` | `AgentMode/AgentSessionWorktreeMergePersistenceTests.swift:87` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-session-worktree-merge-persistence-tests` | `suite:AgentSessionWorktreeMergePersistenceTests; declaration:87` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0070:testReconciliationMapsApplyingConflictStateToConflicted` | `AgentMode/AgentSessionWorktreeMergePersistenceTests.swift:99` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-session-worktree-merge-persistence-tests` | `suite:AgentSessionWorktreeMergePersistenceTests; declaration:99` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0071:testReconciliationMapsApplyingCleanMergeStateToAwaitingCommit` | `AgentMode/AgentSessionWorktreeMergePersistenceTests.swift:115` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-session-worktree-merge-persistence-tests` | `suite:AgentSessionWorktreeMergePersistenceTests; declaration:115` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0072:testReconciliationMapsApplyingCompletedTargetHeadToCompleted` | `AgentMode/AgentSessionWorktreeMergePersistenceTests.swift:127` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-session-worktree-merge-persistence-tests` | `suite:AgentSessionWorktreeMergePersistenceTests; declaration:127` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0073:testReconciliationRefreshesConflictedToAwaitingCommitAfterConflictsResolved` | `AgentMode/AgentSessionWorktreeMergePersistenceTests.swift:140` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-session-worktree-merge-persistence-tests` | `suite:AgentSessionWorktreeMergePersistenceTests; declaration:140` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0074:testReconciliationRefreshesAwaitingCommitBackToConflictedWhenConflictsRemain` | `AgentMode/AgentSessionWorktreeMergePersistenceTests.swift:152` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-session-worktree-merge-persistence-tests` | `suite:AgentSessionWorktreeMergePersistenceTests; declaration:152` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0075:testReconciliationMarksPreviewedStaleWhenArtifactsMissing` | `AgentMode/AgentSessionWorktreeMergePersistenceTests.swift:163` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-session-worktree-merge-persistence-tests` | `suite:AgentSessionWorktreeMergePersistenceTests; declaration:163` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0076:testPreviewedOperationWithoutArtifactReferencesIsNotActiveAfterReconciliation` | `AgentMode/AgentSessionWorktreeMergePersistenceTests.swift:179` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-session-worktree-merge-persistence-tests` | `suite:AgentSessionWorktreeMergePersistenceTests; declaration:179` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0077:testFingerprintEqualityIgnoresGeneratedAtForPreviewRevalidation` | `AgentMode/AgentSessionWorktreeMergePersistenceTests.swift:195` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-session-worktree-merge-persistence-tests` | `suite:AgentSessionWorktreeMergePersistenceTests; declaration:195` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0078:testRowsMarkPrimaryAndMovementForMultipleRoots` | `AgentMode/AgentWorkspaceRootsSidebarStoreTests.swift:7` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-workspace-roots-sidebar-store-tests` | `suite:AgentWorkspaceRootsSidebarStoreTests; declaration:7` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0079:testRowsDoNotMarkSingleRootAsPrimaryOrMovable` | `AgentMode/AgentWorkspaceRootsSidebarStoreTests.swift:21` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-workspace-roots-sidebar-store-tests` | `suite:AgentWorkspaceRootsSidebarStoreTests; declaration:21` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0080:testRowsLeaveWorktreeNilByDefault` | `AgentMode/AgentWorkspaceRootsSidebarStoreTests.swift:40` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-workspace-roots-sidebar-store-tests` | `suite:AgentWorkspaceRootsSidebarStoreTests; declaration:40` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0081:testWithWorktreeAttachesIndicatorWithoutMutatingOtherFields` | `AgentMode/AgentWorkspaceRootsSidebarStoreTests.swift:49` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-workspace-roots-sidebar-store-tests` | `suite:AgentWorkspaceRootsSidebarStoreTests; declaration:49` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0082:testIndicatorMakePrefersBindingColorAndLabel` | `AgentMode/AgentWorkspaceRootsSidebarStoreTests.swift:72` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-workspace-roots-sidebar-store-tests` | `suite:AgentWorkspaceRootsSidebarStoreTests; declaration:72` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0083:testIndicatorMakeFallsBackToResolvedIdentityForMissingOrInvalidFields` | `AgentMode/AgentWorkspaceRootsSidebarStoreTests.swift:97` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-workspace-roots-sidebar-store-tests` | `suite:AgentWorkspaceRootsSidebarStoreTests; declaration:97` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0084:testIndicatorLabelFallsBackToWorktreeIDTail` | `AgentMode/AgentWorkspaceRootsSidebarStoreTests.swift:123` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-workspace-roots-sidebar-store-tests` | `suite:AgentWorkspaceRootsSidebarStoreTests; declaration:123` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0085:testIndicatorUnavailableSurfacesStaleStateInTooltipAndAccessibility` | `AgentMode/AgentWorkspaceRootsSidebarStoreTests.swift:141` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-workspace-roots-sidebar-store-tests` | `suite:AgentWorkspaceRootsSidebarStoreTests; declaration:141` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0086:testActiveConflictOperationPicksMostRecentNonTerminalConflictOrAwaitingCommit` | `AgentMode/AgentWorktreeMergeAttentionTests.swift:8` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-worktree-merge-attention-tests` | `suite:AgentWorktreeMergeAttentionTests; declaration:8` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0087:testActiveConflictOperationReturnsNilWhenOnlyTerminalOrReviewStatesArePresent` | `AgentMode/AgentWorktreeMergeAttentionTests.swift:21` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-worktree-merge-attention-tests` | `suite:AgentWorktreeMergeAttentionTests; declaration:21` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0088:testSidebarAttentionPrefersMostRecentActiveOperationAndMapsKind` | `AgentMode/AgentWorktreeMergeAttentionTests.swift:33` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-worktree-merge-attention-tests` | `suite:AgentWorktreeMergeAttentionTests; declaration:33` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0089:testSidebarAttentionReturnsNilWhenNoActiveOperationsExist` | `AgentMode/AgentWorktreeMergeAttentionTests.swift:54` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-worktree-merge-attention-tests` | `suite:AgentWorktreeMergeAttentionTests; declaration:54` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0090:testSidebarAttentionMapsAwaitingApprovalAndAwaitingCommitKinds` | `AgentMode/AgentWorktreeMergeAttentionTests.swift:64` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-worktree-merge-attention-tests` | `suite:AgentWorktreeMergeAttentionTests; declaration:64` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0091:testAttentionFromSessionSummaryUsesPersistedFieldsAndKind` | `AgentMode/AgentWorktreeMergeAttentionTests.swift:79` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-worktree-merge-attention-tests` | `suite:AgentWorktreeMergeAttentionTests; declaration:79` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0092:testAttentionFromOperationRoundTripsAllFields` | `AgentMode/AgentWorktreeMergeAttentionTests.swift:109` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-worktree-merge-attention-tests` | `suite:AgentWorktreeMergeAttentionTests; declaration:109` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0093:testToolCardRouterRecognizesManageWorktreeMergeResultWithoutArgs` | `AgentMode/AgentWorktreeMergeAttentionTests.swift:130` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-worktree-merge-attention-tests` | `suite:AgentWorktreeMergeAttentionTests; declaration:130` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0094:testWorktreeMergeCardPresentationMarksConflictedAsWarningWithConflictDetail` | `AgentMode/AgentWorktreeMergeAttentionTests.swift:142` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-worktree-merge-attention-tests` | `suite:AgentWorktreeMergeAttentionTests; declaration:142` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0095:testWorktreeMergeCardPresentationFallsBackOnMissingDtoToNeutral` | `AgentMode/AgentWorktreeMergeAttentionTests.swift:160` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-worktree-merge-attention-tests` | `suite:AgentWorktreeMergeAttentionTests; declaration:160` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0096:testWorktreeMergeCardPresentationReportsFailureWhenToolIsError` | `AgentMode/AgentWorktreeMergeAttentionTests.swift:166` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-worktree-merge-attention-tests` | `suite:AgentWorktreeMergeAttentionTests; declaration:166` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0097:testWorktreeMergeCardPresentationCompletedStatusIsSuccess` | `AgentMode/AgentWorktreeMergeAttentionTests.swift:172` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-worktree-merge-attention-tests` | `suite:AgentWorktreeMergeAttentionTests; declaration:172` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0098:testWorktreeMergeCardPresentationPreviewWithBlockedPreflightWarns` | `AgentMode/AgentWorktreeMergeAttentionTests.swift:188` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.agent-worktree-merge-attention-tests` | `suite:AgentWorktreeMergeAttentionTests; declaration:188` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0099:testOnlyBridgeImportsProviderPackage` | `AgentMode/ClaudeCompatible/ClaudeCompatiblePluginBridgeTests.swift:6` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.claude-compatible.claude-compatible-plugin-bridge-tests` | `suite:ClaudeCompatiblePluginBridgeTests; declaration:6` | structural/deletion guard | architecture/source-shape guard | Dynamically enumerates `Sources/RepoPrompt/**/*.swift`; expects exactly one provider-package importer. | review: structural exception rationale required |
| `R0100:testBridgeRuntimeSmokeMapsPluginIDsDiscoveryRuntimeAndHeadlessAdapters` | `AgentMode/ClaudeCompatible/ClaudeCompatiblePluginBridgeTests.swift:14` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.claude-compatible.claude-compatible-plugin-bridge-tests` | `suite:ClaudeCompatiblePluginBridgeTests; declaration:14` | behavioral coverage | root provider bridge/integration | Table loop: 4 provider/plugin mappings (Claude, GLM, Kimi, custom), then GLM discovery config assertions. | retain (tentative) |
| `R0101:testRootBridgeCatalogRawValueSmokeIsNonMutating` | `AgentMode/ClaudeCompatible/ClaudeCompatiblePluginBridgeTests.swift:54` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.claude-compatible.claude-compatible-plugin-bridge-tests` | `suite:ClaudeCompatiblePluginBridgeTests; declaration:54` | behavioral coverage | root provider bridge/integration | — | retain (tentative) |
| `R0102:testRepoPromptPermissionAutoApprovalAndAllowPayloadPreserveToolUseID` | `AgentMode/ClaudeCompatible/ClaudeNativeApprovalAndResumeTests.swift:6` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.claude-compatible.claude-native-approval-and-resume-tests` | `suite:ClaudeNativeApprovalAndResumeTests; declaration:6` | behavioral coverage | root provider bridge/integration | — | retain (tentative) |
| `R0103:testParserKeepsCommandLivenessAndMetadataContractsInSync` | `AgentMode/Codex/BashToolResultParserRecoveryTests.swift:5` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.codex.bash-tool-result-parser-recovery-tests` | `suite:BashToolResultParserRecoveryTests; declaration:5` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0104:testActiveThreadSnapshotCountsAsWatchdogLivenessAndReconcilesWaitingFlags` | `AgentMode/Codex/CodexAgentModeCoordinatorLivenessTests.swift:7` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.codex.codex-agent-mode-coordinator-liveness-tests` | `suite:CodexAgentModeCoordinatorLivenessTests; declaration:7` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0105:testPendingRequestUserInputSuppressesWatchdogAndPreservesQueue` | `AgentMode/Codex/CodexAgentModeCoordinatorLivenessTests.swift:21` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.codex.codex-agent-mode-coordinator-liveness-tests` | `suite:CodexAgentModeCoordinatorLivenessTests; declaration:21` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0106:testInactiveCommandRunningOutputWithoutAnchorCreatesMinimalAnchorOnly` | `AgentMode/Codex/CodexAgentModeCoordinatorLivenessTests.swift:38` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.codex.codex-agent-mode-coordinator-liveness-tests` | `suite:CodexAgentModeCoordinatorLivenessTests; declaration:38` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0107:testActiveCodexNativeSendWaitsForAgentRunDrainBeforeSending` | `AgentMode/Codex/CodexAgentModeCoordinatorLivenessTests.swift:68` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.codex.codex-agent-mode-coordinator-liveness-tests` | `suite:CodexAgentModeCoordinatorLivenessTests; declaration:68` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0108:testActiveCodexNativeSendFailsWithoutSendingWhenAgentRunDrainFails` | `AgentMode/Codex/CodexAgentModeCoordinatorLivenessTests.swift:100` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.codex.codex-agent-mode-coordinator-liveness-tests` | `suite:CodexAgentModeCoordinatorLivenessTests; declaration:100` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0109:testNormalizedCommandExecutionLifecycleParsesAsBashCallAndResult` | `AgentMode/Codex/CodexNativeSessionControllerEventRecoveryTests.swift:6` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.codex.codex-native-session-controller-event-recovery-tests` | `suite:CodexNativeSessionControllerEventRecoveryTests; declaration:6` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0110:testTabSessionInitializesWithNoPendingAskUserInteraction` | `AgentMode/ContextBuilderAskUserStateTests.swift:6` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.context-builder-ask-user-state-tests` | `suite:ContextBuilderAskUserStateTests; declaration:6` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0111:testTabSessionStoresStructuredPendingAskUserState` | `AgentMode/ContextBuilderAskUserStateTests.swift:14` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.context-builder-ask-user-state-tests` | `suite:ContextBuilderAskUserStateTests; declaration:14` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0112:testRemovedOnlyRecommendationProviderFilterFallsBackToCurrentAllProviders` | `AgentMode/RecommendationProviderFilterNormalizationTests.swift:6` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.recommendation-provider-filter-normalization-tests` | `suite:RecommendationProviderFilterNormalizationTests; declaration:6` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0113:testExplicitEmptyRecommendationProviderFilterStaysEmpty` | `AgentMode/RecommendationProviderFilterNormalizationTests.swift:12` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.recommendation-provider-filter-normalization-tests` | `suite:RecommendationProviderFilterNormalizationTests; declaration:12` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0114:testLegacyAllProvidersShapeFallsBackToCurrentAllProviders` | `AgentMode/RecommendationProviderFilterNormalizationTests.swift:19` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.recommendation-provider-filter-normalization-tests` | `suite:RecommendationProviderFilterNormalizationTests; declaration:19` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0115:testConfirmedOracleSendToolNamesPersistBoundedStructuredSummaries` | `AgentMode/Transcript/AgentToolResultPersistencePolicyTests.swift:5` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.transcript.agent-tool-result-persistence-policy-tests` | `suite:AgentToolResultPersistencePolicyTests; declaration:5` | behavioral coverage | root agent-mode unit/integration | Table loop: 2 equivalent Oracle-send tool names (`ask_oracle`, `oracle_send`). | retain (tentative) |
| `R0116:testOversizedStructuredSummaryFallsBackToMinimalResultJSON` | `AgentMode/Transcript/AgentToolResultPersistencePolicyTests.swift:39` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.transcript.agent-tool-result-persistence-policy-tests` | `suite:AgentToolResultPersistencePolicyTests; declaration:39` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0117:testAgentManagePersistsSmallDeleteAndSkipCounts` | `AgentMode/Transcript/AgentToolResultPersistencePolicyTests.swift:58` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.transcript.agent-tool-result-persistence-policy-tests` | `suite:AgentToolResultPersistencePolicyTests; declaration:58` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0118:testLegacyChatSendNameDoesNotReceiveOracleStructuredPersistence` | `AgentMode/Transcript/AgentToolResultPersistencePolicyTests.swift:82` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.transcript.agent-tool-result-persistence-policy-tests` | `suite:AgentToolResultPersistencePolicyTests; declaration:82` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0119:testCursorACPStructuredSummaryKeepsPrecedenceForAllowedOracleTools` | `AgentMode/Transcript/AgentToolResultPersistencePolicyTests.swift:105` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.transcript.agent-tool-result-persistence-policy-tests` | `suite:AgentToolResultPersistencePolicyTests; declaration:105` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0120:testSummaryOnlyFalseOnlyForPromptExportStructuredMetadata` | `AgentMode/Transcript/AgentToolResultPersistencePolicyTests.swift:136` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.transcript.agent-tool-result-persistence-policy-tests` | `suite:AgentToolResultPersistencePolicyTests; declaration:136` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0121:testEnteredHydratedLiveBottomActivationProducesRemountKey` | `AgentMode/Transcript/AgentTranscriptActivationRepaintRemountPolicyTests.swift:5` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.transcript.agent-transcript-activation-repaint-remount-policy-tests` | `suite:AgentTranscriptActivationRepaintRemountPolicyTests; declaration:5` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0122:testDuplicateRevisionOrExceededLimitSuppressesRemount` | `AgentMode/Transcript/AgentTranscriptActivationRepaintRemountPolicyTests.swift:19` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.transcript.agent-transcript-activation-repaint-remount-policy-tests` | `suite:AgentTranscriptActivationRepaintRemountPolicyTests; declaration:19` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0123:testDetachedOrIdleActivationDoesNotRemount` | `AgentMode/Transcript/AgentTranscriptActivationRepaintRemountPolicyTests.swift:45` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.transcript.agent-transcript-activation-repaint-remount-policy-tests` | `suite:AgentTranscriptActivationRepaintRemountPolicyTests; declaration:45` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0124:testLongActiveCrawlFinalTurnRefreshBenchmarkReport` | `AgentMode/Transcript/AgentTranscriptCrawlRefreshBenchmarkTests.swift:8` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.transcript.agent-transcript-crawl-refresh-benchmark-tests` | `suite:AgentTranscriptCrawlRefreshBenchmarkTests; declaration:8` | diagnostic benchmark | DEBUG opt-in diagnostic harness | Opt-in DEBUG benchmark: 40 tool-result pairs, >=24 KiB payloads, 1 warmup + 9 measured refresh samples; emits report. | review: diagnostic exception rationale required |
| `R0125:testWorkspaceSwitchClearsForegroundBeforeSlowProviderDisposeCompletes` | `AgentMode/WorkspaceSwitchCleanupTests.swift:7` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.workspace-switch-cleanup-tests` | `suite:WorkspaceSwitchCleanupTests; declaration:7` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0126:testWorkspaceSwitchBackgroundCleanupUsesCapturedRunIDAfterForegroundSessionsAreCleared` | `AgentMode/WorkspaceSwitchCleanupTests.swift:27` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.workspace-switch-cleanup-tests` | `suite:WorkspaceSwitchCleanupTests; declaration:27` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0127:testDetachedMCPTeardownDoesNotDeactivateNewLiveControlContextWithSameSessionID` | `AgentMode/WorkspaceSwitchCleanupTests.swift:52` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.workspace-switch-cleanup-tests` | `suite:WorkspaceSwitchCleanupTests; declaration:52` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0128:testDetachedWorkspaceSwitchCleanupDoesNotClearNewSessionOnSameTab` | `AgentMode/WorkspaceSwitchCleanupTests.swift:77` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.workspace-switch-cleanup-tests` | `suite:WorkspaceSwitchCleanupTests; declaration:77` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0129:testSourceBindingResolutionRequiresRepoRootWhenMultipleBindingsExist` | `AgentMode/WorktreeMergeReviewStateTests.swift:5` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.worktree-merge-review-state-tests` | `suite:WorktreeMergeReviewStateTests; declaration:5` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0130:testSourceBindingResolutionBuildsEndpointFromSessionBinding` | `AgentMode/WorktreeMergeReviewStateTests.swift:19` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.worktree-merge-review-state-tests` | `suite:WorktreeMergeReviewStateTests; declaration:19` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0131:testPreviewOperationUpsertAndApprovalStateAreReflectedInRunSnapshot` | `AgentMode/WorktreeMergeReviewStateTests.swift:38` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.worktree-merge-review-state-tests` | `suite:WorktreeMergeReviewStateTests; declaration:38` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0132:testRejectedReviewMarksOperationCancelledWithoutApplyResult` | `AgentMode/WorktreeMergeReviewStateTests.swift:81` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.worktree-merge-review-state-tests` | `suite:WorktreeMergeReviewStateTests; declaration:81` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0133:testAcceptedApplyResultUpdatesCompletedAndConflictedStates` | `AgentMode/WorktreeMergeReviewStateTests.swift:101` | `RepoPromptTests` | `AgentMode` | `root.agent-mode.worktree-merge-review-state-tests` | `suite:WorktreeMergeReviewStateTests; declaration:101` | behavioral coverage | root agent-mode unit/integration | — | retain (tentative) |
| `R0134:testAgentSessionDeepLinkURLRoundTripsAndRejectsInvalidScopedRoutes` | `App/AppPlatformUtilityRecoveryTests.swift:5` | `RepoPromptTests` | `App` | `root.app.app-platform-utility-recovery-tests` | `suite:AppPlatformUtilityRecoveryTests; declaration:5` | behavioral coverage | root app-policy unit | — | retain (tentative) |
| `R0135:testAppcastParserSelectsHighestInlineVersionAndKeepsMetadata` | `App/AppPlatformUtilityRecoveryTests.swift:23` | `RepoPromptTests` | `App` | `root.app.app-platform-utility-recovery-tests` | `suite:AppPlatformUtilityRecoveryTests; declaration:23` | behavioral coverage | root app-policy unit | — | retain (tentative) |
| `R0136:testExtractsQuotedSelfClosingChatName` | `Chat/ChatNameExtractorTests.swift:5` | `RepoPromptTests` | `Chat` | `root.chat.chat-name-extractor-tests` | `suite:ChatNameExtractorTests; declaration:5` | behavioral coverage | root chat unit | — | retain (tentative) |
| `R0137:testExtractsUnquotedNonSelfClosingChatName` | `Chat/ChatNameExtractorTests.swift:13` | `RepoPromptTests` | `Chat` | `root.chat.chat-name-extractor-tests` | `suite:ChatNameExtractorTests; declaration:13` | behavioral coverage | root chat unit | — | retain (tentative) |
| `R0138:testNonMatchReturnsNilAndLeavesContentUnchanged` | `Chat/ChatNameExtractorTests.swift:22` | `RepoPromptTests` | `Chat` | `root.chat.chat-name-extractor-tests` | `suite:ChatNameExtractorTests; declaration:22` | behavioral coverage | root chat unit | — | retain (tentative) |
| `R0139:testEmptyQuotedNameReturnsNilAndLeavesContentUnchanged` | `Chat/ChatNameExtractorTests.swift:32` | `RepoPromptTests` | `Chat` | `root.chat.chat-name-extractor-tests` | `suite:ChatNameExtractorTests; declaration:32` | behavioral coverage | root chat unit | — | retain (tentative) |
| `R0140:testMissingNameReturnsNilAndLeavesContentUnchanged` | `Chat/ChatNameExtractorTests.swift:42` | `RepoPromptTests` | `Chat` | `root.chat.chat-name-extractor-tests` | `suite:ChatNameExtractorTests; declaration:42` | behavioral coverage | root chat unit | — | retain (tentative) |
| `R0141:testPreservesSurroundingContentWhenRemovingSnippet` | `Chat/ChatNameExtractorTests.swift:52` | `RepoPromptTests` | `Chat` | `root.chat.chat-name-extractor-tests` | `suite:ChatNameExtractorTests; declaration:52` | behavioral coverage | root chat unit | — | retain (tentative) |
| `R0142:testCurrentChatSessionSaveLoadUsesCEWorkspaceRoot` | `ChatHistoryJSONOnlyTests.swift:5` | `RepoPromptTests` | `Root` | `root.chat-history-jsononly-tests` | `suite:ChatHistoryJSONOnlyTests; declaration:5` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0143:testStoredMessageOmitsLegacyDelegateAndCombinedTextFields` | `ChatHistoryJSONOnlyTests.swift:26` | `RepoPromptTests` | `Root` | `root.chat-history-jsononly-tests` | `suite:ChatHistoryJSONOnlyTests; declaration:26` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0144:testLegacyDelegateResultPayloadIsIgnoredInsteadOfFlattened` | `ChatHistoryJSONOnlyTests.swift:42` | `RepoPromptTests` | `Root` | `root.chat-history-jsononly-tests` | `suite:ChatHistoryJSONOnlyTests; declaration:42` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0145:testLegacyChatSessionEditPayloadsAreIgnoredOnDecodeAndOmittedOnEncode` | `ChatHistoryJSONOnlyTests.swift:69` | `RepoPromptTests` | `Root` | `root.chat-history-jsononly-tests` | `suite:ChatHistoryJSONOnlyTests; declaration:69` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0146:testCEFixturesMatchGoldenCodeMapDescriptions` | `CodeMap/CodeMapGoldenTests.swift:6` | `RepoPromptTests` | `CodeMap` | `root.code-map.code-map-golden-tests` | `suite:CodeMapGoldenTests; declaration:6` | behavioral coverage | root codemap resource/integration | Golden helper loop: 5 CE fixtures (C, Go, Python, Swift, TypeScript). | retain (tentative) |
| `R0147:testExpandedLanguageFixturesMatchGoldenCodeMapDescriptions` | `CodeMap/CodeMapGoldenTests.swift:12` | `RepoPromptTests` | `CodeMap` | `root.code-map.code-map-golden-tests` | `suite:CodeMapGoldenTests; declaration:12` | behavioral coverage | root codemap resource/integration | Golden helper loop: 5 expanded fixtures (Dart, Java, JavaScript, Ruby, Rust). | retain (tentative) |
| `R0148:testCodeMapEdgeFixturesPreserveExportsTypesAndMethods` | `CodeMap/CodeMapGoldenTests.swift:19` | `RepoPromptTests` | `CodeMap` | `root.code-map.code-map-golden-tests` | `suite:CodeMapGoldenTests; declaration:19` | behavioral coverage | root codemap resource/integration | Golden helper loop: 3 edge fixtures (C++, PHP, TSX). | retain (tentative) |
| `R0149:testSnapshotFileTreeMarksCodeMapFixtures` | `CodeMap/CodeMapGoldenTests.swift:26` | `RepoPromptTests` | `CodeMap` | `root.code-map.code-map-golden-tests` | `suite:CodeMapGoldenTests; declaration:26` | behavioral coverage | root codemap resource/integration | — | retain (tentative) |
| `R0150:testSnapshotFileTreeNoneModeProducesNoOutputOrLegend` | `CodeMap/CodeMapGoldenTests.swift:35` | `RepoPromptTests` | `CodeMap` | `root.code-map.code-map-golden-tests` | `suite:CodeMapGoldenTests; declaration:35` | behavioral coverage | root codemap resource/integration | — | retain (tentative) |
| `R0151:testSnapshotFileTreeSelectedModeStillRendersSelectionAndLegend` | `CodeMap/CodeMapGoldenTests.swift:45` | `RepoPromptTests` | `CodeMap` | `root.code-map.code-map-golden-tests` | `suite:CodeMapGoldenTests; declaration:45` | behavioral coverage | root codemap resource/integration | — | retain (tentative) |
| `R0152:testSnapshotFileTreeAutoModeStillRendersFixtureTree` | `CodeMap/CodeMapGoldenTests.swift:62` | `RepoPromptTests` | `CodeMap` | `root.code-map.code-map-golden-tests` | `suite:CodeMapGoldenTests; declaration:62` | behavioral coverage | root codemap resource/integration | — | retain (tentative) |
| `R0153:testSetCodeMapRejectsMismatchedFileAPI` | `CodeMap/FileViewModelAcceptedCodeMapTests.swift:7` | `RepoPromptTests` | `CodeMap` | `root.code-map.file-view-model-accepted-code-map-tests` | `suite:FileViewModelAcceptedCodeMapTests; declaration:7` | behavioral coverage | root codemap resource/integration | — | retain (tentative) |
| `R0154:testClearAndReplacementInvalidateAcceptedFlag` | `CodeMap/FileViewModelAcceptedCodeMapTests.swift:19` | `RepoPromptTests` | `CodeMap` | `root.code-map.file-view-model-accepted-code-map-tests` | `suite:FileViewModelAcceptedCodeMapTests; declaration:19` | behavioral coverage | root codemap resource/integration | — | retain (tentative) |
| `R0155:testFileTreeRenderingUsesAcceptedFlagWithoutRevalidatingFileAPI` | `CodeMap/FileViewModelAcceptedCodeMapTests.swift:48` | `RepoPromptTests` | `CodeMap` | `root.code-map.file-view-model-accepted-code-map-tests` | `suite:FileViewModelAcceptedCodeMapTests; declaration:48` | behavioral coverage | root codemap resource/integration | — | retain (tentative) |
| `R0156:testModifyChangeAppliesGeneratedDiffChunks` | `Diagnostics/BenchmarkDiffApplierTests.swift:5` | `RepoPromptTests` | `Diagnostics` | `root.diagnostics.benchmark-diff-applier-tests` | `suite:BenchmarkDiffApplierTests; declaration:5` | behavioral coverage | root diagnostics behavior | — | retain (tentative) |
| `R0157:testAdjustsLaterStartLineAfterInsertion` | `Diffing/DiffChunkTextApplierTests.swift:5` | `RepoPromptTests` | `Diffing` | `root.diffing.diff-chunk-text-applier-tests` | `suite:DiffChunkTextApplierTests; declaration:5` | behavioral coverage | root diffing unit | — | retain (tentative) |
| `R0158:testAdjustsLaterStartLineAfterDeletion` | `Diffing/DiffChunkTextApplierTests.swift:25` | `RepoPromptTests` | `Diffing` | `root.diffing.diff-chunk-text-applier-tests` | `suite:DiffChunkTextApplierTests; declaration:25` | behavioral coverage | root diffing unit | — | retain (tentative) |
| `R0159:testPreservesOriginalLineEnding` | `Diffing/DiffChunkTextApplierTests.swift:46` | `RepoPromptTests` | `Diffing` | `root.diffing.diff-chunk-text-applier-tests` | `suite:DiffChunkTextApplierTests; declaration:46` | behavioral coverage | root diffing unit | — | retain (tentative) |
| `R0160:testPreservesOriginalTrailingNewline` | `Diffing/DiffChunkTextApplierTests.swift:64` | `RepoPromptTests` | `Diffing` | `root.diffing.diff-chunk-text-applier-tests` | `suite:DiffChunkTextApplierTests; declaration:64` | behavioral coverage | root diffing unit | — | retain (tentative) |
| `R0161:testReturnsOriginalTextForEmptyChunkInput` | `Diffing/DiffChunkTextApplierTests.swift:81` | `RepoPromptTests` | `Diffing` | `root.diffing.diff-chunk-text-applier-tests` | `suite:DiffChunkTextApplierTests; declaration:81` | behavioral coverage | root diffing unit | — | retain (tentative) |
| `R0162:testAppliesChunksInInputOrder` | `Diffing/DiffChunkTextApplierTests.swift:89` | `RepoPromptTests` | `Diffing` | `root.diffing.diff-chunk-text-applier-tests` | `suite:DiffChunkTextApplierTests; declaration:89` | behavioral coverage | root diffing unit | — | retain (tentative) |
| `R0163:testAppliesDecodedIndentation` | `Diffing/DiffChunkTextApplierTests.swift:107` | `RepoPromptTests` | `Diffing` | `root.diffing.diff-chunk-text-applier-tests` | `suite:DiffChunkTextApplierTests; declaration:107` | behavioral coverage | root diffing unit | — | retain (tentative) |
| `R0164:testExtractFileEntriesPreservesQuotedSpacePathsSelfClosingDeletesAndTruncatedBodies` | `Diffing/DiffParserRecoveryTests.swift:5` | `RepoPromptTests` | `Diffing` | `root.diffing.diff-parser-recovery-tests` | `suite:DiffParserRecoveryTests; declaration:5` | behavioral coverage | root diffing unit | — | retain (tentative) |
| `R0165:testReIndentConvertsBetweenSpacesAndTabsAndAbsorbsLeakedLeadingTabs` | `Diffing/IndentationCorrectionUtilityRecoveryTests.swift:5` | `RepoPromptTests` | `Diffing` | `root.diffing.indentation-correction-utility-recovery-tests` | `suite:IndentationCorrectionUtilityRecoveryTests; declaration:5` | behavioral coverage | root diffing unit | — | retain (tentative) |
| `R0166:testGeneratedDiffHeadersNormalizeAbsolutePathsWithSpacesAndSummarizeCreatesDeletes` | `Diffing/UnifiedDiffGeneratorRecoveryTests.swift:5` | `RepoPromptTests` | `Diffing` | `root.diffing.unified-diff-generator-recovery-tests` | `suite:UnifiedDiffGeneratorRecoveryTests; declaration:5` | behavioral coverage | root diffing unit | — | retain (tentative) |
| `R0167:testBuildFromEditChunksCarriesCumulativeDeltaAcrossSortedHunks` | `Diffing/UnifiedDiffGeneratorRecoveryTests.swift:20` | `RepoPromptTests` | `Diffing` | `root.diffing.unified-diff-generator-recovery-tests` | `suite:UnifiedDiffGeneratorRecoveryTests; declaration:20` | behavioral coverage | root diffing unit | — | retain (tentative) |
| `R0168:testUntargetedStartWithoutModelIDResolvesThroughPairDefault` | `MCP/AgentRunMCPToolServiceStartDefaultTests.swift:7` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-mcptool-service-start-default-tests` | `suite:AgentRunMCPToolServiceStartDefaultTests; declaration:7` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0169:testExplicitTargetTabWithOmittedModelIDPreservesCurrentSelection` | `MCP/AgentRunMCPToolServiceStartDefaultTests.swift:27` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-mcptool-service-start-default-tests` | `suite:AgentRunMCPToolServiceStartDefaultTests; declaration:27` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0170:testWorkflowDefaultDoesNotOverridePairForUntargetedStart` | `MCP/AgentRunMCPToolServiceStartDefaultTests.swift:33` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-mcptool-service-start-default-tests` | `suite:AgentRunMCPToolServiceStartDefaultTests; declaration:33` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0171:testExplicitModelIDTakesPrecedenceOverStartPairDefault` | `MCP/AgentRunMCPToolServiceStartDefaultTests.swift:44` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-mcptool-service-start-default-tests` | `suite:AgentRunMCPToolServiceStartDefaultTests; declaration:44` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0172:testWaitAnyPerSessionSteeringWakeSurfacesAsNonActionableWake` | `MCP/AgentRunMCPToolServiceWaitAnyTests.swift:7` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-mcptool-service-wait-any-tests` | `suite:AgentRunMCPToolServiceWaitAnyTests; declaration:7` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0173:testWaitAnySteeringInterruptValueShapeOmitsNonTerminalAssistantText` | `MCP/AgentRunMCPToolServiceWaitAnyTests.swift:31` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-mcptool-service-wait-any-tests` | `suite:AgentRunMCPToolServiceWaitAnyTests; declaration:31` | behavioral coverage | root MCP unit/integration | Builds and inspects 2 session snapshots; loop verifies omitted assistant text. | retain (tentative) |
| `R0174:testEffectiveWorkspacePathUsesBoundWorktreeForPrimaryRoot` | `MCP/AgentRunWorktreeStartTests.swift:8` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:8` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0175:testEffectiveWorkspacePathPreservesUnboundFallback` | `MCP/AgentRunWorktreeStartTests.swift:17` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:17` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0176:testMissingBoundWorktreeFailsWithRecoveryMessage` | `MCP/AgentRunWorktreeStartTests.swift:25` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:25` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0177:testAgentRunSnapshotIncludesWorktreeBindingFields` | `MCP/AgentRunWorktreeStartTests.swift:46` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:46` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0178:testAgentRunFormatterDisplaysWorktreeContext` | `MCP/AgentRunWorktreeStartTests.swift:79` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:79` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0179:testChildSessionCopiesParentWorktreeBindingsByDefault` | `MCP/AgentRunWorktreeStartTests.swift:119` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:119` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0180:testChildSessionCanSkipParentWorktreeBindingCopy` | `MCP/AgentRunWorktreeStartTests.swift:138` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:138` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0181:testAgentRunStartFromAgentModeRunInheritsParentWorktreeByDefault` | `MCP/AgentRunWorktreeStartTests.swift:157` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:157` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0182:testAgentRunStartInheritWorktreeFalseKeepsParentButSkipsBindingCopy` | `MCP/AgentRunWorktreeStartTests.swift:192` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:192` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0183:testAgentRunStartFromRoutedUISourceParentsAndInheritsWorktree` | `MCP/AgentRunWorktreeStartTests.swift:226` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:226` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0184:testAgentRunStartFromRoutedUISourceInheritWorktreeFalseKeepsParentButSkipsBindingCopy` | `MCP/AgentRunWorktreeStartTests.swift:264` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:264` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0185:testAgentRunTopLevelStartWithoutSpawnSourceRemainsAllowed` | `MCP/AgentRunWorktreeStartTests.swift:301` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:301` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0186:testManualFirstSendCanCreateAndBindNewWorktree` | `MCP/AgentRunWorktreeStartTests.swift:327` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:327` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0187:testManualNewWorktreeFirstSendBlocksForNonGitPrimaryRootWithoutBinding` | `MCP/AgentRunWorktreeStartTests.swift:356` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:356` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0188:testFreshLinkedManualFirstSendCanCreateAndBindNewWorktreeInPlace` | `MCP/AgentRunWorktreeStartTests.swift:380` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:380` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0189:testFreshLinkedManualNewWorktreeFirstSendBlocksForNonGitPrimaryRootInPlace` | `MCP/AgentRunWorktreeStartTests.swift:416` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:416` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0190:testManualFirstSendListsAndBindsExistingPrimaryRepositoryWorktree` | `MCP/AgentRunWorktreeStartTests.swift:451` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:451` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0191:testIdleStartedThreadRequiresRestartConfirmationBeforeReturningLocalAndClearsOldCWDProviderIdentity` | `MCP/AgentRunWorktreeStartTests.swift:483` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:483` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0192:testStartedThreadCanCreateNewWorktreeAndReplacePrimaryBinding` | `MCP/AgentRunWorktreeStartTests.swift:522` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:522` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0193:testStartedThreadCanSwitchAgainWhileRecoveryHandoffWaitsForNextSend` | `MCP/AgentRunWorktreeStartTests.swift:553` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:553` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0194:testDeferredPendingHandoffStillBlocksStartedThreadLocationChange` | `MCP/AgentRunWorktreeStartTests.swift:601` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:601` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0195:testActiveStartedThreadRequiresConfirmationAndNeverCommitsStaleIdentityMidSwitch` | `MCP/AgentRunWorktreeStartTests.swift:626` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:626` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0196:testExternalPrimaryRebindRejectsDuringActiveRunWithoutDroppingOldIdentity` | `MCP/AgentRunWorktreeStartTests.swift:679` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:679` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0197:testAgentRunStartExplicitWorktreeIDOverridesInheritedBinding` | `MCP/AgentRunWorktreeStartTests.swift:708` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:708` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0198:testAgentRunStartInheritWorktreeFalseStillBindsExplicitWorktreeID` | `MCP/AgentRunWorktreeStartTests.swift:756` | `RepoPromptTests` | `MCP` | `root.mcp.agent-run-worktree-start-tests` | `suite:AgentRunWorktreeStartTests; declaration:756` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0199:testRewriteUpdatesTextAndVerboseDiff` | `MCP/ApplyEdits/ApplyEditsCoreRecoveryTests.swift:8` | `RepoPromptTests` | `MCP` | `root.mcp.apply-edits.apply-edits-core-recovery-tests` | `suite:ApplyEditsCoreRecoveryTests; declaration:8` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0200:testSingleReplaceSupportsEscapedSearchFallback` | `MCP/ApplyEdits/ApplyEditsCoreRecoveryTests.swift:29` | `RepoPromptTests` | `MCP` | `root.mcp.apply-edits.apply-edits-core-recovery-tests` | `suite:ApplyEditsCoreRecoveryTests; declaration:29` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0201:testBatchLiteralFastPathReturnsNoteAndVerboseOutcomes` | `MCP/ApplyEdits/ApplyEditsCoreRecoveryTests.swift:48` | `RepoPromptTests` | `MCP` | `root.mcp.apply-edits.apply-edits-core-recovery-tests` | `suite:ApplyEditsCoreRecoveryTests; declaration:48` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0202:testBatchDiffFallbackReportsSuccessOutcomes` | `MCP/ApplyEdits/ApplyEditsCoreRecoveryTests.swift:67` | `RepoPromptTests` | `MCP` | `root.mcp.apply-edits.apply-edits-core-recovery-tests` | `suite:ApplyEditsCoreRecoveryTests; declaration:67` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0203:testBatchDiffFallbackReportsPartialOutcomes` | `MCP/ApplyEdits/ApplyEditsCoreRecoveryTests.swift:90` | `RepoPromptTests` | `MCP` | `root.mcp.apply-edits.apply-edits-core-recovery-tests` | `suite:ApplyEditsCoreRecoveryTests; declaration:90` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0204:testEmptyGeneratedChunksFailThroughApplyEditsInternalError` | `MCP/ApplyEdits/ApplyEditsCoreRecoveryTests.swift:115` | `RepoPromptTests` | `MCP` | `root.mcp.apply-edits.apply-edits-core-recovery-tests` | `suite:ApplyEditsCoreRecoveryTests; declaration:115` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0205:testRequestBuilderAcceptsBatchPayloadShapes` | `MCP/ApplyEdits/ApplyEditsCoreRecoveryTests.swift:135` | `RepoPromptTests` | `MCP` | `root.mcp.apply-edits.apply-edits-core-recovery-tests` | `suite:ApplyEditsCoreRecoveryTests; declaration:135` | behavioral coverage | root MCP unit/integration | Table loop: 4 accepted payload shapes (array, object, JSON string, wrapped args JSON). | retain (tentative) |
| `R0206:testCanonicalCEPathCommandNames` | `MCP/CECLINamingAndRoutingTests.swift:6` | `RepoPromptTests` | `MCP` | `root.mcp.ceclinaming-and-routing-tests` | `suite:CECLINamingAndRoutingTests; declaration:6` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0207:testUserSpaceSymlinkPathUsesApplicationSupport` | `MCP/CECLINamingAndRoutingTests.swift:15` | `RepoPromptTests` | `MCP` | `root.mcp.ceclinaming-and-routing-tests` | `suite:CECLINamingAndRoutingTests; declaration:15` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0208:testClaudeRPCEWrapperMarkerDetection` | `MCP/CECLINamingAndRoutingTests.swift:27` | `RepoPromptTests` | `MCP` | `root.mcp.ceclinaming-and-routing-tests` | `suite:CECLINamingAndRoutingTests; declaration:27` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0209:testNamedSourcesDoNotAdvertiseStaleDebugCommandNames` | `MCP/CECLINamingAndRoutingTests.swift:35` | `RepoPromptTests` | `MCP` | `root.mcp.ceclinaming-and-routing-tests` | `suite:CECLINamingAndRoutingTests; declaration:35` | structural/deletion guard | architecture/source-shape guard | Source-shape enumeration: 8 fixed sources + dynamic workflow-prompt sources checked against 7 stale names. | review: structural exception rationale required |
| `R0210:testManageWorktreeIsExposedInCECLISurfaces` | `MCP/CECLINamingAndRoutingTests.swift:74` | `RepoPromptTests` | `MCP` | `root.mcp.ceclinaming-and-routing-tests` | `suite:CECLINamingAndRoutingTests; declaration:74` | structural/deletion guard | architecture/source-shape guard | — | review: structural exception rationale required |
| `R0211:testProviderNeutralWorkflowPromptSourcesReplacedLegacyWorkflowPromptFile` | `MCP/CECLINamingAndRoutingTests.swift:109` | `RepoPromptTests` | `MCP` | `root.mcp.ceclinaming-and-routing-tests` | `suite:CECLINamingAndRoutingTests; declaration:109` | structural/deletion guard | architecture/source-shape guard | Dynamically enumerates `Sources/RepoPrompt/**/*.swift` for removed namespace references. | review: structural exception rationale required |
| `R0212:testDiscoveryEnsureWritesBareRepoPromptCEServerHeader` | `MCP/CodexIntegration/CodexIntegrationConfigurationTests.swift:39` | `RepoPromptTests` | `MCP` | `root.mcp.codex-integration.codex-integration-configuration-tests` | `suite:CodexIntegrationConfigurationTests; declaration:39` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0213:testRepoPromptCEServerEntryProducesBareCodexOverrideKeysForExactName` | `MCP/CodexIntegration/CodexIntegrationConfigurationTests.swift:63` | `RepoPromptTests` | `MCP` | `root.mcp.codex-integration.codex-integration-configuration-tests` | `suite:CodexIntegrationConfigurationTests; declaration:63` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0214:testMCPServerEntryParserHandlesQuotedBareAndNestedHeaders` | `MCP/CodexIntegration/CodexIntegrationConfigurationTests.swift:99` | `RepoPromptTests` | `MCP` | `root.mcp.codex-integration.codex-integration-configuration-tests` | `suite:CodexIntegrationConfigurationTests; declaration:99` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0215:testRepoPromptNestedSubsectionDoesNotCountAsServerBlock` | `MCP/CodexIntegration/CodexIntegrationConfigurationTests.swift:123` | `RepoPromptTests` | `MCP` | `root.mcp.codex-integration.codex-integration-configuration-tests` | `suite:CodexIntegrationConfigurationTests; declaration:123` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0216:testPersistentMutationPreservesUnderscoredGlobalLimitAndStripsServerLevelLimit` | `MCP/CodexIntegration/CodexIntegrationConfigurationTests.swift:135` | `RepoPromptTests` | `MCP` | `root.mcp.codex-integration.codex-integration-configuration-tests` | `suite:CodexIntegrationConfigurationTests; declaration:135` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0217:testPersistentMutationRepairsDuplicateValidGlobalsPreservingFirst` | `MCP/CodexIntegration/CodexIntegrationConfigurationTests.swift:157` | `RepoPromptTests` | `MCP` | `root.mcp.codex-integration.codex-integration-configuration-tests` | `suite:CodexIntegrationConfigurationTests; declaration:157` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0218:testPersistentMutationAddsGlobalLimitWhenExistingNumericIsQuoted` | `MCP/CodexIntegration/CodexIntegrationConfigurationTests.swift:172` | `RepoPromptTests` | `MCP` | `root.mcp.codex-integration.codex-integration-configuration-tests` | `suite:CodexIntegrationConfigurationTests; declaration:172` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0219:testPersistentMutationIsIdempotentAfterRepair` | `MCP/CodexIntegration/CodexIntegrationConfigurationTests.swift:188` | `RepoPromptTests` | `MCP` | `root.mcp.codex-integration.codex-integration-configuration-tests` | `suite:CodexIntegrationConfigurationTests; declaration:188` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0220:testToolTimeoutMutationHandlesCommandCommentsAndUnderscoredTimeout` | `MCP/CodexIntegration/CodexIntegrationConfigurationTests.swift:208` | `RepoPromptTests` | `MCP` | `root.mcp.codex-integration.codex-integration-configuration-tests` | `suite:CodexIntegrationConfigurationTests; declaration:208` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0221:testToolTimeoutMutationAcceptsIntegerRadixAndSignVariants` | `MCP/CodexIntegration/CodexIntegrationConfigurationTests.swift:225` | `RepoPromptTests` | `MCP` | `root.mcp.codex-integration.codex-integration-configuration-tests` | `suite:CodexIntegrationConfigurationTests; declaration:225` | behavioral coverage | root MCP unit/integration | Table loop: 4 integer spellings (signed decimal, hex, octal, binary). | retain (tentative) |
| `R0222:testToolTimeoutMutationRejectsQuotedNumericTimeout` | `MCP/CodexIntegration/CodexIntegrationConfigurationTests.swift:251` | `RepoPromptTests` | `MCP` | `root.mcp.codex-integration.codex-integration-configuration-tests` | `suite:CodexIntegrationConfigurationTests; declaration:251` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0223:testBindContextParsesWorkingDirsAndPrefersSelectedWindow` | `MCP/Control/BindContextRoutingRecoveryTests.swift:7` | `RepoPromptTests` | `MCP` | `root.mcp.control.bind-context-routing-recovery-tests` | `suite:BindContextRoutingRecoveryTests; declaration:7` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0224:testBindContextParsesReadOnlyOperationsWithoutSelectors` | `MCP/Control/BindContextRoutingRecoveryTests.swift:34` | `RepoPromptTests` | `MCP` | `root.mcp.control.bind-context-routing-recovery-tests` | `suite:BindContextRoutingRecoveryTests; declaration:34` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0225:testBindContextParsesCommaSeparatedWorkingDirs` | `MCP/Control/BindContextRoutingRecoveryTests.swift:44` | `RepoPromptTests` | `MCP` | `root.mcp.control.bind-context-routing-recovery-tests` | `suite:BindContextRoutingRecoveryTests; declaration:44` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0226:testBindContextRejectsMultiplePrimarySelectors` | `MCP/Control/BindContextRoutingRecoveryTests.swift:54` | `RepoPromptTests` | `MCP` | `root.mcp.control.bind-context-routing-recovery-tests` | `suite:BindContextRoutingRecoveryTests; declaration:54` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0227:testBindContextRejectsCreateIfMissingWithoutWorkingDirs` | `MCP/Control/BindContextRoutingRecoveryTests.swift:62` | `RepoPromptTests` | `MCP` | `root.mcp.control.bind-context-routing-recovery-tests` | `suite:BindContextRoutingRecoveryTests; declaration:62` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0228:testMCPConnectionManagerHasNoIncompleteBindContextFastPath` | `MCP/Control/BindContextRoutingRecoveryTests.swift:70` | `RepoPromptTests` | `MCP` | `root.mcp.control.bind-context-routing-recovery-tests` | `suite:BindContextRoutingRecoveryTests; declaration:70` | structural/deletion guard | architecture/source-shape guard | — | review: structural exception rationale required |
| `R0229:testStandardWorkspaceSwitchBindsConnectionOnlyWhenWindowIDIsExplicit` | `MCP/Control/BindContextRoutingRecoveryTests.swift:76` | `RepoPromptTests` | `MCP` | `root.mcp.control.bind-context-routing-recovery-tests` | `suite:BindContextRoutingRecoveryTests; declaration:76` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0230:testMCPConnectionManagerHasNoUnsafeRegisteredServicesSnapshot` | `MCP/Control/BindContextRoutingRecoveryTests.swift:81` | `RepoPromptTests` | `MCP` | `root.mcp.control.bind-context-routing-recovery-tests` | `suite:BindContextRoutingRecoveryTests; declaration:81` | structural/deletion guard | architecture/source-shape guard | — | review: structural exception rationale required |
| `R0231:testTerminateNotificationJSONLineRoundTrips` | `MCP/Control/MCPControlMessagesTests.swift:6` | `RepoPromptTests` | `MCP` | `root.mcp.control.mcpcontrol-messages-tests` | `suite:MCPControlMessagesTests; declaration:6` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0232:testRunCompletedNotificationJSONLineRoundTrips` | `MCP/Control/MCPControlMessagesTests.swift:32` | `RepoPromptTests` | `MCP` | `root.mcp.control.mcpcontrol-messages-tests` | `suite:MCPControlMessagesTests; declaration:32` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0233:testProgressNotificationJSONLineRoundTripsWithStringDate` | `MCP/Control/MCPControlMessagesTests.swift:58` | `RepoPromptTests` | `MCP` | `root.mcp.control.mcpcontrol-messages-tests` | `suite:MCPControlMessagesTests; declaration:58` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0234:testKillSignalPayloadPathAndJSONRoundTrip` | `MCP/Control/MCPControlMessagesTests.swift:88` | `RepoPromptTests` | `MCP` | `root.mcp.control.mcpcontrol-messages-tests` | `suite:MCPControlMessagesTests; declaration:88` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0235:testRepoPromptCLIClientNamesAreRecognizedForVerificationOnly` | `MCP/Control/ServerControllerAdmissionTests.swift:5` | `RepoPromptTests` | `MCP` | `root.mcp.control.server-controller-admission-tests` | `suite:ServerControllerAdmissionTests; declaration:5` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0236:testDefaultAllowListDoesNotIncludeRepoPromptCLI` | `MCP/Control/ServerControllerAdmissionTests.swift:16` | `RepoPromptTests` | `MCP` | `root.mcp.control.server-controller-admission-tests` | `suite:ServerControllerAdmissionTests; declaration:16` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0237:testSanitizerRemovesPersistedRepoPromptCLIAllowListEntries` | `MCP/Control/ServerControllerAdmissionTests.swift:28` | `RepoPromptTests` | `MCP` | `root.mcp.control.server-controller-admission-tests` | `suite:ServerControllerAdmissionTests; declaration:28` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0238:testDebugWorkspaceSelectionFixtureSlicesAcceptsEmptyArrayAndEmptyObject` | `MCP/DebugSelectionFixtureParserTests.swift:6` | `RepoPromptTests` | `MCP` | `root.mcp.debug-selection-fixture-parser-tests` | `suite:DebugSelectionFixtureParserTests; declaration:6` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0239:testDebugWorkspaceSelectionFixtureSlicesAcceptsObjectMapping` | `MCP/DebugSelectionFixtureParserTests.swift:21` | `RepoPromptTests` | `MCP` | `root.mcp.debug-selection-fixture-parser-tests` | `suite:DebugSelectionFixtureParserTests; declaration:21` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0240:testOracleExportInstructionQuotesExactAbsolutePathLiteral` | `MCP/GeneratedOracleExportFileWriterTests.swift:7` | `RepoPromptTests` | `MCP` | `root.mcp.generated-oracle-export-file-writer-tests` | `suite:GeneratedOracleExportFileWriterTests; declaration:7` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0241:testGeneratedExportWriterReturnsPathImmediatelyReadableByReadFileSemantics` | `MCP/GeneratedOracleExportFileWriterTests.swift:25` | `RepoPromptTests` | `MCP` | `root.mcp.generated-oracle-export-file-writer-tests` | `suite:GeneratedOracleExportFileWriterTests; declaration:25` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0242:testGeneratedExportWriterRejectsUnloadedPrimaryRootWithoutDirectFileManagerFallback` | `MCP/GeneratedOracleExportFileWriterTests.swift:57` | `RepoPromptTests` | `MCP` | `root.mcp.generated-oracle-export-file-writer-tests` | `suite:GeneratedOracleExportFileWriterTests; declaration:57` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0243:testGeneratedExportWriterRejectsIgnoredExportPathAsUnreadable` | `MCP/GeneratedOracleExportFileWriterTests.swift:82` | `RepoPromptTests` | `MCP` | `root.mcp.generated-oracle-export-file-writer-tests` | `suite:GeneratedOracleExportFileWriterTests; declaration:82` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0244:testGeneratedExportWriterCleansUpSymlinkedExportPathFailure` | `MCP/GeneratedOracleExportFileWriterTests.swift:114` | `RepoPromptTests` | `MCP` | `root.mcp.generated-oracle-export-file-writer-tests` | `suite:GeneratedOracleExportFileWriterTests; declaration:114` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0245:testCachedDisplayPathResolverPreservesRepeatedMatchesAndAllRootFallbackAliases` | `MCP/MCPFileSearchDisplayPathTests.swift:5` | `RepoPromptTests` | `MCP` | `root.mcp.mcpfile-search-display-path-tests` | `suite:MCPFileSearchDisplayPathTests; declaration:5` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0246:testWorktreeManageCapabilityIsSeparateFromGitRead` | `MCP/ManageWorktreeToolServiceTests.swift:7` | `RepoPromptTests` | `MCP` | `root.mcp.manage-worktree-tool-service-tests` | `suite:ManageWorktreeToolServiceTests; declaration:7` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0247:testManageWorktreeUsesMigratedRoutingCompatibility` | `MCP/ManageWorktreeToolServiceTests.swift:14` | `RepoPromptTests` | `MCP` | `root.mcp.manage-worktree-tool-service-tests` | `suite:ManageWorktreeToolServiceTests; declaration:14` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0248:testCatalogPlacesManageWorktreeImmediatelyAfterGit` | `MCP/ManageWorktreeToolServiceTests.swift:19` | `RepoPromptTests` | `MCP` | `root.mcp.manage-worktree-tool-service-tests` | `suite:ManageWorktreeToolServiceTests; declaration:19` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0249:testManageWorktreeSchemaIncludesMergeOpsAndFields` | `MCP/ManageWorktreeToolServiceTests.swift:30` | `RepoPromptTests` | `MCP` | `root.mcp.manage-worktree-tool-service-tests` | `suite:ManageWorktreeToolServiceTests; declaration:30` | behavioral coverage | root MCP unit/integration | Schema table loop: 5 merge operations and 8 fields. | retain (tentative) |
| `R0250:testManageWorktreeReplyEncodesSnakeCaseVisualBindingFields` | `MCP/ManageWorktreeToolServiceTests.swift:44` | `RepoPromptTests` | `MCP` | `root.mcp.manage-worktree-tool-service-tests` | `suite:ManageWorktreeToolServiceTests; declaration:44` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0251:testManageWorktreeMergeReplyNestsMergeBlock` | `MCP/ManageWorktreeToolServiceTests.swift:86` | `RepoPromptTests` | `MCP` | `root.mcp.manage-worktree-tool-service-tests` | `suite:ManageWorktreeToolServiceTests; declaration:86` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0252:testFormatterShowsListVisualIdentityAndBoundedGraph` | `MCP/ManageWorktreeToolServiceTests.swift:117` | `RepoPromptTests` | `MCP` | `root.mcp.manage-worktree-tool-service-tests` | `suite:ManageWorktreeToolServiceTests; declaration:117` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0253:testFormatterShowsPreviousBindingOnReplace` | `MCP/ManageWorktreeToolServiceTests.swift:150` | `RepoPromptTests` | `MCP` | `root.mcp.manage-worktree-tool-service-tests` | `suite:ManageWorktreeToolServiceTests; declaration:150` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0254:testBindingResolverResolvesExplicitContextID` | `MCP/TabContextRoutingTests.swift:7` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:7` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0255:testBindingResolverResolvesLegacyTabIDAlias` | `MCP/TabContextRoutingTests.swift:27` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:27` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0256:testBindingResolverUsesRequestedWindowIDToDisambiguateMultiWindowContext` | `MCP/TabContextRoutingTests.swift:46` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:46` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0257:testBindingResolverRejectsMultiWindowContextWithoutWindowDisambiguation` | `MCP/TabContextRoutingTests.swift:68` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:68` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0258:testBindingResolverRejectsConflictingContextIDAndLegacyTabID` | `MCP/TabContextRoutingTests.swift:92` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:92` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0259:testPendingRunScopedStoreRequiresExactRunHint` | `MCP/TabContextRoutingTests.swift:110` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:110` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0260:testRunHandoverRequiresExactForwardAndReverseMapping` | `MCP/TabContextRoutingTests.swift:147` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:147` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0261:testActiveTabCompatibilityDecisionAllowsOnlyLegacyNonRunScopedCallers` | `MCP/TabContextRoutingTests.swift:171` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:171` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0262:testDisabledActiveTabCompatibilityGuidanceMentionsBindContext` | `MCP/TabContextRoutingTests.swift:219` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:219` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0263:testConnectionManagerRoutingPoliciesKeepRunScopedToolsOutOfLegacyGenericBinding` | `MCP/TabContextRoutingTests.swift:226` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:226` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0264:testBindContextParticipatesInHiddenWindowRoutingWithoutImplicitPublicInjection` | `MCP/TabContextRoutingTests.swift:235` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:235` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0265:testMigratedToolContextPreResolutionPersistsWindowAffinity` | `MCP/TabContextRoutingTests.swift:243` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:243` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0266:testRunlessBindingReleaseCanPreserveConnectionRunHintForPendingExactMatch` | `MCP/TabContextRoutingTests.swift:253` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:253` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0267:testRunlessBindingReleaseDropsConnectionRunHintWhenNotPreserved` | `MCP/TabContextRoutingTests.swift:268` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:268` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0268:testSpawnSourceUsesResolvedTabContextSnapshot` | `MCP/TabContextRoutingTests.swift:285` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:285` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0269:testValidateAgentRunStartRoutingRejectsCachedNestedOriginWhenRehydrationCannotRestoreSource` | `MCP/TabContextRoutingTests.swift:315` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:315` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0270:testAgentRunStartWithoutSourceFailsClosedWhenNestedIdentityWasLostDuringRehydration` | `MCP/TabContextRoutingTests.swift:352` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:352` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0271:testAgentRunStartWithoutSourceStillAllowsLegitimateTopLevelOrigin` | `MCP/TabContextRoutingTests.swift:370` | `RepoPromptTests` | `MCP` | `root.mcp.tab-context-routing-tests` | `suite:TabContextRoutingTests; declaration:370` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0272:testWindowToolCatalogSignatureMatchesGolden` | `MCP/ToolCatalogSnapshotTests.swift:9` | `RepoPromptTests` | `MCP` | `root.mcp.tool-catalog-snapshot-tests` | `suite:ToolCatalogSnapshotTests; declaration:9` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0273:testProductionRegistrationUsesCatalogServiceNotViewModel` | `MCP/ToolCatalogSnapshotTests.swift:37` | `RepoPromptTests` | `MCP` | `root.mcp.tool-catalog-snapshot-tests` | `suite:ToolCatalogSnapshotTests; declaration:37` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0274:testWorktreePublicAPISchemaFieldsRemainAdvertised` | `MCP/ToolCatalogSnapshotTests.swift:53` | `RepoPromptTests` | `MCP` | `root.mcp.tool-catalog-snapshot-tests` | `suite:ToolCatalogSnapshotTests; declaration:53` | behavioral coverage | root MCP unit/integration | Schema tables: 8 general manage-worktree fields, 8 merge fields, 11 agent-run worktree fields. | retain (tentative) |
| `R0275:testCreateOutputIncludesUsefulNextStepCommands` | `MCP/ToolOutputFormatterWorktreeTests.swift:7` | `RepoPromptTests` | `MCP` | `root.mcp.tool-output-formatter-worktree-tests` | `suite:ToolOutputFormatterWorktreeTests; declaration:7` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0276:testBindOutputIncludesPreviousBindingAndNextStepCommands` | `MCP/ToolOutputFormatterWorktreeTests.swift:23` | `RepoPromptTests` | `MCP` | `root.mcp.tool-output-formatter-worktree-tests` | `suite:ToolOutputFormatterWorktreeTests; declaration:23` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0277:testGraphDTOEncodesInspectableMetadata` | `MCP/ToolOutputFormatterWorktreeTests.swift:41` | `RepoPromptTests` | `MCP` | `root.mcp.tool-output-formatter-worktree-tests` | `suite:ToolOutputFormatterWorktreeTests; declaration:41` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0278:testMergePreviewOutputUsesManageWorktreeHeaderAndNestedMergeBlock` | `MCP/ToolOutputFormatterWorktreeTests.swift:62` | `RepoPromptTests` | `MCP` | `root.mcp.tool-output-formatter-worktree-tests` | `suite:ToolOutputFormatterWorktreeTests; declaration:62` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0279:testMergeConflictOutputShowsConflictsAndContinueActions` | `MCP/ToolOutputFormatterWorktreeTests.swift:78` | `RepoPromptTests` | `MCP` | `root.mcp.tool-output-formatter-worktree-tests` | `suite:ToolOutputFormatterWorktreeTests; declaration:78` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0280:testFileTreeOutputShowsSessionBoundWorktreeScope` | `MCP/ToolOutputFormatterWorktreeTests.swift:99` | `RepoPromptTests` | `MCP` | `root.mcp.tool-output-formatter-worktree-tests` | `suite:ToolOutputFormatterWorktreeTests; declaration:99` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0281:testFileSearchOutputShowsSessionBoundWorktreeScope` | `MCP/ToolOutputFormatterWorktreeTests.swift:113` | `RepoPromptTests` | `MCP` | `root.mcp.tool-output-formatter-worktree-tests` | `suite:ToolOutputFormatterWorktreeTests; declaration:113` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0282:testReadFileOutputShowsSessionBoundWorktreeScope` | `MCP/ToolOutputFormatterWorktreeTests.swift:132` | `RepoPromptTests` | `MCP` | `root.mcp.tool-output-formatter-worktree-tests` | `suite:ToolOutputFormatterWorktreeTests; declaration:132` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0283:testWorkspaceContextOutputShowsSingleWorktreeScopeBlock` | `MCP/ToolOutputFormatterWorktreeTests.swift:149` | `RepoPromptTests` | `MCP` | `root.mcp.tool-output-formatter-worktree-tests` | `suite:ToolOutputFormatterWorktreeTests; declaration:149` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0284:testAgentRunOutputShowsWorktreeSummaryAndUnavailableState` | `MCP/ToolOutputFormatterWorktreeTests.swift:177` | `RepoPromptTests` | `MCP` | `root.mcp.tool-output-formatter-worktree-tests` | `suite:ToolOutputFormatterWorktreeTests; declaration:177` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0285:testManageWorktreeAndAgentRunAPISmokeFlow` | `MCP/WorktreeAPISmokeHarnessTests.swift:8` | `RepoPromptTests` | `MCP` | `root.mcp.worktree-apismoke-harness-tests` | `suite:WorktreeAPISmokeHarnessTests; declaration:8` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0286:testManageWorktreeMergePreviewCleanApplyRawAndFormattedContract` | `MCP/WorktreeAPISmokeHarnessTests.swift:112` | `RepoPromptTests` | `MCP` | `root.mcp.worktree-apismoke-harness-tests` | `suite:WorktreeAPISmokeHarnessTests; declaration:112` | behavioral coverage | root MCP unit/integration | — | retain (tentative) |
| `R0287:testDefaultPresetPathsUseCESupportRoot` | `PresetJSONOnlyPersistenceTests.swift:6` | `RepoPromptTests` | `Root` | `root.preset-jsononly-persistence-tests` | `suite:PresetJSONOnlyPersistenceTests; declaration:6` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0288:testMissingPresetJSONCreatesEmptyDocumentsAndIgnoresLegacyDefaults` | `PresetJSONOnlyPersistenceTests.swift:15` | `RepoPromptTests` | `Root` | `root.preset-jsononly-persistence-tests` | `suite:PresetJSONOnlyPersistenceTests; declaration:15` | behavioral coverage | root persistence/integration | Fixture breadth: seeds 4 legacy defaults and verifies they are ignored. | retain (tentative) |
| `R0289:testPresetSaveWritesJSONOnlyAndDoesNotWriteLegacyMirrorKeys` | `PresetJSONOnlyPersistenceTests.swift:39` | `RepoPromptTests` | `Root` | `root.preset-jsononly-persistence-tests` | `suite:PresetJSONOnlyPersistenceTests; declaration:39` | behavioral coverage | root persistence/integration | Fixture breadth: verifies absence of 10 legacy mirror/default keys after save. | retain (tentative) |
| `R0290:testCorruptPresetJSONIsBackedUpAndReplacedWithEmptyDocument` | `PresetJSONOnlyPersistenceTests.swift:72` | `RepoPromptTests` | `Root` | `root.preset-jsononly-persistence-tests` | `suite:PresetJSONOnlyPersistenceTests; declaration:72` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0291:testFuturePresetSchemaIsPreservedAndNotOverwritten` | `PresetJSONOnlyPersistenceTests.swift:94` | `RepoPromptTests` | `Root` | `root.preset-jsononly-persistence-tests` | `suite:PresetJSONOnlyPersistenceTests; declaration:94` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0292:testDirectFuturePresetDocumentLoadProtectsLaterSave` | `PresetJSONOnlyPersistenceTests.swift:114` | `RepoPromptTests` | `Root` | `root.preset-jsononly-persistence-tests` | `suite:PresetJSONOnlyPersistenceTests; declaration:114` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0293:testExactSelectedFilesPreserveStoredSelectionOrderAfterBatchLookupAndConcurrentReads` | `Prompt/PromptContextAccountingServiceTests.swift:14` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-context-accounting-service-tests` | `suite:PromptContextAccountingServiceTests; declaration:14` | behavioral coverage | root prompt unit/integration | — | retain (tentative) |
| `R0294:testDuplicateSelectedPathsPreserveExistingEntryDedupOrder` | `Prompt/PromptContextAccountingServiceTests.swift:41` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-context-accounting-service-tests` | `suite:PromptContextAccountingServiceTests; declaration:41` | behavioral coverage | root prompt unit/integration | — | retain (tentative) |
| `R0295:testSelectedCodemapUsageDoesNotLoadContentWhenCodemapExists` | `Prompt/PromptContextAccountingServiceTests.swift:66` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-context-accounting-service-tests` | `suite:PromptContextAccountingServiceTests; declaration:66` | behavioral coverage | root prompt unit/integration | — | retain (tentative) |
| `R0296:testMissingSelectedPathsRemainMissingAndInvalidPathsRemainEmpty` | `Prompt/PromptContextAccountingServiceTests.swift:96` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-context-accounting-service-tests` | `suite:PromptContextAccountingServiceTests; declaration:96` | behavioral coverage | root prompt unit/integration | — | retain (tentative) |
| `R0297:testExpandedSelectedFolderFilesRemainRelativePathOrderedWithContents` | `Prompt/PromptContextAccountingServiceTests.swift:119` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-context-accounting-service-tests` | `suite:PromptContextAccountingServiceTests; declaration:119` | behavioral coverage | root prompt unit/integration | — | retain (tentative) |
| `R0298:testNoneModeDoesNotRenderFileTreeEvenWhenIncluded` | `Prompt/PromptContextResolvedFileTreeTests.swift:5` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-context-resolved-file-tree-tests` | `suite:PromptContextResolvedFileTreeTests; declaration:5` | behavioral coverage | root prompt unit/integration | — | retain (tentative) |
| `R0299:testDisabledFileTreeForcesEffectiveNoneMode` | `Prompt/PromptContextResolvedFileTreeTests.swift:11` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-context-resolved-file-tree-tests` | `suite:PromptContextResolvedFileTreeTests; declaration:11` | behavioral coverage | root prompt unit/integration | — | retain (tentative) |
| `R0300:testSelectedAndAutoModesRenderWhenIncluded` | `Prompt/PromptContextResolvedFileTreeTests.swift:18` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-context-resolved-file-tree-tests` | `suite:PromptContextResolvedFileTreeTests; declaration:18` | behavioral coverage | root prompt unit/integration | — | retain (tentative) |
| `R0301:testMissingCopyPresetSelectionFallsBackToDocumentedStandardDefault` | `Prompt/PromptMigrationRemovalTests.swift:6` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-migration-removal-tests` | `suite:PromptMigrationRemovalTests; declaration:6` | behavioral coverage | root prompt unit/integration | — | retain (tentative) |
| `R0302:testPromptSectionOrderUsesValidStoredOrderWithoutOldDefaultMigration` | `Prompt/PromptMigrationRemovalTests.swift:11` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-migration-removal-tests` | `suite:PromptMigrationRemovalTests; declaration:11` | behavioral coverage | root prompt unit/integration | — | retain (tentative) |
| `R0303:testLegacyDiffFormattingSectionFallsBackToCurrentDefault` | `Prompt/PromptMigrationRemovalTests.swift:19` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-migration-removal-tests` | `suite:PromptMigrationRemovalTests; declaration:19` | behavioral coverage | root prompt unit/integration | — | retain (tentative) |
| `R0304:testPromptSectionOrderFallsBackToCurrentDefaultForMissingOrInvalidOrder` | `Prompt/PromptMigrationRemovalTests.swift:26` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-migration-removal-tests` | `suite:PromptMigrationRemovalTests; declaration:26` | behavioral coverage | root prompt unit/integration | — | retain (tentative) |
| `R0305:testLegacyCopyPresetEditAndMCPFieldsDecodeSafelyAndDoNotReencode` | `Prompt/PromptMigrationRemovalTests.swift:33` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-migration-removal-tests` | `suite:PromptMigrationRemovalTests; declaration:33` | behavioral coverage | root prompt unit/integration | — | retain (tentative) |
| `R0306:testLegacyCopyOverridesAndCustomizationsIgnoreRemovedFields` | `Prompt/PromptMigrationRemovalTests.swift:58` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-migration-removal-tests` | `suite:PromptMigrationRemovalTests; declaration:58` | behavioral coverage | root prompt unit/integration | Table loop: 3 removed JSON keys across 2 encoded document forms. | retain (tentative) |
| `R0307:testPromptViewModelNoLongerCreatesLegacyPreviousSettingsPreset` | `Prompt/PromptMigrationRemovalTests.swift:92` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-migration-removal-tests` | `suite:PromptMigrationRemovalTests; declaration:92` | structural/deletion guard | architecture/source-shape guard | — | review: structural exception rationale required |
| `R0308:testBundledPromptMirrorDirectoryIsAbsent` | `Prompt/PromptResourceMirrorRemovalTests.swift:4` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-resource-mirror-removal-tests` | `suite:PromptResourceMirrorRemovalTests; declaration:4` | structural/deletion guard | architecture/source-shape guard | — | review: structural exception rationale required |
| `R0309:testCanonicalLegacyPromptSourcesRemainPresent` | `Prompt/PromptResourceMirrorRemovalTests.swift:14` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-resource-mirror-removal-tests` | `suite:PromptResourceMirrorRemovalTests; declaration:14` | structural/deletion guard | architecture/source-shape guard | — | review: structural exception rationale required |
| `R0310:testSourcesAndTestsDoNotReferenceBundledPromptMirror` | `Prompt/PromptResourceMirrorRemovalTests.swift:26` | `RepoPromptTests` | `Prompt` | `root.prompt.prompt-resource-mirror-removal-tests` | `suite:PromptResourceMirrorRemovalTests; declaration:26` | structural/deletion guard | architecture/source-shape guard | Dynamically enumerates Swift sources/tests and checks 2 forbidden bundled-mirror path fragments. | review: structural exception rationale required |
| `R0311:testWorkflowCommandOrdersAndNamesStayStable` | `Prompt/WorkflowPromptCatalogTests.swift:5` | `RepoPromptTests` | `Prompt` | `root.prompt.workflow-prompt-catalog-tests` | `suite:WorkflowPromptCatalogTests; declaration:5` | behavioral coverage | root prompt unit/integration | — | retain (tentative) |
| `R0312:testCatalogMetadataMatchesWorkflowIDs` | `Prompt/WorkflowPromptCatalogTests.swift:36` | `RepoPromptTests` | `Prompt` | `root.prompt.workflow-prompt-catalog-tests` | `suite:WorkflowPromptCatalogTests; declaration:36` | behavioral coverage | root prompt unit/integration | Catalog loop: all 9 workflow descriptors. | retain (tentative) |
| `R0313:testRenderedManagedPromptFrontmatterCompatibility` | `Prompt/WorkflowPromptCatalogTests.swift:47` | `RepoPromptTests` | `Prompt` | `root.prompt.workflow-prompt-catalog-tests` | `suite:WorkflowPromptCatalogTests; declaration:47` | behavioral coverage | root prompt unit/integration | Catalog loop: 9 install descriptors. | retain (tentative) |
| `R0314:testAgentWorkflowTemplatesRenderFromProviderNeutralCatalog` | `Prompt/WorkflowPromptCatalogTests.swift:61` | `RepoPromptTests` | `Prompt` | `root.prompt.workflow-prompt-catalog-tests` | `suite:WorkflowPromptCatalogTests; declaration:61` | behavioral coverage | root prompt unit/integration | Enum loop: every `AgentWorkflow` case; count intentionally derived from current enum. | retain (tentative) |
| `R0315:testPlainDocumentReadUsesCanonicalPlainOnly` | `Security/AgentPermissionSecureStoreTests.swift:13` | `RepoPromptTests` | `Security` | `root.security.agent-permission-secure-store-tests` | `suite:AgentPermissionSecureStoreTests; declaration:13` | behavioral coverage | root security unit/integration | — | retain (tentative) |
| `R0316:testMissingPlainDocumentCreatesAndSavesFailClosedPlainDocument` | `Security/AgentPermissionSecureStoreTests.swift:35` | `RepoPromptTests` | `Security` | `root.security.agent-permission-secure-store-tests` | `suite:AgentPermissionSecureStoreTests; declaration:35` | behavioral coverage | root security unit/integration | — | retain (tentative) |
| `R0317:testMalformedPlainDocumentFailsClosed` | `Security/AgentPermissionSecureStoreTests.swift:54` | `RepoPromptTests` | `Security` | `root.security.agent-permission-secure-store-tests` | `suite:AgentPermissionSecureStoreTests; declaration:54` | behavioral coverage | root security unit/integration | — | retain (tentative) |
| `R0318:testUnsupportedFuturePlainSchemaFailsClosed` | `Security/AgentPermissionSecureStoreTests.swift:69` | `RepoPromptTests` | `Security` | `root.security.agent-permission-secure-store-tests` | `suite:AgentPermissionSecureStoreTests; declaration:69` | behavioral coverage | root security unit/integration | — | retain (tentative) |
| `R0319:testCodexPermissionReadInteractionDeniedFailsClosedAndMarksDiagnosticsDegraded` | `Security/AgentPermissionSecureStoreTests.swift:92` | `RepoPromptTests` | `Security` | `root.security.agent-permission-secure-store-tests` | `suite:AgentPermissionSecureStoreTests; declaration:92` | behavioral coverage | root security unit/integration | — | retain (tentative) |
| `R0320:testAccessModesCapturedForPlainReadsWritesAndDeletesOnly` | `Security/AgentPermissionSecureStoreTests.swift:115` | `RepoPromptTests` | `Security` | `root.security.agent-permission-secure-store-tests` | `suite:AgentPermissionSecureStoreTests; declaration:115` | behavioral coverage | root security unit/integration | Enum loop: failure/reset behavior across every `AgentPermissionSecureDomain` case. | retain (tentative) |
| `R0321:testUpdateWriteFailureForcesEffectiveCacheFailClosed` | `Security/AgentPermissionSecureStoreTests.swift:142` | `RepoPromptTests` | `Security` | `root.security.agent-permission-secure-store-tests` | `suite:AgentPermissionSecureStoreTests; declaration:142` | behavioral coverage | root security unit/integration | — | retain (tentative) |
| `R0322:testRemovedGeminiPermissionDocumentsAreIgnoredDuringReset` | `Security/AgentPermissionSecureStoreTests.swift:168` | `RepoPromptTests` | `Security` | `root.security.agent-permission-secure-store-tests` | `suite:AgentPermissionSecureStoreTests; declaration:168` | behavioral coverage | root security unit/integration | Enum loop: reset failures across every secure domain while removed Gemini key stays untouched. | retain (tentative) |
| `R0323:testNoninteractiveReadAddsUISkip` | `Security/KeychainServiceTests.swift:7` | `RepoPromptTests` | `Security` | `root.security.keychain-service-tests` | `suite:KeychainServiceTests; declaration:7` | behavioral coverage | root security unit/integration | — | retain (tentative) |
| `R0324:testCanonicalMissingThrowsItemNotFoundWithoutFallback` | `Security/KeychainServiceTests.swift:23` | `RepoPromptTests` | `Security` | `root.security.keychain-service-tests` | `suite:KeychainServiceTests; declaration:23` | behavioral coverage | root security unit/integration | — | retain (tentative) |
| `R0325:testCanonicalInteractionDenialFailsClosedWithoutFallback` | `Security/KeychainServiceTests.swift:39` | `RepoPromptTests` | `Security` | `root.security.keychain-service-tests` | `suite:KeychainServiceTests; declaration:39` | behavioral coverage | root security unit/integration | — | retain (tentative) |
| `R0326:testDeleteDeletesOnlyCanonicalService` | `Security/KeychainServiceTests.swift:63` | `RepoPromptTests` | `Security` | `root.security.keychain-service-tests` | `suite:KeychainServiceTests; declaration:63` | behavioral coverage | root security unit/integration | — | retain (tentative) |
| `R0327:testSafeInRootEventPathMapsRelative` | `Services/FileSystem/FileSystemServiceEventPathMappingTests.swift:11` | `RepoPromptTests` | `Services` | `root.services.file-system.file-system-service-event-path-mapping-tests` | `suite:FileSystemServiceEventPathMappingTests; declaration:11` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0328:testOutOfRootEventPathIsRejected` | `Services/FileSystem/FileSystemServiceEventPathMappingTests.swift:22` | `RepoPromptTests` | `Services` | `root.services.file-system.file-system-service-event-path-mapping-tests` | `suite:FileSystemServiceEventPathMappingTests; declaration:22` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0329:testSymlinkCanonicalFallbackMapsUnsafeCanonicalPathInsideRoot` | `Services/FileSystem/FileSystemServiceEventPathMappingTests.swift:35` | `RepoPromptTests` | `Services` | `root.services.file-system.file-system-service-event-path-mapping-tests` | `suite:FileSystemServiceEventPathMappingTests; declaration:35` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0330:testRootBoundaryFalsePositiveIsRejected` | `Services/FileSystem/FileSystemServiceEventPathMappingTests.swift:55` | `RepoPromptTests` | `Services` | `root.services.file-system.file-system-service-event-path-mapping-tests` | `suite:FileSystemServiceEventPathMappingTests; declaration:55` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0331:testEmptyEventPathIsRejected` | `Services/FileSystem/FileSystemServiceEventPathMappingTests.swift:68` | `RepoPromptTests` | `Services` | `root.services.file-system.file-system-service-event-path-mapping-tests` | `suite:FileSystemServiceEventPathMappingTests; declaration:68` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0332:testUnsafeEventPathFallsBackToStandardization` | `Services/FileSystem/FileSystemServiceEventPathMappingTests.swift:78` | `RepoPromptTests` | `Services` | `root.services.file-system.file-system-service-event-path-mapping-tests` | `suite:FileSystemServiceEventPathMappingTests; declaration:78` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0333:testRepoAndCursorIgnoreLayersUseCursorPrecedence` | `Services/FileSystem/FileSystemServiceIgnoreRecoveryTests.swift:11` | `RepoPromptTests` | `Services` | `root.services.file-system.file-system-service-ignore-recovery-tests` | `suite:FileSystemServiceIgnoreRecoveryTests; declaration:11` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0334:testLoadContentsSkipsDirectorySymlinksWhenConfigured` | `Services/FileSystem/FileSystemServiceIgnoreRecoveryTests.swift:36` | `RepoPromptTests` | `Services` | `root.services.file-system.file-system-service-ignore-recovery-tests` | `suite:FileSystemServiceIgnoreRecoveryTests; declaration:36` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0335:testTempRootCreateEditReadExistsAndModificationDate` | `Services/FileSystem/FileSystemServiceRecoveryTests.swift:11` | `RepoPromptTests` | `Services` | `root.services.file-system.file-system-service-recovery-tests` | `suite:FileSystemServiceRecoveryTests; declaration:11` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0336:testMetricsAreDisabledWhenRecordingIsNotEnabled` | `Services/FileSystem/IgnoreDebugMetricsRecorderTests.swift:10` | `RepoPromptTests` | `Services` | `root.services.file-system.ignore-debug-metrics-recorder-tests` | `suite:IgnoreDebugMetricsRecorderTests; declaration:10` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0337:testMetricsRecordWhenExplicitlyEnabledAndCanResetAndSnapshot` | `Services/FileSystem/IgnoreDebugMetricsRecorderTests.swift:23` | `RepoPromptTests` | `Services` | `root.services.file-system.ignore-debug-metrics-recorder-tests` | `suite:IgnoreDebugMetricsRecorderTests; declaration:23` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0338:testCompilerDistinguishesAnchoredDirectoryAndNegationPrecedence` | `Services/FileSystem/IgnoreRulesRecoveryTests.swift:5` | `RepoPromptTests` | `Services` | `root.services.file-system.ignore-rules-recovery-tests` | `suite:IgnoreRulesRecoveryTests; declaration:5` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0339:testPreservesWorktreeSpecifierAsCurrentRepo` | `Services/VCS/GitRepoTargetResolverTests.swift:5` | `RepoPromptTests` | `Services` | `root.services.vcs.git-repo-target-resolver-tests` | `suite:GitRepoTargetResolverTests; declaration:5` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0340:testPreservesMainSpecifierFromLinkedWorktree` | `Services/VCS/GitRepoTargetResolverTests.swift:16` | `RepoPromptTests` | `Services` | `root.services.vcs.git-repo-target-resolver-tests` | `suite:GitRepoTargetResolverTests; declaration:16` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0341:testPreservesMainBranchSpecifier` | `Services/VCS/GitRepoTargetResolverTests.swift:28` | `RepoPromptTests` | `Services` | `root.services.vcs.git-repo-target-resolver-tests` | `suite:GitRepoTargetResolverTests; declaration:28` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0342:testRejectsLegacyWorktreeBranchSpecifier` | `Services/VCS/GitRepoTargetResolverTests.swift:40` | `RepoPromptTests` | `Services` | `root.services.vcs.git-repo-target-resolver-tests` | `suite:GitRepoTargetResolverTests; declaration:40` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0343:testResolvesWorktreeByIDSelector` | `Services/VCS/GitRepoTargetResolverTests.swift:57` | `RepoPromptTests` | `Services` | `root.services.vcs.git-repo-target-resolver-tests` | `suite:GitRepoTargetResolverTests; declaration:57` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0344:testResolvesWorktreeByBranchSpecifierAndBareBranch` | `Services/VCS/GitRepoTargetResolverTests.swift:69` | `RepoPromptTests` | `Services` | `root.services.vcs.git-repo-target-resolver-tests` | `suite:GitRepoTargetResolverTests; declaration:69` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0345:testResolvesWorktreeByNameAndAbsolutePath` | `Services/VCS/GitRepoTargetResolverTests.swift:88` | `RepoPromptTests` | `Services` | `root.services.vcs.git-repo-target-resolver-tests` | `suite:GitRepoTargetResolverTests; declaration:88` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0346:testDeduplicatesReposByResolvedPath` | `Services/VCS/GitRepoTargetResolverTests.swift:107` | `RepoPromptTests` | `Services` | `root.services.vcs.git-repo-target-resolver-tests` | `suite:GitRepoTargetResolverTests; declaration:107` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0347:testExplicitBaseBranchSpecifierDoesNotSearchOtherRepos` | `Services/VCS/GitRepoTargetResolverTests.swift:119` | `RepoPromptTests` | `Services` | `root.services.vcs.git-repo-target-resolver-tests` | `suite:GitRepoTargetResolverTests; declaration:119` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0348:testMainSpecifierDoesNotListUnrelatedRepos` | `Services/VCS/GitRepoTargetResolverTests.swift:143` | `RepoPromptTests` | `Services` | `root.services.vcs.git-repo-target-resolver-tests` | `suite:GitRepoTargetResolverTests; declaration:143` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0349:testDuplicateWorktreeIDsAcrossReposRemainAmbiguous` | `Services/VCS/GitRepoTargetResolverTests.swift:155` | `RepoPromptTests` | `Services` | `root.services.vcs.git-repo-target-resolver-tests` | `suite:GitRepoTargetResolverTests; declaration:155` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0350:testSplitUnifiedDiffByFileSeparatesModifiedRenameAndDeleteBlocks` | `Services/VCS/GitServiceSplitUnifiedDiffByFileRecoveryTests.swift:5` | `RepoPromptTests` | `Services` | `root.services.vcs.git-service-split-unified-diff-by-file-recovery-tests` | `suite:GitServiceSplitUnifiedDiffByFileRecoveryTests; declaration:5` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0351:testStandaloneCreateDefaultsToSiblingManagedContainerAndBranch` | `Services/VCS/GitWorktreeDefaultPathPlannerTests.swift:20` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-default-path-planner-tests` | `suite:GitWorktreeDefaultPathPlannerTests; declaration:20` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0352:testAgentStartDefaultsToAgentBranchAndReadablePathPrefix` | `Services/VCS/GitWorktreeDefaultPathPlannerTests.swift:47` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-default-path-planner-tests` | `suite:GitWorktreeDefaultPathPlannerTests; declaration:47` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0353:testSuppliedBranchIsPreservedAndIncludedInDefaultLeaf` | `Services/VCS/GitWorktreeDefaultPathPlannerTests.swift:60` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-default-path-planner-tests` | `suite:GitWorktreeDefaultPathPlannerTests; declaration:60` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0354:testExplicitExternalPathRequiresAllowExternalPath` | `Services/VCS/GitWorktreeDefaultPathPlannerTests.swift:73` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-default-path-planner-tests` | `suite:GitWorktreeDefaultPathPlannerTests; declaration:73` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0355:testRejectsRelativeExplicitPathAndExpandsHomePath` | `Services/VCS/GitWorktreeDefaultPathPlannerTests.swift:94` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-default-path-planner-tests` | `suite:GitWorktreeDefaultPathPlannerTests; declaration:94` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0356:testExplicitPathInsideManagedContainerDoesNotRequireExternalFlag` | `Services/VCS/GitWorktreeDefaultPathPlannerTests.swift:121` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-default-path-planner-tests` | `suite:GitWorktreeDefaultPathPlannerTests; declaration:121` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0357:testRejectsExplicitPathInsideRepoOrGitDirectory` | `Services/VCS/GitWorktreeDefaultPathPlannerTests.swift:136` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-default-path-planner-tests` | `suite:GitWorktreeDefaultPathPlannerTests; declaration:136` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0358:testDefaultPathCollisionUsesDeterministicNumericSuffix` | `Services/VCS/GitWorktreeDefaultPathPlannerTests.swift:160` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-default-path-planner-tests` | `suite:GitWorktreeDefaultPathPlannerTests; declaration:160` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0359:testDetachSuppressesDefaultBranch` | `Services/VCS/GitWorktreeDefaultPathPlannerTests.swift:176` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-default-path-planner-tests` | `suite:GitWorktreeDefaultPathPlannerTests; declaration:176` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0360:testPreviewDirtySourceCleanApplyAndStalePreviewWithRealWorktrees` | `Services/VCS/GitWorktreeMergeEndToEndTests.swift:5` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-merge-end-to-end-tests` | `suite:GitWorktreeMergeEndToEndTests; declaration:5` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0361:testConflictApplyReconcileAbortAndManualContinueWithRealWorktrees` | `Services/VCS/GitWorktreeMergeEndToEndTests.swift:48` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-merge-end-to-end-tests` | `suite:GitWorktreeMergeEndToEndTests; declaration:48` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0362:testMergeBaseAncestorAndCleanNoCommitMergeThenCommit` | `Services/VCS/GitWorktreeMergeGitServiceTests.swift:5` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-merge-git-service-tests` | `suite:GitWorktreeMergeGitServiceTests; declaration:5` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0363:testConflictLeavesMergeHeadAndAbortRestoresTarget` | `Services/VCS/GitWorktreeMergeGitServiceTests.swift:37` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-merge-git-service-tests` | `suite:GitWorktreeMergeGitServiceTests; declaration:37` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0364:testConflictResolutionContinueCreatesTwoParentMergeCommit` | `Services/VCS/GitWorktreeMergeGitServiceTests.swift:59` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-merge-git-service-tests` | `suite:GitWorktreeMergeGitServiceTests; declaration:59` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0365:testVCSPreviewApplyCompletesCleanMerge` | `Services/VCS/GitWorktreeMergeGitServiceTests.swift:89` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-merge-git-service-tests` | `suite:GitWorktreeMergeGitServiceTests; declaration:89` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0366:testPreviewRejectsEndpointHeadChangedBeforeInspection` | `Services/VCS/GitWorktreeMergeGitServiceTests.swift:106` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-merge-git-service-tests` | `suite:GitWorktreeMergeGitServiceTests; declaration:106` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0367:testDivergentTargetDoesNotAppearAsDeletionInMergeSummary` | `Services/VCS/GitWorktreeMergeGitServiceTests.swift:127` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-merge-git-service-tests` | `suite:GitWorktreeMergeGitServiceTests; declaration:127` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0368:testVCSApplyRejectsStaleSourceAndTargetHeads` | `Services/VCS/GitWorktreeMergeGitServiceTests.swift:144` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-merge-git-service-tests` | `suite:GitWorktreeMergeGitServiceTests; declaration:144` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0369:testConflictPredictionUnavailableIsAdvisoryFallback` | `Services/VCS/GitWorktreeMergeGitServiceTests.swift:166` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-merge-git-service-tests` | `suite:GitWorktreeMergeGitServiceTests; declaration:166` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0370:testFilesystemAdvisoryLockSerializesLinkedWorktreesAndReleases` | `Services/VCS/GitWorktreeMergeGitServiceTests.swift:181` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-merge-git-service-tests` | `suite:GitWorktreeMergeGitServiceTests; declaration:181` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0371:testFilesystemAdvisoryLockSerializesAcrossProcesses` | `Services/VCS/GitWorktreeMergeGitServiceTests.swift:212` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-merge-git-service-tests` | `suite:GitWorktreeMergeGitServiceTests; declaration:212` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0372:testPreviewPublishesDiffSnapshotAndMergeSidecar` | `Services/VCS/GitWorktreeMergePreviewPublisherTests.swift:5` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-merge-preview-publisher-tests` | `suite:GitWorktreeMergePreviewPublisherTests; declaration:5` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0373:testParseNULTerminatedNormalMainAndLinkedWorktree` | `Services/VCS/GitWorktreePorcelainParserTests.swift:5` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-porcelain-parser-tests` | `suite:GitWorktreePorcelainParserTests; declaration:5` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0374:testParseNULTerminatedDetachedLockedPrunableRecordsWithNewlinesInReasons` | `Services/VCS/GitWorktreePorcelainParserTests.swift:29` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-porcelain-parser-tests` | `suite:GitWorktreePorcelainParserTests; declaration:29` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0375:testParseNULTerminatedPreservesExactPathsWithTrailingWhitespaceAndNewlines` | `Services/VCS/GitWorktreePorcelainParserTests.swift:51` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-porcelain-parser-tests` | `suite:GitWorktreePorcelainParserTests; declaration:51` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0376:testParseNewlineTerminatedFallback` | `Services/VCS/GitWorktreePorcelainParserTests.swift:66` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-porcelain-parser-tests` | `suite:GitWorktreePorcelainParserTests; declaration:66` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0377:testParseLockedAndPrunableWithoutReasons` | `Services/VCS/GitWorktreePorcelainParserTests.swift:86` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-porcelain-parser-tests` | `suite:GitWorktreePorcelainParserTests; declaration:86` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0378:testParseMalformedAttributeBeforeWorktreeThrows` | `Services/VCS/GitWorktreePorcelainParserTests.swift:105` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-porcelain-parser-tests` | `suite:GitWorktreePorcelainParserTests; declaration:105` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0379:testParseMalformedEmptyWorktreePathThrows` | `Services/VCS/GitWorktreePorcelainParserTests.swift:115` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-porcelain-parser-tests` | `suite:GitWorktreePorcelainParserTests; declaration:115` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0380:testWorktreeListZFallsBackOnlyForUnsupportedCapabilityFailures` | `Services/VCS/GitWorktreePorcelainParserTests.swift:125` | `RepoPromptTests` | `Services` | `root.services.vcs.git-worktree-porcelain-parser-tests` | `suite:GitWorktreePorcelainParserTests; declaration:125` | behavioral coverage | root service unit/integration | — | retain (tentative) |
| `R0381:testDefaultGlobalSettingsPathUsesCESupportRoot` | `SettingsJSONOnlyPersistenceTests.swift:7` | `RepoPromptTests` | `Root` | `root.settings-jsononly-persistence-tests` | `suite:SettingsJSONOnlyPersistenceTests; declaration:7` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0382:testMissingGlobalSettingsCreatesCurrentDefaultsAndIgnoresLegacyDefaults` | `SettingsJSONOnlyPersistenceTests.swift:12` | `RepoPromptTests` | `Root` | `root.settings-jsononly-persistence-tests` | `suite:SettingsJSONOnlyPersistenceTests; declaration:12` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0383:testExplicitJSONRespectGitignoreFalseIsPreserved` | `SettingsJSONOnlyPersistenceTests.swift:31` | `RepoPromptTests` | `Root` | `root.settings-jsononly-persistence-tests` | `suite:SettingsJSONOnlyPersistenceTests; declaration:31` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0384:testWorktreeVisualIdentityDefaultsAreEmptyAndFallbackDoesNotPersist` | `SettingsJSONOnlyPersistenceTests.swift:50` | `RepoPromptTests` | `Root` | `root.settings-jsononly-persistence-tests` | `suite:SettingsJSONOnlyPersistenceTests; declaration:50` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0385:testWorktreeVisualIdentitySavesAndLoads` | `SettingsJSONOnlyPersistenceTests.swift:79` | `RepoPromptTests` | `Root` | `root.settings-jsononly-persistence-tests` | `suite:SettingsJSONOnlyPersistenceTests; declaration:79` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0386:testWorktreeVisualIdentityRejectsInvalidColors` | `SettingsJSONOnlyPersistenceTests.swift:125` | `RepoPromptTests` | `Root` | `root.settings-jsononly-persistence-tests` | `suite:SettingsJSONOnlyPersistenceTests; declaration:125` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0387:testWorktreeVisualIdentityDecodesMissingUXFieldsWithDefaults` | `SettingsJSONOnlyPersistenceTests.swift:143` | `RepoPromptTests` | `Root` | `root.settings-jsononly-persistence-tests` | `suite:SettingsJSONOnlyPersistenceTests; declaration:143` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0388:testWorktreeVisualIdentityDecodesMissingFieldWithoutSchemaBump` | `SettingsJSONOnlyPersistenceTests.swift:169` | `RepoPromptTests` | `Root` | `root.settings-jsononly-persistence-tests` | `suite:SettingsJSONOnlyPersistenceTests; declaration:169` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0389:testCorruptGlobalSettingsIsBackedUpAndReplacedWithDefaults` | `SettingsJSONOnlyPersistenceTests.swift:186` | `RepoPromptTests` | `Root` | `root.settings-jsononly-persistence-tests` | `suite:SettingsJSONOnlyPersistenceTests; declaration:186` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0390:testFutureGlobalSettingsSchemaIsPreservedAndSaveIsBlocked` | `SettingsJSONOnlyPersistenceTests.swift:203` | `RepoPromptTests` | `Root` | `root.settings-jsononly-persistence-tests` | `suite:SettingsJSONOnlyPersistenceTests; declaration:203` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0391:testDirectFutureGlobalSettingsLoadProtectsLaterSave` | `SettingsJSONOnlyPersistenceTests.swift:222` | `RepoPromptTests` | `Root` | `root.settings-jsononly-persistence-tests` | `suite:SettingsJSONOnlyPersistenceTests; declaration:222` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0392:testAliasAndAbsoluteResolutionStayScopedToTheMatchingRoot` | `WorkspaceContext/PathMatching/PathMatchingRecoveryTests.swift:5` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.path-matching.path-matching-recovery-tests` | `suite:PathMatchingRecoveryTests; declaration:5` | behavioral coverage | root workspace-context unit/integration | Snapshot fixture: 3 file records across 2 roots. | retain (tentative) |
| `R0393:testUnicodeAndCaseInsensitiveLookupPreserveStoredRelativePath` | `WorkspaceContext/PathMatching/PathMatchingRecoveryTests.swift:20` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.path-matching.path-matching-recovery-tests` | `suite:PathMatchingRecoveryTests; declaration:20` | behavioral coverage | root workspace-context unit/integration | Snapshot fixture: 2 Unicode file records. | retain (tentative) |
| `R0394:testMovePathResolverRejectsAmbiguousAndCrossRootAliases` | `WorkspaceContext/PathMatching/PathMatchingRecoveryTests.swift:34` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.path-matching.path-matching-recovery-tests` | `suite:PathMatchingRecoveryTests; declaration:34` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0395:testFocusedLargeBurstRoutesImmediateWithCappedDefaultChunks` | `WorkspaceContext/ReplayEvidenceHarnessTests.swift:7` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.replay-evidence-harness-tests` | `suite:ReplayEvidenceHarnessTests; declaration:7` | behavioral coverage | root workspace-context unit/integration | Generated load: 600 file-add deltas; expects 6 x 100 replay chunks. | retain (tentative) |
| `R0396:testUnfocusedBurstQueuesAndDeferredDrainUsesConfiguredChunks` | `WorkspaceContext/ReplayEvidenceHarnessTests.swift:35` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.replay-evidence-harness-tests` | `suite:ReplayEvidenceHarnessTests; declaration:35` | behavioral coverage | root workspace-context unit/integration | Generated load: 250 queued file-add deltas; expects chunks 100, 100, 50. | retain (tentative) |
| `R0397:testRemovedFolderBurstUsesOneBatchedDescendantLookup` | `WorkspaceContext/ReplayEvidenceHarnessTests.swift:68` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.replay-evidence-harness-tests` | `suite:ReplayEvidenceHarnessTests; declaration:68` | behavioral coverage | root workspace-context unit/integration | Generated load: 60 folder adds then 60 folder removals; expects one descendant lookup. | retain (tentative) |
| `R0398:testRemovedFolderCleanupFlushesBeforeSamePathFileAdd` | `WorkspaceContext/ReplayEvidenceHarnessTests.swift:92` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.replay-evidence-harness-tests` | `suite:ReplayEvidenceHarnessTests; declaration:92` | behavioral coverage | root workspace-context unit/integration | Two-delta ordering scenario: folder removal then same-path file add in one replay chunk. | retain (tentative) |
| `R0399:testSearchMatchesFilenameSubpathTokensAndRebuildsDeterministically` | `WorkspaceContext/Search/PathSearchIndexRecoveryTests.swift:5` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.path-search-index-recovery-tests` | `suite:PathSearchIndexRecoveryTests; declaration:5` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0400:testFactoryNormalizesBoundsSlashAndWildcardSupport` | `WorkspaceContext/Search/RepoSearchQueryRecoveryTests.swift:5` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.repo-search-query-recovery-tests` | `suite:RepoSearchQueryRecoveryTests; declaration:5` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0401:testExactFileAndFolderMatchesRespectRestrictedRoots` | `WorkspaceContext/Search/SearchPathFilteringTests.swift:16` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.search-path-filtering-tests` | `suite:SearchPathFilteringTests; declaration:16` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0402:testGlobMatchesDisplayRelativeAndFullPaths` | `WorkspaceContext/Search/SearchPathFilteringTests.swift:48` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.search-path-filtering-tests` | `suite:SearchPathFilteringTests; declaration:48` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0403:testLegacyPrefixMatchesDisplayPathAndDeduplicatesInInputOrder` | `WorkspaceContext/Search/SearchPathFilteringTests.swift:70` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.search-path-filtering-tests` | `suite:SearchPathFilteringTests; declaration:70` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0404:testCancelledTaskReportsCancellationMetadata` | `WorkspaceContext/Search/SearchPathFilteringTests.swift:93` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.search-path-filtering-tests` | `suite:SearchPathFilteringTests; declaration:93` | behavioral coverage | root workspace-context unit/integration | Generated load: 50,000 path snapshots to exercise cancellation metadata. | retain (tentative) |
| `R0405:testDeletedTreeSearchVMAndWindowStateRuntimeSearchCutover` | `WorkspaceContext/Search/SearchRuntimeCutoverGuardTests.swift:4` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.search-runtime-cutover-guard-tests` | `suite:SearchRuntimeCutoverGuardTests; declaration:4` | structural/deletion guard | architecture/source-shape guard | — | review: structural exception rationale required |
| `R0406:testSearchCatalogGenerationChangesOnRootLoadDeltaAndUnload` | `WorkspaceContext/Search/WorkspaceSearchServiceTests.swift:14` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.workspace-search-service-tests` | `suite:WorkspaceSearchServiceTests; declaration:14` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0407:testWorkspaceSearchServiceSearchesSingleRootCatalog` | `WorkspaceContext/Search/WorkspaceSearchServiceTests.swift:52` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.workspace-search-service-tests` | `suite:WorkspaceSearchServiceTests; declaration:52` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0408:testWorkspaceSearchServiceSearchesMultiRootCatalog` | `WorkspaceContext/Search/WorkspaceSearchServiceTests.swift:82` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.workspace-search-service-tests` | `suite:WorkspaceSearchServiceTests; declaration:82` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0409:testWorkspaceSearchServiceRefreshesAfterFileAdd` | `WorkspaceContext/Search/WorkspaceSearchServiceTests.swift:109` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.workspace-search-service-tests` | `suite:WorkspaceSearchServiceTests; declaration:109` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0410:testWorkspaceSearchServiceRefreshesAfterFileRemove` | `WorkspaceContext/Search/WorkspaceSearchServiceTests.swift:131` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.workspace-search-service-tests` | `suite:WorkspaceSearchServiceTests; declaration:131` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0411:testWorkspaceSearchServiceRefreshesAfterFolderRemove` | `WorkspaceContext/Search/WorkspaceSearchServiceTests.swift:154` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.workspace-search-service-tests` | `suite:WorkspaceSearchServiceTests; declaration:154` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0412:testWorkspaceSearchServiceInvalidatesAfterRootUnload` | `WorkspaceContext/Search/WorkspaceSearchServiceTests.swift:177` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.workspace-search-service-tests` | `suite:WorkspaceSearchServiceTests; declaration:177` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0413:testWorkspaceSearchServiceDeduplicatesDuplicateDeltas` | `WorkspaceContext/Search/WorkspaceSearchServiceTests.swift:202` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.workspace-search-service-tests` | `suite:WorkspaceSearchServiceTests; declaration:202` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0414:testWorkspaceSearchServiceCatchesUpWhenEventPrecedesSubscription` | `WorkspaceContext/Search/WorkspaceSearchServiceTests.swift:226` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.workspace-search-service-tests` | `suite:WorkspaceSearchServiceTests; declaration:226` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0415:testWorkspaceSearchServiceDoesNotCancelActiveRebuildForSameGenerationEvent` | `WorkspaceContext/Search/WorkspaceSearchServiceTests.swift:248` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.workspace-search-service-tests` | `suite:WorkspaceSearchServiceTests; declaration:248` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0416:testWorkspaceSearchServiceDiscardsStaleRebuildCompletion` | `WorkspaceContext/Search/WorkspaceSearchServiceTests.swift:275` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.workspace-search-service-tests` | `suite:WorkspaceSearchServiceTests; declaration:275` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0417:testPathMatchWarmupPreservesLookupBehavior` | `WorkspaceContext/Search/WorkspaceSearchServiceTests.swift:310` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.search.workspace-search-service-tests` | `suite:WorkspaceSearchServiceTests; declaration:310` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0418:testRootLoadIndexesFilesFoldersReadsContentAndLooksUpPaths` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:14` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:14` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0419:testResolvedClipboardPackagingRendersStoreCodemaps` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:50` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:50` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0420:testWatcherReplayAppliesAddRemoveModifyAndFolderRemoveEvents` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:93` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:93` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0421:testWatcherReplayDuplicateDeltasAreIdempotent` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:140` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:140` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0422:testFileTreeSnapshotSupportsFoldersOnlyMode` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:151` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:151` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0423:testFileTreeSnapshotHonorsExplicitMaxDepth` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:181` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:181` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0424:testFileTreeSnapshotCanStartAtResolvedSubtree` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:210` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:210` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0425:testValuePathResolutionReportsAmbiguousRelativePathWithExistingRendererMessage` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:242` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:242` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0426:testFolderExpansionAndSelectionMutationServiceAreDeterministicByRelativePath` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:263` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:263` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0427:testCodemapOnlyCandidateFilteringPreservesUnsupportedMessages` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:293` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:293` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0428:testSelectionMutationPromoteDemoteAndRemoveOperateOnStoredSelectionValues` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:321` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:321` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0429:testManageSelectionSliceSetPreservesSelectedFullFiles` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:357` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:357` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0430:testManageSelectionSliceSetReplacesOnlySpecifiedFileSlices` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:386` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:386` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0431:testManageSelectionSliceSetRejectsBarePathsWithoutLineRanges` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:419` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:419` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0432:testManageSelectionSliceSetRejectsEmptySlicesAndPreservesParseErrors` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:440` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:440` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0433:testManageSelectionMixedAddPreservesExistingFullFilesAndAddsSlices` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:470` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:470` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0434:testManageSelectionCodemapOnlySetRejectsSlices` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:502` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:502` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0435:testManageSelectionFullSetWithSlicesRemainsDestructive` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:523` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:523` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0436:testCRUDAndRootUnloadPublishAppliedIndexEvents` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:558` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:558` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0437:testBatchRootUnloadPublishesUnloadEventsAndClearsLoadedRoots` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:596` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:596` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0438:testBatchRootUnloadDeduplicatesIDsAndPreservesRemainingRootOrder` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:623` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:623` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0439:testWorkspaceFileMutationServiceCreatesReadsAndOverwritesThroughStore` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:655` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:655` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0440:testWorkspaceFileEditHostOverwriteCreatesMissingAndReplacesExisting` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:683` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:683` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0441:testApplyEditsRewriteCreateImmediatelyMaterializesForStoreLookupAndRead` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:705` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:705` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0442:testPolicyIneligibleCreateSucceedsOnDiskWithoutCatalogMaterialization` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:736` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:736` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0443:testPolicyIneligibleReplayDoesNotMaterializeIgnoredFile` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:770` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:770` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0444:testStaleCatalogRecordIsPrunedForExactMutationLookup` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:786` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:786` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0445:testStaleAmbiguousExactMutationLookupPrunesMissingCandidate` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:807` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:807` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0446:testMaterializationFailureReportsClearPostconditionError` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:834` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:834` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0447:testDeleteRemovesCatalogAndCodemapVisibility` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:852` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:852` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0448:testWorkspaceFileMutationServiceRequiresExactExistingFileForOverwriteResolution` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:886` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:886` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0449:testWorkspaceReadableFileServiceResolvesAndReadsAlwaysReadableExternalFiles` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:908` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:908` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0450:testAttachRootShellFromPreloadedStoreRecordDoesNotMaterializeDescendants` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:925` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:925` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0451:testLoadFolderCreatesRootShellAndLeavesDescendantsUnmaterialized` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:956` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:956` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0452:testWatcherAddedUIViewModelsUseStoreRecordIDs` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:992` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:992` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0453:testCancelledRootLoadDoesNotCommitUIOrStoreRoot` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1024` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1024` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0454:testLoadedRootShellAlignsWithStoreRootAndLeavesCodemapIDsStoreBacked` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1061` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1061` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0455:testStoreReadContentReturnsCurrentDiskBytesAfterExternalChange` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1095` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1095` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0456:testInitialRootCodemapScansByRootIDSkipSamePathReloadedRoot` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1116` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1116` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0457:testInitialRootCodemapScansByPathTargetReloadedSamePathRoot` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1150` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1150` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0458:testDeferredInitialRootLoadFlushUsesStoreRootsInsteadOfMainActorUIGather` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1184` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1184` | structural/deletion guard | architecture/source-shape guard | — | review: structural exception rationale required |
| `R0459:testContentSearchReloadsExternalModificationBeforeMatching` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1196` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1196` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0460:testDiskValidatedSearchSnapshotReusesCacheWhenMetadataUnchanged` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1235` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1235` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0461:testApplyEditsPreviewReadsFreshDiskBaseAfterExternalModification` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1262` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1262` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0462:testApplyEditsRejectsDiskMissingStaleCatalogBase` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1298` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1298` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0463:testConcurrentSamePathRootLoadsShareInFlightLoad` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1341` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1341` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0464:testCancelledRootLoadAfterUIRootAppendDoesNotLeaveUIOrStoreRoot` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1378` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1378` | behavioral coverage | root workspace-context unit/integration | Generated load: writes 1,500 Swift files before cancellation cleanup assertions. | retain (tentative) |
| `R0465:testCallerCancelledLoadFolderAfterUIRootAppendCleansUIAndStoreRoot` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1416` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1416` | behavioral coverage | root workspace-context unit/integration | Generated load: writes 1,500 Swift files before caller-driven cancellation cleanup assertions. | retain (tentative) |
| `R0466:testObsoleteSamePathLoadDoesNotUnloadNewerJoinedLoad` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1454` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1454` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0467:testUncommittedPreloadedRootIsUnloadedByFullUnload` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1505` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1505` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0468:testCancelledSamePathLoadWaitingForUnloadDoesNotCreateRoot` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1520` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1520` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0469:testApplyStoredSelectionWithEmptySlicesClearsCurrentSliceProjection` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1558` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1558` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0470:testHydrateSlicesForActiveTabWithEmptyStoredSelectionDeletesPersistedSlices` | `WorkspaceContext/WorkspaceFileContextStoreTests.swift:1598` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-file-context-store-tests` | `suite:WorkspaceFileContextStoreTests; declaration:1598` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0471:testDebugDiagnosticsExposeStoreBackedLoadingSnapshot` | `WorkspaceContext/WorkspaceLoadingDiagnosticsGuardTests.swift:4` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-loading-diagnostics-guard-tests` | `suite:WorkspaceLoadingDiagnosticsGuardTests; declaration:4` | structural/deletion guard | architecture/source-shape guard | Dynamically enumerates debug-diagnostics source fragments before checking required markers. | review: structural exception rationale required |
| `R0472:testSingleBoundRootProjectsRelativeAndLogicalPathsToWorktree` | `WorkspaceContext/WorkspaceRootBindingProjectionTests.swift:6` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-root-binding-projection-tests` | `suite:WorkspaceRootBindingProjectionTests; declaration:6` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0473:testSingleBoundRootDoesNotStealUnboundRootAlias` | `WorkspaceContext/WorkspaceRootBindingProjectionTests.swift:54` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-root-binding-projection-tests` | `suite:WorkspaceRootBindingProjectionTests; declaration:54` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0474:testBoundRootsForMetadataAreDeterministicallySorted` | `WorkspaceContext/WorkspaceRootBindingProjectionTests.swift:85` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-root-binding-projection-tests` | `suite:WorkspaceRootBindingProjectionTests; declaration:85` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0475:testWorktreeScopeMetadataUsesBindingWorktreeNameForEffectiveName` | `WorkspaceContext/WorkspaceRootBindingProjectionTests.swift:102` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-root-binding-projection-tests` | `suite:WorkspaceRootBindingProjectionTests; declaration:102` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0476:testFileTreeSnapshotIsDisplayedAsLogicalRoot` | `WorkspaceContext/WorkspaceRootBindingProjectionTests.swift:135` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-root-binding-projection-tests` | `suite:WorkspaceRootBindingProjectionTests; declaration:135` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0477:testActiveSelectionSnapshotReturnsActiveTabSelectionAndFlushesPendingUIWhenRequested` | `WorkspaceContext/WorkspaceSelectionCoordinatorTests.swift:13` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-selection-coordinator-tests` | `suite:WorkspaceSelectionCoordinatorTests; declaration:13` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0478:testPersistActiveSelectionWritesActiveTabAndEmitsChange` | `WorkspaceContext/WorkspaceSelectionCoordinatorTests.swift:42` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-selection-coordinator-tests` | `suite:WorkspaceSelectionCoordinatorTests; declaration:42` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0479:testApplyingSelectionMirrorGuardSuppressesFlushPublication` | `WorkspaceContext/WorkspaceSelectionCoordinatorTests.swift:67` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-selection-coordinator-tests` | `suite:WorkspaceSelectionCoordinatorTests; declaration:67` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0480:testSaveSnapshotPrefersMatchingCanonicalSelectionOverStaleUISnapshot` | `WorkspaceContext/WorkspaceSelectionCoordinatorTests.swift:87` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-selection-coordinator-tests` | `suite:WorkspaceSelectionCoordinatorTests; declaration:87` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0481:testSaveSnapshotFallsBackToStoredSelectionNotLiveUIWhenCanonicalTabDoesNotMatch` | `WorkspaceContext/WorkspaceSelectionCoordinatorTests.swift:110` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-selection-coordinator-tests` | `suite:WorkspaceSelectionCoordinatorTests; declaration:110` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0482:testSaveSnapshotUsesStoredSelectionWhenCanonicalMissing` | `WorkspaceContext/WorkspaceSelectionCoordinatorTests.swift:127` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-selection-coordinator-tests` | `suite:WorkspaceSelectionCoordinatorTests; declaration:127` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0483:testDiskWriterPreservesNewerSelectionRevisionAgainstLaterStalePayload` | `WorkspaceContext/WorkspaceSelectionPersistenceTests.swift:9` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-selection-persistence-tests` | `suite:WorkspaceSelectionPersistenceTests; declaration:9` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0484:testDiskWriterMergesNewerSelectionIntoNewerDiskInsteadOfSkipping` | `WorkspaceContext/WorkspaceSelectionPersistenceTests.swift:60` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-selection-persistence-tests` | `suite:WorkspaceSelectionPersistenceTests; declaration:60` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0485:testApplySelectionToWorkspaceUpdatesActiveTabOnly` | `WorkspaceContext/WorkspaceSelectionPersistenceTests.swift:105` | `RepoPromptTests` | `WorkspaceContext` | `root.workspace-context.workspace-selection-persistence-tests` | `suite:WorkspaceSelectionPersistenceTests; declaration:105` | behavioral coverage | root workspace-context unit/integration | — | retain (tentative) |
| `R0486:testReorderRootFoldersNoOpDoesNotEmitRootChange` | `WorkspaceRootSyncTests.swift:6` | `RepoPromptTests` | `Root` | `root.workspace-root-sync-tests` | `suite:WorkspaceRootSyncTests; declaration:6` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0487:testReorderRootFoldersEmitsOnceAndPinsSystemRootsAfterUsers` | `WorkspaceRootSyncTests.swift:22` | `RepoPromptTests` | `Root` | `root.workspace-root-sync-tests` | `suite:WorkspaceRootSyncTests; declaration:22` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0488:testMovedRepoPathsMovesAdjacentRootAndDeduplicatesStandardizedPaths` | `WorkspaceRootSyncTests.swift:51` | `RepoPromptTests` | `Root` | `root.workspace-root-sync-tests` | `suite:WorkspaceRootSyncTests; declaration:51` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0489:testMovedRepoPathsUsesVisibleRootAdjacencyWhenPersistedRootsAreUnloaded` | `WorkspaceRootSyncTests.swift:61` | `RepoPromptTests` | `Root` | `root.workspace-root-sync-tests` | `suite:WorkspaceRootSyncTests; declaration:61` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0490:testMovedRepoPathsNoOpsForMissingAndEdgeRoots` | `WorkspaceRootSyncTests.swift:72` | `RepoPromptTests` | `Root` | `root.workspace-root-sync-tests` | `suite:WorkspaceRootSyncTests; declaration:72` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0491:testRootShellProjectionsMirrorRootOrderAndHideSystemRootsForVisibleProjection` | `WorkspaceRootSyncTests.swift:101` | `RepoPromptTests` | `Root` | `root.workspace-root-sync-tests` | `suite:WorkspaceRootSyncTests; declaration:101` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0492:testDefaultWorkspaceAndWindowRootsUseCESupportRoot` | `WorkspaceRootSyncTests.swift:125` | `RepoPromptTests` | `Root` | `root.workspace-root-sync-tests` | `suite:WorkspaceRootSyncTests; declaration:125` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0493:testWorkspaceDecodeCreatesDefaultComposeTabAndIgnoresRemovedLegacyFields` | `WorkspaceRootSyncTests.swift:135` | `RepoPromptTests` | `Root` | `root.workspace-root-sync-tests` | `suite:WorkspaceRootSyncTests; declaration:135` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0494:testWorkspaceManagerSourceNoLongerImportsLegacyAggregateWorkspaces` | `WorkspaceRootSyncTests.swift:173` | `RepoPromptTests` | `Root` | `root.workspace-root-sync-tests` | `suite:WorkspaceRootSyncTests; declaration:173` | structural/deletion guard | architecture/source-shape guard | — | review: structural exception rationale required |
| `R0495:testWorkspaceFolderLoadConcurrencyLimitIsBounded` | `WorkspaceRootSyncTests.swift:182` | `RepoPromptTests` | `Root` | `root.workspace-root-sync-tests` | `suite:WorkspaceRootSyncTests; declaration:182` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0496:testWorkspaceSaveMergePreservesDiskRepoPathsWhenNoLocalRootEdit` | `WorkspaceRootSyncTests.swift:190` | `RepoPromptTests` | `Root` | `root.workspace-root-sync-tests` | `suite:WorkspaceRootSyncTests; declaration:190` | behavioral coverage | root persistence/integration | — | retain (tentative) |
| `R0497:testWorkspaceSaveMergeKeepsLocalRepoPathsAfterLocalRootEdit` | `WorkspaceRootSyncTests.swift:209` | `RepoPromptTests` | `Root` | `root.workspace-root-sync-tests` | `suite:WorkspaceRootSyncTests; declaration:209` | behavioral coverage | root persistence/integration | — | retain (tentative) |

### Nested provider target — `RepoPromptClaudeCompatibleProviderTests`

| method_id | file | target | domain | primary_contract_id | secondary_contract_tags | validation_class | layer | scenario_or_fixture_note | tentative_disposition |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| `P0001:testRuntimeLaunchAndHeadlessSmokesPromptEnvironmentAndModels` | `Runtime/ClaudeCompatibleRuntimeSupportTests.swift:5` | `RepoPromptClaudeCompatibleProviderTests` | `Runtime` | `provider.runtime.claude-compatible-runtime-support-tests` | `suite:ClaudeCompatibleRuntimeSupportTests; declaration:5` | behavioral coverage | provider-package unit/runtime | Multi-scenario smoke: prompt modes, normalized GLM env, GLM + Kimi resolver cases, headless args fixture. | retain (tentative) |
| `P0002:testProviderCatalogDefaultsExposeStableRawValues` | `Runtime/ClaudeCompatibleRuntimeSupportTests.swift:134` | `RepoPromptClaudeCompatibleProviderTests` | `Runtime` | `provider.runtime.claude-compatible-runtime-support-tests` | `suite:ClaudeCompatibleRuntimeSupportTests; declaration:134` | behavioral coverage | provider-package unit/runtime | Catalog breadth: 4 provider raw values, 4 runtime mappings, 4 model-catalog snapshots. | retain (tentative) |
| `P0003:testAssistantToolAndResultSmokePreservesUsageArgsAndStableInvocationID` | `SDK/ClaudeSDKNDJSONTranslatorTests.swift:6` | `RepoPromptClaudeCompatibleProviderTests` | `SDK` | `provider.sdk.claude-sdkndjsontranslator-tests` | `suite:ClaudeSDKNDJSONTranslatorTests; declaration:6` | behavioral coverage | provider-package unit/runtime | NDJSON fixtures: assistant usage/text/tool-use plus matching user tool-result invocation ID. | retain (tentative) |
| `P0004:testLifecycleAndStreamSmokeCoversSessionCancellationDeltaStopAndContextUsage` | `SDK/ClaudeSDKNDJSONTranslatorTests.swift:60` | `RepoPromptClaudeCompatibleProviderTests` | `SDK` | `provider.sdk.claude-sdkndjsontranslator-tests` | `suite:ClaudeSDKNDJSONTranslatorTests; declaration:60` | behavioral coverage | provider-package unit/runtime | NDJSON fixtures: init, message-start usage, text delta, message stop, cancelled result. | retain (tentative) |
| `P0005:testProtocolCodecSmokeDecodesControlRepairsControlCharactersAndEncodesUserMessage` | `SDK/ClaudeSDKProtocolCodecTests.swift:6` | `RepoPromptClaudeCompatibleProviderTests` | `SDK` | `provider.sdk.claude-sdkprotocol-codec-tests` | `suite:ClaudeSDKProtocolCodecTests; declaration:6` | behavioral coverage | provider-package unit/runtime | Protocol fixtures: permission decode, raw-newline repair/decode, user-message encode. | retain (tentative) |

## Item 1 reconciliation

| Check | Result |
| --- | --- |
| Root census row count | **497** current rows. This does **not** equal the plan baseline of 478; drift is reported above. |
| Provider census row count | **5** current rows; matches the plan baseline of 5. |
| Total census row count | **502** current rows; historical plan baseline was 483. |
| Exactly-once ownership | Passed: generated `target + file + declaration line + method name` keys are unique and one census row was emitted for every anchored declaration match. |
| Scenario/golden breadth | Captured independently in the breadth index and repeated in matching census rows. |
| Swift edits during Item 1 | None. Item 5 landed the reconciled changes recorded above. |

## Historical Item 1 handoff — superseded by completed Items 2–5

- Item 1 originally handed detailed retention, deletion, consolidation, retained structural/diagnostic-exception, and cross-layer overlap decisions to Item 2. Those decisions are now complete above.
- The **502-row** manifest remains the pre-edit Item 1 recount. The final Item 5 acceptance recount is **445 root + 5 provider = 450**.
- The historical `478 + 5 = 483` plan baseline remains a comparison point only; the audit did not delete or ignore the 19 current root declarations to manufacture reconciliation.
- The only remaining acceptance lane is live CE smoke, pending a user-approved disruptive launch; it is not recorded as passed.
