<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/docs/specs/theme-studio-seeding-engine-spec.org, 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-04T23:48:25+00:00</updated>
<entry>
<title>docs(specs): record seeding Phase 2 blocker in the spec history</title>
<updated>2026-07-04T23:48:25+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-04T23:48:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=f613bd63811d84816f88d26b33323e1b0f395793'/>
<id>urn:sha1:f613bd63811d84816f88d26b33323e1b0f395793</id>
<content type='text'>
The spec's package-scope premise is false against the generator. It assumes the non-org bespoke packages keep their curated dupre seeds, but apply_default_face_seeds overwrites every bespoke face with the Emacs-default snapshot whenever emacs-default-faces.json is present, so org opens empty and the rest open on light-theme hexes. "Keep the curated defaults" and "the seeded page reads as a coherent dupre" then contradict, and the dupre-revised.json emitter can't be pure-Node because the non-org colors live in Python.

Phase 1 stands. I paused Phase 2 pending a spec revision that picks the direction: reseed the non-org packages from the curated dupre dicts, or keep the snapshot hexes.
</content>
</entry>
<entry>
<title>docs(specs): adopt status-heading lifecycle convention across specs</title>
<updated>2026-07-04T20:38:00+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-07-04T20:38:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=38200c6683e55860b044568cd70004dcbc7c4031'/>
<id>urn:sha1:38200c6683e55860b044568cd70004dcbc7c4031</id>
<content type='text'>
Migrate 29 legacy specs off the old shape (a status suffix in the filename plus a :STATUS: property drawer) onto the docs-lifecycle status heading: a top-level heading carrying the org lifecycle keyword and a dated history line, with the two #+TODO sequences in the header.

Dropping the -doing/-implemented/-superseded suffixes means a status change no longer forces a rename and link surgery. Each keyword comes from the spec's own recorded status. The four specs already on the heading form are untouched, and every inbound reference now points at the new names.

The status board is one grep: rg '^\* (DRAFT|READY|DOING|IMPLEMENTED|SUPERSEDED|CANCELLED) ' docs/specs/
</content>
</entry>
</feed>
