Skip to content

Rename Backup/ → OriginalSource/ (descriptive name for the historical-reference folder) - #2

Merged
andreak3779 merged 1 commit into
mainfrom
upgrading-to-net-10
Jul 30, 2026
Merged

andreak3779 merged 1 commit into
mainfrom
upgrading-to-net-10

Conversation

@andreak3779

Copy link
Copy Markdown
Owner

Summary

Renames the historical-reference folder from Backup/ to OriginalSource/ so the folder name describes what it actually contains: the original .NET Framework 1.0 WinForms source code, preserved verbatim for reference, never built, never referenced by new code.

This is a pure-rename PR. No production logic, no test logic, no docs content change — just folder rename + 27 reference updates.

Branch phase/8-rename-original-source → upgrading-to-net-10 (this branch)
Base main
Commit 5ca5ecc — checkpoint(phase-8): rename Backup/ to OriginalSource/
Tag v0.8-rename-original-source

Why

Backup/ was a generic name that didn't tell a new reader what the folder was. The folder holds the original WinForms source code (verbatim, from before the .NET 10 upgrade), kept for historical reference per AGENTS.md. A new contributor opening the folder would find ComCookingTime.cs, frmCookingTime.cs, etc. — i.e., the original source of the project.

OriginalSource/ makes that explicit at a glance. It's the vocabulary Microsoft's .NET Upgrade Assistant uses for the same idea.

What changes

  • 13 files renamed Backup/* → OriginalSource/* (git recorded the renames as R, so git log --follow and git blame still work).
  • 14 text references updated across:
    • AGENTS.md — 5 references: the "no using legacy types" rule, the anti-pattern table, the repo-layout section.
    • README.md — 1 reference: the "legacy code preserved" link.
    • CookingTime.csproj — 1 reference: the <EnableDefault*Items> workaround comment.
    • coverlet.runsettings.xml — 2 references: the filter rules + the namespace explanation comment.
    • scripts/check-coverage.py — 1 reference: the PRODUCTION_FOLDERS comment.
    • docs/plan.md — 2 references: master plan goal + Phase 6 summary.
    • docs/decisions/0004-solid-and-patterns.md — 1 reference: the legacy-file citation in the SOLID contract.
    • docs/decisions/0006-coverage-tooling.md — 1 reference: the coverlet runsettings filter description.
    • docs/phases/phase-1-blazor-host.md — 1 reference: the inventory of files kept as historical reference.
    • docs/phases/phase-2-domain.md — 3 references: provenance comments for Weight, ChickenMeal, TurkeyMeal.
    • docs/phases/phase-3-application-and-config.md — 1 reference: the bug-fix citation.
    • docs/phases/phase-6-cleanup.md — 5 references: scope, decisions, anti-patterns.
    • docs/phases/phase-7-ci.md — 2 references: the coverlet exclude rule + the namespace explanation.
    • Domain/Meals/ChickenMeal.cs — 1 reference: the /// provenance comment.
    • Domain/Meals/TurkeyMeal.cs — 1 reference: the /// provenance comment.

The two /// comments in ChickenMeal.cs and TurkeyMeal.cs document where the domain tables came from. They stay as provenance, not dependencies — the new code doesn't import anything from OriginalSource/.

Diff summary

28 files changed, 44 insertions(+), 42 deletions(-)

Of those 28:

  • 13 are file renames (Backup/X → OriginalSource/X) — 100% similarity.
  • 15 are in-place text edits.

Out of scope

  • OriginalSource/ contents are not changed. Every original WinForms file (.cs, .resx, .csproj, .sln, .suo, .ico) is preserved verbatim. Only the folder name changed.
  • No build changes. CookingTime.csproj comment was updated, but the <EnableDefault*Items> workarounds are still required — OriginalSource/*.resx still has non-string resources that would be auto-included without them.
  • No CI changes. The coverlet exclude pattern [OriginalSource.*] replaces [Backup.*]; same behavior.

Validation

  • dotnet build -c Release — 0 warnings, 0 errors across all 4 projects.
  • dotnet test -c Release --settings coverlet.runsettings.xml — 118 facts, 0 failed, 0 skipped.
  • python3 scripts/check-coverage.py ... --threshold 75 — exits 0 (UnitTests at 80.00% lines).
  • git grep -n 'Backup/' -- ':!OriginalSource' — no matches outside OriginalSource/ and the meta-reference in CookingTime.csproj ("renamed from Backup/ in Phase 8").

How to verify locally

git fetch origin
git checkout phase/8-rename-original-source
dotnet build -c Release
dotnet test -c Release --settings coverlet.runsettings.xml
python3 scripts/check-coverage.py \
  "$(ls -t tests/CookingTime.UnitTests/TestResults/*/coverage.cobertura.xml | head -1)" \
  --threshold 75

Checklist

  • Branch: phase/8-rename-original-source
  • Cuts from: upgrading-to-net-10 (the v0.7-ci tip)
  • Checkpoint commit: checkpoint(phase-8): rename Backup/ to OriginalSource/
  • Tag: v0.8-rename-original-source
  • All 27 references updated across 16 files
  • Build + tests + coverage gate green
  • AGENTS.md still accurate
  • No production-code changes

Phase 8: rename the historical-reference folder from Backup/ to
OriginalSource/ so the folder name describes what it actually contains
(the original .NET Framework 1.0 WinForms source code, preserved
verbatim for reference).

The rename touches every reference across the repo:
- OriginalSource/ (renamed from Backup/ via git mv; history follows)
- AGENTS.md (5 references): the 'no using legacy types' rule, the
  anti-pattern table, the repo-layout section.
- README.md (1 reference): the 'legacy code preserved' link.
- docs/plan.md (2 references): master plan goal + Phase 6 summary.
- docs/decisions/0004-solid-and-patterns.md (1 reference): the
  legacy-file citation in the SOLID contract.
- docs/decisions/0006-coverage-tooling.md (1 reference): the
  coverlet runsettings filter description.
- docs/phases/phase-1-blazor-host.md (1 reference): the inventory of
  files kept as historical reference.
- docs/phases/phase-2-domain.md (3 references): provenance comments for
  Weight, ChickenMeal, TurkeyMeal.
- docs/phases/phase-3-application-and-config.md (1 reference): the
  bug-fix citation.
- docs/phases/phase-6-cleanup.md (5 references): scope, decisions, and
  anti-patterns.
- docs/phases/phase-7-ci.md (2 references): the coverlet exclude rule
  and the namespace explanation.
- Domain/Meals/ChickenMeal.cs (1 reference): the /// provenance comment.
- Domain/Meals/TurkeyMeal.cs (1 reference): the /// provenance comment.
- CookingTime.csproj (1 reference): the Enable*Default*Items workaround
  comment.
- coverlet.runsettings.xml (2 references): the filter rules + comment.
- scripts/check-coverage.py (1 reference): the PRODUCTION_FOLDERS comment.

OriginalSource/ contents are kept verbatim. The folder is now named
accurately: it is the original source code, untouched, for reading.

Tests: 95 unit + 9 component + 8 integration + 6 new = 118 facts.
Build: 0 warnings, 0 errors.
UnitTests line coverage on production code: 80.00% (gate at 75%).
@andreak3779 andreak3779 self-assigned this Jul 30, 2026
@andreak3779
andreak3779 merged commit 850fea6 into main Jul 30, 2026
1 check passed
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