Skip to content

v0.9.1 — A stale index can no longer claim to be fresh

Latest

Choose a tag to compare

@nillo nillo released this 04 Aug 18:31
· 5 commits to main since this release

Patch release closing a freshness-integrity hole in change detection, plus the CI job that would have caught it and a documentation site with search.

Fixed: a modified file could stay indexed as fresh, forever

The change pre-filter skips hashing a file when its mtime, ctime and size all match the recorded entry. Filesystem timestamps are coarse — the Windows clock advances in ~15.6ms steps, HFS+ stores whole seconds, FAT32 two-second steps — so two writes inside one step share an mtime exactly. If a file was hashed between those two writes, the second one became invisible on every later scan.

On Windows nothing else caught it either: ctime is the creation time and does not move on modification, so a length-preserving edit cleared all three cheap signals at once. The result was a stale chunk reporting itself as fresh — precisely the failure the Trust Contract exists to prevent.

A file whose mtime is younger than the coarsest granularity we might be sitting on now records a "do not trust this timestamp" marker and is re-hashed on the next scan.

Added

  • The full test suite now runs on Windows and macOS in CI, not only Ubuntu. Publish was previously the first place it ever executed on Windows, which is how a class of path-identity defects reached a release gate instead of a pull request.
  • Documentation site: offline full-text search with no external requests, rendered Mermaid architecture diagrams including a request-flow diagram, a custom 404 with search, and a social preview card. https://proofofwork-agency.github.io/reporecall/

Evidence

Both registered claims were re-measured against a freshly cloned and re-indexed 1,306-file / 5,591-chunk repository using this release's own build, rather than carrying 0.9.0's numbers forward.

0.9.0 0.9.1
Context precision 91.6% 91.6%
Context recall 95.6% 95.6%
Pollution 8.4% 8.4%
Route accuracy 100% 100%
High-confidence-wrong 0% 0%
Freshness signalling 100% 100%
Median context-assembly cost reduction 75.8% 75.4%
Aggregate reduction 86.5% 86.4%

The token figures moved inside measurement variance, so the published numbers now match the artifact shipping beside them instead of being 0.3pp optimistic. Cohort 30/30, zero model calls, reproducible with npm run benchmark:context-cost and npm run benchmark:project-context. The token figure is context-assembly cost, not end-to-end agent tokens.

Full changelog: https://github.com/proofofwork-agency/reporecall/blob/main/CHANGELOG.md