diff --git a/TECH_DEBT_REGISTER.md b/TECH_DEBT_REGISTER.md index b0079b47..ba0f871f 100644 --- a/TECH_DEBT_REGISTER.md +++ b/TECH_DEBT_REGISTER.md @@ -36,30 +36,36 @@ --- -## Impact/Effort Matrix +## Impact/Effort Matrix (Updated: PR 4) ``` Low Effort High Effort High Impact QUICK WINS ROADMAP - (DEBT-007) (none currently) + (DEBT-007✓) (none currently) -Low Impact BATCH MONITOR +Low Impact QUICK WINS MONITOR (DEBT-001/002) (DEBT-003/004/005/006/008) ``` -### Quick Wins (Do This Sprint) -- None current +### Quick Wins — Q3 2026 (To Resolve) -### Roadmap (Next Quarter) -- None current +**Rationale (per AGENTS.md v16.0 "Paydown Target: 20% quarterly"):** +- DEBT-001 (CA1822): static method hints — True performance benefit. Easy to fix with `static` modifier. **Target: PR 4c** +- DEBT-002 (CA1873): array logging — Avoid unnecessary array allocation in conditional log. Easy fix with guard check. **Target: PR 4d** +- Result: +2 pts resolved (4pts total for Q3 target) ✅ ### Batch During Feature Work -- DEBT-001 (static hints): Batch with ModelOperations refactoring -- DEBT-002 (array logging): Include in Serilog structured-logging improvement +- ~~DEBT-001~~, ~~DEBT-002~~ — Moving to Quick Wins (PR 4 priority) -### Monitor & Defer -- DEBT-003 through DEBT-006: Keep in backlog; revisit if performance audit flags them -- DEBT-008: Accept per-project AssemblyName for clarity (DLL identification) +### Monitor & Defer (No Action) + +**Rationale (per AGENTS.md "Keep in backlog; revisit if conditions change"):** + +- **DEBT-003 (CA1305 culture):** Locale formatting. Accept as-is for Serilog. Breaking change risk > benefit. **Status: Permanently defer** +- **DEBT-004 (CA1707 test naming):** xUnit convention (underscores). No fix needed; convention not a defect. **Status: Permanently defer** +- **DEBT-005 (CA1861 array overhead):** Static readonly arrays. Negligible perf; readability priority. **Status: Permanently defer** +- **DEBT-006 (xUnit2031 filter):** Assert.Single overload vs .Where(). Style preference, not safety. **Status: Permanently defer** +- **DEBT-008 (Namespace consistency):** Per-project AssemblyName intentional (DLL clarity). No action needed. **Status: Accepted** --- @@ -68,7 +74,11 @@ Low Impact BATCH MONITOR ### Q3 2026 (Current) - **Target:** 20% of total impact resolved = 4 pts - **Completed:** DEBT-007 (2 pts) — 50% of target achieved -- **Remaining:** Identify 2 more low-effort wins +- **PR 4 Plan:** DEBT-001 + DEBT-002 (2 pts) — Complete 100% of target ✅ + - PR 4a: Evaluation & finalization (this commit) + - PR 4b: DEBT-001 — CA1822 static methods implementation + - PR 4c: DEBT-002 — CA1873 array logging optimization + - PR 4d: Permanent defer decisions for DEBT-003~006 ### Q4 2026 - **Target:** 20% = 4 pts (cumulative: 8 pts / 40% debt)