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
Small follow-ups that do not fit neatly into the main facade, route, tool, or schema migration checklists.
4
+
5
+
## Config / TUI
6
+
7
+
-[ ]`config/tui.ts` - finish the internal Effect migration after the `Instance.state(...)` removal.
8
+
Keep the current precedence and migration semantics intact while converting the remaining internal async helpers (`loadState`, `mergeFile`, `loadFile`, `load`) to `Effect.gen(...)` / `Effect.fn(...)`.
9
+
-[ ]`config/tui.ts` callers - once the internal service is stable, migrate plain async callers to use `TuiConfig.Service` directly where that actually simplifies the code.
10
+
Likely first callers: `cli/cmd/tui/attach.ts`, `cli/cmd/tui/thread.ts`, `cli/cmd/tui/plugin/runtime.ts`.
11
+
-[ ]`env/index.ts` - move the last production `Instance.state(...)` usage onto `InstanceState` (or its replacement) so `Instance.state` can be deleted.
12
+
13
+
## ConfigPaths
14
+
15
+
-[ ]`config/paths.ts` - split pure helpers from effectful helpers.
16
+
Keep `fileInDirectory(...)` as a plain function.
17
+
-[ ]`config/paths.ts` - add a `ConfigPaths.Service` for the effectful operations so callers do not inherit `AppFileSystem.Service` directly.
18
+
Initial service surface should cover:
19
+
-`projectFiles(...)`
20
+
-`directories(...)`
21
+
-`readFile(...)`
22
+
-`parseText(...)`
23
+
-[ ]`config/config.ts` - switch internal config loading from `Effect.promise(() => ConfigPaths.*(...))` to `yield* paths.*(...)` once the service exists.
24
+
-[ ]`config/tui.ts` - switch TUI config loading from async `ConfigPaths.*` wrappers to the `ConfigPaths.Service` once that service exists.
25
+
-[ ]`config/tui-migrate.ts` - decide whether to leave this as a plain async module using wrapper functions or effectify it fully after `ConfigPaths.Service` lands.
26
+
27
+
## Instance cleanup
28
+
29
+
-[ ]`project/instance.ts` - remove `Instance.state(...)` once `env/index.ts` is migrated.
30
+
-[ ]`project/state.ts` - delete the bespoke per-instance state helper after the last production caller is gone.
31
+
-[ ]`test/project/state.test.ts` - replace or delete the old `Instance.state(...)` tests after the removal.
32
+
33
+
## Notes
34
+
35
+
- Prefer small, semantics-preserving config migrations. Config precedence, legacy key migration, and plugin origin tracking are easy to break accidentally.
36
+
- When changing config loading internals, rerun the config and TUI suites first before broad package sweeps.
0 commit comments