Skip to content

fix(ci): restore canonical standards closure evidence after fleet owner migration - #639

Merged
hyperpolymath merged 2 commits into
mainfrom
fix/canonical-standards-closure-receipt-20261101
Nov 1, 2026
Merged

hyperpolymath merged 2 commits into
mainfrom
fix/canonical-standards-closure-receipt-20261101

Conversation

@hyperpolymath

@hyperpolymath hyperpolymath commented Nov 1, 2026 •

Copy link
Copy Markdown
Owner

Immediate cause

PR #638 changed the canonical standards workflow owner and actions.lock to metadatastician/standards, but was merged while its latest-head E2E lock-closure gate was red. The pre-existing review receipts in scripts/lib/lock-closure-receipts.tsv still said hyperpolymath/standards. The E2E failure also reported a distinct NOT-RUN CLOSURE-NO-RECEIPT for hyperpolymath/cicd-suite@4404c3c....

Fix

  • Repoint the eleven existing reviewed standards closure receipts to the canonical owner while preserving the exact SHA and each audited transitive uses: edge.
  • Emit and add a separate receipt for hyperpolymath/cicd-suite@4404c3c0474e17753fe7689f3485c02890aac113 from the actual pinned .github/workflows/secret-scanner-reusable.yml source, which names only actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 (twice; receipt deduplicates it). This is not fabricated evidence.
  • Leave the reviewed baseline exceptions intact, clearly marked as accepted debt; do not disable the closure check or relax SHA pinning.

Local evidence

After applying this single receipt file to the canary tree, bash scripts/tests/lock-closure-test.sh in a trusted scratch directory: 47 passed, 0 failed. The prior state was 45 passed, 2 failed. This fixes the exact observed Gate failure on #638.

Signed GitHub-verified commit 72111863642438f3eb3d94e2e47f967d0cbe8bb7.

Draft until final hosted CI succeeds. No estate-wide rollout, notification archive operations, or merges are done by this PR.

Summary by CodeRabbit

  • Chores
    • Migration checks now recognize when the scanner workflow is already in place and avoid reapplying its changes.
    • Existing migrations must include the required pinned-suite references and reviewed receipt; missing records are reported and prevent approval.
    • Apply checks now pass when the migration is already in place or can be applied successfully.

@coderabbitai

coderabbitai Bot commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Pull request is closed - (Check again to try again)

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

Copy link
Copy Markdown
Owner Author

SITREP after latest-head CI, 2026-11-01:

  • The precise closure evidence defect from fix(ci): canonical standards owner in fleet callers and propagation sender #638 is fixed. scripts/tests/lock-closure-test.sh: 47 passed, zero failed on the candidate tree. Latest hosted Lock Sync Gate passed, as did Secret Scanner, Repo Integrity Guard, CodeQL and other checks.
  • The E2E Tests workflow is still red on this head. Its failing step is Prepared secret-scanner migration stays gated: docs/migrations/secret-scanner-cicd-suite/preflight.sh attempts to apply stale patch hunks to .github/workflows/secret-scanner.yml, .github/workflows/actions.lock, and scripts/lib/lock-closure-receipts.tsv, and all three patches reject. This is a separate prepared-migration rebase dependency, not evidence that the reviewed closure receipt is wrong. Its preflight exit 3 must not be suppressed.
  • Next event: rebase/regenerate the prepared migration's patch series against the canonical-owner baseline, validate the original intended secret-scanner semantics and lock closure, run negative controls, and recheck latest-head hosted CI before merge.
  • PR fix(ci): canonical standards owner in fleet callers and propagation sender #638 was merged while its E2E gate was red. This follow-up stays DRAFT; please do not merge based solely on isolated green jobs. No estate-wide fan-out or notifications mutations were performed.

Copy link
Copy Markdown
Owner Author

Follow-up on current head after the prepared-migration preflight failure:

The bounded secret-scanner replacement is already applied in the live caller and lockfile, while the prepared patch series still targets the older layout. The old preflight attempted to reapply its obsolete patches and gave FINDINGS, even though the intended caller, pinned dependency and scanner were present.

Signed commit 25f6d242b392eb17a75d937e90685a450c3b558e teaches the preflight to distinguish not yet applied (apply the patches normally) from already applied (verify exact pinned caller, both lock entries, and the reviewed closure receipt). Other downstream checks still validate caller permissions, event triggers, no secret inheritance, closure and canary evidence. --check-apply continues to fail for incomplete transitions.

Planted controls: isolated WSL positive applied state exits 2 (NOT RUN: missing live canary, honest), while removing its one reviewed closure receipt exits 3 (FINDINGS + NOT RUN). The closure-audit suite itself passes 47/47. Neither outcome falsely promotes a missing canary to a successful verification. We now await hosted E2E on this head; no merge readiness claimed.

@sonarqubecloud

sonarqubecloud Bot commented Nov 1, 2026

Copy link
Copy Markdown

Copy link
Copy Markdown
Owner Author

Latest-head CI verification: Gitbot Fleet PR #639 commit 25f6d242b392eb17a75d937e90685a450c3b558e now has E2E Tests = success, along with Lock Sync Gate, Secret Scanner, Repo Integrity Guard, Dogfood Gate and CodeQL Security Analysis = success. Rust, Governance, Hypatia Security Scan, Scorecards, GitHub Pages and Fleet report-backs were still executing when checked. No merge readiness is claimed until remaining required jobs finish. This resolves the specific previous E2E red caused by already-applied scanner migration patch replay while retaining negative controls (missing receipt exits 3, missing live canary exits 2 locally).

@hyperpolymath
hyperpolymath marked this pull request as ready for review November 1, 2026 09:47
@hyperpolymath
hyperpolymath enabled auto-merge (squash) November 1, 2026 09:48
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 1, 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 ✅ Completed 2026-11-01T09:51:05.825309Z 25f6d24 Draft marked ready
ℹ️ 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.

@hyperpolymath
hyperpolymath merged commit 64ebfbe into main Nov 1, 2026
61 of 66 checks passed
@hyperpolymath
hyperpolymath deleted the fix/canonical-standards-closure-receipt-20261101 branch November 1, 2026 09:50

@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: 25f6d242b3

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

Comment on lines +84 to +86
if [ -f "$TMP/tree/.github/workflows/secret-scanner.yml" ] &&
grep -Fq "uses: $CALLEE" "$TMP/tree/.github/workflows/secret-scanner.yml"; then
already_applied=1

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Keep the migration contract test runnable after application

When the checkout already contains the migrated caller, this branch skips all patch application, but scripts/tests/secret-scanner-migration-test.sh still mutates those patches to test unsafe configurations and later applies them to its copied tree. Running that dedicated test now produces three false passes (fast-pr, secret inheritance, and permissions are not rejected) before aborting when the already-applied patches fail, so the migration contract suite can no longer complete. Update the test fixture to start from the prepared pre-migration state, or otherwise let it explicitly exercise the patch path.

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