prjct-cli 2.42.0 → 2.42.2

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,20 +2,27 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
- LLM-first surface pass: everything an agent reads from prjct — errors, hook context, MCP output, semantic recall — got sharper and cheaper.
5
+ ### 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`.
6
9
 
7
- ### Added
8
- - **Subagent context digest.** Spawned subagents used to receive the persona block only and re-investigated facts the main session already knew. The `SubagentStart` hook now injects a compact digest: role + the active task for *this worktree* + the top 2 preventive traps, capped at 500 chars. Variable content is safe here because SubagentStart emits via `systemMessage`, outside the cached prompt prefix.
9
- - **One-line trap cue on prompts.** The per-turn state hook stays PULL-not-PUSH for decisions/learnings/facts, with one exception: when the prompt's keywords BM25-match a `gotcha`/`anti-pattern`, a single `> Trap on this topic:` line rides along with the state block — the same preventive class the pre-edit guard pushes, because a trap only helps *before* it's stepped in.
10
- - **Skill-miss feedback loop closed.** The Stop-hook detector already recorded "relevant but never referenced" knowledge as improvement-signals; now those signals act. Write side: each miss cancels the automatic `relates:` reference credit and nets the missed entry −0.3 usefulness (a miss is not usage). Read side: the cold-start digest gains a **Keeps being missed** slot for the entry flagged ≥2×, so chronically-missed knowledge gets pushed in front of the agent instead of accumulating silently.
10
+ ## [2.42.2] - 2026-06-10
11
+
12
+ ### Refactoring
13
+
14
+ - single command manifest — quadruple dispatch eliminated, flag-strip class gone by construction (#418)
11
15
 
12
- ### Changed
13
- - **No more truncated output for agents.** `out.fail`/`done`/`warn` truncated to 65–80 chars unconditionally; in non-TTY contexts (pipes, agents, CI) messages now pass through untruncated. Human TTY behavior unchanged.
14
- - **MCP server instructions trimmed ~3×.** The SDD canonical-sequence block duplicated the `prjct_spec_*` tool descriptions verbatim on every MCP turn and contradicted the skill's default-DIRECT routing; the instructions are back to the anti-harness shape (use-when + what's-here + gotchas). `prjct_task_set_status` now surfaces the real "unsupported transition" message instead of a generic no-active-task line.
16
+
17
+ ## [2.42.1] - 2026-06-10
15
18
 
16
19
  ### Performance
17
- - **`recallForFile` is indexed.** The `prjct guard` / pre-edit lookup overfetched 500 recall rows and filtered by the `file` tag in JS. Migration 27 adds a virtual generated `file_tag` column (+ partial index) on `events`, so the lookup touches only file-tagged remember rows.
18
- - **Semantic search is bounded and norm-cached.** Migration 28 stores each vector's L2 norm at write time (backfilled), turning per-row cosine into a dot product; the scan is capped at the 2000 newest vectors per model. Still zero native deps — no sqlite-vec.
20
+
21
+ - hot paths Stop hook config/transcript once, CAS→txn, backfill anti-join + ghost-DB fix (#416)
22
+
23
+ ### Refactoring
24
+
25
+ - perf: hot paths — Stop hook config/transcript once, CAS→txn, backfill anti-join + ghost-DB fix (#416)
19
26
 
20
27
  ## [2.42.0] - 2026-06-10
21
28