Block Candidate
This issue has been reshaped as a Bijou Block candidate for maintainer approval. The implementation should use the current typed Blocks API first (defineBlock(), schema-bound Blocks, defineViewData(), command intents, blockRenderNode(), and renderBlockTree()). The YAML sketch below is a future declaration shape, not a new runtime requirement for the first slice.
Source lineage: LX-015 DOGFOOD localization burndown dashboard.
Hill
A maintainer can see translation coverage, missing keys, stale entries, and release risk as one localized DOGFOOD dashboard block.
Sponsored Perspectives
- Sponsored Human: Release maintainers tracking whether DOGFOOD locales are ready.
- Sponsored Agent: Agents auditing catalog completeness without guessing from prose or file names.
Block Contract
- Block name:
LocalizationBurndownBlock
- Family:
localization
- Scale:
section
- Canonical modes:
interactive, static, pipe, accessible
Inputs:
- locales
- catalogs
- selectedLocale
- coverageThreshold
Slots:
- summary?
- localeTable?
- riskNotes?
Bindings and data requirements:
- catalog coverage snapshot
- selected locale preference
Command intents:
- locale.select
- locale.openMissingKeys
- locale.exportWorkbook
Semantic facts that must survive lowering:
- locale
- coverage-percent
- missing-key-count
- stale-key-count
TUI Mockup
+ Localization Burndown -------------------------------+
| Locale Coverage Missing Stale Status |
| en 100% 0 0 ready |
|>fr 87% 14 2 needs review |
| es 76% 31 4 blocked |
| Risk: DOGFOOD docs.shell has missing fr strings |
+----------------------------------------------------------+
Lower Mode Sketches
Static mode:
Localization burndown. French selected. Coverage 87 percent, 14 missing, 2 stale.
Pipe mode:
locale coverage missing stale
fr 87 14 2
Accessible mode:
Localization dashboard. French needs review. Coverage 87 percent. Fourteen missing keys.
Future YAML Declaration Sketch
block:
name: LocalizationBurndownBlock
family: localization
scale: section
modes:
- interactive
- static
- pipe
- accessible
inputs:
- locales
- catalogs
- selectedLocale
- coverageThreshold
slots:
- summary?
- localeTable?
- riskNotes?
dataRequirements:
- catalog coverage snapshot
- selected locale preference
commandIntents:
- locale.select
- locale.openMissingKeys
- locale.exportWorkbook
semanticFacts:
- locale
- coverage-percent
- missing-key-count
- stale-key-count
Acceptance Criteria
- The design doc names this as a Block candidate and uses IBM Design Thinking-style framing: hill, sponsored human, sponsored agent, playback questions, and evidence.
- The block metadata is declared with
defineBlock() or an explicitly justified narrower helper.
- Unknown boundary input is validated through a schema-bound Block or an equivalent typed parser before rendering.
- The block exposes data requirements and command intents as inspectable metadata, not hidden callbacks or global provider handles.
- DOGFOOD includes at least one story or preview that renders the TUI shape above or a reviewed equivalent.
- Tests prove interactive/static rendering and pipe/accessible lowerings preserve the semantic facts listed above.
- If a YAML or JSON declaration path is added, it is treated as a compiler/input adapter over the typed Block contract, not as a replacement for the typed API.
- Closeout links the PR, tests, playback evidence, docs update, and any retro notes.
Verification Notes
Expected proof for implementation:
- Focused unit tests for block metadata, schema binding, and lower-mode facts.
- DOGFOOD or storybook preview evidence for the visual mode.
- Pipe and accessible snapshots that are useful without ANSI, borders, color, or animation.
- Changelog and Method/design updates if this becomes release-scoped work.
Block Candidate
This issue has been reshaped as a Bijou Block candidate for maintainer approval. The implementation should use the current typed Blocks API first (
defineBlock(), schema-bound Blocks,defineViewData(), command intents,blockRenderNode(), andrenderBlockTree()). The YAML sketch below is a future declaration shape, not a new runtime requirement for the first slice.Source lineage: LX-015 DOGFOOD localization burndown dashboard.
Hill
A maintainer can see translation coverage, missing keys, stale entries, and release risk as one localized DOGFOOD dashboard block.
Sponsored Perspectives
Block Contract
LocalizationBurndownBlocklocalizationsectioninteractive,static,pipe,accessibleInputs:
Slots:
Bindings and data requirements:
Command intents:
Semantic facts that must survive lowering:
TUI Mockup
Lower Mode Sketches
Static mode:
Pipe mode:
Accessible mode:
Future YAML Declaration Sketch
Acceptance Criteria
defineBlock()or an explicitly justified narrower helper.Verification Notes
Expected proof for implementation: