Skip to content

ci: standards ci-pipeline dry-run caller (observation, do not merge yet) - #121

Merged
hyperpolymath merged 1 commit into
mainfrom
secqual/standards-pipeline-dry-run
Sep 22, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
secqual/standards-pipeline-dry-run

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

What this is

A deliberate observation, not an adoption.

hyperpolymath/standards carries a reusable pipeline,
.github/workflows/ci-pipeline.yml, which as of today has zero callers
anywhere in the estate
. Its exemption ledger,
.machine_readable/pipeline-allow.txt, is seeded empty on purpose. The
ledger's own text is explicit about how it may be filled:

An entry here must be EARNED BY OBSERVATION: the pipeline ran in that
repository and went red. It must never be seeded by inference.
[…] The honest seed is a dry-run wave: adopt the caller in a deliberate
sample, record the real verdict per repository, and add only what actually
went red.

This PR is one of five in that dry-run wave.

Expected verdict in this repository

detect counts ecosystem markers on the default branch. Measured today
across 93 tracked files:

ecosystem markers
Rust / Nickel / ReScript / V / Haskell / Deno (supported) 0
none
TOTAL (supported) 0

So the pipeline is expected to REFUSE on a zero denominator: there is no
supported ecosystem here, and no unsupported one either. Rather than pass
vacuously, the workflow refuses and says nothing was checked. The workflow's
own reasoning:

a vacuous gate is worse than an honest blind spot: the blind spot reports
nothing, the vacuous gate reports success.

A red run here is the correct outcome and is exactly what this wave is for.

Known defect, disclosed up front

hyperpolymath/standards#976detect counts *.ncl into its ecosystem
denominator, and the RSR template ships a six-file k9 Nickel set into every
seeded repository. TOTAL can therefore be lifted above zero by template
boilerplate alone, which silences the zero-denominator refusal while nothing
meaningful has been checked. On a 24-repo sample, 9 would go vacuously
green
that way.

This repository was chosen precisely because its verdict does not depend on
that contaminated signal.
It has zero .ncl files, so the #976 template-boilerplate inflation cannot reach its denominator. The observation therefore survives
whichever cure for #976 is chosen.

Deliberate choices

  • Pinned to an immutable commit (2eb9bb19, ci-pipeline.yml blob
    d2583657), never @main — following main would let one push in
    standards change the verdict of every already-pinned caller with no review
    here.
  • No secrets: block at all. ci-pipeline.yml declares
    workflow_call.inputs only, has no secrets: block and references no
    secrets.* anywhere. secrets: inherit would hand the entire store to a
    workflow that consumes none of it.
  • pull_request + workflow_dispatch only, so the PR itself is the
    observation.
  • This repository has no .github/workflows/actions.lock, so no lock key was added.

Please do not merge yet

The verdict is the deliverable. Once the run completes, the result is recorded
against the ledger, and only repositories that actually went red are added
— in a commit carrying a column-0
Ratchet-exception: .machine_readable/pipeline-allow.txt — <why> trailer.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Ji1bq3TypfycfUPAR7hSxR

Adds a pinned caller for hyperpolymath/standards ci-pipeline.yml as part of
the deliberate dry-run wave that seeds .machine_readable/pipeline-allow.txt
by OBSERVATION rather than by inference. no actions.lock in this repository.

Discloses hyperpolymath/standards#976 in the workflow header.

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

coderabbitai Bot commented Sep 22, 2026

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

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: f53c83e4-6550-4294-8596-2f76eefe9e26

📥 Commits

Reviewing files that changed from the base of the PR and between a46d3d8 and 97cb8e5.

📒 Files selected for processing (1)
  • .github/workflows/standards-pipeline.yml

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

📜 Recent review details
⏰ Context from checks skipped due to timeout. (23)
  • GitHub Check: hypatia / Hypatia Neurosymbolic Analysis
  • GitHub Check: pipeline / Secret scanning / gitleaks
  • GitHub Check: pipeline / Secret scanning / shell-secrets
  • GitHub Check: pipeline / Secret scanning / rust-secrets
  • GitHub Check: pipeline / SAST (semgrep)
  • GitHub Check: pipeline / Detect ecosystems
  • GitHub Check: governance / Guix primary / Nix fallback policy
  • GitHub Check: governance / Trusted-base reduction policy
  • GitHub Check: scan / gitleaks
  • GitHub Check: governance / Language / package anti-pattern policy
  • GitHub Check: governance / Workflow security linter
  • GitHub Check: governance / Licence consistency
  • GitHub Check: governance / Security policy checks
  • GitHub Check: scan / shell-secrets
  • GitHub Check: governance / Well-Known (RFC 9116 + RSR)
  • GitHub Check: governance / Code quality + docs
  • GitHub Check: governance / Check Workflow Staleness
  • GitHub Check: spark-theatre-gate / SPARK Theatre Gate
  • GitHub Check: scan / rust-secrets
  • GitHub Check: analyze (actions, none)
  • GitHub Check: build
  • GitHub Check: lint-workflows
  • GitHub Check: lint-workflows
🔇 Additional comments (1)
.github/workflows/standards-pipeline.yml (1)

1-42: LGTM!


📝 Summary

Summary by CodeRabbit

  • Chores
    • Added an automated standards pipeline that runs for pull requests and can also be triggered manually.
    • The pipeline uses read-only repository access and a pinned standards workflow version for consistent validation.
    • No user-facing product functionality has changed.

Walkthrough

The pull request adds a GitHub Actions workflow for standards checks. The workflow runs on pull requests and manual dispatch, uses read-only contents access, and calls a pinned reusable workflow without secrets.

Changes

Standards pipeline

Layer / File(s) Summary
Standards workflow integration
.github/workflows/standards-pipeline.yml
Adds pull request and manual triggers. Sets read-only contents permission. Invokes the pinned hyperpolymath/standards workflow without secrets. Documents the dry-run purpose and known denominator defect.

Priority: ⬇️ Low

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

Change: Feature

Merge Risk: ⚪ Minimal · up to 97cb8

This adds a read-only, pinned standards check with no evidenced production or data-integrity risk. The expected refusal is an intentional observation outcome.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description check ✅ Passed The description clearly explains the pinned standards pipeline caller, its dry-run purpose, expected refusal, known defect, and merge restriction. It directly relates to the changeset.
Title check ✅ Passed The title clearly identifies the standards CI pipeline dry-run caller and states that it is for observation only. It is concise and directly matches the main change.
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.

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

A rabbit reads each line,
The patch grows clear beneath the moon,
Small changes hop in place,
Tests guard the garden path,
Reviews bloom before the dawn.

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

@hyperpolymath
hyperpolymath merged commit 8c4b55d into main Sep 22, 2026
23 of 25 checks passed
@hyperpolymath
hyperpolymath deleted the secqual/standards-pipeline-dry-run branch September 22, 2026 12:42
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