Repair release integrity and complete Article Two evidence - #7
Conversation
Add live deployment identity verification, canon exactness gates, offline parser recovery tests, browser/accessibility release checks, and reviewed Article Two support/dissent/limits. Declare new modules and runtime boundaries using current skill-lib metadata fields; document usage, rollback, and Pages administration boundaries.
Verification updateFull GitHub contact is now green on head
The repository-controlled release work is ready. The remaining custom-domain/Pages administration boundary is tracked in issue #8 and will be tested by the post-deployment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2e5518967c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5, node24 | ||
|
|
||
| - name: Verify Pages deployment identity | ||
| run: node scripts/verify-live-deployment.mjs "${{ steps.deployment.outputs.page_url }}" "${{ github.sha }}" |
There was a problem hiding this comment.
Check out the repo before verification
In the deploy job, this is the first step that references repository files, but that job never runs actions/checkout (the checkout only happens in the separate build job). Because GitHub Actions jobs run on fresh runners, there will be no scripts/verify-live-deployment.mjs on disk after actions/deploy-pages, so every otherwise-successful Pages deployment will fail here with a module-not-found error before the identity check can run.
Useful? React with 👍 / 👎.
| const actual = plainHtml(blockquote[1]); | ||
| if (actual !== expected) { |
There was a problem hiding this comment.
Align the new exactness gate with current article text
With the current article sources, this new exact comparison makes npm run validate fail before Eleventy can build: the generated canon body preserves markers like [1] and has no marker on clean the mess, while src/articles/article-two.njk currently renders that same excerpt with superscripts and an extra ⁷. Because npm run check and both workflows now depend on this verifier, the release path is blocked unless the checked articles are made byte-for-byte equivalent under this normalization or the normalization accounts for the site's marker format.
Useful? React with 👍 / 👎.
Purpose
Completes the repository-controlled portions of the next-best-step queue: establish deployment truth, close canon-integrity gaps, restore a real release gate, and turn Article Two's research scaffold into a reviewed evidence field.
What changed
_site/build.jsonwith the exact site commit and canonical source identityinterdependentway.orgafter deployment; stale or missing build identity fails the workflowskill-libMODULE_BUILDandBOUNDARIESfield schemas, with usage and rollback guidanceFile plan
scripts/canon-parser.mjs,scripts/parse-canon.mjsscripts/validate-content.mjs,scripts/verify-article-canon.mjsnpm run validatescripts/write-build-info.mjs,scripts/verify-live-deployment.mjsplaywright.config.mjs,scripts/serve-static.mjs, browser specspackage.jsonsrc/_data/generated/canon.jsondocs/pages-release.md, README, home/fallbackVerification performed before push
.mjsfilenode --test tests/canon-parser.test.mjs: 4 passing fixturesA full
npm ci/Eleventy/Playwright run could not be executed in the authoring container because it has no GitHub network access and no installedgh; the pull-request workflow is the authoritative full-contact run.Platform boundary
Repository code cannot change Settings → Pages, DNS, custom-domain attachment, HTTPS, environment rules, or branch protection.
docs/pages-release.mdrecords the required values. A separate issue tracks those administrative actions.hmmm
The code now refuses to call a stale public endpoint current. The release remains honestly incomplete until GitHub Pages is configured for Actions and the custom domain serves this PR's eventual
maincommit at/build.json.