Skip to content

ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage - #87

Merged
hyperpolymath merged 4 commits into
mainfrom
ci/rust-toolchain-input
Oct 19, 2026
Merged

hyperpolymath merged 4 commits into
mainfrom
ci/rust-toolchain-input

Conversation

@hyperpolymath

@hyperpolymath hyperpolymath commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Summary

rust-ci.yml calls hyperpolymath/standards rust-ci-reusable at d135b05b. That version runs dtolnay/rust-toolchain by commit SHA without a toolchain: input, so every run fails with 'toolchain' is a required input before cargo starts.

Re-pin to standards@81dbf2dd, which passes toolchain: stable, uses the same actions/checkout@9c091bb2 as this repo's other reusables, and is already the pin of its governance and hypatia-scan callers.

Changes

  • rust-ci.yml: pin d135b05b → 81dbf2dd. Nothing else (actions.lock untouched; iseriser additionally has a separate cargo fmt commit).

Why not the newest standards commit: 95de3dfc uses actions/checkout@3d3c42e5, the commit this repo's lock records as checkout@v7.0.1. GitHub rejects that with invalid lockfile pin, failing the first job before any step. I tried it first, and also tried editing the lock; neither helped, so the final PR leaves the lock alone.

RSR Quality Checklist

Required

  • Tests pass (cargo test --locked --all-targets, stable)
  • Code is formatted (cargo fmt --check)
  • Linter is clean (cargo clippy --locked --all-targets -- -D warnings)
  • No banned language patterns
  • No secrets, credentials, or .env files included

Testing

On this PR: rust-ci / Detect Cargo.toml, Cargo check + clippy + fmt and Cargo test all pass. Other red checks (Hypatia, DEED, K9, workflow security linter) are red on main too and unrelated.

🤖 Generated with Claude Code

https://claude.ai/code/session_0132Cdz3iwk2QGKv2sUhhsye

rust-ci.yml called hyperpolymath/standards rust-ci-reusable at d135b05b.
That version runs dtolnay/rust-toolchain by commit SHA without a
`toolchain:` input; a SHA ref carries no version, so every run fails in
the action's "parse toolchain version" step with "'toolchain' is a
required input". d135b05b is the only standards pin in the estate
without the fix (landed 2026-06-27).

Re-pin to standards@95de3dfc, whose reusable passes `toolchain: stable`,
and bring actions.lock's rust-ci.yml entry in line with it:

- the workflow entry names hyperpolymath/standards@95de3dfc instead of
  [] (check-lock-sync flagged the job-level ref as missing);
- add the hyperpolymath/standards@95de3dfc dependency record and the
  records for the four actions the reusable uses at that commit, copied
  verbatim from standards' own actions.lock at 95de3dfc.

No existing lock record is changed or removed. standards'
check-lock-sync.sh: rust-ci.yml leaves the failure list; nothing is
added to it.

Same fix as hyperpolymath/plasma-parser-writer#107, whose Rust CI is now
green on main with this pin.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0132Cdz3iwk2QGKv2sUhhsye
@hyperpolymath
hyperpolymath marked this pull request as ready for review October 19, 2026 17:05
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-19T17:19:56.090169Z 77414b8 New commits
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

… actions

Experiment on the rust-ci re-pin: GitHub refused the previous lock with
'invalid lockfile pin' for actions/checkout@3d3c42e5. The records copied
from standards named the SHA itself as ref; this repo's own SHA-keyed
record uses a tag. Use the tag each commit is released as.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0132Cdz3iwk2QGKv2sUhhsye
Job-level reusable calls here (mirror, governance, secret-scanner, ...) have
empty entries and no standards records, and they start fine. Adding a
non-empty hyperpolymath/standards@95de3dfc entry made GitHub validate the
call against the lock, and it rejected it for actions/checkout@3d3c42e5 with
'invalid lockfile pin'. Restore actions.lock to main so the PR only moves
the pin, like the other reusable calls.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0132Cdz3iwk2QGKv2sUhhsye
…her reusables use

95de3dfc's reusable uses actions/checkout@3d3c42e5, the commit this repo's
lock already pins as checkout@v7.0.1, and GitHub rejects it with 'invalid
lockfile pin' (the job fails before any step runs). Every other reusable
called here uses checkout@9c091bb2 and starts normally. 81dbf2dd has the
toolchain fix, uses that same checkout ref, and is already the pin of this
repo's governance and hypatia-scan callers.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0132Cdz3iwk2QGKv2sUhhsye
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@sonarqubecloud

Copy link
Copy Markdown

@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 8b17a4ea-b938-4a7e-99f1-1c9b1471e580
📥 Commits

Reviewing files that changed from the base of the PR and between b814289 and 77414b8.

📒 Files selected for processing: 1
  • .github/workflows/rust-ci.yml

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📜 Recent review details
⚠️ CI failures not shown inline: 21

