projecta-rrr 1.21.7 → 1.21.9

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
@@ -4,6 +4,110 @@ 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.9] - 2026-04-18
8
+
9
+ **Token-efficient RRR: semantic_search injection wave 1 + hosted worker hardening.**
10
+
11
+ After indexing 59 repos across the team, audit revealed RRR commands/agents were
12
+ doing Read/Grep/Glob chains when semantic_search could return ranked chunks at
13
+ 5-20x lower token cost. Wave 1 ships the highest-ROI injections. Also bundles
14
+ four hosted-worker patches discovered during batch indexing.
15
+
16
+ ### Added
17
+
18
+ - **semantic_search in 4 high-burn agents.** `rrr-codebase-mapper`,
19
+ `rrr-phase-researcher`, `rrr-executor`, `rrr-debugger` now have
20
+ `mcp__rrr-search-hosted__semantic_search` + `mcp__rrr-search__semantic_search`
21
+ in their tool frontmatter. These five agents carried the bulk of RRR's
22
+ code-exploration token cost (15-60K tokens per run each); semantic_search
23
+ replaces most of that with ~500-token ranked chunks.
24
+
25
+ - **semantic_search reference in 4 high-leverage commands.**
26
+ `/rrr:map-codebase`, `/rrr:research-phase`, `/rrr:brownfield-audit`,
27
+ `/rrr:debug` now `@rrr/references/semantic-search-preference.md` in their
28
+ execution_context. Previously only 5 commands had the reference
29
+ (`progress`, `plan-phase`, `execute-phase`, `discuss-phase`, `verify-work`).
30
+
31
+ - **Full audit at `/tmp/rrr-token-audit.md`** (one-shot; not committed).
32
+ Identifies 10 remaining HIGH/MED-priority injection points for waves 2-3.
33
+
34
+ ### Changed
35
+
36
+ - **Hosted worker default budget: 5M → 100M tokens per repo / 30d.**
37
+ (`rrr/hosted-mcp/src/worker/lib/token-budget.js:22`.) Real-world repos
38
+ like `superintelligence` (9M tokens) and `Internjobs` (25M tokens) were
39
+ tripping the 5M cap. 100M fits all observed repos with headroom; remains
40
+ overridable per repo via `.rrr-search.json` `budget_tokens`.
41
+
42
+ - **Voyage batch cap: 100K → 80K tokens; estimator 3.5 → 2.8 chars/token.**
43
+ (`rrr/hosted-mcp/src/worker/lib/voyage-embedder.js:96-97`.) The old
44
+ char-based estimator undercounted — batches passing the 100K cap were
45
+ arriving at Voyage at 124-130K tokens and hitting the 120K hard limit
46
+ on repos like `OpenHands` and `gooseworks-skills`. Tighter cap + matched
47
+ estimator resolves this.
48
+
49
+ - **`index_repo` owner/repo regex allows dots.**
50
+ (`rrr/hosted-mcp/src/mcp/tools/index-repo.js:101`.) The previous
51
+ `([^/.]+?)` would fail to parse repos like `PA-Ai-Team/MALA.dev.git`,
52
+ silently falling back to `slug/slug` — causing a 404 on clone. New
53
+ pattern `(.+?)(?:\.git)?$` handles dots in repo names correctly.
54
+
55
+ ### Fixed
56
+
57
+ - **Git clone fallback for non-`main` default branches.**
58
+ (`rrr/hosted-mcp/src/worker/lib/github-clone.js:158-178`.) Repos whose
59
+ default branch is `master` (or anything non-`main`) were failing clone
60
+ with `fatal: Remote branch main not found in upstream origin`. Added
61
+ a catch-and-retry: on branch-not-found, re-clone without `--branch`
62
+ flag (git uses the remote's default branch automatically).
63
+
64
+
65
+
66
+ **End-to-end verified on a second repo. Multiple worker bootstrap fixes.**
67
+
68
+ Dogfood adoption of `PA-Ai-Team/aeo-free-aduit` surfaced and fixed a
69
+ multi-step first-time-index bootstrap bug in the worker. Result:
70
+ 155 chunks ingested in 17 seconds, HNSW index built, `semantic_search`
71
+ live. Verifies the full onboarding path works for any new repo.
72
+
73
+ ### Fixed
74
+
75
+ - **Worker now bootstraps first-time repos.** Before: worker's
76
+ `recordJobStart` tried to INSERT into `ingestion_jobs` using a
77
+ `pending:{slug}` placeholder repo_id that didn't exist in `repos`,
78
+ hitting the FK constraint. Fix: added a bootstrap step at top of the
79
+ processor that detects `pending:` prefix and — BEFORE any DB write —
80
+ clones, computes real root_sha, upserts the `repos` row, and rewrites
81
+ local `repoId` to the real value. All downstream DB operations then
82
+ satisfy FK + RLS + NOT NULL constraints.
83
+
84
+ - **Owner/repo parsed from gitUrl.** Tool was setting
85
+ `owner = slug = repo = <slug>` which broke GH App token mint. Now
86
+ parses `github.com/{owner}/{repo}(.git)?` via regex and passes correct
87
+ owner + repo to `cloneRepo`.
88
+
89
+ - **GH App auth path preferred when installation_id present.** When
90
+ `installation_id` is supplied, tool now passes `gitUrl: null` so
91
+ `cloneRepo` takes the token-mint branch (private-repo-safe). When
92
+ installation_id is absent, passes `gitUrl` through for the public-repo
93
+ direct-URL branch. Worker bootstrap mirrors the same conditional.
94
+
95
+ - **`repos.git_url` NOT NULL respected.** When bootstrap forced
96
+ `gitUrl = null` for the clone (GH App path), it no longer tried to
97
+ pass null into `repos.git_url`. Reconstructs
98
+ `https://github.com/{owner}/{repo}.git` from parsed owner/repo.
99
+
100
+ ### Dogfood timing reference
101
+
102
+ | Stage | aeo-free-aduit (155 chunks) | projecta-rrr (10,047 chunks) |
103
+ |-------|----------------------------|------------------------------|
104
+ | Clone | 0.8s | 4.6s |
105
+ | Chunk | 0.3s | 2.3s |
106
+ | Embed | 13s (2 batches) | 4 min (115 batches) |
107
+ | COPY + HNSW | 0.8s | 10s |
108
+ | **Total** | **17s** | **~5 min** |
109
+ | Voyage cost | ~$0.028 | ~$1.70 |
110
+
7
111
  ## [1.21.7] - 2026-04-18
8
112
 
9
113
  ### Fixed
@@ -2,7 +2,7 @@
2
2
  name: rrr-codebase-mapper
3
3
  description: Explores codebase and writes structured analysis documents. Spawned by map-codebase with a focus area (tech, arch, quality, concerns). Writes documents directly to reduce orchestrator context load.
4
4
  model: sonnet
5
- tools: Read, Bash, Grep, Glob, Write
5
+ tools: Read, Bash, Grep, Glob, Write, mcp__rrr-search-hosted__semantic_search, mcp__rrr-search__semantic_search
6
6
  color: cyan
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  name: rrr-debugger
3
3
  description: Investigates bugs using scientific method, manages debug sessions, handles checkpoints. Spawned by /rrr:debug orchestrator.
4
4
  model: inherit
5
- tools: Read, Write, Edit, Bash, Grep, Glob, WebSearch
5
+ tools: Read, Write, Edit, Bash, Grep, Glob, WebSearch, mcp__rrr-search-hosted__semantic_search, mcp__rrr-search__semantic_search
6
6
  color: orange
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  name: rrr-executor
3
3
  description: Executes RRR plans with atomic commits, deviation handling, checkpoint protocols, and state management. Spawned by execute-phase orchestrator or execute-plan command.
4
4
  model: inherit
5
- tools: Read, Write, Edit, Bash, Grep, Glob
5
+ tools: Read, Write, Edit, Bash, Grep, Glob, mcp__rrr-search-hosted__semantic_search, mcp__rrr-search__semantic_search
6
6
  color: yellow
7
7
  ---
8
8
 
@@ -2,7 +2,7 @@
2
2
  name: rrr-phase-researcher
3
3
  description: Researches how to implement a phase before planning. Produces RESEARCH.md consumed by rrr-planner. Spawned by /rrr:plan-phase orchestrator.
4
4
  model: sonnet
5
- tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*
5
+ tools: Read, Write, Bash, Grep, Glob, WebSearch, WebFetch, mcp__context7__*, mcp__rrr-search-hosted__semantic_search, mcp__rrr-search__semantic_search
6
6
  color: cyan
7
7
  ---
8
8
 
@@ -37,6 +37,7 @@ Audit brownfield repositories to detect scattered planning documents, classify t
37
37
  @~/.claude/rrr/references/principles.md
38
38
  @~/.claude/rrr/references/scan-exclusions.md
39
39
  @~/.claude/rrr/lib/phase-paths.md
40
+ @rrr/references/semantic-search-preference.md
40
41
  </execution_context>
41
42
 
42
43
  <scan_ignored_paths>
@@ -9,6 +9,10 @@ allowed-tools:
9
9
  - AskUserQuestion
10
10
  ---
11
11
 
12
+ <execution_context>
13
+ @rrr/references/semantic-search-preference.md
14
+ </execution_context>
15
+
12
16
  <objective>
13
17
  Debug issues using scientific method with subagent isolation.
14
18
 
@@ -21,6 +21,7 @@ Output: .planning/codebase/ folder with 7 structured documents about the codebas
21
21
 
22
22
  <execution_context>
23
23
  @~/.claude/rrr/workflows/map-codebase.md
24
+ @rrr/references/semantic-search-preference.md
24
25
  </execution_context>
25
26
 
26
27
  <context>
@@ -8,6 +8,10 @@ allowed-tools:
8
8
  - Task
9
9
  ---
10
10
 
11
+ <execution_context>
12
+ @rrr/references/semantic-search-preference.md
13
+ </execution_context>
14
+
11
15
  <objective>
12
16
  Research how to implement a phase. Spawns rrr-phase-researcher agent with phase context.
13
17
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "projecta-rrr",
3
- "version": "1.21.7",
3
+ "version": "1.21.9",
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",