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
{{ message }}
Repository navigation
Commit 8a98f15
Browse filesBrowse the repository at this point in the historyBrowse files
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
@@ -209,6 +209,8 @@ Viewer read models are route-payload owners, not one API bucket. `src/edges/view
209
209
210
210
Bare-`codealmanac` bootstrap is a flow coordinator, not a package-manager bucket. `src/platform/install/global.ts` owns the high-level bootstrap sequence. `bootstrap-process.ts` owns child-process spawn/capture mechanics. `bootstrap-package.ts` owns package-root detection, package version reads, root equality, and version comparison. `bootstrap-npm.ts` owns npm global-root discovery, global install execution, and npm failure text.
211
211
212
+
Launchd action mechanics and launchd plist XML are separate platform owners. `src/platform/automation/launchd.ts` owns launchctl target construction, PATH construction, plist file writes/removals, directory creation, bootstrap/bootout, and loaded-state checks. `src/platform/automation/launchd-plist.ts` owns XML rendering, XML escaping/unescaping, StartInterval parsing, and ProgramArguments parsing. `src/platform/automation/paths.ts` owns plist and log path construction.
213
+
212
214
Codex app-server runtime has two layers. `app-server.ts` coordinates provider runtime state: request/config setup, JSON-RPC transport wiring, notification mapping, root-turn completion, turn watchdogs, and final result projection. `app-server-process.ts` owns child-process mechanics: spawning the Codex app-server, decoding stdout JSONL into protocol messages, collecting stderr for close failures, registering signal handlers, writing JSON-RPC messages to stdin, and terminating the managed child.
213
215
214
216
Codex app-server notifications are routed by notification kind. `app-notifications.ts` owns the top-level method router and generic notification categories. `app-agent-messages.ts` owns agent-message semantics: text deltas, root result capture, structured output parsing, invalid structured-output failure state, and helper-agent completion events. `app-terminal-events.ts` owns terminal event semantics: turn completion, warnings, app-server error notifications, terminal run-state success/failure mutation, and `classifyCodexFailure` calls. Tool display, usage parsing, actor tracing, root-turn detection, and process mechanics stay in their existing named files.
The branch has more than 340 committed rewrite commits past `dev`. The worklog records 289 production slices so far.
8
+
The branch has more than 340 committed rewrite commits past `dev`. The worklog records 290 production slices so far.
9
9
10
10
The diff is broad: more than 680 files changed, with tens of thousands of lines reshaped.
11
11
@@ -148,6 +148,7 @@ This is no longer a small cleanup branch. It is a real ownership rewrite.
148
148
- Split setup input controls into line prompts, single-choice select, raw input capability, multi-select, and interruption handling.
149
149
- Split viewer read-model route payloads into overview, page, topic, search/file, DB freshness, and type owners.
150
150
- Split bare-`codealmanac` install bootstrap into flow coordination, package-root/version, npm global install, and process-spawn owners.
151
+
- Split launchd plist XML mechanics from launchctl action mechanics in the automation platform adapter.
151
152
- Moved repeated store atomic-write temp-file mechanics into `src/stores/atomic-write.ts`, removing process-PID temp names from job and sync stores.
152
153
- Split most command rendering into command-private render files.
153
154
- Added architecture-boundary tests to stop old dependency leaks from returning.
@@ -164,12 +165,12 @@ This is no longer a small cleanup branch. It is a real ownership rewrite.
164
165
165
166
## Latest Checkpoint
166
167
167
-
The latest slice split the bare-`codealmanac` install bootstrap bucket. `global.ts` now coordinates the bootstrap flow, while `bootstrap-package.ts`, `bootstrap-npm.ts`, and `bootstrap-process.ts` own package-root/version mechanics, npm mechanics, and child-process mechanics.
168
+
The latest slice split launchd plist XML mechanics from launchctl action mechanics. `launchd.ts` now owns launchctl/file/action mechanics, while `launchd-plist.ts` owns XML rendering, escaping, and parsing.
168
169
169
170
Verification passed:
170
171
171
172
-`npm run lint`
172
-
-`npx vitest run test/global-bootstrap.test.ts test/architecture-setup-boundaries.test.ts`
173
+
-`npx vitest run test/automation.test.ts test/architecture-automation-update-boundaries.test.ts`
173
174
-`npx vitest run test/architecture-*-boundaries.test.ts`
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
@@ -2076,3 +2076,12 @@ Two-hundred-eighty-ninth production slice:
2076
2076
- Added `src/platform/install/bootstrap-npm.ts` for npm global-root discovery, global package install execution, and npm-install failure text.
2077
2077
- Kept `global.ts` focused on the bare-`codealmanac` bootstrap flow: local setup bypass, global-root resolution, global install decision, and rerun through the global launcher.
2078
2078
- Strengthened setup architecture tests so process spawning, package-root/version probing, and npm install mechanics stay in separate install-platform owners.
2079
+
2080
+
Two-hundred-ninetieth production slice:
2081
+
2082
+
- Split launchd plist XML mechanics out of `src/platform/automation/launchd.ts`.
2083
+
- Added `src/platform/automation/launchd-plist.ts` for plist XML rendering, XML escaping/unescaping, StartInterval parsing, and ProgramArguments parsing.
2084
+
- Kept `launchd.ts` focused on launchctl target construction, launch PATH construction, plist file writes/removals, directory creation, bootstrap/bootout, and loaded-state checks.
2085
+
- Updated the launchd scheduler adapter to consume `readLaunchdProgramArguments()` from the plist owner instead of parsing plist XML locally.
2086
+
- Removed the unused `automationLogsDir()` helper because automation log path ownership already lives in `src/platform/automation/paths.ts`.
2087
+
- Strengthened automation boundary tests so launchd action mechanics and plist XML mechanics stay separate.
0 commit comments