fix(quickfiler): normalize rooted breadcrumb selection paths - #706
Merged
Conversation
Preparation for issue 637 (breadcrumb SelectRow rooted-path/D1 half-close) was interrupted mid-run: issue, spec, plan, and research are written but preflight clearance had not started. Commits agent-memory learnings from this preparation pass and one promoted latent-defect record surfaced during research. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…row-emits-rooted-path-leaving-d1-half-closed-637
Preflight round 1 found the plan materially stale after PR #700 merged. Re-anchor the plan base to the merge commit, renumber every EfcDataModel.cs citation, correct the MoveToFolder census, take the partial-class file split authorized by spec.md, and resolve the coverage-floor authority conflict. Refs #637 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Add the porcelain companion to P0-T8 so the Phase 0 clean-baseline gate can observe a modified-but-unstaged tracked file, correct the misidentified stem-only search file to EfcHomeControllerTests.cs, and remove a sibling-folder tracking claim that is worktree-local and was measured in the wrong checkout. Refs #637 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Refs #637 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…row-emits-rooted-path-leaving-d1-half-closed-637 # Conflicts: # .claude/agent-memory/atomic-planner/MEMORY.md
origin/main 69aa28d was merged into this branch at 0eda184. The plan's diff anchor b947658 was no longer a clean pre-change baseline: six files under the plan's own QuickFiler and QuickFiler.Test pathspec differ between that anchor and HEAD for reasons this plan does not own, so every anchored footprint-containment gate was unsatisfiable. All 19 anchored sites now name 0eda184. Adds tree observation 9 recording the merge, the new Compile Include at QuickFiler.Test.csproj:133, and the re-derived citations that did not move. No scope, phase, identifier, or acceptance-criteria change. Refs #637 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Six defects closed. D1: Phase 8's reconciliation task described a superseded spec.md, narrating corrections a prior spec revision had already applied and asserting a spec.md edit set no task in this plan performs; replaced with a verification list and a deliberately-uncorrected list. D2: the coverage gate could not fail correctly, because the wrapper throws on a sub-80 line rate independently of test failures; the exit code is now judged separately with an explicit COVERAGE_FLOOR_THROW branch. D3: P7-T7 and P8-T29 demanded non-zero hits for lines that carry no Cobertura node; now scoped to node-bearing lines with a non-vacuity floor. D4: repo-wide format drift outside the two owned trees is now detected at P0-T12 and at P7-T1 rather than first surfacing at P8-T30. D5 and D6 are citation accuracy. The planner's sibling-region sweep found three further sites carrying D1's false claim that the delta did not name, including a P1-T7 acceptance condition that would have required the executor to record that AC25 states 424 when it states 485. Refs #637 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Cover rooted archive targets, boundary rejections, and passthrough cases - Introduce the filing-stem seam and record P0 through P2 evidence Refs: #637
- Apply and verify repository-wide CSharpier formatting - Capture P7 formatter evidence and mark completed plan tasks Refs: #637
- Capture analyzer, nullable, test, and coverage verification results - Mark P7-T3 through P7-T8 complete in the execution plan Refs: #637
- Capture file-size, toolchain, and evidence-redaction audits - Mark P7-T9 through P7-T12 complete for the commit boundary Refs: #637
# Conflicts: # .claude/agent-memory/atomic-planner/MEMORY.md # QuickFiler/QuickFiler.csproj
- Record the AC21 invariant correction and derived AC14 test evidence - Reconcile plan anchors, scope validation, routing receipts, and 30 AC checkoffs Refs: #637
- Record spec-to-tree citation discrepancies without changing acceptance criteria - Preserve AC21 as a deliberate invariant correction - Mark final partial-interval plan tasks complete Refs: #637
- Record code, feature, and policy audit findings with no blocking issues - Preserve evidence for full C# QA, coverage, and AC21 validation Refs: #637
drmoisan
added a commit
that referenced
this pull request
Aug 31, 2026
Item 637 completed and merged out-of-band on codex (PR #706) after the operator was rate-limited on Claude. Reconciled parallel-status.md against git/gh ground truth: item 637 is merged, cohort 3 (item 647) is now unblocked, and a delivery-history section documents the branch substitution and out-of-order CI. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ATYLDoRLKXS5sgAzegW7ZL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Verification
Specification note
AC21 deliberately corrects the previous rooted-target selection expectation: provider lookup remains rooted while SelectedFolderPath is asserted as archive-relative. This preserves the archive-relative-stem invariant and does not weaken coverage.
Review guide
Related: #637, #614, #439