Skip to content

chore: remove tracked csproj.bak backups and ignore the pattern - #960

Merged
drmoisan merged 8 commits into
mainfrom
bug/tracked-csproj-bak-files-carry-stale-project-content-951
Oct 1, 2026
Merged

drmoisan merged 8 commits into
mainfrom
bug/tracked-csproj-bak-files-carry-stale-project-content-951

Conversation

@drmoisan

@drmoisan drmoisan commented Oct 1, 2026

Copy link
Copy Markdown
Owner

Suggested title

chore: remove tracked csproj.bak backups and ignore the pattern

Summary

  • Removes eight tracked *.csproj.bak backup files: QuickFiler.Test/QuickFiler.Test.csproj.bak, QuickFiler/QuickFiler.csproj.bak, Tags/Tags.csproj.bak, TaskTree/TaskTree.csproj.bak, TaskVisualization.Test/TaskVisualization.Test.csproj.bak, TaskVisualization/TaskVisualization.csproj.bak, ToDoModel.Test/ToDoModel.Test.csproj.bak and ToDoModel/ToDoModel.csproj.bak.
  • Adds the single line *.csproj.bak to .gitignore, directly after the existing *.rptproj.bak rule (line 258).
  • Leaves the three other tracked backups (TaskMaster.sln.bak, TaskTree/TaskTree.vbproj.bak, TaskVisualization/TaskVisualization.vbproj.bak) untouched and not matched by any ignore rule.
  • Changes no C#, test, script or workflow file. The footprint outside docs/features/ is the nine paths above.

Why

  • The backups were tracked in git and carried stale project content, for example altcover references present in two of them (QuickFiler/QuickFiler.csproj.bak, QuickFiler.Test/QuickFiler.Test.csproj.bak). Tracked stale project text can mislead searches and reviews.
  • No script, workflow, library, project, solution or targets file reads the backups (searched on origin/main and on the end-state tree).
  • The rule is deliberately *.csproj.bak and not *.bak: a *.bak rule would shadow the three out-of-scope tracked backups, which the acceptance criteria forbid.
  • Tracking: Bug: tracked-csproj-bak-files-carry-stale-project-content #951.

What Changed

  • Tooling and repository hygiene: eight file deletions and one .gitignore line (numstat 1 0).
  • Docs and evidence: feature folder docs/features/active/2026-09-30-tracked-csproj-bak-files-carry-stale-project-content-951/ containing the issue, research, plan, baseline and QA-gate evidence, and the reduced audit artifacts (policy audit, code review, feature audit).
  • Merges origin/main into the branch (clean merge, no conflicts, no overlap with this change).

Architecture / How It Fits Together

Not applicable. This is a repository-content change with no runtime component.

Verification

Completed (from the evidence in the feature folder and the independent reduced audit):

  • git ls-files -- "*.csproj.bak" is empty after the change (eight paths before).
  • git check-ignore -v --no-index reports .gitignore:258:*.csproj.bak for all eight former paths.
  • git ls-files -ci --exclude-standard -- "*.bak" is empty, so no tracked .bak file is shadowed by an ignore rule; the three remaining backups are unmodified against origin/main.
  • A search for .csproj.bak across scripts, .github, .claude/lib, *.csproj, *.sln and *.targets finds no reader.
  • Repository hygiene guard scripts/hygiene/Test-RepositoryHygiene.ps1: HYGIENE Findings=0.
  • Reduced audit: policy audit, code review and feature audit all PASS with zero blocking findings. No coverage gate applies because no code changed.

Recommended:

  • git ls-files -- "*.bak" should list exactly three paths.
  • Confirm the required CI checks are green on the head commit.

Backward Compatibility / Migration Notes

No API, build or runtime behavior changes. The deleted files were backups that no build step references.

Risks and Mitigations

  • Risk: an ignore rule does not stop a forced add of a new *.csproj.bak. Mitigation: the hygiene guard extension is recorded as a follow-up.
  • Rollback: revert this commit to restore the files and remove the ignore line.

Review Guide

  1. .gitignore (one added line).
  2. The eight deletions (no content to review).
  3. The feature folder evidence and audit artifacts, as needed.

Follow-ups

  • The three remaining tracked backups (TaskMaster.sln.bak, TaskTree/TaskTree.vbproj.bak, TaskVisualization/TaskVisualization.vbproj.bak) are out of scope here and remain tracked by design.
  • Optional extension of the repository hygiene guard from Bug: evidence-and-identity-hygiene-sweep #927 to report tracked *.csproj.bak files.

GitHub Auto-close

  • None

🤖 Generated with Claude Code

https://claude.ai/code/session_01NcieP6KJzhzgHkRh4F21Po

drmoisan and others added 8 commits October 1, 2026 07:21
…minimal-audit plan; preflight pending)

Preparation-mode WIP commit made on a quota stop. The plan passes the structural plan validator; executor preflight had not returned a signal at commit time.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

Claude-Session: https://claude.ai/code/session_01NcieP6KJzhzgHkRh4F21Po
…ope) and D2 (P1-T2 LF-only remediation)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… commit time

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcieP6KJzhzgHkRh4F21Po
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NcieP6KJzhzgHkRh4F21Po
@drmoisan
drmoisan merged commit 9a3d2dd into main Oct 1, 2026
7 checks passed
@drmoisan
drmoisan deleted the bug/tracked-csproj-bak-files-carry-stale-project-content-951 branch October 7, 2026 10:57
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