Previously graft

Your agent knows what your team already learned and decided.

  1. Maps your code
  2. Learns as you work
  3. Shares with your team
Star10,048
  1. Mark asks his Claude Code agent to fix the retry bug. Without a map, it opens file after file. With the graft map, it goes straight to client.go.
  2. It saves what it learned for the whole team: keep retries at 4.
  3. The next day, Jeff asks about the same code. His Codex agent starts from Mark's learning and saves about 27k tokens.
  4. Then Jeff tries to raise retries to 10. trail check flags it: Mark decided to keep retries at 4.
  5. Meanwhile, Sam starts on the same file. His Cursor agent sees that Jeff's branch also changes client.go.
  6. Every agent on the team adds to one trail.

Same agent. Less wandering.

60%less time
32%lower cost
33vs 27SWE-bench Verified issues solved, of 50

Same model on both sides, with and without the graft map. Time and cost over 162 runs. How we measured

A learning is a file.

Markdown in your repo, reviewed in the pull request like the code it is about.

.trail/learnings/2026-10-09-keep-the-default-retry-count-at-mark.md
---
title: Keep the default retry count at 4
author: Mark
date: 2026-10-09
cost: { tokens: 27400 }
touches:
  - http/client.go
---

## Decided
- Keep defaultRetryMax = 4: ten retries with the default backoff can hold one Do() call for over an hour.

## Tried and ruled out
- Raising the default to 10 for one customer: worst case, a single Do() call blocks for over an hour.

## Watch out
- RetryWaitMax caps each wait at 30s, not the total: the waits add up with every retry.

Two commands. Then work as usual.

npm install -g @trailhq/trail-code
trail init
Claude CodeCodexCursorKiroany agent that reads files
MIT licensedNo server, just filesNo API keyAnonymous usage stats, opt-out