Skip to content

[P2] Enroll dashboard / webhook / report in the spec liveness GOVERNED set #3462

Description

@os-zhuang

Systemic follow-up from the metadata-liveness audit (umbrella #1878).

Why

The spec liveness gate governs only the types in GOVERNED (packages/spec/scripts/liveness/check-liveness.mts:56):

object, field, flow, action, hook, permission, position, agent, tool, skill, dataset, page, view

dashboard, webhook, and report are authorable/round-trippable but NOT in this set, so they have no liveness/<type>.json ledger and CI never checks them. That gap is the systemic reason several drifts survived undetected until the 2026-06 audit — e.g.:

Enrolling these three closes the ratchet so the next such drift is a CI failure, not an audit finding years later.

Scope

For each type, following the view precedent (#2998 Track B):

  • Author packages/spec/liveness/<type>.json classifying every top-level prop live / experimental / dead with file:line evidence (drill one level via children where sub-props diverge).
  • Add the type to GOVERNED in check-liveness.mts (requires it to resolve through the metadata-type registry — report/dashboard are registered; webhook is not yet, so it may need registration first, or a small gate accommodation).
  • Confirm pnpm --filter @objectstack/spec check:liveness is green.
  • authorWarn the genuinely-misleading dead props (per the ledger README rules).

Suggested order: report first (its chart/column/grouping split is already characterized in #3441), then webhook (do it with the #3461 decision), then dashboard.

Refs #1878, #1891, #3441, #3461, #2998.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions