Skip to content

fix(quickfiler): normalize rooted breadcrumb selection paths - #706

Merged
drmoisan merged 20 commits into
mainfrom
agent-af95f0a8159ff28fa-wt-2026-08-31T08-39
Aug 31, 2026
Merged

fix(quickfiler): normalize rooted breadcrumb selection paths#706
drmoisan merged 20 commits into
mainfrom
agent-af95f0a8159ff28fa-wt-2026-08-31T08-39

Conversation

@drmoisan

Copy link
Copy Markdown
Owner

Summary

  • Normalize eligible rooted Outlook paths before committing SelectedFolderPath.
  • Preserve root-exact, out-of-root, no-bound-root, relative, and trash-path behavior.
  • Add filing-boundary normalization and split the Issue Bug: efcviewer-missing-lineage-and-segment-navigation #439 fixture below the 500-line policy limit.

Verification

  • CSharpier format/check passed.
  • Analyzer and nullable rebuilds passed.
  • Coverage-enabled MSTest passed: 6,894 tests, 0 failures, 85.3389% line coverage.
  • Post-remediation policy, code, and feature reviews passed with zero blocking findings.

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

drmoisan and others added 20 commits August 29, 2026 18:02
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
- Convert eligible bound-root targets to archive-relative filing stems

- Correct #439 selection expectations while preserving provider lookup paths

- Align selection guard documentation with producer-side normalization

Refs: #637, #439
- 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
- Keep the test fixture below the file-size policy and include the partial file
- Record bounded coverage recovery and passing C# QA evidence
- Capture remediation review and scope-validation artifacts

Refs: #637, #439
- Record code, feature, and policy audit findings with no blocking issues
- Preserve evidence for full C# QA, coverage, and AC21 validation

Refs: #637
@drmoisan
drmoisan merged commit 9b6aff2 into main Aug 31, 2026
5 checks passed
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant