First release under the AgentGitSmart name, and the first with the repository public.
Renamed and relicensed
- Project renamed from AgentCache to AgentGitSmart; the cache side-ref namespace is now
refs/agent-git-smart/<commit-oid>. - Copyright is now Microsoft Corporation, with the standard Microsoft
SECURITY.mdandCODE_OF_CONDUCT.md.
Works with Claude Code
- Adds
CLAUDE.md, anddocs/ADOPTER_CLAUDE_TEMPLATE.mdfor adopters. Claude Code loadsCLAUDE.md, notAGENTS.md, so a repo with onlyAGENTS.mdwas invisible to it. - Both are thin pointers that import
AGENTS.md, so there is still one source of truth — but each carries the "don't clone this repo" warning and a short cold-start inline, so they work even if the import is not resolved. - The measured trial now scaffolds
CLAUDE.mdalongsideAGENTS.md,.agentgitsmartand the workflow. It creates, never overwrites.
Fixes
- CI never used delta symbol indexing.
actions/checkoutfetches branches, neverrefs/agent-git-smart/*, so every run fell back to a full rebuild (fallback_reason: parent_uncached) and the public example of the feature never exercised it. The workflow now fetches the parent's cache ref first. On this repo that turnedmode=full(104 files re-ctagged) intomode=delta(8 re-ctagged, 96 carried forward). agentgitsmart-service --helpandagentgitsmart-hook --helpexited 1 with a traceback; both now print usage. The hook also violated its own fail-open invariant — a config or repo-open error escaped as a traceback and a non-zero exit, which in a realpost-receivewould block the push. It now logs the reason and exits 0.pytestoverwrote the committedexperiments/results/exp3_hook_update.jsonon every run.exp3_hook_update.run()now takes anout_dir; the CLI default is unchanged.generate.pyreports the generation mode, so a silent permanent fallback to full rebuilds is visible in CI output.
Documentation
- Corrected the documented shape of
manifest.jsonandsymbols.json. Both are envelopes — the file list is.entries[]and the symbol map is.symbols— and an agent following the old text would have indexed the wrong key. This was wrong in five places, including theagents.mdwritten into every cache commit. - Headline numbers recomputed from the committed
exp1_cold_warm.json: the range is 16×–9,562×, not the 17×–9,979× previously claimed.experiments/results/SUMMARY.mdwas from an older run with wall times off by 3–5×; both its tables were regenerated from the raw data. - README rewritten to about half its length, leading with the human path.
- Adds
CONTRIBUTING.md, three issue forms (bug, measurement report, feature request) and a pull request template.
Housekeeping
- Removed 26 dead
refs/agent-cache/*refs left on the remote from before the rename. - Genericized the harness's remote-access documentation, and added a warning that the harness has no authentication and should be bound to a private interface.
Verified: 275 tests in tests/ and 34 in testharness/tests/ pass, the working tree stays clean afterward, the benchmark smoke run works, and the README's cold-start protocol was executed verbatim and anonymously against the live public repository.