Skip to content

Commit 4dbaf3f

Browse files
Shahinyanmshahinyanmclaude
authored
fix: v0.47.1 — gate AST_INDEX_WALK_UP on .git marker + deterministic CLI tests (#56)
- fix(ast-index): AST_INDEX_WALK_UP is now set only when projectRoot has no `.git` marker of its own. Forcing it on every spawn let a git worktree nested under the main repo walk up past its own gitlink and escape to the parent repo's index, returning the wrong files. Marker computed once (computeHasGitMarker), recomputed on updateProjectRoot. Bare monorepo subdirs (no marker) keep walk-up. - docs(adr): 0002-ast-index-multi-root-scoping — records the walk-up gate (accepted) and the deferred --local/subtree plan to re-enable ast-index on multi-repo parents (proposed). - test: neutralise CLAUDE_PROJECT_DIR + CLAUDE_PLUGIN_ROOT in index/installer setup so git-detection and install assertions are deterministic regardless of which suites share a vitest worker. Mock the git exec seam to drop the real 3s-timeout flake; retry guards the residual race. Type the explore exec mock. Full suite: only the 3 pre-existing context-mode-detector env failures remain (real local .mcp.json; clean in CI). npm audit 0. Co-authored-by: shahinyanm <mher.shahinyan@12go.asia> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent d681857 commit 4dbaf3f

35 files changed

Lines changed: 351 additions & 88 deletions

.claude-plugin/marketplace.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
},
77
"metadata": {
88
"description": "Token Pilot — save 60-90% tokens when AI reads code",
9-
"version": "0.47.0"
9+
"version": "0.47.1"
1010
},
1111
"plugins": [
1212
{
1313
"name": "token-pilot",
1414
"source": "./",
1515
"description": "Reduces token consumption by 60-90% via AST-aware lazy file reading, structural symbol navigation, and cross-session tool-usage analytics. 24 MCP tools + 25 subagents + budget watchdog hooks.",
16-
"version": "0.47.0",
16+
"version": "0.47.1",
1717
"author": {
1818
"name": "Digital-Threads"
1919
},

.claude-plugin/plugin.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "token-pilot",
3-
"version": "0.47.0",
3+
"version": "0.47.1",
44
"description": "Saves 60-90% tokens on AI code reading. AST-aware lazy reads, symbol navigation, find_usages, structural git diff/log, edit-safety guard, Task-routing matcher, cross-session telemetry (errors + diagnostics), 25 tp-* subagents tiered to haiku/sonnet/opus with budget watchdog.",
55
"author": {
66
"name": "Digital-Threads",

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,26 @@ All notable changes to Token Pilot will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.47.1] - 2026-06-24
9+
10+
### Fixed — gate AST_INDEX_WALK_UP on the `.git` marker (nested-worktree escape)
11+
12+
`exec()` set `AST_INDEX_WALK_UP=1` unconditionally. The flag tells ast-index to
13+
traverse past nested VCS markers and reuse a parent-level index — it exists for
14+
bare monorepo subdirs (no `.git`, no local DB). But forcing it when `projectRoot`
15+
is itself a git repo/worktree root let a worktree nested under the main repo
16+
(`main-repo/.worktrees/feature`) walk up past its own `.git` and **escape to the
17+
main repo's index, returning the wrong files**. Now the flag is set only when
18+
`projectRoot` has no `.git` marker of its own (a `.git` dir or worktree gitlink
19+
file both count). See `docs/adr/0002-ast-index-multi-root-scoping.md` — also
20+
records the deferred `--local`/subtree plan for multi-repo parents.
21+
22+
### Fixed — deterministic CLI tests under parallel sharding
23+
24+
`index.test.ts` / `installer.test.ts` now neutralise `CLAUDE_PROJECT_DIR` and
25+
`CLAUDE_PLUGIN_ROOT` in setup so the git-detection and install assertions don't
26+
flake when another suite leaks those env vars into a shared vitest worker.
27+
828
## [0.47.0] - 2026-06-24
929

1030
### Added — `explore` tool: one-shot ranked context + graph blast-radius

agents/tp-api-surface-tracker.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ tools:
99
- mcp__token-pilot__read_symbol
1010
- Bash
1111
model: haiku
12-
token_pilot_version: "0.47.0"
12+
token_pilot_version: "0.47.1"
1313
token_pilot_body_hash: dd184501203fa7f3c73f419c4ffbe33c4be75400cb64a7a51733a3fe23f6e085
1414
requiredMcpServers:
1515
- "token-pilot"

agents/tp-audit-scanner.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ tools:
1111
- Grep
1212
- Read
1313
model: sonnet
14-
token_pilot_version: "0.47.0"
14+
token_pilot_version: "0.47.1"
1515
token_pilot_body_hash: d172f600bf32277ea6eb4cbbee4542ddd698a986dcd96997d33930561964569b
1616
requiredMcpServers:
1717
- "token-pilot"

agents/tp-commit-writer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ tools:
88
- mcp__token-pilot__test_summary
99
- mcp__token-pilot__outline
1010
- Bash
11-
token_pilot_version: "0.47.0"
11+
token_pilot_version: "0.47.1"
1212
token_pilot_body_hash: de64a406b5176de19f7422619c7de7949b1f28865f225402c9cea9255f377428
1313
requiredMcpServers:
1414
- "token-pilot"

agents/tp-context-engineer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ tools:
1313
- Edit
1414
- Glob
1515
model: sonnet
16-
token_pilot_version: "0.47.0"
16+
token_pilot_version: "0.47.1"
1717
token_pilot_body_hash: 68b32af2dacd82ebe52c4eec93edb903d452688274c3065218270627c564d8b0
1818
requiredMcpServers:
1919
- "token-pilot"

agents/tp-dead-code-finder.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ tools:
1111
- Grep
1212
- Read
1313
model: sonnet
14-
token_pilot_version: "0.47.0"
14+
token_pilot_version: "0.47.1"
1515
token_pilot_body_hash: d9b7f5b7ae6f4ae21305c775361bcab097cc774370a6d976c093571d46d55021
1616
requiredMcpServers:
1717
- "token-pilot"

agents/tp-debugger.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ tools:
1212
- Read
1313
- Bash
1414
model: sonnet
15-
token_pilot_version: "0.47.0"
15+
token_pilot_version: "0.47.1"
1616
token_pilot_body_hash: 052413de8d92377edcde6ae5c823f5378db304baccfa29e8866467f42553a500
1717
requiredMcpServers:
1818
- "token-pilot"

agents/tp-dep-health.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ tools:
99
- Bash
1010
- Read
1111
model: haiku
12-
token_pilot_version: "0.47.0"
12+
token_pilot_version: "0.47.1"
1313
token_pilot_body_hash: e14dc57493d816f8c2e017963e2ef5f66bea50fd0b805a80e8a0d97c968427e7
1414
requiredMcpServers:
1515
- "token-pilot"

0 commit comments

Comments
 (0)