projecta-rrr 1.21.1 → 1.21.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.
Files changed (2) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,47 @@ All notable changes to RRR will be documented in this file.
4
4
 
5
5
  Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
 
7
+ ## [1.21.2] - 2026-04-18
8
+
9
+ **Integration fix — MCP tool surface now actually callable.**
10
+
11
+ v1.21.0/1.21.1 shipped the tool implementations (Phase 76-02/03/04) but
12
+ `server.js` never imported the tool-registry, so `createMcpServer()` returned
13
+ a bare Server with zero handlers for `tools/list` / `tools/call`. Caught
14
+ during live dogfood smoke against the deployed stack.
15
+
16
+ ### Fixed
17
+
18
+ - **Wire tool-registry into server.js** — build registry once at boot with all
19
+ 6 tools (`semantic_search`, `index_status`, `list_repos`, `search_sessions`,
20
+ `index_repo`, `sync_repo`) and shared deps (pool, Voyage client, BullMQ
21
+ queue, query-embed cache). Logs integrity-hash for debugging.
22
+ - **teamId context plumbing** — `createMcpServer({ teamId, registry })` now
23
+ closes over teamId per-session and `tool-registry.attachToServer` accepts
24
+ a `getContext` callback that injects `{ teamId, reqContext: { teamId } }`
25
+ into every handler call. Fixes both handler conventions (5 tools read
26
+ `req.teamId`, semantic_search reads `ctx.reqContext.teamId`).
27
+ - **Session-scoped server cache** — MCP SDK tracks init state per `Server`
28
+ instance; creating a fresh server per HTTP request returned
29
+ "Server not initialized" on every 2nd+ call. Transport now caches
30
+ `{server, transport}` per session-id, evicts on `DELETE /mcp` or
31
+ `onsessionclosed`.
32
+ - **Postgres grants for SECURITY DEFINER functions** — `lookup_mcp_session`
33
+ (owned by `rrr_auth_definer`) needed SELECT on `mcp_sessions`; `neondb_owner`
34
+ needed EXECUTE on both `lookup_mcp_session` + `lookup_token_by_prefix`.
35
+ Applied as one-off grants (documented in SHIP-RUNBOOK for idempotency).
36
+
37
+ ### Verified
38
+
39
+ - `tools/list` returns the full 6-tool registry with integrity hash
40
+ - `tools/call semantic_search` against live Neon/Voyage/HNSW: returns
41
+ semantically correct top-K matches (cosine similarity 0.72 for
42
+ "queue.add" query against test fixtures that mock that exact call)
43
+ - Session persistence across multiple HTTP requests works (cache hit)
44
+ - Latency: 837ms first call (cold Voyage embed + HNSW warmup);
45
+ subsequent calls should be sub-200ms with query-embed LRU hits.
46
+ Full P95 measurement is still a Phase 78 D.5 operator step.
47
+
7
48
  ## [1.21.1] - 2026-04-18
8
49
 
9
50
  **Patch release — deploy-time fixes from first live Fly + Neon ingest.**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "projecta-rrr",
3
- "version": "1.21.1",
3
+ "version": "1.21.2",
4
4
  "description": "A meta-prompting, context engineering and spec-driven development system for Claude Code by Projecta.ai",
5
5
  "bin": {
6
6
  "projecta-rrr": "bin/install.js"