Skip to content

[Beyond] LX-015 — DOGFOOD Localization Burndown Dashboard #206

@flyingrobots

Description

@flyingrobots

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    lane:cool-ideasInteresting but not committed work.legend:lxLocalization and bidirectionality work.type:enhancementFeature or improvement.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions