Skip to content

fix(templates): repin canary callers to a reachable reviewed contract SHA - #94

Closed
kyle-sexton wants to merge 1 commit into
mainfrom
fix/canary-template-pin-reachable
Closed

fix(templates): repin canary callers to a reachable reviewed contract SHA#94
kyle-sexton wants to merge 1 commit into
mainfrom
fix/canary-template-pin-reachable

Conversation

@kyle-sexton

Copy link
Copy Markdown
Contributor

What

The templates/ci-runner-canary callers pinned the canary/HA-proof reusable contract at 169e3a4 — the PR #89 branch head, which squash-merge left unreachable from every remote ref. GitHub refuses reusable-workflow resolution at unreachable SHAs, so the first-ever governed dispatch failed at startup:

Invalid workflow file … melodic-software/ci-workflows/.github/workflows/local-runner-canary.yml@169e3a4… : workflow was not found (run 29371150550)

Repinned both callers to main commit c2654182bc2d78f7909795df78304d482aa69226: the reusable workflow YAMLs and their runtime scripts are byte-identical to the reviewed 169e3a4 content (git diff shows only *.test.cjs drift).

Landmine note (for github-iac#89 L9 scope)

Nothing validates that non-selector contract pins are reachable — this dangling pin survived review, sync, and seeding, and only failed on live dispatch. The pin-metadata/provenance check planned under L9 should include a reachability gate.

Part of melodic-software/github-iac#88.

🤖 Generated with Claude Code

https://claude.ai/code/session_01D5wqdo4adEZmWgjpY9ZjVx

… SHA

The seeded callers pinned 169e3a4, the PR #89 branch head that squash
merge left unreachable, so GitHub failed reusable-workflow resolution
with 'workflow was not found' on the first real dispatch
(ci-runner-canary run 29371150550). Repin to main commit c265418,
whose canary/HA-proof reusable workflows and runtime scripts are byte
identical to the reviewed 169e3a4 content (only test files differ).

Part of melodic-software/github-iac#88.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D5wqdo4adEZmWgjpY9ZjVx

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Risk: low. Cursor Bugbot is not configured on this PR; approving based on the narrow SHA repin fix with no automated findings. No reviewers assigned.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Router and Approver

@kyle-sexton

Copy link
Copy Markdown
Contributor Author

Superseded by #93, which repinned the same dangling 169e3a4 contract pin to the byte-identical reachable main commit c18c3d7. The L9 note stands: nothing validates non-selector contract-pin reachability — tracking under melodic-software/github-iac#89.

@kyle-sexton
kyle-sexton deleted the fix/canary-template-pin-reachable branch July 14, 2026 22:01

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: add99e2617

ℹ️ 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".

permissions:
contents: read
uses: melodic-software/ci-workflows/.github/workflows/local-runner-canary.yml@169e3a4287211a536eddcd3a757dd06132fb556e # reviewed canary contract
uses: melodic-software/ci-workflows/.github/workflows/local-runner-canary.yml@c2654182bc2d78f7909795df78304d482aa69226 # reviewed canary contract

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Update CI/test pin metadata for the new SHA

When this caller is repinned to c2654182..., the repo's validation still treats 169e3a4... as the current immutable contract: .github/scripts/local-runner-canary.test.cjs:59/:466 and .github/scripts/production-ha-proof.test.cjs:45/:727 assert the old uses: value, and the selector-contract/selector-conformance jobs in .github/workflows/ci.yml:351-355 and .github/workflows/selector-conformance.yml:76-80 still fetch that old SHA before running node --test. In the CI contexts I checked, this makes the repin fail validation instead of proving the reachable commit, so update the test constants/fetch target alongside this template change.

Useful? React with 👍 / 👎.

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