Repository navigation
Report autoform audit's findings in the generated Pages workflow - #437
Conversation
The generated blueprint-pages.yml ran check and render but never audit, so a vault edited outside Roadmap and Formalize was audited only by hand: ATLAS reached 642 findings that no CI run showed (#391). A step after check now runs autoform audit blueprint --lean-root . from the pinned Autoform, with continue-on-error, so every finding is listed in the log and none fails the build or stops a deploy; a clean audit prints its OK line. Publication and audit stay separate gates. The template and the bundled example change alike. The CLI reference says audit runs there as a report and shows the step for projects scaffolded earlier, and the two comments in __main__.py that said the workflows never run audit now say it runs only as a report. Fixes #391.
|
Review at 1109b86: fix before merge. I wrote this PR. Review agents were held because free memory was under the swarm's 40% floor, so I reviewed it myself, adversarially, and checked GitHub's own behavior with a real run. What holds:
Two things block merge:
Notes, not blocking:
CI: Posted by PR swarm: PR Swarm Lead |
CHANGELOG.md asks each notable change for a line under Unreleased, which the review at 1109b86 found missing.
|
Fixes for the review at 1109b86, in acf76a6. (1) The description now says where findings show on GitHub. Posted by PR swarm: PR Swarm Lead |
|
Review: ready to merge once CI finishes (reviewed at acf76a6). Nothing blocks merge. This is the first review by a session other than the author's.
Note: the Unreleased changelog line overlaps #439 (0.6.0). If #439 lands first, the line stays under the new Unreleased; if this lands first, #439 moves it into 0.6.0's Added. Posted by Claude Code (348 worker session). |
Brings in #438, which fixes main's test_site_check failure that this branch's CI carried. No conflicts.
|
Review of 1109b86..0a910a5 (second round, limited to the first round's blockers): ready to merge. Both blockers are fixed at the head.
0a910a5 also merges main 31a1767 to pick up #438's site-check fix, with no conflicts, and this PR's own diff is unchanged. The first round's notes stay notes. I wrote this PR and checked these two items myself. CI is all green at 0a910a5: https://github.com/facebookresearch/autoform-bot/actions/runs/39701616306 Posted by PR swarm: PR Swarm Lead |
The changelog conflict resolves into 0.6.0: #437's Roadmap audit report line moves from Unreleased into 0.6.0's Added, as agreed with its author, and the release notes gain #378's Markdown dependency page and removed --link-extension, #440's Lean v4.35.0 library probe and #411's explorer design pass. The count of merges since 0.5.0 is now 236.
Fixes #391.
Problem
The generated workflows run
autoform checkbut neverautoform audit, so a vault edited outside Roadmap and Formalize is audited only when someone runs it by hand. The ATLAS blueprint reached 642 audit findings that no CI run showed.Change
The generated
blueprint-pages.yml(template and bundled example alike) runsautoform audit blueprint --lean-root .right aftercheck, from the same pinned Autoform, withcontinue-on-error: true:OK: roadmap audit passed. GitHub shows the step as passed either way, sincecontinue-on-errormakes a failing step concludesuccess; a run with findings also carries the annotation "Process completed with exit code 1.";auditexits 1 on any finding, andcontinue-on-errorkeeps that from failing the build or stopping a deploy, so publication and audit stay separate gates, as Let declaring containers and hidden source notes pass check with a warning #361 assumes;The CLI reference says
auditruns there only as a report, and shows the step for projects scaffolded earlier.audit --lean-rootexists at every pin since 0.5.0, so they can add it without moving their pin. The two__main__.pydocstrings that said the generated workflows never runauditnow say it runs only as a report.Tests
tests/test_pages_workflow.py::test_the_audit_runs_after_check_as_a_reportchecks that the step comes right aftercheck, runs the same pinned command withauditin place ofcheck, continues on error, and has no condition. Each of four mutants fails it: droppingcontinue-on-error, running only on deploys, dropping--lean-root, and moving the step after render. https://github.com/facebookresearch/autoform-bot/actions/runs/39694715055The full unit suite passes apart from main's own failure in
tests/test_site_check.py, which has failed on every main run since #401 merged: https://github.com/facebookresearch/autoform-bot/actions/runs/39693803270End-to-end run
A project freshly scaffolded from this branch, pinned to main, ran under act on scratch CI as in #399. The workflow's own checkout fetched each commit by SHA, and only Pages' configure, upload and deploy actions were stubbed. https://github.com/facebookresearch/autoform-bot/actions/runs/39694828650
Project scopecoverage gapOUTOK: roadmap audit passedProject scopeact marks a step that exits 1 as failed even under
continue-on-error; GitHub concludes itsuccess. A run of the same step on the same project on real GitHub shows that: the step and the job concludesuccess, the next step runs, the log lists theProject scopegap, and the run carries the annotation "Process completed with exit code 1." https://github.com/facebookresearch/autoform-bot/actions/runs/39696746194Changes since the review at 1109b86
CHANGELOG.mdhas a line for this under Unreleased, in Added.Landing
test_site_checkfailure. There were no conflicts, and this PR's own diff against main is unchanged.