prjct-cli 2.42.2 → 2.42.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,10 +2,46 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ Optimization backlog pass (the items deferred since v2.37.x, consolidated in mem_1814).
6
+
7
+ ### Fixed
8
+ - **Post-upgrade re-setup silently never ran.** `bin/prjct.ts` invoked `setup.run()` through a default export that the ESM-standardization PR (#132, 2026-02) deleted — `bin/` sits outside core's typecheck, so the call threw `TypeError` into its own catch and only stamped the version, on every upgrade, for four months. `run()` is a named export now and bin imports it directly.
9
+
10
+ ### Performance
11
+ - **FTS5 prefix indexes** (migration 29): `searchFts` matches every keyword as a prefix query, but the FTS table had no prefix indexes — each term scanned the full-term index. Recreated with `prefix='2 3 4'` + content rebuild.
12
+
13
+ ### Changed
14
+ - **MCP tool descriptions are intent-led.** Six tools (analysis, workflow rules/list/status, signatures, history) were noun phrases with no "when to reach for this"; each now states what it returns and when to use it.
15
+ - **`package.json` overrides documented** in CONTRIBUTING.md — vulnerability class, the PR that introduced each pin (#251/#326), and the removal condition.
16
+
5
17
  ### Refactoring
6
- - **Single command manifest — the quadruple-dispatch problem is gone.** Four hand-maintained lists had to agree on which commands exist and where they route (`_binCommands` in bin/prjct.ts, the shim skip-set in scripts/build.js, `standardCommands` in core/index.ts, and the dispatch.ts switch); 18 bin-only commands existed in no metadata at all. `command-data.ts` now carries `routingMode` and `optionSchema` per command, and all four surfaces derive from it: bin imports the derived set, the build evaluates the manifest to emit the shim, and BOTH dispatch paths map flags generically through one schema — the daemon "flag-strip" bug class (a command losing options to a missing hand-written case) disappears by construction. Adding a command is now one manifest entry. Guarded by a new `manifest-completeness` suite plus the rewritten parity/shim-sync tests.
7
- - **Dead code:** deleted `core/session/session-snapshot.ts` (217 lines, zero importers) and its orphaned schema; knip's `exports` rule went `off` `warn` so dead exports are visible again (that blindness is what hid the module).
8
- - **Deduped the provider status table** (version output) — the two hand-rolled copies in core/index.ts and bin/prjct.ts had already drifted; the line renderer now lives once in `core/utils/provider-status.ts`.
18
+ - **God-files split.** `infrastructure/setup.ts` (892 472) extracted `codex-skill.ts` + `statusline-installer.ts`; `memory/project-memory.ts` (1086 660) extracted `entries.ts` (types + row mapping + pure filters) and `format.ts` (markdown rendering). All importers updated per the no-re-export rule.
19
+ - **Dropped the `glob` dependency** the single call site (monorepo workspace discovery) uses native `node:fs` `globSync` (node ≥22 / bun; the engine floor is already 22.5). `@types/node@22` pinned as a devDependency (types resolved to a transitive v20 that predates `globSync`).
20
+
21
+ ### Performance
22
+ - **Daemon command groups load lazily.** `PrjctCommands` and the registry bindings eagerly imported and instantiated all ~18 command-group classes at daemon startup; both now use memoized dynamic-import loaders (new `registerLazyMethod`), so the first socket request stops paying for the whole command tree (daemon module import: 67ms → 40ms warm).
23
+
24
+ ### Fixed
25
+ - **All prjct data paths honor `PRJCT_CLI_HOME`.** New shared lazy resolver (`core/infrastructure/cli-home.ts`); fixed the four sites with no override at all — the embeddings key file, the auto-updater state dir, the context7 verify cache, and session-cleanup's rotation, which had drifted from the writer's path and rotated the user's *real* cache file from test runs.
26
+ - Dropped the dead `daemon start --port/--no-http` flags — parsed for years but never accepted by `startDaemon` (the latent type error only surfaced when the handler moved under core's typecheck).
27
+
28
+ ### Refactoring
29
+ - **`bin/prjct.ts` split**: the ~550 lines of bin-only command handlers moved to `core/cli/bin-commands.ts` (1082 → 536 lines); the entry point keeps startup concerns only.
30
+ - **`core/workflow/` → `core/workflow-engine/`** — disambiguates the rule engine from `core/workflows/` (implementations).
31
+
32
+ ## [2.42.4] - 2026-06-10
33
+
34
+ ### Performance
35
+
36
+ - optimization backlog — FTS5 prefix indexes, god-file splits, glob removal + broken post-upgrade setup fixed (#420)
37
+
38
+
39
+ ## [2.42.3] - 2026-06-10
40
+
41
+ ### Refactoring
42
+
43
+ - follow-ups — workflow-engine rename, PRJCT_CLI_HOME everywhere, bin split, lazy daemon groups (#419)
44
+
9
45
 
10
46
  ## [2.42.2] - 2026-06-10
11
47