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
The branch has more than 250 committed rewrite commits past `dev`. The worklog records 211 production slices so far.
8
+
The branch has more than 250 committed rewrite commits past `dev`. The worklog records 212 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
@@ -53,6 +53,7 @@ This is no longer a small cleanup branch. It is a real ownership rewrite.
53
53
- Moved update state and install-lock persistence into `src/stores/update/`; platform update modules now own registry/npm/version behavior, not JSON state-file mechanics.
54
54
- Moved update registry/version/install mechanics behind a service-owned `UpdateRuntime` contract, with the real runtime composed in the CLI edge.
55
55
- Moved update check/cache workflow into `src/services/update/check.ts`, registry fetch mechanics into `src/platform/update/check.ts`, and concrete runtime composition into `src/app/update-runtime.ts`.
56
+
- Moved update notifier/banner eligibility into `src/services/update/notifier.ts`, CLI banner rendering into `src/edges/cli/update-announcement.ts`, and detached update-check process spawning into `src/platform/update/notifier-worker.ts`.
56
57
- Moved GitHub source resolution mechanics into `src/platform/github/`.
57
58
- Moved Absorb source resolver composition into `src/platform/sources/absorb.ts` and the CLI edge, so lifecycle Absorb services no longer import platform GitHub mechanics.
58
59
- Moved Absorb source-ref and resolved-source contracts into `src/shared/absorb-sources.ts`, so platform source resolvers no longer import lifecycle service-internal Absorb files.
@@ -86,23 +87,23 @@ This is no longer a small cleanup branch. It is a real ownership rewrite.
86
87
87
88
## Latest Checkpoint
88
89
89
-
The latest slice moved update cache/check workflow out of platform and into `src/services/update/check.ts`, added `src/shared/update-runtime.ts`for update runtime contracts, replaced `src/platform/update/check.ts` with a registry-only latest-version fetcher, and added`src/app/update-runtime.ts`as the concrete composition point. Platform update modules no longer own update-state cache policy.
90
+
The latest slice moved update notifier/banner eligibility and background-check scheduling policy out of platform and into `src/services/update/notifier.ts`, added a config-store sync read for startup-time notifier checks, moved banner rendering into `src/edges/cli/update-announcement.ts`, and reduced`src/platform/update/notifier-worker.ts`to detached process spawning.
90
91
91
92
Verification passed:
92
93
93
94
-`git diff --check`
94
95
-`npm run lint`
95
-
-`npx vitest run test/architecture-boundaries.test.ts test/update-check.test.ts test/update.test.ts test/update-install.test.ts test/update-store.test.ts test/update-announce.test.ts test/cli.test.ts`
96
+
-`npx vitest run test/architecture-boundaries.test.ts test/update-announce.test.ts test/update.test.ts test/update-check.test.ts test/cli.test.ts test/config-command.test.ts test/doctor.test.ts`
96
97
-`npm test`
97
98
-`npm run build`
98
-
-`node dist/launcher.js update --help | head -50`
99
-
-`node dist/launcher.js doctor --json --install-only`
100
-
-`node dist/launcher.js --help | head -25`
99
+
-`node dist/launcher.js --help`
100
+
-`node dist/launcher.js update --help`
101
101
-`node dist/launcher.js update --check`
102
+
-`node dist/launcher.js doctor --json --install-only`
102
103
103
104
## Immediate Next Work
104
105
105
-
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, setup instruction runtime composition, provider setup-view ownership, job provider-runner composition, job-worker process spawning, Absorb source resolver composition, Absorb source contract ownership, prompt loader mechanics, update runtime composition, 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, init prompt-context ownership, config command validation ownership, store atomic-write ownership, review command markdown ownership, and lifecycle workflow type 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.
106
+
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, setup instruction runtime composition, provider setup-view ownership, 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, init prompt-context ownership, config command validation ownership, store atomic-write ownership, review command markdown ownership, and lifecycle workflow type 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.
Copy file name to clipboardExpand all lines: docs/intentional-architecture-rewrite-2026-06-27/worklog.md
+9Lines changed: 9 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1472,3 +1472,12 @@ Two-hundred-eleventh production slice:
1472
1472
- Added `src/app/update-runtime.ts` as the concrete composition point for service check/cache workflow plus platform registry fetch, installed-version reads, and npm install mechanics.
1473
1473
- Deleted `src/platform/update/runtime.ts` and rewired CLI setup/update paths to use app update runtime composition.
1474
1474
- Strengthened architecture-boundary tests so platform update check no longer imports update stores and service update check no longer imports platform registry mechanics.
1475
+
1476
+
Two-hundred-twelfth production slice:
1477
+
1478
+
- Added `src/services/update/notifier.ts` as the service owner for update banner eligibility, notifier-enabled config reads, and background update-check scheduling policy.
1479
+
- Added `readConfigSync` to `src/stores/config/store.ts` so startup-time config reads stay in store ownership instead of platform code parsing config files directly.
1480
+
- Moved update banner rendering from `src/platform/update/announce.ts` into the CLI edge at `src/edges/cli/update-announcement.ts`.
1481
+
- Added `src/edges/cli/update-check-scheduler.ts` to compose service scheduling policy with platform detached-process spawning.
1482
+
- Reduced `src/platform/update/notifier-worker.ts` to process mechanics only and deleted `src/platform/update/announce.ts`.
1483
+
- Strengthened architecture-boundary tests so platform update modules no longer import config or update stores for notifier behavior.
0 commit comments