<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/modules/org-spec-links.el, branch main</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2026-07-02T05:01:38+00:00</updated>
<entry>
<title>feat(org): resolve org-id links into project spec docs</title>
<updated>2026-07-02T05:01:38+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-02T05:01:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=25e74fcb57ae467a39ecabe41568a986db08ebe4'/>
<id>urn:sha1:25e74fcb57ae467a39ecabe41568a986db08ebe4</id>
<content type='text'>
The docs-lifecycle convention gives every formal spec under a project's docs/specs/ an :ID: and links cross-project with [[id:...]], but org-id-locations only indexes agenda files and visited files, so a fresh spec's id never resolved on click. org-spec-links.el enumerates every project's docs/specs/*.org into org-id-extra-files once org-id loads (a literal file list; org-id doesn't glob), and cj/org-id-refresh-spec-locations re-scans and updates org-id-locations for immediacy after new specs land. Verified live against a known cross-project spec id.
</content>
</entry>
</feed>
