Story: Roll out badge/image/plain-text rendering across classified domain entities
Table of Contents
This page documents a story in Product backlog — inbox, carried unfinished from Sprint 24 at close. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
Goal
Split from Improve badge colour scheme support (Sprint 23) at
close. That story's own analysis found only 10 of 108
domain_entity models use badge_key today, despite the badge
system (catalogue, client cache, codegen wiring) being fully built
and working. This is open-ended discovery-and-rollout work across
the whole entity catalogue — not a small tail alongside a shipped
feature, so it gets its own story rather than being lumped in with
the concrete UI fixes split into Badge colour scheme: visual polish
and self-badging fixes.
Merged with the separately-filed
Classify FK-like/lookup entities and decide badge vs image vs plain-text rendering policy
(ABANDONED, superseded by this story): the two were really the same
question asked from different angles – "which entities are missing
badge_key" presupposes every FK-like entity should be a colour
badge, but currencies render as flags and most reference-data codes
render as plain text today, with no documented criterion for which
treatment fits which entity. Rolling out badge adoption without first
deciding the badge-vs-image-vs-plain-text question risks badging
entities that should really be flags/images, or vice versa.
Every FK-like/lookup/code entity in the system currently gets an ad
hoc rendering treatment decided per-entity as it's built:
badge_definition renders as a colour swatch, currencies render as
flags, and everything else renders as plain text. This surfaced
concretely while fixing badge severities: is a severity itself a
badge? What about code_domain? There's no criterion to answer that
today.
Status
| Field | Value |
|---|---|
| State | DONE |
| Carried from | Sprint 24 (unfinished at close) |
| Now | All tasks DONE. Batch 1 (11 refdata entities) shipped as PR #1784; batch 2's cross-component rollout decomposed, with the trading slice (party_role_type, trade_type full entity shape + regeneration) shipped after. Batch 3's plain-text documentation leg is captured, not lost. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-08-10 |
Acceptance
- Every audit candidate needing a rendering change is either
annotated (
badge_key, image/flag wiring, or explicitly left as plain text) and regenerated, or has a one-line documented reason it was skipped. - No regression to any currently-working badge/image rendering (existing entities' generated files stay zero-diff except where this story deliberately changes them).
Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Implement classified entities in batches | DONE | 2026-07-30 | 2026-08-10 | Consume the audit/classification's batched list: annotate each entity with badge_key/image wiring as classified, author any missing badge_definition/badge_mapping or image data, and regenerate, one batch at a time. |
Decisions
Merged the badge-adoption-audit and badge/image/plain-text-classification stories
Filed separately (2026-07-21 and 2026-07-25), but on reflection the
same underlying question: rolling out badge_key without first
deciding which entities should be badges (vs images vs plain text)
risks badging entities that should be flags/images. Merged into this
story; the classification story is marked ABANDONED/superseded
rather than deleted, to preserve its own goal/acceptance writeup.
The two existing tasks (audit, then implement) already had the right
shape for this merged scope – broadened their descriptions rather
than re-scaffolding.
Batch 3 folded into a capture at close
When batch 2's trading slice closed the implementation task, the only remaining acceptance item was the plain-text documentation leg (one-line documented reason per plain-text entity, plus the rendering-policy note). Filed as capture Batch 3 of the badge/image/plain-text rendering rollout rather than keeping the task STARTED: it is documentation-only and small enough to pick up as its own piece of work.
Out of scope
- The concrete palette-swatch/fallback-badge and self-badging fixes — see Badge colour scheme: visual polish and self-badging fixes.
- Redesigning the colour palette or flag/image asset pipeline themselves — this story is about classification and codegen wiring, not visual design of the treatments.