Technical Debt Register

August 21, 2026 ยท View on GitHub

This register separates release blockers from compatibility debt and known runtime limitations. A debt item is not considered closed because a unit test exists; it needs a real entrypoint and platform evidence where applicable.

IDAreaSeverityCurrent stateClosure evidence
TD-001Windows managed command invocationClosed in this worktree.cmd/.bat commands run through cmd.exe; Doctor and repair pass on WindowsWindows Doctor + repair smoke
TD-002Electron native rebuild scopeClosed in this worktreeRebuild uses --only better-sqlite3,node-pty,sharpWindows ABI rebuild + Doctor
TD-003Installer build metadataClosed in this worktree@types/node, .ico, NSIS and MSI inputs are presentNSIS and MSI build
TD-004Legacy launchersCompatibility debtMultiple BAT/VBS entries still bypass managed DoctorKeep until migration/shortcut policy is formally changed
TD-005Source-first installerRelease limitationMissing-source install/download is fail-closed; signed payload publication is not connectedSigned payload, staging, rollback, and clean-machine install
TD-006Rust audio runtimeRuntime warningWindows startup can emit a Tokio shutdown panic and audio may degradeClean Windows launch with audio runtime and no panic
TD-007Existing single-instance processTestability debtA second managed launch may delegate to an existing VCPChat processOperation-scoped focus/launch test with an existing instance
TD-008User configuration migrationRuntime debtFresh source launches can warn when AppData/settings.json is absentFirst-run setup creates a valid settings profile
TD-009Generated repository filesHygiene debtRoot contains runtime DB/splash and large user-facing legacy assetsClassify, ignore, relocate, or remove with explicit ownership
TD-010Release signingRelease limitationBundles are unsigned evidence onlyWindows signing/Defender and macOS signing/notarization evidence

Triage Rules

  • Closed means the local implementation and its focused tests pass; it does not imply all-platform release completion.
  • Release limitation blocks a production claim but may be acceptable for a source-first development build.
  • Compatibility debt is not removed by deleting a file. It needs a migration path and a documented owner.