<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/modules/cj-cache.el, branch load-graph-classify-start</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=load-graph-classify-start</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=load-graph-classify-start'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2026-05-10T20:23:23+00:00</updated>
<entry>
<title>refactor(cj-cache): rename to cj-cache-lib for naming consistency</title>
<updated>2026-05-10T20:23:23+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-10T20:23:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=a0e5edfb3d77f34d0f71bdc9bb8bc3a563ee6436'/>
<id>urn:sha1:a0e5edfb3d77f34d0f71bdc9bb8bc3a563ee6436</id>
<content type='text'>
Library files in this codebase are suffixed `-lib' (system-lib.el is
the established precedent).  The Phase 5 cache helper landed as
cj-cache.el; the spec's table proposed names without the suffix and
I followed it without checking against convention.  Fix the
inconsistency now while there are only two consumers and one test.

Rename modules/cj-cache.el -&gt; modules/cj-cache-lib.el; update
provide form, file header, and the three (require 'cj-cache) call
sites in org-agenda-config, org-refile-config, and test-cj-cache.
No behavior change.
</content>
</entry>
<entry>
<title>feat(cj-cache): add TTL+building cache helper</title>
<updated>2026-05-10T19:45:04+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-10T19:45:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=eb512124d9d587f9f26a17e9031f30a2cfff9476'/>
<id>urn:sha1:eb512124d9d587f9f26a17e9031f30a2cfff9476</id>
<content type='text'>
Phase 5 step 2 of utility-consolidation. Add `modules/cj-cache.el' implementing the API specified in `docs/design/cache-helper-design.org': `cj/cache-make' / `cj/cache-valid-p' / `cj/cache-value-or-rebuild' / `cj/cache-building-p' / `cj/cache-invalidate'.

The helper captures the TTL+building-guard pattern that org-agenda-config and org-refile-config currently hand-roll.  Both consumers will migrate in follow-up commits.  No call-site changes in this commit -- helper plus its 15 tests only.

Tests cover: default and custom TTL, fresh/recent/expired/nil-value validity, miss calls build / hit skips build, force-rebuild overrides hit, the four log callbacks (on-hit / on-build-start / on-build-success / on-build-error), error-rethrow and building-flag cleanup on both success and error paths.
</content>
</entry>
</feed>
