A typed theme is unreachable when an untyped theme shares its name
The need
After the spec 0047 migration, every theme in is untyped ( empty). Adding a typed theme with the same keyword makes the typed one unreachable.
Reproduction
added article theme "editorial" set as the default article theme (it was the first) avatar user blueprint user clay user cutpaper user editorial user emberlight user linocut user lowpoly user mascot user neon user pixel user popart user tattoo user
article (default: editorial)
- editorial user
keyword: editorial
type:
cover-1.png
The same prompt text registered under a distinct keyword (, , ) worked first time and returned a native 1408x768.
So resolution appears to prefer the untyped entry, and cannot display the typed one either.
Why it matters
It makes the house theme names effectively unusable for typed themes. Our documented cover styles are named , , and so on; if those names are occupied by untyped entries, a correct typed replacement cannot be reached without renaming the style away from what the house style guide calls it.
Expected
Either the type disambiguates cleanly on both and , or refuses a keyword that already exists and says why. Silently accepting the add and then resolving to the other one is the worst of the three.
Possibly related
If the 0047 migration is meant to have assigned types and did not, then this and the default-claiming behaviour raised separately are both downstream of the same gap.
Environment
keryx v0.9.0.