AttemptDB knows which files a tool call touched, because the provider reports them. It does not know about changes that happen outside a tool call: a build that regenerates files, a git checkout moving the tree, an editor save, a formatter run by a pre-commit hook.
The timeline is therefore complete about what the agent did and incomplete about what changed.
What is wanted
Metadata-only capture of filesystem effects, attributable to the session that was active:
- a post-tool diff stat (cheap, no watcher, only sees change around tool calls), or
- a filesystem watcher in the daemon scoped to the project root (sees everything, costs a dependency and a permission story on macOS).
Either way: paths and counts only, never contents, under the existing attrs allowlist, honouring the capture mode, and never on the hook hot path.
Before writing code
This needs a short RFC or an ADR (docs/adr/) that picks one approach and states the cost. Open a Discussion or comment here first — a pull request that picks silently will be asked to write the ADR anyway.
See TODO.md §21.6.
AttemptDB knows which files a tool call touched, because the provider reports them. It does not know about changes that happen outside a tool call: a build that regenerates files, a
git checkoutmoving the tree, an editor save, a formatter run by a pre-commit hook.The timeline is therefore complete about what the agent did and incomplete about what changed.
What is wanted
Metadata-only capture of filesystem effects, attributable to the session that was active:
Either way: paths and counts only, never contents, under the existing
attrsallowlist, honouring the capture mode, and never on the hook hot path.Before writing code
This needs a short RFC or an ADR (
docs/adr/) that picks one approach and states the cost. Open a Discussion or comment here first — a pull request that picks silently will be asked to write the ADR anyway.See
TODO.md§21.6.