Skip to content

Epic: proactive diagnostics — coverage board, certification panel, delta alerts, badges #101

Description

@MaxGhenis

Epic: from viewer to watchdog — proactive calibration diagnostics

The dashboard reads releases live (and post-populace#385, certificate-verified). Next: make it surface and push what changed, what's covered, and why a release is trusted — the consumer face of the populace#366/#381/#369 machinery.

Buildable now (data already on main)

  1. Reform-coverage board — render the release input-coverage manifest (65 required / reviewed exclusions with issue links) + reform-smoke outcomes: which reform families SCORE vs silently default. The SSI-scores-$0 failure class (populace#368), made visible to users before they burn a day.
  2. Certification panel v1 — per-release gate outcomes from build_manifest (structural, parity, export-mass, coverage, smoke, take-up), reviewed-exclusion registers rendered with their cannot-rot issue links. Upgrades automatically when populace#381's exhaustive gate report (passed|failed|skipped|waived + evidence sha) ships.
  3. Computed release deltas + Slack alerts — the Compare-versions view already diffs releases; add a small alert job (on new latest.json): post to the populace Slack webhook when (a) a new release publishes with the headline delta table, (b) any tracked metric moves beyond a declared band, (c) a gate was waived/skipped, (d) coverage shrank. Bands per metric family; the same computation feeds an in-page "since you last looked" banner (top movers, new worst target).
  4. Badges + feed — shields-style JSON endpoints ("default: buildi · gates 35/35 · within-10%: 88.9%") for READMEs/papers, and an RSS/JSON feed of release notes + deltas.
  5. Identity display — engine version + release id + artifact sha on every page footer (already partially there); extend to the full BuildRunIdentity when populace#380 lands. This is the explainability surface the adoption conversation needs.

Waiting on upstream

  • The attribution layer of the delta view (WHY a number moved: target change / method / vintage / selection) = populace#366's artifact; the dashboard renders it when it exists.
  • Promotion scorecards (policyengine.py#462) per flip.

Ops

Refs: populace#366, #381, #369, #368, #380, policyengine.py#462, #97, #99/#100 (restyle).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions