ZacharyZhang-NY
|
dbdec86cdd
|
refactor(database): split 5 god modules into domain-scoped files
Five files under `src/main/database/` exceeded 400 LOC by combining
multiple responsibilities. Split along natural fault lines. Zero
behavior change — each original `build*Methods` factory still returns
the same method surface, now via spread of smaller builders.
| Original | Split into | LOC each |
|-----------------------------------|-------------------------------------|----------------|
| tasks-crud.ts (640) | tasks-crud / task-sessions-crud / | 250 / 252 / |
| | task-queries | 177 |
| agents-hierarchy.ts (487) | agents-hierarchy / agent-permissions| 350 / 151 |
| company-settings.ts (476) | company-settings / company-metrics | 122 / 370 |
| documents.ts (426) | documents / config-revisions | 318 / 126 |
| runs.ts (413) | runs / run-logs / run-events / | 245 / 96 / |
| | cost-entries | 82 / 52 |
AppDatabase call sites unchanged:
- db.tasks.saveTask, db.tasks.ensureAgentSession (task-sessions-crud),
db.tasks.listAgentTasks (task-queries)
- db.agents.getChainOfCommand, db.agents.hasAgentPermission
- db.company.getCompanySettings, db.company.getStandupReport
(company-metrics)
- db.documentsMod.saveDocument, db.documentsMod.recordConfigRevision
- db.runs.createRun, db.runs.appendRunLog (run-logs),
db.runs.appendRunEvent (run-events), db.runs.recordCostEntry
(cost-entries)
`database-base.ts` (449) kept as-is — thin facade where every
pass-through is one line; splitting adds mechanical files without
behavior benefit. Will revisit if it grows further.
Aggregator files (`tasks.ts`, `agents.ts`, `company.ts`) each import
and spread the new sub-builders. No renamed exports.
|
2026-04-17 16:35:19 -04:00 |
|