1.3 KiB
1.3 KiB
Technical debt
P1
- EF migrations and startup reconciliation still share historical schema ownership. Keep compatibility bootstraps until a production restore rehearsal supports an expand/verify/contract migration.
JobApplicationduplicates opportunity data now owned byJob. Keep dual writes and compatibility reads until the production report/restore gate passes and one observation release completes.- Background workers are single-instance; add database leasing before deploying more than one backend replica.
P2/P3
- Central log aggregation is deployment-owned; add it only when multi-host operation or incident response requires it.
- Tags remain a JSON string and attachment-purpose flags remain compatibility columns; normalize/remove only with measured need and an API/schema compatibility release.
- Checklist reads intentionally seed/synchronize system items and are non-cacheable until measured workspace volume justifies separation.
- Large controllers/components should be split only around a cohesive behavior change with regression coverage; do not perform a standalone rewrite.
Intentional design choices are not debt: free-text statuses preserve custom user values, Next.js remains the static shell, and the current CV queue targets one backend instance.