prjct-cli 2.43.2 → 2.43.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 +24 -1
- package/README.md +8 -0
- package/bin/prjct +13 -9
- package/dist/bin/prjct-core.mjs +354 -347
- package/dist/daemon/entry.mjs +340 -333
- package/dist/mcp/server.mjs +195 -188
- package/dist/templates.json +1 -1
- package/package.json +1 -1
- package/templates/codex/SKILL.md +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,8 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
### Performance
|
|
6
|
+
- **Hot recall queries now use the type index.** Every `type LIKE 'memory.%'` filter (recall, vault index, embeddings backfill anti-join, memory cap, transcript dedup) was a full `SCAN events` — SQLite can't derive scan bounds from a parameterized LIKE. Rewritten as indexed range predicates with exact-parity tests; cost stays flat as the events table grows.
|
|
7
|
+
- **Prompt hook git snapshot cached for 3s.** The UserPromptSubmit hook forked 3 git processes per turn (~40ms); agentic bursts forked hundreds. The daemon now reuses the snapshot within a 3s TTL per cwd.
|
|
8
|
+
- **Upgrade migration no longer opens every project DB.** A `.cli-version` marker per project dir reduces the post-upgrade scan from a SQLite open per directory (~3ms × tens of thousands of dirs ≈ up to a minute) to one tiny file read each.
|
|
9
|
+
- Vault writes skip redundant per-file `mkdir` syscalls (dir-ensured cache with delete-retry fallback).
|
|
10
|
+
|
|
5
11
|
### Fixed
|
|
6
|
-
- **
|
|
12
|
+
- **Vault can no longer go stale across upgrades.** The regen fingerprint now includes the CLI version: every upgrade forces one cheap full regen per project, so a builder/format change always renders (previously the old fingerprint blocked new output until unrelated inputs changed).
|
|
13
|
+
- **Codex detected in non-interactive shells.** `detectCodex` accepts `~/.codex/auth.json` (a logged-in install) as evidence alongside binary-on-PATH — hooks/daemon run without the interactive PATH, which silently skipped Codex MCP wiring and skill repair.
|
|
14
|
+
- Removed dead `memoryService.search()` (1,000-row JS substring scan, zero callers — `prjct search` uses the FTS5 + semantic blend).
|
|
15
|
+
- Archive-storage tests no longer leak a real-path SQLite connection across the pathManager patch (stray async sync-publish could cache it and hijack the next test's isolation).
|
|
16
|
+
|
|
17
|
+
## [2.43.4] - 2026-06-11
|
|
18
|
+
|
|
19
|
+
### Performance
|
|
20
|
+
|
|
21
|
+
- indexed range queries, git TTL cache, version-aware vault fingerprint, upgrade-scan guard (#428)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
## [2.43.3] - 2026-06-11
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
- Codex first-class — skill under 1KB cap, MCP wiring, real AGENTS.md, doctor checks (#427)
|
|
29
|
+
|
|
7
30
|
|
|
8
31
|
## [2.43.2] - 2026-06-11
|
|
9
32
|
|
package/README.md
CHANGED
|
@@ -509,6 +509,14 @@ Codex is detected by the `codex` CLI on PATH (context file `AGENTS.md`). The
|
|
|
509
509
|
sandbox is non-interactive/non-TTY, so prjct-cli emits the same static, prompt-free
|
|
510
510
|
status line as any agent; add `--md` for fully markdown-structured output.
|
|
511
511
|
|
|
512
|
+
**What does Codex get from prjct?**
|
|
513
|
+
Three surfaces, all installed/healed automatically: a compact skill at
|
|
514
|
+
`~/.codex/skills/prjct/SKILL.md` (kept under Codex's ~1KB skill cap), the
|
|
515
|
+
prjct MCP server wired into `~/.codex/config.toml` (`prjct_*` tools), and a
|
|
516
|
+
vendor-neutral routing block in the project's `AGENTS.md` written by
|
|
517
|
+
`prjct init`. Codex has no lifecycle hooks, so AGENTS.md + MCP are its
|
|
518
|
+
session-start context and live tool surface.
|
|
519
|
+
|
|
512
520
|
**How do I quickly find the local `.prjct/` directory?**
|
|
513
521
|
It's in your **project repo root** (created by `prjct init` / first `prjct`
|
|
514
522
|
command) and is `.gitignore`d — that's why `git status` never shows it. Find it:
|
package/bin/prjct
CHANGED
|
@@ -91,15 +91,19 @@ ensure_setup() {
|
|
|
91
91
|
# postinstall is unreliable (--ignore-scripts, npm policies), so the
|
|
92
92
|
# bin shim self-heals on every invocation. mtime-based: source newer
|
|
93
93
|
# than dest → overwrite. Common case (skill up-to-date) = two stats.
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
94
|
+
# Each agent gets ITS OWN template: Codex enforces a hard ~1KB limit
|
|
95
|
+
# on the whole SKILL.md and silently rejects the entire skill when
|
|
96
|
+
# the (much larger) Claude baseline lands there.
|
|
97
|
+
install_skill() {
|
|
98
|
+
if [ -f "$1" ] && { [ ! -f "$2" ] || [ "$1" -nt "$2" ]; }; then
|
|
99
|
+
mkdir -p "$(dirname "$2")" 2>/dev/null
|
|
100
|
+
cp "$1" "$2" 2>/dev/null
|
|
101
|
+
fi
|
|
102
|
+
}
|
|
103
|
+
install_skill "$ROOT_DIR/templates/skills/prjct/SKILL.md" "$HOME/.claude/skills/prjct/SKILL.md"
|
|
104
|
+
# Codex only if present — don't create ~/.codex on machines without it
|
|
105
|
+
if [ -d "$HOME/.codex" ] || command -v codex >/dev/null 2>&1; then
|
|
106
|
+
install_skill "$ROOT_DIR/templates/codex/SKILL.md" "$HOME/.codex/skills/prjct/SKILL.md"
|
|
103
107
|
fi
|
|
104
108
|
}
|
|
105
109
|
|