Loading...
Loading...
Track, categorize, and prioritize technical debt when the user asks to manage tech debt, create a tech debt register, assess code quality, or plan refactoring work
npx skill4agent add generaljerel/chalk-skills manage-tech-debt.chalk/docs/engineering/*_tech_debt_register.md.chalk/docs/engineering/$ARGUMENTS| Deliberate | Inadvertent | |
|---|---|---|
| Reckless | "We don't have time for tests" | "What are integration tests?" |
| Prudent | "We'll ship now and refactor before scaling" | "Now we know how this should have been built" |
.chalk/docs/engineering/tech_debt_register.mdtech_debt_register.md.chalk/docs/engineering/tech_debt_register.md# Tech Debt Register
Last updated: <YYYY-MM-DD>
Total items: <active count> active, <resolved count> resolved
## Summary
### By Category
| Category | Count | Total Interest (hrs/sprint) |
|----------|-------|-----------------------------|
| Architecture | 3 | 8 |
| Code Quality | 5 | 6 |
| Testing | 2 | 4 |
| Dependencies | 1 | 2 |
### Top 5 Priorities
| # | Item | Interest Rate | Effort | Ratio | Aligned With |
|---|------|--------------|--------|-------|-------------|
| 1 | Payment retry logic | 4 hrs/sprint | 2 days | High | Q2 billing overhaul |
| 2 | Shared validation | 3 hrs/sprint | 1 day | High | API v2 migration |
| 3 | Test database setup | 2 hrs/sprint | 3 days | Medium | — |
| 4 | Legacy auth module | 3 hrs/sprint | 5 days | Medium | Auth service RFC |
| 5 | Missing indexes | 2 hrs/sprint | 0.5 day | High | — |
## Active Debt Items
### TD-001: <Title>
- **Category**: Architecture
- **Quadrant**: Prudent / Deliberate
- **Added**: <YYYY-MM-DD>
- **Location**: `src/payments/retry.ts`, `src/payments/processor.ts`
- **Description**: Payment retry logic uses a simple loop with fixed delays instead of exponential backoff with jitter. This was acceptable at low volume but causes thundering herd problems under load.
- **Impact (Interest Rate)**: ~4 hours/sprint investigating timeout-related payment failures. 2-3 support tickets per week from merchants about failed retries.
- **Payoff Effort**: M (2 days) -- replace retry loop with a proper backoff library, add circuit breaker, update tests.
- **Business Justification**: Payment reliability directly affects merchant trust and revenue. Each failed retry costs an average of $47 in lost transaction value.
- **Strategic Alignment**: Directly relevant to Q2 billing overhaul. Fixing now reduces risk for that project.
- **Priority**: 1 (High impact/effort ratio + strategic alignment)
### TD-002: <Title>
...
## Resolved Debt Items
### TD-008: <Title> [RESOLVED <YYYY-MM-DD>]
- **Resolution**: Refactored in PR #234. Replaced manual SQL with query builder.
- **Actual effort**: 1.5 days (estimated: 2 days)
- **Outcome**: Eliminated 2 hrs/sprint of debugging SQL-related issues.| Interest Level | Hours/Sprint | Characteristics |
|---|---|---|
| Critical | 8+ hrs | Causes incidents, blocks features, developers actively work around it every sprint |
| High | 4-8 hrs | Regular source of bugs, significant developer friction, slows multiple features |
| Medium | 2-4 hrs | Occasional bugs, noticeable friction, slows some features |
| Low | 0.5-2 hrs | Minor annoyance, rarely causes issues but adds up over time |
| Negligible | <0.5 hrs | Aesthetic concern, not worth prioritizing unless zero-cost to fix |
| Size | Duration | Characteristics |
|---|---|---|
| XS | < 2 hours | Single file change, localized, no risk |
| S | 0.5-1 day | Few files, well-understood, low risk |
| M | 1-3 days | Multiple files, needs testing, moderate risk |
| L | 3-5 days | Cross-module changes, needs migration, high risk |
| XL | 1-2 weeks | Architectural change, needs RFC or ADR, phased rollout |
| Area | What to Look For |
|---|---|
| Architecture | Circular dependencies, god classes/modules, missing abstraction layers, tight coupling |
| Code Quality | Code duplication (>3 instances), long functions (>50 lines), deep nesting (>3 levels), magic numbers |
| Testing | Missing tests for critical paths, brittle tests, slow test suite, no integration tests |
| Dependencies | Outdated packages (>2 major versions behind), packages with known CVEs, abandoned packages |
| Infrastructure | Manual deployment steps, missing monitoring, no alerting, single points of failure |
| Documentation | Outdated architecture docs, missing API docs, no onboarding guide, stale comments |
| Security | Hardcoded secrets, missing input validation, outdated auth patterns, no rate limiting |