Skip to content

fix(ci): three CI blockers — dead rsr-antipattern ref, K9 gap, unfinished instantiation - #21

Merged
hyperpolymath merged 1 commit into
mainfrom
fix/ci-blockers-sweep
Jul 27, 2026
Merged

fix(ci): three CI blockers — dead rsr-antipattern ref, K9 gap, unfinished instantiation#21
hyperpolymath merged 1 commit into
mainfrom
fix/ci-blockers-sweep

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Fixes the three CI blockers keeping the estate's PR queue stuck, as
diagnosed for this repo (full per-blocker root-cause detail is in the
commit message):

  • lint-workflows (unpinned action, rsr-antipattern.yml:15): the
    referenced reusable (rsr-antipattern-reusable.yml) has never
    existed on hyperpolymath/standards. It's dead, retired estate-wide
    per docs/audits/audit-reusables-convergence-2026-05-26.adoc, and
    superseded by governance.yml (already present here). Deleted
    rather than pinned to an unresolvable reference.
  • Validate K9 contracts (8 errors / 10 files): 6 were a shared
    k9-ecosystem/validate-action scope bug, fixed at the source in
    fix(validate-action): exclude non-pedigree files from K9 checks k9-ecosystem#21 (with a local stopgap override here).
    The remaining 2 were a genuine container/deploy.k9.ncl defect
    (missing K9! line, pedigree hidden behind a let-binding) — fixed
    directly.
  • openssf-compliance: failed on TWO files. ECOSYSTEM.a2ml's
    notes field documented the {{PLACEHOLDER}} mechanism using the
    literal token shape (reworded). STATE.a2ml was still, despite
    PR fix: instantiate recon-silly-ation from the RSR template #19's title, substantively the raw template — project = "rsr-template-repo", a "STATE file for rsr-template-repo itself"
    preamble, and template-authoring milestones/notes. Properly
    instantiated for recon-silly-ation from its own README/manifest.

Test plan

  • bash validate-action/validate-k9.sh (k9-ecosystem, with the
    new paths-ignore) → Errors: 0 (was 8)
  • grep -rnE '^[[:space:]]+uses:' .github/workflows/ | grep -v '@[a-f0-9]{40}'
    → empty (was 1 match)
  • Reproduced the openssf-compliance placeholder-check step locally
    → 0 files flagged (was 2)
  • python3 -c "import tomllib; tomllib.load(...)" on the edited
    .a2ml files → parses clean
  • All touched/remaining workflow YAML parses via yaml.safe_load

🤖 Generated with Claude Code

…ation

Three independent CI-blocker fixes bundled together (verified
individually, listed by check name):

lint-workflows: rsr-antipattern.yml called a reusable workflow
(rsr-antipattern-reusable.yml) that has never existed on
hyperpolymath/standards — confirmed via the commits API and absent
from the current rsr-template-repo. Per
docs/audits/audit-reusables-convergence-2026-05-26.adoc, `antipattern-
check` was retired estate-wide; its function is already covered by
governance.yml -> governance-reusable.yml (already wired here). No SHA
exists to pin against a file that was never committed, so the fix is
to delete the dead workflow.

Validate K9 contracts: locally reproduced the reported 8 errors / 10
files. 6 of 8 were a shared-validator scope bug (coordination.k9,
session/custom-checks.k9, self-validating/methodology-guard.k9.ncl
aren't K9 pedigree contracts at all) fixed at the source in
hyperpolymath/k9-ecosystem#21, with a local paths-ignore override here
as a stopgap since this repo pins the action to a commit SHA. The
remaining 2 were a genuine container/deploy.k9.ncl defect: missing the
literal `K9!` first line, and `pedigree` pointed at a let-bound
variable instead of an inline block, hiding name/version/leash from
the validator's line-based scanner. Fixed by adding the magic line and
merging the required fields inline.

openssf-compliance: "Check no unfilled placeholder tokens" failed on
TWO files. .machine_readable/6a2/ECOSYSTEM.a2ml's `notes` field
documented the {{PLACEHOLDER}} substitution mechanism using the
literal token shape (reworded, same false-positive class as
hypatia#243). .machine_readable/6a2/STATE.a2ml was still, despite
PR #19's title ("instantiate recon-silly-ation from the RSR template"),
substantively the raw rsr-template-repo template: `project =
"rsr-template-repo"`, a "META-TEMPLATE" preamble describing itself as
"the STATE file for rsr-template-repo itself", milestones/maturity
describing the template's own 95%-complete state, and a "NOTE FOR
CONSUMERS" instantiation-instructions block. Properly instantiated for
recon-silly-ation (name, purpose, phase/maturity, milestones,
next-actions) using its own README.adoc/0-AI-MANIFEST.a2ml as source
of truth, matching the shape already used by bitfuckit's STATE.a2ml.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@gitar-bot

gitar-bot Bot commented Jul 27, 2026

Copy link
Copy Markdown
CI failed: CI root shape validation failed because LICENSES/ and flake.nix are present in the repository root without being listed in the allowlist.

Overview

Root shape validation check failed during CI execution due to unauthorized files/directories in the repository root.

Failures

Root Shape Validation Failure (confidence: high)

  • Type: configuration
  • Affected jobs: 90105428627
  • Related to change: yes
  • Root cause: The scripts/check-root-shape.sh check found LICENSES/ and flake.nix in the repository root, but they are not included in the root allowlist.
  • Suggested fix: Add LICENSES/ and flake.nix to .machine_readable/root-allow.txt or move them into the appropriate subdirectories.

Summary

  • Change-related failures: 1 configuration failure regarding repository root shape validation
  • Infrastructure/flaky failures: None
  • Recommended action: Update .machine_readable/root-allow.txt to include LICENSES/ and flake.nix or relocate them.
Code Review ✅ Approved 1 resolved / 1 findings

Removes the dead rsr-antipattern reference, fixes K9 contract validation errors, and properly instantiates STATE.a2ml. Consider addressing the duplicated identity fields in the inline pedigree merge to prevent drift.

Auto-approved: No blocking issues found.
Please see Auto-approve Docs for details on setting custom approval criteria.

✅ 1 resolved
Quality: Duplicated identity fields can drift out of sync

📄 container/deploy.k9.ncl:22-23 📄 container/deploy.k9.ncl:152-155
The inline pedigree merge re-declares name="recon-silly-ation-deploy" and version="0.1.0" at the top level, duplicating the values already in metadata.name/metadata.version. Because they are hardcoded independently rather than referenced, a future version/name bump in one place will silently diverge from the other. Consider referencing the existing values (e.g. name = component_pedigree.metadata.name, version = component_pedigree.metadata.version) so the scanner-visible copy stays authoritative.

Tip

Comment Gitar fix CI or enable auto-apply: gitar auto-apply:on

Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

Comment thread container/deploy.k9.ncl

@gitar-bot gitar-bot 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.

Gitar has auto-approved this PR (configure)

@hyperpolymath
hyperpolymath marked this pull request as ready for review July 27, 2026 20:58
@hyperpolymath
hyperpolymath merged commit 1beeb90 into main Jul 27, 2026
27 of 28 checks passed
@hyperpolymath
hyperpolymath deleted the fix/ci-blockers-sweep branch July 27, 2026 20:58
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