Repository navigation
Trail-code 0.23.0, and init no longer leaves a graft/ folder - #623
Conversation
The past-session read sends cold_start before init wired anything, so the repo didn't count as on trail yet and the event's repo id went to graft/.cache/. Since #619 nothing ignores graft/, so every fresh init with telemetry on left an untracked graft/ folder in git status. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
🌱 graft blast radiusNothing outside this diff depends on it. 1 area changed; no indexed dependents at depth 2. Who knows this code — 1 person across 1 area
Ownership is git history over each area's own files, weighted towards recent work (120-day half-life). Merge commits and bots are dropped, and you are dropped from your own PR. A name with no Test signal per changed area — 1 ✗Reached = a node under a test path has a resolved edge into the changed symbol. It undercounts anything called indirectly — through a CLI, a spawned process or a dynamic import — so read a low ratio as “look here”, never as a coverage gate.
Open the interactive graph → — click an area to see its dependent symbols at file:line. |
Bumps both packages to 0.23.0 for #617, #619 and #620, with one fix found while testing the release.
The fix
On a fresh
trail initwith telemetry on (the default for npm installs), an untrackedgraft/folder showed up ingit status, holdinggraft/.cache/telemetry-repo-id.json. The past-session read sends its first event before init creates.trail/learnings/, so the repo didn't count as on trail yet and its repo id went tograft/. Since #619, nothing ignoresgraft/. Agit add -Awould have committed the id, and every clone would then report the same repo id.init now makes
.trail/learnings/before the two reads start, so the id lands in.trail/cache/. A new test runstrail initwith telemetry on and checks that nograft/is left.Checked on the packed tarballs
.mcp.jsonwent, and.trail/hook.cjsplus the one SessionStart line came in. The map moved fromgraft/to.trail/cache/without a rebuild (same inode and mtime).trail init:git statusshows only.claude/,.trail/and.github/..trail/hook.cjs.Known, not fixed here
~/.claudeand once from.trail/hook.cjs, because only 0.23.0 knows to stand the repo hook down. It goes away when they upgrade..claude/settings.local.jsonstill setsfooterLinksRegexestograft/…, so footer links don't match cards in.trail/cache/.🤖 Generated with Claude Code