<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/docs/design/cache-helper-design.org, branch load-graph-classify-end</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=load-graph-classify-end</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=load-graph-classify-end'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2026-05-10T19:43:40+00:00</updated>
<entry>
<title>docs(design): add Phase 5 cache helper design addendum</title>
<updated>2026-05-10T19:43:40+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-10T19:43:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=0d6865d35c78e52775e73bef2e63f08682d22d6f'/>
<id>urn:sha1:0d6865d35c78e52775e73bef2e63f08682d22d6f</id>
<content type='text'>
Per Phase 5 step 1 of utility-consolidation. Specifies the cache API to extract from org-agenda-config and org-refile-config (both have parallel TTL+building-guard implementations today). Documents the API: `cj/cache-make', `cj/cache-valid-p', `cj/cache-value-or-rebuild', `cj/cache-building-p', `cj/cache-invalidate'.

Out-of-scope: modeline VC cache (buffer-local + key-based, not TTL). Per the spec, that's a future round.

Documents the migration order (agenda first, refile second), test plan for the helper, and risk notes (cache-hit logging preservation, building-flag leak guard, async-timer interaction).
</content>
</entry>
</feed>