GitHub Actions: Static Analysis Gate / 2_Hypatia neurosymbolic scan.txt: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run set +e
 �[36;1mset +e�[0m
 �[36;1mHYPATIA_FORMAT=json "$HOME/hypatia/hypatia-cli.sh" scan . --exit-zero > hypatia-findings.json�[0m
 �[36;1mHYP_EXIT=$?�[0m
 �[36;1mset -e�[0m
 �[36;1m�[0m
 �[36;1m# --exit-zero is Hypatia's own documented CI recipe (lib/hypatia/cli.ex),�[0m
 �[36;1m# for exactly this case: "use in CI when a downstream step gates on�[0m
 �[36;1m# severity counts". Findings go to stdout, the one-line summary to�[0m
 �[36;1m# stderr, and the process exits 0 unless the SCANNER itself failed.�[0m
 �[36;1m#�[0m
 �[36;1m# Do NOT redirect stderr into the payload with `2>&1`: that folds the�[0m
 �[36;1m# summary line into the JSON, so every parse fails, the old `[]`�[0m
 �[36;1m# fallback substituted a clean result, CRITICAL was always 0, and the�[0m
 �[36;1m# gate below could never fire on any input. Keep stderr on the log.�[0m
 �[36;1mif [ "$HYP_EXIT" -ne 0 ]; then�[0m
 �[36;1m  echo "::error::Hypatia scanner execution failed with exit ${HYP_EXIT}"�[0m
 �[36;1m  exit "$HYP_EXIT"�[0m
 �[36;1mfi�[0m
 �[36;1m# `jq empty` is NOT sufficient -- it succeeds on any valid JSON,�[0m
 �[36;1m# including a bare string, object or null. Assert the array.�[0m
 �[36;1mif [ ! -s hypatia-findings.json ] || ! jq -e 'type == "array"' hypatia-findings.json >/dev/null; then�[0m
 �[36;1m  echo "::error::Hypatia did not produce a valid JSON findings array"�[0m
...
 ##[group]Run # Findings carry no `.message` (keys: action,file,line,reason,rule_module,
...
 �[36;1m# workspace-relative here.�[0m
 �[36;1mjq -r --arg ws "$GITHUB_WORKSPACE" '.[] | select(.file != null) |�[0m
 �[36;1m  (.file | ltrimstr($ws + "/")) as $f |�[0m
 �[36;1m  (.reason // .message // .type // "finding") as $m |�[0m
 �[36;1m  if .severity == "critical" then�[0m
 �[36;1m    "::error file=\($f),line=\(.line // 1)::[hypatia] \($m)"�[0m
 �[36;1m  elif .severity == "high" then�[0m
 �[36;1m    "::error file=\($f),line=\(.line // 1)::[hypatia] \($m)"�[0m
...
 shell: /usr/bin/bash -e {0}
 env:
   INSTAL...

GitHub Actions: Static Analysis Gate / Hypatia neurosymbolic scan: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run set +e
 �[36;1mset +e�[0m
 �[36;1mHYPATIA_FORMAT=json "$HOME/hypatia/hypatia-cli.sh" scan . --exit-zero > hypatia-findings.json�[0m
 �[36;1mHYP_EXIT=$?�[0m
 �[36;1mset -e�[0m
 �[36;1m�[0m
 �[36;1m# --exit-zero is Hypatia's own documented CI recipe (lib/hypatia/cli.ex),�[0m
 �[36;1m# for exactly this case: "use in CI when a downstream step gates on�[0m
 �[36;1m# severity counts". Findings go to stdout, the one-line summary to�[0m
 �[36;1m# stderr, and the process exits 0 unless the SCANNER itself failed.�[0m
 �[36;1m#�[0m
 �[36;1m# Do NOT redirect stderr into the payload with `2>&1`: that folds the�[0m
 �[36;1m# summary line into the JSON, so every parse fails, the old `[]`�[0m
 �[36;1m# fallback substituted a clean result, CRITICAL was always 0, and the�[0m
 �[36;1m# gate below could never fire on any input. Keep stderr on the log.�[0m
 �[36;1mif [ "$HYP_EXIT" -ne 0 ]; then�[0m
 �[36;1m  echo "::error::Hypatia scanner execution failed with exit ${HYP_EXIT}"�[0m
 �[36;1m  exit "$HYP_EXIT"�[0m
 �[36;1mfi�[0m
 �[36;1m# `jq empty` is NOT sufficient -- it succeeds on any valid JSON,�[0m
 �[36;1m# including a bare string, object or null. Assert the array.�[0m
 �[36;1mif [ ! -s hypatia-findings.json ] || ! jq -e 'type == "array"' hypatia-findings.json >/dev/null; then�[0m
 �[36;1m  echo "::error::Hypatia did not produce a valid JSON findings array"�[0m

GitHub Actions: Static Analysis Gate / Hypatia neurosymbolic scan: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run # Findings carry no `.message` (keys: action,file,line,reason,rule_module,
 �[36;1m# Findings carry no `.message` (keys: action,file,line,reason,rule_module,�[0m
 �[36;1m# severity,type), so every annotation read "null". `.file` is an absolute�[0m
 �[36;1m# runner path, which GitHub cannot anchor to the diff, so it is made�[0m
 �[36;1m# workspace-relative here.�[0m
 �[36;1mjq -r --arg ws "$GITHUB_WORKSPACE" '.[] | select(.file != null) |�[0m
 �[36;1m  (.file | ltrimstr($ws + "/")) as $f |�[0m
 �[36;1m  (.reason // .message // .type // "finding") as $m |�[0m
 �[36;1m  if .severity == "critical" then�[0m
 �[36;1m    "::error file=\($f),line=\(.line // 1)::[hypatia] \($m)"�[0m
 �[36;1m  elif .severity == "high" then�[0m
 �[36;1m    "::error file=\($f),line=\(.line // 1)::[hypatia] \($m)"�[0m
...
 shell: /usr/bin/bash -e {0}
 env:
   INSTALL_DIR_FOR_OTP: /home/runner/work/_temp/.setup-beam/otp
   INSTALL_DIR_FOR_ELIXIR: /home/runner/work/_temp/.setup-beam/elixir
 ##[endgroup]
 ##[error][hypatia] Invalid .github/workflows/actions.lock: {:line, 4, {:unsupported_version, "v0.0.3"}}. Regenerate and verify it with gh actions-lock.
...
 ##[warning][hypatia] Job `changelog` in release.yml has no `timeout-minutes:` declaration. Default is 6 hours — a stuck codeload fetch or runner hang can burn budget. Add `timeout-minutes: 10` (or proportional).
 ##[warning][hypatia] Job `release` in release.yml has no `timeout-minutes:` declaration. Default is 6 hours — a stuck codeload fetch or runner hang can burn budget. Add `timeout-minutes: 10` (or proportional).
 ##[warning][hypatia] Job `deposit-findings` in static-analysis-gate.yml has no `timeout-minutes:` declaration. Default is 6 hours — a stuck codeload fetch or runner hang can burn budget. Add `timeout-minutes: 10` (or proportional).
 ##[warning][hypatia] Job `hypatia-scan` in static-analysis-gate.yml has no `timeout-minutes:` declaration. Default is 6 hours — a stuck codeload fetch or runner hang can burn budget....

GitHub Actions: Static Analysis Gate / Hypatia neurosymbolic scan: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run echo "::error::Hypatia found 6 critical security issue(s) — blocking merge"
 �[36;1mecho "::error::Hypatia found 6 critical security issue(s) — blocking merge"�[0m
...
 shell: /usr/bin/bash -e {0}
 env:
   INSTALL_DIR_FOR_OTP: /home/runner/work/_temp/.setup-beam/otp
   INSTALL_DIR_FOR_ELIXIR: /home/runner/work/_temp/.setup-beam/elixir
 ##[endgroup]
 ##[error]Hypatia found 6 critical security issue(s) — blocking merge
 ##[error]Process completed with exit code 1.

GitHub Actions: Dogfood Gate / 1_Validate K9 contracts.txt: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]K9 Configuration Validation
 Scanning . for K9 files (.k9, .k9.ncl)...
 Found 7 K9 file(s)
   Validating: ./.machine_readable/contractiles/k9/examples/ci-config.k9.ncl
   Validating: ./.machine_readable/contractiles/k9/examples/project-metadata.k9.ncl
   Validating: ./.machine_readable/contractiles/k9/examples/setup-repo.k9.ncl
   Validating: ./.machine_readable/contractiles/k9/template-hunt.k9.ncl
   Validating: ./.machine_readable/contractiles/k9/template-kennel.k9.ncl
   Validating: ./.machine_readable/contractiles/k9/template-yard.k9.ncl
   Validating: ./container/deploy.k9.ncl
 ##[error]Missing K9! magic number. First non-empty line must be exactly 'K9!'
 ##[error]Pedigree block missing 'name' field (in pedigree.metadata.name or pedigree.name)
...
 Errors:        2
 Warnings:      2
 Strict mode:   false
 ────────────────────────────────────────
 ##[endgroup]
 ##[error]K9 validation failed with 2 error(s)
 ##[error]Process completed with exit code 1.

GitHub Actions: Dogfood Gate / Validate K9 contracts: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]K9 Configuration Validation
 Scanning . for K9 files (.k9, .k9.ncl)...
 Found 7 K9 file(s)
   Validating: ./.machine_readable/contractiles/k9/examples/ci-config.k9.ncl
   Validating: ./.machine_readable/contractiles/k9/examples/project-metadata.k9.ncl
   Validating: ./.machine_readable/contractiles/k9/examples/setup-repo.k9.ncl
   Validating: ./.machine_readable/contractiles/k9/template-hunt.k9.ncl
   Validating: ./.machine_readable/contractiles/k9/template-kennel.k9.ncl
   Validating: ./.machine_readable/contractiles/k9/template-yard.k9.ncl
   Validating: ./container/deploy.k9.ncl
 ##[error]Missing K9! magic number. First non-empty line must be exactly 'K9!'
 ##[error]Pedigree block missing 'name' field (in pedigree.metadata.name or pedigree.name)
...
 Errors:        2
 Warnings:      2
 Strict mode:   false
 ────────────────────────────────────────
 ##[endgroup]
 ##[error]K9 validation failed with 2 error(s)
 ##[error]Process completed with exit code 1.

GitHub Actions: Dogfood Gate / 3_Validate eclexiaiser manifest.txt: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run if [ ! -f "eclexiaiser.toml" ]; then
 �[36;1mif [ ! -f "eclexiaiser.toml" ]; then�[0m
 �[36;1m  # Check if repo has a Containerfile — if so, recommend eclexiaiser�[0m
 �[36;1m  if [ -f "Containerfile" ]; then�[0m
 �[36;1m    echo "::warning::Containerfile present but no eclexiaiser.toml. Run \`eclexiaiser init\` to scaffold energy/carbon budgets."�[0m
 �[36;1m  fi�[0m
 �[36;1m  echo "has_manifest=false" >> "$GITHUB_OUTPUT"�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1m�[0m
 �[36;1mecho "has_manifest=true" >> "$GITHUB_OUTPUT"�[0m
 �[36;1m�[0m
 �[36;1m# Validate TOML structure using Python 3.11+ tomllib�[0m
 �[36;1mpython3 -c "�[0m
 �[36;1mimport tomllib, sys�[0m
 �[36;1mwith open('eclexiaiser.toml', 'rb') as f:�[0m
 �[36;1m    data = tomllib.load(f)�[0m
 �[36;1mproject = data.get('project', {})�[0m
 �[36;1mif not project.get('name', '').strip():�[0m
 �[36;1m    print('ERROR: project.name is required', file=sys.stderr)�[0m
 �[36;1m    sys.exit(1)�[0m
 �[36;1mfunctions = data.get('functions', [])�[0m
 �[36;1mif not functions:�[0m
 �[36;1m    print('ERROR: at least one [[functions]] entry is required', file=sys.stderr)�[0m
 �[36;1m    sys.exit(1)�[0m
 �[36;1mfor fn in functions:�[0m
 �[36;1m    if not fn.get('name', '').strip():�[0m
 �[36;1m        print('ERROR: function name cannot be empty', file=sys.stderr)�[0m
 �[36;1m        sys.exit(1)�[0m
 �[36;1m    if not fn.get('source', '').strip():�[0m
 �[36;1m        print(f'ERROR: function {fn[\"name\"]} has no source path', file=sys.stderr)�[0m
 �[36;1m        sys.exit(1)�[0m
 �[36;1mprint(f'Valid: {project[\"name\"]} ({len(functions)} function(s))')�[0m
 �[36;1m" || {�[0m
 �[36;1m  echo "::error file=eclexiaiser.toml::Invalid eclexiaiser.toml — see step output for details"�[0m

GitHub Actions: Dogfood Gate / Validate eclexiaiser manifest: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run if [ ! -f "eclexiaiser.toml" ]; then
 �[36;1mif [ ! -f "eclexiaiser.toml" ]; then�[0m
 �[36;1m  # Check if repo has a Containerfile — if so, recommend eclexiaiser�[0m
 �[36;1m  if [ -f "Containerfile" ]; then�[0m
 �[36;1m    echo "::warning::Containerfile present but no eclexiaiser.toml. Run \`eclexiaiser init\` to scaffold energy/carbon budgets."�[0m
 �[36;1m  fi�[0m
 �[36;1m  echo "has_manifest=false" >> "$GITHUB_OUTPUT"�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1m�[0m
 �[36;1mecho "has_manifest=true" >> "$GITHUB_OUTPUT"�[0m
 �[36;1m�[0m
 �[36;1m# Validate TOML structure using Python 3.11+ tomllib�[0m
 �[36;1mpython3 -c "�[0m
 �[36;1mimport tomllib, sys�[0m
 �[36;1mwith open('eclexiaiser.toml', 'rb') as f:�[0m
 �[36;1m    data = tomllib.load(f)�[0m
 �[36;1mproject = data.get('project', {})�[0m
 �[36;1mif not project.get('name', '').strip():�[0m
 �[36;1m    print('ERROR: project.name is required', file=sys.stderr)�[0m
 �[36;1m    sys.exit(1)�[0m
 �[36;1mfunctions = data.get('functions', [])�[0m
 �[36;1mif not functions:�[0m
 �[36;1m    print('ERROR: at least one [[functions]] entry is required', file=sys.stderr)�[0m
 �[36;1m    sys.exit(1)�[0m
 �[36;1mfor fn in functions:�[0m
 �[36;1m    if not fn.get('name', '').strip():�[0m
 �[36;1m        print('ERROR: function name cannot be empty', file=sys.stderr)�[0m
 �[36;1m        sys.exit(1)�[0m
 �[36;1m    if not fn.get('source', '').strip():�[0m
 �[36;1m        print(f'ERROR: function {fn[\"name\"]} has no source path', file=sys.stderr)�[0m
 �[36;1m        sys.exit(1)�[0m
 �[36;1mprint(f'Valid: {project[\"name\"]} ({len(functions)} function(s))')�[0m
 �[36;1m" || {�[0m
 �[36;1m  echo "::error file=eclexiaiser.toml::Invalid eclexiaiser.toml — see step output for details"�[0m

GitHub Actions: Dogfood Gate / 4_Validate DEED manifests.txt: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]A2ML Manifest Validation
 Scanning . for .a2ml files...
 Found 125 .a2ml file(s)
   Validating: ./.github/0.1-AI-MANIFEST.a2ml
 ##[warning]Missing SPDX-License-Identifier in first 10 lines
   Validating: ./.machine_readable/0.1-AI-MANIFEST.a2ml
   Validating: ./.machine_readable/6a2/AGENTIC.a2ml
   Validating: ./.machine_readable/6a2/ECOSYSTEM.a2ml
   Validating: ./.machine_readable/6a2/META.a2ml
   Validating: ./.machine_readable/6a2/NEUROSYM.a2ml
   Validating: ./.machine_readable/6a2/PLAYBOOK.a2ml
   Validating: ./.machine_readable/6a2/STATE.a2ml
   Validating: ./.machine_readable/CLADE.a2ml
   Validating: ./.machine_readable/ENSAID_CONFIG.a2ml
   Validating: ./.machine_readable/agent_instructions/coverage.a2ml
   Validating: ./.machine_readable/agent_instructions/debt.a2ml
   Validating: ./.machine_readable/agent_instructions/methodology.a2ml
   Validating: ./.machine_readable/ai/0.2-AI-MANIFEST.a2ml
   Validating: ./.machine_readable/ai/AI.a2ml
 ##[warning]Missing SPDX-License-Identifier in first 10 lines
   Validating: ./.machine_readable/anchors/0.2-AI-MANIFEST.a2ml
   Validating: ./.machine_readable/anchors/ANCHOR.a2ml
   Validating: ./.machine_readable/configs/0.2-AI-MANIFEST.a2ml
   Validating: ./.machine_readable/contractiles/adjust/adjustfile.a2ml
   Validating: ./.machine_readable/contractiles/dust/Dustfile.a2ml
   Validating: ./.machine_readable/contractiles/dust/dustfile.a2ml
   Validating: ./.machine_readable/contractiles/intend/Intendfile.a2ml
   Validating: ./.machine_readable/contractiles/intend/intendfile.a2ml
   Validating: ./.machine_readable/contractiles/lust/Intentfile.a2ml
   Validating: ./.machine_readable/contractiles/lust/lustfile.a2ml
   Validating: ./.machine_readable/contractiles/must/Mustfile.a2ml
   Validating: ./.machine_readable/contractiles/must/mustfile.a2ml
   Validating: ./.machine_readable/contractiles/trust/Trustfile.a2ml
   Validating: ./.machine_readable/contractiles/trust/trustfile.a2ml
   Validating: ./.machin...

GitHub Actions: Dogfood Gate / Validate DEED manifests: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]A2ML Manifest Validation
 Scanning . for .a2ml files...
 Found 125 .a2ml file(s)
   Validating: ./.github/0.1-AI-MANIFEST.a2ml
 ##[warning]Missing SPDX-License-Identifier in first 10 lines
   Validating: ./.machine_readable/0.1-AI-MANIFEST.a2ml
   Validating: ./.machine_readable/6a2/AGENTIC.a2ml
   Validating: ./.machine_readable/6a2/ECOSYSTEM.a2ml
   Validating: ./.machine_readable/6a2/META.a2ml
   Validating: ./.machine_readable/6a2/NEUROSYM.a2ml
   Validating: ./.machine_readable/6a2/PLAYBOOK.a2ml
   Validating: ./.machine_readable/6a2/STATE.a2ml
   Validating: ./.machine_readable/CLADE.a2ml
   Validating: ./.machine_readable/ENSAID_CONFIG.a2ml
   Validating: ./.machine_readable/agent_instructions/coverage.a2ml
   Validating: ./.machine_readable/agent_instructions/debt.a2ml
   Validating: ./.machine_readable/agent_instructions/methodology.a2ml
   Validating: ./.machine_readable/ai/0.2-AI-MANIFEST.a2ml
   Validating: ./.machine_readable/ai/AI.a2ml
 ##[warning]Missing SPDX-License-Identifier in first 10 lines
   Validating: ./.machine_readable/anchors/0.2-AI-MANIFEST.a2ml
   Validating: ./.machine_readable/anchors/ANCHOR.a2ml
   Validating: ./.machine_readable/configs/0.2-AI-MANIFEST.a2ml
   Validating: ./.machine_readable/contractiles/adjust/adjustfile.a2ml
   Validating: ./.machine_readable/contractiles/dust/Dustfile.a2ml
   Validating: ./.machine_readable/contractiles/dust/dustfile.a2ml
   Validating: ./.machine_readable/contractiles/intend/Intendfile.a2ml
   Validating: ./.machine_readable/contractiles/intend/intendfile.a2ml
   Validating: ./.machine_readable/contractiles/lust/Intentfile.a2ml
   Validating: ./.machine_readable/contractiles/lust/lustfile.a2ml
   Validating: ./.machine_readable/contractiles/must/Mustfile.a2ml
   Validating: ./.machine_readable/contractiles/must/mustfile.a2ml
   Validating: ./.machine_readable/contractiles/trust/Trustfile.a2ml
   Validating: ./.machine_readable/contractiles/trust/trustfile.a2ml
   Validating: ./.machin...

GitHub Actions: Dogfood Gate / 5_Groove manifest check.txt: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run # Check for static or dynamic Groove endpoints
 �[36;1m# Check for static or dynamic Groove endpoints�[0m
 �[36;1mHAS_MANIFEST="false"�[0m
 �[36;1mHAS_GROOVE_CODE="false"�[0m
 �[36;1m�[0m
 �[36;1mif [ -f ".well-known/groove/manifest.json" ]; then�[0m
 �[36;1m  HAS_MANIFEST="true"�[0m
 �[36;1m  # Validate the manifest JSON�[0m
 �[36;1m  if ! jq empty .well-known/groove/manifest.json 2>/dev/null; then�[0m
 �[36;1m    echo "::error file=.well-known/groove/manifest.json::Invalid JSON in Groove manifest"�[0m

GitHub Actions: Governance / 1_governance _ Security policy checks.txt: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run set -uo pipefail
 �[36;1mset -uo pipefail�[0m
 �[36;1mDIR=.github/canonical-references�[0m
 �[36;1mif [ ! -d "$DIR" ]; then�[0m
 �[36;1m  echo "ℹ️  [R5] no $DIR/ — skipped (repo has not opted in)"�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1mif ! command -v python3 >/dev/null 2>&1; then�[0m
 �[36;1m  echo "❌ [R5] python3 missing on runner — required for YAML rule parsing"�[0m
 �[36;1m  exit 2�[0m
 �[36;1mfi�[0m
 �[36;1mpython3 - <<'PY'�[0m
 �[36;1mimport os, sys, glob, subprocess�[0m
 �[36;1mtry:�[0m
 �[36;1m    import yaml�[0m
 �[36;1mexcept ImportError:�[0m
 �[36;1m    sys.exit("❌ [R5] PyYAML not installed on runner; install python3-yaml")�[0m
 �[36;1m�[0m
 �[36;1mdir_ = ".github/canonical-references"�[0m
 �[36;1mfiles = sorted(glob.glob(f"{dir_}/*.yml") + glob.glob(f"{dir_}/*.yaml"))�[0m
 �[36;1mif not files:�[0m
 �[36;1m    print(f"ℹ️  [R5] {dir_}/ has no .yml/.yaml rules — skipped")�[0m
 �[36;1m    sys.exit(0)�[0m
 �[36;1m�[0m
 �[36;1mtotal = 0�[0m
 �[36;1mfor rf in files:�[0m
 �[36;1m    with open(rf, encoding="utf-8") as fh:�[0m
 �[36;1m        cfg = yaml.safe_load(fh)�[0m
 �[36;1m    if not isinstance(cfg, dict):�[0m
 �[36;1m        print(f"❌ [R5] {rf}: top-level must be a mapping"); total += 1; continue�[0m
 �[36;1m    rid  = cfg.get("id", os.path.basename(rf))�[0m
 �[36;1m    desc = cfg.get("description", "")�[0m
 �[36;1m    pats = cfg.get("patterns") or []�[0m
 �[36;1m    canon = cfg.get("canonical_pointer", "")�[0m
 �[36;1m    scope = (cfg.get("scope") or {})�[0m
 �[36;1m    includes = scope.get("include") or []�[0m
 �[36;1m    if not pats or not includes:�[0m
 �[36;1m        print(f"❌ [R5:{rid}] missing patterns or scope.include in {rf}")�[0m
 �[36;1m        total += 1; continue�[0m
 �[36;1m    # exclude self-references�[0m
 �[36;1m    skip = set(["CHANGELOG.md", "CHANGELOG.adoc", rf])�[0m
 �[36;1m    if canon: skip.add(canon)�[0m
 �[36;1m    rule_hits = 0�[0m
 �[36;1m    for f_ in includes:�[0m
 �[36;1m        if f_ in skip or not os...

GitHub Actions: Dogfood Gate / Groove manifest check: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run # Check for static or dynamic Groove endpoints
 �[36;1m# Check for static or dynamic Groove endpoints�[0m
 �[36;1mHAS_MANIFEST="false"�[0m
 �[36;1mHAS_GROOVE_CODE="false"�[0m
 �[36;1m�[0m
 �[36;1mif [ -f ".well-known/groove/manifest.json" ]; then�[0m
 �[36;1m  HAS_MANIFEST="true"�[0m
 �[36;1m  # Validate the manifest JSON�[0m
 �[36;1m  if ! jq empty .well-known/groove/manifest.json 2>/dev/null; then�[0m
 �[36;1m    echo "::error file=.well-known/groove/manifest.json::Invalid JSON in Groove manifest"�[0m

GitHub Actions: Governance / governance _ Security policy checks: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run set -uo pipefail
 �[36;1mset -uo pipefail�[0m
 �[36;1mDIR=.github/canonical-references�[0m
 �[36;1mif [ ! -d "$DIR" ]; then�[0m
 �[36;1m  echo "ℹ️  [R5] no $DIR/ — skipped (repo has not opted in)"�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1mif ! command -v python3 >/dev/null 2>&1; then�[0m
 �[36;1m  echo "❌ [R5] python3 missing on runner — required for YAML rule parsing"�[0m
 �[36;1m  exit 2�[0m
 �[36;1mfi�[0m
 �[36;1mpython3 - <<'PY'�[0m
 �[36;1mimport os, sys, glob, subprocess�[0m
 �[36;1mtry:�[0m
 �[36;1m    import yaml�[0m
 �[36;1mexcept ImportError:�[0m
 �[36;1m    sys.exit("❌ [R5] PyYAML not installed on runner; install python3-yaml")�[0m
 �[36;1m�[0m
 �[36;1mdir_ = ".github/canonical-references"�[0m
 �[36;1mfiles = sorted(glob.glob(f"{dir_}/*.yml") + glob.glob(f"{dir_}/*.yaml"))�[0m
 �[36;1mif not files:�[0m
 �[36;1m    print(f"ℹ️  [R5] {dir_}/ has no .yml/.yaml rules — skipped")�[0m
 �[36;1m    sys.exit(0)�[0m
 �[36;1m�[0m
 �[36;1mtotal = 0�[0m
 �[36;1mfor rf in files:�[0m
 �[36;1m    with open(rf, encoding="utf-8") as fh:�[0m
 �[36;1m        cfg = yaml.safe_load(fh)�[0m
 �[36;1m    if not isinstance(cfg, dict):�[0m
 �[36;1m        print(f"❌ [R5] {rf}: top-level must be a mapping"); total += 1; continue�[0m
 �[36;1m    rid  = cfg.get("id", os.path.basename(rf))�[0m
 �[36;1m    desc = cfg.get("description", "")�[0m
 �[36;1m    pats = cfg.get("patterns") or []�[0m
 �[36;1m    canon = cfg.get("canonical_pointer", "")�[0m
 �[36;1m    scope = (cfg.get("scope") or {})�[0m
 �[36;1m    includes = scope.get("include") or []�[0m
 �[36;1m    if not pats or not includes:�[0m
 �[36;1m        print(f"❌ [R5:{rid}] missing patterns or scope.include in {rf}")�[0m
 �[36;1m        total += 1; continue�[0m
 �[36;1m    # exclude self-references�[0m
 �[36;1m    skip = set(["CHANGELOG.md", "CHANGELOG.adoc", rf])�[0m
 �[36;1m    if canon: skip.add(canon)�[0m
 �[36;1m    rule_hits = 0�[0m
 �[36;1m    for f_ in includes:�[0m
 �[36;1m        if f_ in skip or not os...

GitHub Actions: Governance / 2_governance _ Well-Known (RFC 9116 + RSR).txt: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run SECTXT=""
 �[36;1mSECTXT=""�[0m
 �[36;1m[ -f ".well-known/security.txt" ] && SECTXT=".well-known/security.txt"�[0m
 �[36;1m[ -f "security.txt" ] && SECTXT="security.txt"�[0m
 �[36;1mif [ -z "$SECTXT" ]; then�[0m
 �[36;1m  echo "::warning::No security.txt found."�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1mgrep -q "^Contact:" "$SECTXT" || { echo "::error::Missing Contact field"; exit 1; }�[0m
 �[36;1mif ! grep -q "^Expires:" "$SECTXT"; then�[0m
 �[36;1m  echo "::error::Missing Expires field"�[0m
...
 �[36;1mfi�[0m
 �[36;1mEXPIRES=$(grep "^Expires:" "$SECTXT" | cut -d: -f2- | tr -d ' ' | head -1)�[0m
 �[36;1mif date -d "$EXPIRES" > /dev/null 2>&1; then�[0m
 �[36;1m  DAYS=$(( ($(date -d "$EXPIRES" +%s) - $(date +%s)) / 86400 ))�[0m
 �[36;1m  if [ $DAYS -lt 0 ]; then�[0m
 �[36;1m    echo "::error::security.txt EXPIRED"�[0m
...
 ##[group]Run MIXED=$(grep -rE 'src="http://|href="http://' --include="*.html" --include="*.htm" . 2>/dev/null | grep -vE 'localhost|127\.0\.0\.1|example\.com|lol/|node_modules/|third-party/|vendor/' | head -5 || true)
 �[36;1mMIXED=$(grep -rE 'src="http://|href="http://' --include="*.html" --include="*.htm" . 2>/dev/null | grep -vE 'localhost|127\.0\.0\.1|example\.com|lol/|node_modules/|third-party/|vendor/' | head -5 || true)�[0m
 �[36;1mif [ -n "$MIXED" ]; then�[0m
 �[36;1m  echo "::error::Mixed content (HTTP in HTML)"�[0m

GitHub Actions: Governance / governance _ Well-Known (RFC 9116 + RSR): ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run SECTXT=""
 �[36;1mSECTXT=""�[0m
 �[36;1m[ -f ".well-known/security.txt" ] && SECTXT=".well-known/security.txt"�[0m
 �[36;1m[ -f "security.txt" ] && SECTXT="security.txt"�[0m
 �[36;1mif [ -z "$SECTXT" ]; then�[0m
 �[36;1m  echo "::warning::No security.txt found."�[0m
 �[36;1m  exit 0�[0m
 �[36;1mfi�[0m
 �[36;1mgrep -q "^Contact:" "$SECTXT" || { echo "::error::Missing Contact field"; exit 1; }�[0m
 �[36;1mif ! grep -q "^Expires:" "$SECTXT"; then�[0m
 �[36;1m  echo "::error::Missing Expires field"�[0m
...
 �[36;1mfi�[0m
 �[36;1mEXPIRES=$(grep "^Expires:" "$SECTXT" | cut -d: -f2- | tr -d ' ' | head -1)�[0m
 �[36;1mif date -d "$EXPIRES" > /dev/null 2>&1; then�[0m
 �[36;1m  DAYS=$(( ($(date -d "$EXPIRES" +%s) - $(date +%s)) / 86400 ))�[0m
 �[36;1m  if [ $DAYS -lt 0 ]; then�[0m
 �[36;1m    echo "::error::security.txt EXPIRED"�[0m

GitHub Actions: Governance / governance _ Well-Known (RFC 9116 + RSR): ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run MIXED=$(grep -rE 'src="http://|href="http://' --include="*.html" --include="*.htm" . 2>/dev/null | grep -vE 'localhost|127\.0\.0\.1|example\.com|lol/|node_modules/|third-party/|vendor/' | head -5 || true)
 �[36;1mMIXED=$(grep -rE 'src="http://|href="http://' --include="*.html" --include="*.htm" . 2>/dev/null | grep -vE 'localhost|127\.0\.0\.1|example\.com|lol/|node_modules/|third-party/|vendor/' | head -5 || true)�[0m
 �[36;1mif [ -n "$MIXED" ]; then�[0m
 �[36;1m  echo "::error::Mixed content (HTTP in HTML)"�[0m

GitHub Actions: Governance / 4_governance _ Code quality + docs.txt: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run editorconfig-checker/action-editorconfig-checker@840e866d93b8e032123c23bac69dece044d4d84c
 with:
   github-***REDACTED_SECRET_ASSIGNMENT***
   version: latest
 ##[endgroup]
 Find 'latest' release
 ##[error]Error: The binary 'ec-linux-amd64*' not found

GitHub Actions: Governance / governance _ Code quality + docs: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run editorconfig-checker/action-editorconfig-checker@840e866d93b8e032123c23bac69dece044d4d84c
 with:
   github-***REDACTED_SECRET_ASSIGNMENT***
   version: latest
 ##[endgroup]
 Find 'latest' release
 ##[error]Error: The binary 'ec-linux-amd64*' not found

GitHub Actions: Governance / 5_governance _ Workflow security linter.txt: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run failed=0
 �[36;1mfailed=0�[0m
 �[36;1mfor file in .github/workflows/*.yml .github/workflows/*.yaml; do�[0m
 �[36;1m  [ -f "$file" ] || continue�[0m
 �[36;1m  if ! head -1 "$file" | grep -q "^# SPDX-License-Identifier:"; then�[0m
 �[36;1m    echo "ERROR: $file missing SPDX header"; failed=1�[0m
 �[36;1m  fi�[0m
 �[36;1m  if ! grep -q "^permissions:" "$file"; then�[0m
 �[36;1m    echo "ERROR: $file missing top-level 'permissions:' declaration"; failed=1�[0m
 �[36;1m  fi�[0m
 �[36;1mdone�[0m
 �[36;1m[ $failed -eq 1 ] && { echo "Add SPDX header + permissions:"; exit 1; }�[0m
 �[36;1mecho "All workflows have SPDX headers + permissions"�[0m
 shell: /usr/bin/bash -e {0}
 ##[endgroup]
 ERROR: .github/workflows/abi-ffi-gate.yml missing SPDX header
 ERROR: .github/workflows/boj-build.yml missing SPDX header
 ERROR: .github/workflows/casket-pages.yml missing SPDX header
 ERROR: .github/workflows/codeql.yml missing SPDX header
 ERROR: .github/workflows/dogfood-gate.yml missing SPDX header
 ERROR: .github/workflows/governance.yml missing SPDX header
 ERROR: .github/workflows/hypatia-scan.yml missing SPDX header
 ERROR: .github/workflows/instant-sync.yml missing SPDX header
 ERROR: .github/workflows/k9-svc-validation.yml missing SPDX header
 ERROR: .github/workflows/k9-svc-validation.yml missing top-level 'permissions:' declaration
 ERROR: .github/workflows/label-triage.yml missing SPDX header
 ERROR: .github/workflows/labels.yml missing SPDX header
 ERROR: .github/workflows/mirror.yml missing SPDX header
 ERROR: .github/workflows/push-email-notify.yml missing SPDX header
 ERROR: .github/workflows/release.yml missing SPDX header
 ERROR: .github/workflows/rhodibot.yml missing SPDX header
 ERROR: .github/workflows/rust-ci.yml missing SPDX header
 ERROR: .github/workflows/scorecard.yml missing SPDX header
 ERROR: .github/workflows/secret-scanner.yml missing SPDX header
 ERROR: .github/workflows/static-analysis-gate.yml missing SPDX header
 Add SPDX header + permissio...

GitHub Actions: Governance / governance _ Workflow security linter: ci(rust-ci): re-pin rust-ci-reusable past the toolchain-input breakage

Conclusion: failure

View job details

##[group]Run failed=0
 �[36;1mfailed=0�[0m
 �[36;1mfor file in .github/workflows/*.yml .github/workflows/*.yaml; do�[0m
 �[36;1m  [ -f "$file" ] || continue�[0m
 �[36;1m  if ! head -1 "$file" | grep -q "^# SPDX-License-Identifier:"; then�[0m
 �[36;1m    echo "ERROR: $file missing SPDX header"; failed=1�[0m
 �[36;1m  fi�[0m
 �[36;1m  if ! grep -q "^permissions:" "$file"; then�[0m
 �[36;1m    echo "ERROR: $file missing top-level 'permissions:' declaration"; failed=1�[0m
 �[36;1m  fi�[0m
 �[36;1mdone�[0m
 �[36;1m[ $failed -eq 1 ] && { echo "Add SPDX header + permissions:"; exit 1; }�[0m
 �[36;1mecho "All workflows have SPDX headers + permissions"�[0m
 shell: /usr/bin/bash -e {0}
 ##[endgroup]
 ERROR: .github/workflows/abi-ffi-gate.yml missing SPDX header
 ERROR: .github/workflows/boj-build.yml missing SPDX header
 ERROR: .github/workflows/casket-pages.yml missing SPDX header
 ERROR: .github/workflows/codeql.yml missing SPDX header
 ERROR: .github/workflows/dogfood-gate.yml missing SPDX header
 ERROR: .github/workflows/governance.yml missing SPDX header
 ERROR: .github/workflows/hypatia-scan.yml missing SPDX header
 ERROR: .github/workflows/instant-sync.yml missing SPDX header
 ERROR: .github/workflows/k9-svc-validation.yml missing SPDX header
 ERROR: .github/workflows/k9-svc-validation.yml missing top-level 'permissions:' declaration
 ERROR: .github/workflows/label-triage.yml missing SPDX header
 ERROR: .github/workflows/labels.yml missing SPDX header
 ERROR: .github/workflows/mirror.yml missing SPDX header
 ERROR: .github/workflows/push-email-notify.yml missing SPDX header
 ERROR: .github/workflows/release.yml missing SPDX header
 ERROR: .github/workflows/rhodibot.yml missing SPDX header
 ERROR: .github/workflows/rust-ci.yml missing SPDX header
 ERROR: .github/workflows/scorecard.yml missing SPDX header
 ERROR: .github/workflows/secret-scanner.yml missing SPDX header
 ERROR: .github/workflows/static-analysis-gate.yml missing SPDX header
 Add SPDX header + permissio...
🧰 Additional context used
🪛 GitHub Actions: Governance / 5_governance _ Workflow security linter.txt
.github/workflows/rust-ci.yml

[error] 1-1: Workflow validation failed: missing SPDX header. The CI check requires the first line to start with '# SPDX-License-Identifier:'.

🪛 GitHub Actions: Governance / governance _ Workflow security linter
.github/workflows/rust-ci.yml

[error] 1-1: Workflow validation failed: missing SPDX header. The workflow check requires the first line to start with '# SPDX-License-Identifier:'.

🔇 Additional comments: 1
.github/workflows/rust-ci.yml: 1

18-18: LGTM!

📝 Summary

Summary by CodeRabbit

  • Chores
    • Updated the Rust CI workflow to use a newer version of its reusable workflow.

The Rust CI job now uses reusable workflow commit 81dbf2dd854b1444fd6236fa2352474383b2c2b9 instead of d135b05bfc647d0c0fbfedc7e80f37ea50f49236.

Changes: Rust CI workflow

Layer / File(s) Summary
Update reusable workflow reference
.github/workflows/rust-ci.yml
The Rust CI job now references reusable workflow commit 81dbf2dd854b1444fd6236fa2352474383b2c2b9.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 77414

The updated Rust CI workflow is compatible with this repository’s caller and fixes the previous pre-Cargo toolchain failure. No actionable merge-blocking risk remains.

### Architecture Summary

Architecture risk: 🔵 Low · up to 77414

The changed surface does not map to a changed system, dependency edge, entrypoint, or external dependency.

Changed systems: None identified.

Architecture concerns
No architecture-level concerns identified.

Review details

Before / after behavior

  • observed — Modified behavior in .github/workflows/rust-ci.yml: The rust-ci job now references reusable workflow commit 81dbf2dd854b1444fd6236fa2352474383b2c2b9 instead of d135b05bfc647d0c0fbfedc7e80f37ea50f49236.
Pre-merge checks: Passed 5
Check name Status Explanation
Title check Passed The title clearly identifies the CI workflow and the re-pin that fixes the toolchain-input breakage.
Description check Passed The description includes the required summary, changes, testing, and quality checklist information. It explains the failure, the selected pin, lockfile impact, and unrelated checks. Screenshots and no…
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description includes the required summary, changes, testing, and quality checklist information. It explains the failure, the selected pin, lockfile impact, and unrelated checks. Screenshots and non-applicable checklist items are reasonably omitted.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches: 💡 1
🛠️ Fix failing CI checks: 💡
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Warning

CI annotation context is incomplete: annotation collection unavailable or limited

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hyperpolymath
hyperpolymath merged commit 2b36f06 into main Oct 19, 2026
34 of 38 checks passed
@hyperpolymath
hyperpolymath deleted the ci/rust-toolchain-input branch October 19, 2026 20:22
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.

2 participants