Skip to content

ci: adopt the org CI canon in test.yml (CR-241, 19 -> 12 findings) - #243

Merged
luisleo526 merged 3 commits into
mainfrom
ci/cr241-codegen-oss
Oct 23, 2026
Merged

luisleo526 merged 3 commits into
mainfrom
ci/cr241-codegen-oss

Conversation

@luisleo526

@luisleo526 luisleo526 commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Canon ci-labels.md sha256 d5125e0977706353a26f0e31133eedcf3a2c6a67bf53d05cdbc7876930a3b3a4; checker ci-policy-check.py sha256 efebe567985541c7e99b17859ce6d881d6f53694ee2c602c5d61aa517613c8f7.
Card CR-241 (live CI checker findings beyond engine). Lane: Codex gpt-6.1-sol. ORG-CX re-ran the checker read-only and ran the TypeSafe diff guard (PASS). No repo tests ran on a Mac: hosted CI on this head is the proof.
Canon blocks use actions/checkout@v7 by tag (LB-545 addendum), copied byte for byte. This replaces earlier SHA-pinned checkouts.

Change: .github/workflows/test.yml adopts the canon blocks. Checker findings 19 -> 12.

Left, named, not fixed (follow-up card): 12 findings in gate.yml (R1 pull_request_target; R9 changes/workflow-lint/preflight-docs classes, differential/pytest heavy if, gate consumes class outputs, check shape; R10 gate always()) and promote-baseline.yml (R1 pull_request_target). Both use pull_request_target by design (SEC846 fork-safe gate, identity bound to the base), so that is a design question, not an adoption edit. The required check gate is untouched.

🤖 Generated with Claude Code


Update (LB-635 live, checker 3482938c, canon dbd9d4ee): every uses: line this PR adds is SHA-pinned (actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1). One more commit (2b97e6e6a5) pins the old release.yml:59 to actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1.12.0 (tags v1 and v1.12.0 both read at that commit). Checker on the head: 12 findings, all known, carded CR-283 (10-27): gate.yml R1 pull_request_target; R9 changes, workflow-lint, preflight-docs x2, differential, pytest, gate, check x2; R10 gate; promote-baseline.yml R1 pull_request_target. These use pull_request_target by SEC846 design (fork-safe gate, identity bound to the base); a canon exception or a redesign is CR-283's question.

luisleo526 and others added 3 commits October 23, 2026 17:26
Bring .github/workflows/test.yml to the org canon: hosted authz job, canonical
changes classifier, pinned workflow-lint, heavy-job if line and the required
check aggregate that refuses an unauthorised run first.

Canon: ci-labels.md sha256 d5125e09...; checker ci-policy-check.py sha256
efebe567... (full shas in the PR body).

Not adopted here (named in the PR body): gate.yml and promote-baseline.yml
still use pull_request_target (R1) and need an identity or event redesign.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Every `uses:` line in the new canon jobs carries a full 40-hex commit and a
version comment (L6 ruling, CORE-TOP 17:34-17:35, canon card LB-635):

    uses: actions/checkout@3d3c42e # v7.0.1

Tag v7.0.1 resolves to commit 3d3c42e5aac5ba805825da76410c181273ba90b1
(`gh api repos/actions/checkout/git/ref/tags/v7.0.1`, type commit).

The current checker (ci-policy-check.py sha256 efebe567...) refuses the SHA
form in the `changes` and `check` jobs until LB-635 is live; those findings are
expected and wait for the canon fix.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… commit (CR-241)

`release.yml` step "Mint org App token" used `actions/create-github-app-token@v1`
(a floating tag). The org CI checker now refuses tag-only third-party actions
(rule R12, LB-635). Pin it to the commit with the exact release version:

    uses: actions/create-github-app-token@d72941d # v1.12.0

Tags v1 and v1.12.0 both resolve to commit d72941d797fd3113feb6b93fd0dec494b13a2547
(`gh api repos/actions/create-github-app-token/git/ref/tags/<tag>`, type commit).
One line; no other change.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@luisleo526
luisleo526 merged commit 54ce4de into main Oct 23, 2026
16 of 20 checks passed
luisleo526 added a commit that referenced this pull request Oct 24, 2026
… base is an ancestor of the head (REV-CX r4 F1)

The PR base 54ce4de was not an ancestor of core/cr150-l5 (4b0ff8b): the merge-base was v1.6.3 (3ac6503) and main had gained two commits, so the PR diff showed 1,106 deleted lines it does not intend. This is a merge commit, not a rebase; the automatic merge was clean (five files from main: .github/workflows/promote-baseline.yml, release.yml, test.yml, CONTRIBUTING.md, tests/test_pr_workflows.py). No conflict resolution, no edit.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
luisleo526 added a commit that referenced this pull request Oct 24, 2026
Adds "## 1.7.0 — 2026-10-25" to CHANGELOG.md per the file's release note policy
(shape of the 1.6.1 section): compatibility and migration (exact pair with engine
v1.7.0, regenerate C++ and relink against the engine v1.7.0 headers and
libpineforge.a) and the three pull requests merged after v1.6.3:
#213 (the user-observable change: the strategy_reads_trade_history export, the
guarded set_trade_history_streamable constructor call for scripts that do not read
closed-trade rows, the qualified constructor host calls, and the larger set of
reserved names with their pf_safe_ escape, from the diff of 89b48cb and
docs/PUBLIC_CONTRACT.md), and #242 and #243 as repository/CI only. No backfill of
1.6.2 or 1.6.3 (follow-up card), no claim about the engine beyond its own notes,
VERSION untouched (release.yml writes it). CHANGELOG.md only.

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant