Skip to content

Commit ec47995

Browse files
committed
docs: amend spec #209 — drop core/ layer, keep util/, rename browse
Address architectural review: remove src/core/ nesting, keep src/util/ unchanged, rename features/navigation to features/browse to avoid collision with journal/navigation.ts. #209
1 parent d0528a8 commit ec47995

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

docs/specs/2026-05-17-209-domain-module-naming.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,19 @@ Full directory rename + import path update for all TypeScript source files under
1414

1515
### Mapping
1616

17+
> **Amendment (2026-05-17):** Dropped the `src/core/` grouping layer (depth without signal). Kept `src/util/` unchanged (pure helpers like `dates.ts` and `strings.ts` are not "infrastructure"). Renamed feature folder `navigation``browse` to avoid collision with `src/journal/navigation.ts`.
18+
1719
| Current path | New path | Reason |
1820
|---|---|---|
19-
| `src/ext/` | `src/core/extension/` | VS Code lifecycle/config is extension plumbing, not domain |
20-
| `src/actions/` | `src/core/journal/` | Core read/write/inject logic _is_ the journal domain |
21-
| `src/util/` | `src/core/infrastructure/` | Controller, logger, paths, strings — infrastructure, not domain |
21+
| `src/ext/` | `src/extension/` | VS Code lifecycle/config is extension plumbing, not domain |
22+
| `src/actions/` | `src/journal/` | Core read/write/inject logic _is_ the journal domain |
23+
| `src/util/` | `src/util/` | No change — pure helpers are not infrastructure |
2224
| `src/provider/commands/` | `src/commands/` | Commands are a top-level surface, not a provider sub-concern |
2325
| `src/provider/codeactions/` | `src/ui/codeactions/` | VS Code UI surface grouped under `ui/` |
2426
| `src/provider/codelens/` | `src/ui/codelens/` | VS Code UI surface grouped under `ui/` |
25-
| `src/provider/features/sync-daily-links.ts`<br>`src/provider/features/sync-note-links.ts` | `src/features/sync/` | Sync is a domain feature, distinct from navigation |
26-
| `src/provider/features/scan-entries.ts`<br>`src/provider/features/load-note.ts`<br>`src/provider/features/show-pick-list.ts`<br>`src/provider/features/weekly-entry-watcher.ts` | `src/features/navigation/` | These power the "find and open" UX flow |
27-
| `src/provider/features/match-input.ts` | `src/core/journal/match-input.ts` | Smart-input resolver is parser-adjacent core logic |
27+
| `src/provider/features/sync-daily-links.ts`<br>`src/provider/features/sync-note-links.ts` | `src/features/sync/` | Sync is a domain feature, distinct from browsing |
28+
| `src/provider/features/scan-entries.ts`<br>`src/provider/features/load-note.ts`<br>`src/provider/features/show-pick-list.ts`<br>`src/provider/features/weekly-entry-watcher.ts` | `src/features/browse/` | Power the "find and open" UX flow; `browse` avoids collision with `src/journal/navigation.ts` |
29+
| `src/provider/features/match-input.ts` | `src/journal/match-input.ts` | Smart-input resolver is parser-adjacent core logic |
2830
| `src/model/` | `src/model/` | Already neutral; no rename |
2931

3032
`src/provider/` disappears entirely once all sub-paths are redistributed.
@@ -38,7 +40,7 @@ Full directory rename + import path update for all TypeScript source files under
3840
## Out of Scope
3941

4042
- Logic changes of any kind
41-
- Renaming barrel namespace keys (`J.Util``J.Infrastructure` etc.) — that belongs in Phase 2.3 alongside consumer migration
43+
- Renaming barrel namespace keys (`J.Util`, `J.Actions` etc.) — that belongs in Phase 2.3 alongside consumer migration
4244
- Renaming individual files (only directories change)
4345
- `src/model/` (unchanged)
4446
- `src/test/` (test files update their import paths but directory structure unchanged)
@@ -51,7 +53,7 @@ Full directory rename + import path update for all TypeScript source files under
5153
3. `npm run compile` succeeds (zero esbuild errors).
5254
4. `npm run compile-tests` succeeds (zero tsc errors).
5355
5. `npm test` passes with the same test count as `develop` before the rename.
54-
6. `AGENTS.md` updated: all path references (`src/ext/`, `src/actions/`, `src/util/`, `src/provider/…`) reflect new locations.
56+
6. `AGENTS.md` updated: all path references (`src/ext/`, `src/actions/`, `src/provider/…`) reflect new locations (`src/util/` unchanged).
5557
7. `docs/PLAN.md` updated: path references in open backlog items reflect new locations.
5658

5759
## Entities / Contracts

0 commit comments

Comments
 (0)