Drift Dashboard
This page surfaces discrepancies between the committed KeyNova Platform
Registry and the current codebase, as of the most recent drift-check
run.
How findings are classified:
- Blocker / High — an entity is missing from code but still referenced by
a story's
implementations.*block. Either a typo in the story YAML or the code was deleted without updating the registry. - Medium — the registry knows about an entity that the scanner can't find. Either dead code the registry didn't learn was deleted, or the scanner regressed.
- Medium (stale-built-status) — a story marked
builtorverifiedhas 0-1implementations.*references. The status marker is probably stale. - Low — a brand-new entity the scanner found that the registry doesn't
know about yet. Usually fine; just run
scan-*handlers to pull it in.
How to triage:
- Open the finding's YAML at
registry/findings/<id>.yaml. - Decide: fix the code? Fix the registry? Delete the story impl ref?
- Edit the fix. Re-run
drift-checkto confirm it's resolved.
Generated: 4/23/2026, 7:43:34 PM — Total: 19 findings (blocker 0, high 0, medium 19, low 0)
Regenerate this report: npx tsx tools/registry/src/cli.ts drift-check
| Severity | Finding ID | Kind | Entity | Direction | Referenced by |
|---|---|---|---|---|---|
| medium | FD-2026-04-23-001 | apis | AP-sample-auth-POST-login | missing | — |
| medium | FD-2026-04-23-002 | apis | AP-sample-frontdesk-POST-checkin | missing | — |
| medium | FD-2026-04-23-003 | apis | AP-sample-property-GET-rooms | missing | — |
| medium | FD-2026-04-23-007 | events | EV-sample.folio.posted | missing | — |
| medium | FD-2026-04-23-008 | events | EV-sample.reservation.checkedin | missing | — |
| medium | FD-2026-04-23-009 | events | EV-sample.tenant.created | missing | — |
| medium | FD-2026-04-23-004 | screens | SC-sample-booking-search | missing | — |
| medium | FD-2026-04-23-005 | screens | SC-sample-frontdesk-checkin | missing | — |
| medium | FD-2026-04-23-006 | screens | SC-sample-login | missing | — |
| medium | FD-2026-04-23-016 | stories | ST-002-004 | stale-built-status | — |
| medium | FD-2026-04-23-017 | stories | ST-003-001 | stale-built-status | — |
| medium | FD-2026-04-23-018 | stories | ST-004-004 | stale-built-status | — |
| medium | FD-2026-04-23-019 | stories | ST-007-006 | stale-built-status | — |
| medium | FD-2026-04-23-010 | tables | TB-sample-frontdesk-checkin | missing | — |
| medium | FD-2026-04-23-011 | tables | TB-sample-property-rooms | missing | — |
| medium | FD-2026-04-23-012 | tables | TB-sample-users | missing | — |
| medium | FD-2026-04-23-013 | tests | TS-sample-auth.e2e | missing | — |
| medium | FD-2026-04-23-014 | tests | TS-sample-auth.unit | missing | — |
| medium | FD-2026-04-23-015 | tests | TS-sample-flow-checkin | missing | — |
Weekly cadence
SP-4 first cycle is running for the next 4-6 weeks. The reviewer-on-rotation triages the top-20 findings per week (sorted by severity). Tracked in the SP-4 closeout report.