docs: sync Golden File Management to real Makefile targets (gh#382)#421
Merged
Conversation
CLAUDE.md's Golden File Management section documented two commands and a path that do not exist: $ grep -nE '^update-expected' Makefile -> (no match) $ ls -d ir/expected -> No such file or directory `make update-golden` does not write `ir/golden/`; it fans out to `update-ocaml-golden` (-> ocaml/golden/*.ir.json) plus the six tests/fixtures/*/ir/ sets (Makefile:251). Forward-trajectory baselines are captured via CAMDL_CAPTURE_BASELINE=1 into the gate tests, not a `make update-expected` -> ir/expected/ pipeline (neither exists). Rewrites the section to the current reality and notes that `ir/golden/` is a separate frozen committed set whose consolidation is tracked in gh#384. Doc-only. Closes #382.
vsbuffalo
added a commit
that referenced
this pull request
Jul 17, 2026
## Problem Branch protection requires the `test` check, but `ci.yml`'s `paths-ignore` (`docs/**`, `**/*.md`, …) means the workflow never triggers on doc-only changes — so `test` never reports and doc-only PRs are BLOCKED forever (unmergeable except by admin override). This is currently blocking #421, #427, #431. ## Fix Restructure into `changes` → `test` → `ci` (the original gate design, re-applied to the current single-job workflow): - **`changes`** — detects whether any non-doc path changed (plain `git diff` + grep, no third-party action). - **`test`** — the full suite, steps unchanged; runs only when code changed. - **`ci`** — a tiny always-runs gate; fails only if `test` failed/cancelled (or the detector failed). A *skipped* `test` (the legitimate doc-only case) passes. `paths-ignore` is removed so the workflow always fires; the expensive `test` job is skipped instead, preserving the cost saving. Every PR now reports a verdict via `ci`. ## Required follow-up (maintainer, one-time) After merge, repoint branch protection: **require `ci`, not `test`.** \`\`\` gh api -X PATCH repos/:owner/:repo/branches/main/protection/required_status_checks \ -f 'checks[][context]=ci' \`\`\` Until that switch, doc-only PRs remain blocked (they skip `test`); code PRs are unaffected (both `test` and `ci` run green).
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.
CLAUDE.md's Golden File Management section documented commands and a path that don't exist:
make update-expected/ir/expected/do not exist.make update-goldendoes not writeir/golden/; it fans out toupdate-ocaml-golden(→ocaml/golden/*.ir.json) plus the sixtests/fixtures/*/ir/sets (Makefile:251).CAMDL_CAPTURE_BASELINE=1into the gate tests, not a separate expected-TSV pipeline.This rewrites the section to current reality and notes that
ir/golden/is a separate frozen committed set whose consolidation intoocaml/goldenis tracked in gh#384. Doc-only;mdfmt-clean.Closes #382.