fix(dashboard-check): fail on a missing dashboard or field; read .adoc (P1-0 prep) - #143
Merged
Merged
Conversation
… .adoc The STATE-vs-dashboard gate could not fail on main, for two reasons: - .github/workflows/dashboard-check.yml passed `toolchain: v1` to dtolnay/rust-toolchain, which is not a toolchain name, so the job died in setup before the checker ran (red on main b1fc4ed). - The checker read TOPOLOGY.md / READINESS.md. After the md-to-adoc migration (#102) both are .adoc, so it compared nothing and printed OK. Now an absent surface, or a field that cannot be parsed on either side, is a failure rather than a silent skip, and OK lists every value it compared. The checker reads .adoc with a .md fallback, and descriptiles/STATE.a2ml with a 6a2/ fallback. The TOPOLOGY grade is read from the OVERALL line only. The change surfaced one real gap: #102 dropped TOPOLOGY's 'Last updated' line. It is restored with its original date, 2026-07-02. Tests: 8 -> 19. Ten mutants (each a skip reintroduced, or a lookup disabled) are all killed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VxcAoyMQe7CjQwCKL18Mm4
Contributor
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: 📒 Files selected for processing (3)
✨ Finishing Touches📝 Generate docstrings
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Contributor
|
Autopilot could not be updated. Open Coding to check access and billing. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First step of ULTRAPLAN P1-0 (the claims ledger). Before
dashboard-checktakes on claims, it has to be able to fail.Two reasons the STATE-vs-dashboard gate could not fail on
maindashboard-check.ymlpassedwith: toolchain: v1todtolnay/rust-toolchain@v1, andv1is not a toolchain. STATE vs dashboard reconciliation is red onmainb1fc4ed at the toolchain-parse step. Nowtoolchain: stable.uses:is unchanged, soactions.lockis untouched;gh actions-lock --no-fixreports the same on this branch as on main (0 errors).TOPOLOGY.md/READINESS.md, which refactor: migrate Markdown to AsciiDoc #102 renamed to.adoc, and an absent file was skipped. Run locally onmain, it printedOK — dashboards agreewithout reading either dashboard.Change (
crates/dashboard-check)OKlists every value it compared, so a vacuous pass is visible..adocwith a.mdfallback, anddescriptiles/STATE.a2mlwith a6a2/fallback (AGENTS §2a). The6a2/directory is not renamed here.OVERALLline only. Previously the firstGradeanywhere in the file counted, and it matched prose by accident.*Current Grade:* D,// Last updated: …) are parsed. Test fixtures are copied from the real files.Real gap surfaced, fixed here
#102 dropped TOPOLOGY's
Last updatedline, so staleness was uncheckable. It is restored as an AsciiDoc comment with its original date (2026-07-02, fromTOPOLOGY.mdat3a8a4b3^), not today's date.Evidence
Before the date line was restored:
✗ TOPOLOGY.adoc has no 'Last updated: YYYY-MM-DD' line, rc=1.--all-targets -D warningsis clean, andcargo fmt --checkis clean (it reformatted lines the old file already had unformatted)..adoc, drops the.mdfallback, or ignoresdescriptiles/. The first run left two survivors: the adoc-token path was masked by theCRG Grade:heading, andread_surfacewas untested. Tests were added for both, and they are now killed.Scope
This is a correctness fix to an existing gate. The claims ledger itself (rows of claim | status | artefact | command, measured test counts, reject-class fixtures) is the next PR, stacked on this one.
🤖 Generated with Claude Code
https://claude.ai/code/session_01VxcAoyMQe7CjQwCKL18Mm4