You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/intentional-architecture-rewrite-2026-06-27/decision-log.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -69,6 +69,8 @@ Setup provider fix-command execution is explicitly wired at setup command regist
69
69
70
70
Automation command adapters are split by user-facing verb. `src/edges/cli/commands/automation/install.ts`, `uninstall.ts`, and `status.ts` each own only their command option shape and service request conversion. Automation rendering lives in `src/edges/cli/commands/automation/render.ts`. The deleted `automation.ts` and `automation-render.ts` catchalls should not return.
71
71
72
+
Jobs command adapters are split by user-facing verb group. `src/edges/cli/commands/jobs/read.ts` owns list/show request shaping, `logs.ts` owns logs/attach request shaping, and `cancel.ts` owns cancel request shaping. Jobs rendering and formatting live in `render.ts` and `format.ts` under the same folder. The deleted `jobs.ts`, `jobs-render.ts`, and `jobs-format.ts` catchalls should not return.
73
+
72
74
### Transcript file mechanics are platform, sync eligibility is service
73
75
74
76
Claude and Codex transcript-store scanning, raw transcript snapshot reads, line counting, and JSONL timestamp extraction belong under `src/platform/transcripts/`. The sync service owns quiet-window eligibility, ledger reconciliation, cursor decisions, and Absorb handoff over typed transcript candidates and snapshots.
The branch has more than 280 committed rewrite commits past `dev`. The worklog records 270 production slices so far.
8
+
The branch has more than 280 committed rewrite commits past `dev`. The worklog records 271 production slices so far.
9
9
10
10
The diff is broad: more than 490 files changed, with tens of thousands of lines reshaped.
11
11
@@ -127,6 +127,7 @@ This is no longer a small cleanup branch. It is a real ownership rewrite.
127
127
- Split lifecycle CLI operation adapters into owner-named init, Absorb, Garden, and render files under `src/edges/cli/commands/operations/`, deleting the old command catchall and render compatibility paths.
128
128
- Moved setup provider-fix runtime wiring to setup command registration, so setup agent-choice UI consumes an explicit runner instead of importing platform runtime fallback mechanics.
129
129
- Split automation CLI command adapters into install, uninstall, status, and render owner files, deleting the old automation command/render catchalls.
130
+
- Split jobs CLI command adapters into read, logs, cancel, render, and format owner files, deleting the old jobs command/render/format catchalls.
130
131
- Moved the provider-neutral operation spec contract into `src/shared/operation-spec.ts`, so lifecycle services build specs, job stores persist them, and provider adapters execute them without stores or providers importing lifecycle service internals.
131
132
- Moved worker-lock and sync-lock process ownership/liveness facts out of stores; stores now persist lock files over injected owner PID and liveness contracts while CLI/worker edges provide platform process probes.
132
133
- Moved repeated store atomic-write temp-file mechanics into `src/stores/atomic-write.ts`, removing process-PID temp names from job and sync stores.
@@ -145,12 +146,12 @@ This is no longer a small cleanup branch. It is a real ownership rewrite.
145
146
146
147
## Latest Checkpoint
147
148
148
-
The latest slice split automation CLI command adapters by verb. Install, uninstall, status, and automation rendering now live under `src/edges/cli/commands/automation/`; the old `src/edges/cli/commands/automation.ts`and `automation-render.ts` catchalls are gone.
149
+
The latest slice split jobs CLI command adapters by verb. List/show, logs/attach, cancel, jobs rendering, and jobs formatting now live under `src/edges/cli/commands/jobs/`; the old `src/edges/cli/commands/jobs.ts`, `jobs-render.ts`, and `jobs-format.ts` catchalls are gone.
149
150
150
151
Verification passed:
151
152
152
153
-`npm run lint`
153
-
-`npx vitest run test/architecture-automation-update-boundaries.test.ts test/architecture-lifecycle-provider-boundaries.test.ts test/automation.test.ts`
154
+
-`npx vitest run test/architecture-jobs-sync-boundaries.test.ts test/jobs-command.test.ts`
154
155
-`npx vitest run test/architecture-*-boundaries.test.ts`
155
156
-`git diff --check`
156
157
-`npm test`
@@ -175,7 +176,7 @@ Previous full-slice verification also passed:
175
176
176
177
## Immediate Next Work
177
178
178
-
Continue top-down subsystem passes before small leak cleanup. The major loose source buckets for jobs, init, config, wiki, viewer read models, worker entrypoints, serve process lifetime, setup/uninstall terminal UI, wiki file mechanics, automation scheduler mechanics, automation scheduler app composition, automation command adapter ownership, setup instruction runtime composition, provider setup-view ownership, setup provider-fix runtime composition, job provider-runner composition, job-worker process spawning, Absorb source resolver composition, Absorb source contract ownership, prompt loader mechanics, update runtime composition, update notifier ownership, setup runtime composition, sync transcript runtime composition, sync-to-job session lookup, CLI app composition, diagnostic fact contracts, provider-neutral agent runtime contracts, lock process-liveness contracts, operation-spec type ownership, operation-output type ownership, path-equality contract ownership, init prompt-context ownership, config command validation ownership, store atomic-write ownership, review command markdown ownership, lifecycle workflow type ownership, lifecycle workflow verb ownership, lifecycle command adapter verb ownership, path construction ownership, shared helper-contract ownership, wiki command target resolution, cross-wiki health coordination, job service view ownership, and lifecycle/job starter result ownership have now been removed or assigned. Remaining candidates include command files that still own workflow decisions, remaining platform modules that read config/store state directly, lifecycle/job boundary duplication that remains after the big moves, and large files whose size may still reflect mixed ownership.
179
+
Continue top-down subsystem passes before small leak cleanup. The major loose source buckets for jobs, init, config, wiki, viewer read models, worker entrypoints, serve process lifetime, setup/uninstall terminal UI, wiki file mechanics, automation scheduler mechanics, automation scheduler app composition, automation command adapter ownership, jobs command adapter ownership, setup instruction runtime composition, provider setup-view ownership, setup provider-fix runtime composition, job provider-runner composition, job-worker process spawning, Absorb source resolver composition, Absorb source contract ownership, prompt loader mechanics, update runtime composition, update notifier ownership, setup runtime composition, sync transcript runtime composition, sync-to-job session lookup, CLI app composition, diagnostic fact contracts, provider-neutral agent runtime contracts, lock process-liveness contracts, operation-spec type ownership, operation-output type ownership, path-equality contract ownership, init prompt-context ownership, config command validation ownership, store atomic-write ownership, review command markdown ownership, lifecycle workflow type ownership, lifecycle workflow verb ownership, lifecycle command adapter verb ownership, path construction ownership, shared helper-contract ownership, wiki command target resolution, cross-wiki health coordination, job service view ownership, and lifecycle/job starter result ownership have now been removed or assigned. Remaining candidates include command files that still own workflow decisions, remaining platform modules that read config/store state directly, lifecycle/job boundary duplication that remains after the big moves, and large files whose size may still reflect mixed ownership.
0 commit comments