theme add silently makes the new theme the default for its type

What happened

Adding a theme printed a second line nobody asked for:

It happened three times in one session, once per theme added, each time silently rewriting in the tracked project config.

Why it was "the first"

Because the spec 0047 migration left every existing theme untyped. So the first typed theme of any kind becomes that types default, regardless of whether it is a sensible one.

In this case the default became announcement, which is the rarest style in the rotation, reserved for a project or release going public. A bare with no would now reach for a full-bleed gig poster.

Why it matters

Adding a theme is an additive act. It should not change what an unrelated existing workflow does. The wording ("it was the first") suggests the behaviour is intentional and reasonable in a fresh install, but on a migrated catalogue the precondition it assumes is not true.

Expected

Either adding a theme leaves defaults alone, or it asks. If the intent is genuinely "a type with no default gets one", it needs to survive a catalogue where the type field is empty across the board.

Note

Split out of #10 (closed), which bundled three separate concerns. Raised here so it can be triaged on its own.

Environment

keryx v0.9.0.