24h TTL Cache for ctx_fetch_and_index
Previously, ctx_fetch_and_index re-fetched URLs on every call — even with --continue, wasting context window tokens on content already indexed in the knowledge base.
Now, if the same source was indexed within the last 24 hours, the tool returns a cached hint and directs the model to search the existing index. Stale content (>24h) is re-fetched silently.
New parameter: force: true
Skip the cache and re-fetch regardless of TTL:
ctx_fetch_and_index(url: "https://...", force: true)
How it works
- Fresh (<24h): returns cached hint with section count and age, model proceeds to
search() - Stale (>24h): re-fetches silently, no user action needed
- Not indexed: fetches normally (existing behavior)
force: true: always re-fetches
TDD
4 new tests: getSourceMeta null/metadata/datetime/re-index. 5-agent architecture review passed.
Full diff: v1.0.28...v1.0.29