Back to Oh My Openagent

Decisions

.omo/notepads/package-layering-refactor/decisions.md

4.3.01.5 KB
Original Source

[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).