fix(ci): L-NOJS-FIX — companion workflow eliminates ghost no-js-check deadlock#544
Merged
Conversation
… deadlock - Add .github/workflows/no-js-companion.yml: paths-ignore mirror of no-js.yml, single job 'no-js-check' that always exits 0. Original no-js.yml is untouched (still runs real handwritten-JS lint when crates/trios-ext/** changes). The two are mutually exclusive by construction → branch-protection's required 'no-js-check' context is satisfied for every PR (real check OR companion auto-pass). - Add docs/infrastructure/repo-policies.md recording (a) the L-NOJS-FIX rationale and (b) the queen-ratified default_workflow_permissions: write + can_approve_pull_request_reviews: true on gHashTag/trios-trainer-igla (enabled during L-MATRIX-LEDGER G3). R1 OK (yaml + md, no scripts). R3 OK (PR-only, no force-push, no admin bypass, no required-check removal). R5 OK (companion is honestly named and self-documenting). Anchor: φ² + φ⁻² = 3 · DOI 10.5281/zenodo.19227877. Closes #543
Owner
Author
👑 Queen ACK · L-NOJS-FIX self-test verifiedVerified queen-side via
Queen does NOT self-approve (R5 separation of powers). Operator review-merge requested via 3-channel broadcast on #380. Post-merge cascade pre-authorized:
|
12 tasks
This was referenced May 8, 2026
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.
Summary
L-NOJS-FIX — companion workflow that eliminates the ghost
no-js-checkrequired-check deadlock blocking docs/assertions PRs (notably #541, G4 of L-MATRIX-LEDGER).Anchor:
φ² + φ⁻² = 3· DOI 10.5281/zenodo.19227877Problem
Branch-protection on
mainrequires theno-js-checkcontext (app_id 15368,strict=true,enforce_admins=true). The original.github/workflows/no-js.ymltriggers only oncrates/trios-ext/**paths, so PRs that touch onlydocs/,assertions/,proofs/etc. never produce that check-run. They sit forever asMERGEABLE/BLOCKED— every actual check green,no-js-check"expected — waiting for status to be reported".Fix (queen-ordered)
GitHub-recommended companion workflow pattern (R3-clean — no admin bypass, no required-check removal, no force-push):
no-js.ymlno-js-companion.ymlcrates/trios-ext/**paths-ignorefilter is the exact mirror ofno-js.yml'spathsfilter, so the two workflows are mutually exclusive by construction. Same context name → branch-protection always satisfied. Real handwritten-JS lint coverage oncrates/trios-ext/**is unchanged bit-for-bit.This very PR is a self-test: it touches
.github/workflows/no-js.yml's sibling, never the original, anddocs/infrastructure/repo-policies.md. Both paths are insidepaths-ignore(the workflow file mirror only ignoresno-js.ymlitself, notno-js-companion.yml), so the companion runs and reportsno-js-checkSUCCESS.Side-effect doc (queen-ratified)
docs/infrastructure/repo-policies.mdrecords:gHashTag/trios-trainer-iglarepository-leveldefault_workflow_permissions: write+can_approve_pull_request_reviews: true, enabled with explicit operator confirm_action approval during L-MATRIX-LEDGER G3 (see trios-trainer-igla#109 squashd6f13e1).enforce_admins=trueon both repos) and thegh pr update-branchdiscipline for stale branches.Files
.github/workflows/no-js-companion.yml(new, 39 LOC) — single jobno-js-check,paths-ignore: ['crates/trios-ext/**', '.github/workflows/no-js.yml'], exits 0.docs/infrastructure/repo-policies.md(new, 87 LOC).Original
no-js.ymlis untouched.Acceptance
no-js-checkSUCCESS.crates/trios-ext/**.References
Sequence locked by queen: L-NOJS-FIX → L-COQ47 → L-EMBED-CRON.
Closes #543