Files
oh-my-opencode/.omo/notepads/package-layering-refactor/decisions.md
T
2026-05-21 12:49:33 +09:00

20 lines
1.5 KiB
Markdown

## [2026-05-20T15:12:12Z] Task 2 scope reduction
Dropped `write-file-atomically.ts` from utils extraction.
Reason: depends on omo-specific `tolerant-fsync` chain (classify-path-environment, fsync-skip-tracker, logger).
Decision deferred to a future task.
Net effect: utils package ships 12 files instead of 13.
## [2026-05-20T15:12:12Z] Task 2 jsonc-parser decoupling
Choice: Option A
Reason: Small call-site surface; keeps full jsonc-parser API together in the new package and avoids split ownership.
Call sites changed: src/plugin-config.ts, src/cli/config-manager/config-context.ts, src/cli/doctor/checks/config.ts, src/cli/doctor/checks/model-resolution-config.ts, src/cli/doctor/checks/team-mode.ts, src/cli/doctor/checks/tools-lsp.ts, src/shared/project-discovery-dirs.ts, packages/utils/src/jsonc-parser.test.ts, packages/utils/src/jsonc-parser.memoization.test.ts
## [2026-05-21T02:05:00Z] Task 9 (worktree)
storage.ts split plan (from 977 LOC monolith):
- `storage/shared.ts`: constants, timestamp/parsing helpers, mirror<->work projection, state normalization.
- `storage/read.ts`: path resolution, file read/parse, plan discovery/progress parsing, read-only selectors.
- `storage/write.ts`: persist/clear, create state/work IDs, active work selection, work lifecycle updates.
- `storage/session.ts`: session-id tracking append logic (global + per-work).
- `storage/task.ts`: task-session CRUD and timer transitions.
- `storage/index.ts`: public API barrel with explicit named exports (no wildcard export).