Skip to content

AgentGitSmart 0.7.0

Latest

Choose a tag to compare

@cdibona cdibona released this 04 Sep 02:47
· 2 commits to main since this release

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.md and CODE_OF_CONDUCT.md.

Works with Claude Code

  • Adds CLAUDE.md, and docs/ADOPTER_CLAUDE_TEMPLATE.md for adopters. Claude Code loads CLAUDE.md, not AGENTS.md, so a repo with only AGENTS.md was 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.md alongside AGENTS.md, .agentgitsmart and the workflow. It creates, never overwrites.

Fixes

  • CI never used delta symbol indexing. actions/checkout fetches branches, never refs/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 turned mode=full (104 files re-ctagged) into mode=delta (8 re-ctagged, 96 carried forward).
  • agentgitsmart-service --help and agentgitsmart-hook --help exited 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 real post-receive would block the push. It now logs the reason and exits 0.
  • pytest overwrote the committed experiments/results/exp3_hook_update.json on every run. exp3_hook_update.run() now takes an out_dir; the CLI default is unchanged.
  • generate.py reports the generation mode, so a silent permanent fallback to full rebuilds is visible in CI output.

Documentation

  • Corrected the documented shape of manifest.json and symbols.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 the agents.md written 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.md was 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.