Skip to content

Bug: remaining-tracked-backup-files-and-hygiene-guard-rule #961

Closed

Description

@drmoisan
  • Work Mode: minor-audit

Summary

#951 (PR #960) removed the eight tracked *.csproj.bak files and added an ignore rule. Two gaps remain:

  • three other tracked backup files on main;
  • no CI rule preventing a forced add from reintroducing them.

An ignore rule does not stop git add -f.

Environment

  • OS/version: n/a
  • Python version: n/a
  • Command/flags used: git ls-tree -r --name-only origin/main | grep -E "\.bak$"
  • Data source or fixture: repository tree at 9a3d2dd3e or later

Steps to Reproduce

  1. List tracked .bak files on main:
    • TaskMaster.sln.bak
    • TaskTree/TaskTree.vbproj.bak
    • TaskVisualization/TaskVisualization.vbproj.bak
  2. Force-add any *.csproj.bak. The hygiene guard reports nothing.

Expected Behavior

Actual Behavior

Three backups remain, and the guard has no backup-file rule.

Logs / Screenshots

Impact / Severity

  • Blocker
  • High
  • Medium
  • Low

Source

From: docs/features/potential/2026-10-01-remaining-tracked-backup-files-and-hygiene-guard-rule.md

Activity

  1. drmoisan commented on Oct 1, 2026

    @drmoisan
    OwnerAuthor

    Restoring sections dropped by the promotion tooling.

    Suspected Cause / Notes

    #951 was scoped to *.csproj.bak only. Confirm that no build step reads the .sln.bak or .vbproj.bak files before deleting them. Source: #951 executor follow-ups 1 and 2 (PR #960).

    Proposed Fix / Validation Ideas

    • Delete TaskMaster.sln.bak, TaskTree/TaskTree.vbproj.bak and TaskVisualization/TaskVisualization.vbproj.bak, and broaden the ignore rule to *.bak if appropriate.
    • Add a hygiene guard rule (scripts/hygiene/) that flags tracked *.bak paths, with Pester tests and a negative control proving the rule fails on a seeded path. Run it through PoshQC, with coverage from CI.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions