Skip to content

fix(ci): clear the deferred red checks — descriptiles, hypatia-scan, RSR realignment (#78) - #80

Merged
hyperpolymath merged 5 commits into
mainfrom
arena/f31fb256-nextgen-language-evangeliser
Oct 10, 2026
Merged

hyperpolymath merged 5 commits into
mainfrom
arena/f31fb256-nextgen-language-evangeliser

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Remediates the two deferred red contexts tracked in #78 (standing ruling 2026-09-15: a red non-required check is an issue with acceptance criteria). Full recon + plan: docs/plans/PLAN-issue-78-red-checks.adoc. Cross-cutting governance reds: hyperpolymath/standards#994.

Red context 1 — Hypatia neurosymbolic scan (static-analysis-gate.yml)

The gate reported 10 critical security issue(s); GitHub's 10-annotation cap hid the true set. Reconstructed from the Hypatia rule sources (structural_drift.ex, workflow_audit.ex, code_safety.ex):

n rule finding fix
9 SD004 (critical) descriptiles in retired locations: .machine_readable/{META,STATE,ECOSYSTEM}.a2ml (legacy s-expression dialect) + .machine_readable/6a2/{AGENTIC,ECOSYSTEM,META,NEUROSYM,PLAYBOOK,STATE}.a2ml relocated to .machine_readable/descriptiles/ (SSOT 3.1.x; 6a2/ deprecated 2026-06-30); record-dialect kept as base, s-expr twins reconciled fact-by-fact then retired
1 missing_workflow (critical) .github/workflows/hypatia-scan.yml absent (SSOT 6.1.2) added — template-shaped, pinned to the standards reusable @10e0b6ffb979f0a27fe58206512055133e67460a (advisory until a baseline lands; standards#399/#437 mechanism)

Also cleared the annotated highs + mediums so the reusable scan and any future baseline promotion start clean:

  • setup.sh download-and-execute ×2 removed (CWE-494) — checksum-verify manual-install guidance instead
  • gui/app.js dead innerHTML escape hatch deleted — no caller used html:; SafeDOM by construction (CWE-79)
  • Deno -A eliminated → explicit least-privilege flags (CWE-250): scripts/validate-cartridges.js, scripts/launch-gui.sh, Justfile
  • rsr-antipattern.yml exemption-heading regex anchored to ^#{1,4}\s+ (WF022; verified it still matches ### TypeScript Exemptions)
  • instant-sync.yml repository-dispatch gated on secret presence via the estate env-boolean idiom (WF017)
  • timeout-minutes on all 10 flagged jobs (ERR-WF-013): ci.yml ×6, codeql analyze, guix-nix-policy check, instant-sync dispatch

static-analysis-gate.yml itself is untouched — it is byte-shaped like rsr-template-repo's (the inline job feeds the gitbot-fleet learning pipeline; the new hypatia-scan.yml is the independent pinned scan).

Red context 2 — RSR Compliance Check (ci.yml)

The job demanded a 2025-era file set; three estate migrations moved on without it. Regenerated as a non-normative mirror of the rsr-criteria-v2 SSOT detectors (the ONE normative checker is hypatia:rsr-conformance):

  • 2.1.x community docs in any_of shapes. Owner ruling 2026-10-10: community-health files stay AsciiDoc (SECURITY.adoc et al.); .md variants remain accepted. The SSOT's .md-only detector lag is recorded for upstream (standards#994; GitHub .adoc recognition is the owner's own feature requests orgs/community#181843 / #189645).
  • 2.2.1 well-known: www/.well-known/ canonical (rsr-template-repo#53 stage-5 sweep), legacy root tolerated with a warning
  • 3.1.1 descriptiles present / retired 6a2/ absent; 1.1.2/1.1.3 Justfile / no Makefile
  • timeout-minutes: 10; honest failures, no silent-green

Companion repairs:

  • Justfile: the deno task recipes referenced a deno.json that never existed in git history — replaced with direct least-privilege deno commands; validate-rsr now runs green and honestly
  • wellknown-enforcement.yml fails closed when security.txt is absent everywhere (was a vacuous warn-only gate — the defect class fix: the Hypatia gate could never fire — the defects that made it unconditionally vacuous #67 was merged to eliminate); runs the adopted template validator www/tests/check-wellknown.sh (passes locally)
  • www/.well-known/security.txt: Canonical/Policy URLs fixed (wrong repo name nextgen-languages-evangeliser → nextgen-language-evangeliser; retired paths)
  • SECURITY.adoc modernized: retired VS Code-extension threat model → current Deno + cartridge-data surface; dead links fixed
  • docs sweep: CONTRIBUTING.adoc dead links, README.adoc humans.txt link + structure tree, docs/RSR_COMPLIANCE.adoc (paths, Nix retirement), 0-AI-MANIFEST.a2ml canonical-locations section, CHANGELOG entry

Verification

  • Local simulation of the rewritten rsr-compliance check: passes (all ✅)
  • SD004 simulation: the seven descriptile names exist only under .machine_readable/descriptiles/; 6a2/ gone; no SD007/SD023/SD024 re-triggers (no retired-path refs remain in the files those rules scan)
  • All 22 workflows YAML-parse; inline Python blocks compile; gui/app.js passes node --check; no deno run -A, no curl|sh anywhere in scanned surface
  • Hypatia itself cannot be built in the authoring sandbox (hex.pm unreachable) — the PR run is ground truth for the scan, per the repo's own doctrine (author now, verify in CI)

Acceptance

Both contexts green on this PR head; once merged, green on main closes #78. Open dependabot PR #79 should be refreshed afterwards to inherit green.

Upstream reports drafted in the plan (§5.5) for owner posting to standards#994: oracle 2.2.1 root-only detector vs www/ canonical, SSOT 2.1.3–2.1.5 .adoc variants, unimplemented SD020, floating Hypatia clone in the template's static-analysis-gate.

hyperpolymath and others added 4 commits October 10, 2026 11:56
…e_readable/descriptiles/ (#78)

RSR v2.0 SSOT 3.1.x requires STATE/META/ECOSYSTEM/AGENTIC/NEUROSYM/PLAYBOOK
descriptiles at .machine_readable/descriptiles/; the .machine_readable/ root
of the machine tree and the 6a2/ directory are retired (6a2 deprecated
2026-06-30). This clears the 9 SD004 criticals reported by the Hypatia
neurosymbolic scan on main.

* git-mv the six record-dialect 6a2 manifests to descriptiles/
* reconcile the legacy s-expression-dialect twins (.machine_readable/
  {META,STATE,ECOSYSTEM}.a2ml) into the record versions and retire them —
  no fact lost (root STATE was semantically newer: M3 complete, 66%,
  session history to 2026-06-27 — ported into the record dialect)
* repair retired-path references: 0-AI-MANIFEST.a2ml canonical-locations
  section + anchor path, AGENTIC/PLAYBOOK operational hooks, HANDOFF.adoc,
  CLAUDE.md, TOPOLOGY.adoc

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
…canner's highs + timeouts (#78)

Kills the remaining Hypatia findings from the red static-analysis gate:

* add .github/workflows/hypatia-scan.yml — the estate-required independent
  Hypatia security scan (workflow_audit/missing_workflow critical; RSR 6.1.2),
  pinned to the standards reusable at 10e0b6ffb9 (vetted scanner SHA input,
  SARIF to the Security tab, advisory until a baseline is committed —
  standards#399/#437 mechanism)
* setup.sh: remove both download-and-execute fallbacks (CWE-494) — package
  managers stay; otherwise print checksum-verify manual-install instructions;
  header usage note rewritten the same way
* gui/app.js: delete the dead innerHTML escape hatch — SafeDOM by
  construction, no callers used the html: option (CWE-79)
* least-privilege Deno permissions, never -A (CWE-250):
  scripts/validate-cartridges.js doc line, scripts/launch-gui.sh
  (--allow-read --allow-net --allow-env --allow-run), Justfile recipe to
  follow in the RSR commit
* rsr-antipattern.yml: anchor the exemption-table heading regex to the
  markdown heading shape (WF022 — the silent-wrong-section class;
  verified the anchored regex still matches '### TypeScript Exemptions')
* instant-sync.yml: gate the repository-dispatch secret on presence via the
  estate env-boolean idiom (WF017) + timeout-minutes
* timeout-minutes on every flagged job (ERR-WF-013): codeql analyze,
  guix-nix-policy check, instant-sync dispatch

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
…#78)

The red 'RSR Compliance Check' demanded a 2025-era file set; three estate
migrations moved on without it. Regenerate it as a non-normative mirror of
the rsr-criteria-v2 detectors (the ONE normative checker is
hypatia:rsr-conformance) with honest failures and timeout-minutes:

* any_of shapes for the 2.1.x community docs; owner ruling 2026-10-10:
  community-health files stay AsciiDoc (SECURITY.adoc et al.) while .md
  variants remain accepted — the SSOT's .md-only detector lag is recorded
  for upstream (standards#994; GitHub .adoc recognition requests
  orgs/community #181843/#189645)
* 2.2.1 well-known: www/.well-known/ canonical (rsr-template-repo#53),
  legacy root tolerated with a warning
* 3.1.1 descriptiles present + retired 6a2 absent; 1.1.2/1.1.3 Justfile
  present / Makefile banned

Companion repairs:
* Justfile: the deno task recipes referenced a deno.json that never existed
  in git history — replaced with direct least-privilege deno commands;
  validate-rsr/validate-docs/validate-security/validate-structure use the
  same SSOT shapes; header aligned to LANGUAGE-POLICY tiers (this repo's
  Deno surface is tier-2 grandfathered)
* wellknown-enforcement.yml: fails closed when security.txt is absent
  everywhere (was a vacuous warn-only gate), www/ canonical, runs the
  adopted template validator www/tests/check-wellknown.sh
* www/.well-known/security.txt: Canonical/Policy URLs fixed (wrong
  repository name 'nextgen-languages-evangeliser', retired paths)
* www/.well-known/ai.txt: stale AI.a2ml reference -> CLAUDE.md + descriptiles
* SECURITY.adoc modernized: retired VS Code-extension threat model replaced
  with the current Deno + cartridge-data surface; dead links/paths fixed
* CONTRIBUTING.adoc dead links (SECURITY.md/CODE_OF_CONDUCT.md -> .adoc),
  README.adoc humans.txt link + structure tree, docs/RSR_COMPLIANCE.adoc
  (paths, Nix retirement), CHANGELOG entry

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
The full recon + remediation plan: verified root causes of both red
contexts (Hypatia 10-critical reconstruction from the rule sources; RSR
gate staleness vs the estate migrations), binding constraints from the RSR
v2.0 criteria SSOT and rsr-template-repo, phased workstreams, verification
plan, risks, and the owner's decision-point rulings (DP-1..DP-4).

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Oct 10, 2026

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 1f771d49-f56e-46d5-9596-80e73a978936

📥 Commits

Reviewing files that changed from the base of the PR and between 1cdc1e5 and 327a9c2.


📒 Files selected for processing (36)
  • .github/workflows/ci.yml
  • .github/workflows/codeql.yml
  • .github/workflows/guix-nix-policy.yml
  • .github/workflows/hypatia-scan.yml
  • .github/workflows/instant-sync.yml
  • .github/workflows/rsr-antipattern.yml
  • .github/workflows/wellknown-enforcement.yml
  • .machine_readable/6a2/ECOSYSTEM.a2ml
  • .machine_readable/6a2/STATE.a2ml
  • .machine_readable/ECOSYSTEM.a2ml
  • .machine_readable/META.a2ml
  • .machine_readable/STATE.a2ml
  • .machine_readable/descriptiles/AGENTIC.a2ml
  • .machine_readable/descriptiles/ECOSYSTEM.a2ml
  • .machine_readable/descriptiles/META.a2ml
  • .machine_readable/descriptiles/NEUROSYM.a2ml
  • .machine_readable/descriptiles/PLAYBOOK.a2ml
  • .machine_readable/descriptiles/STATE.a2ml
  • 0-AI-MANIFEST.a2ml
  • CHANGELOG.adoc
  • CLAUDE.md
  • CONTRIBUTING.adoc
  • HANDOFF.adoc
  • Justfile
  • README.adoc
  • SECURITY.adoc
  • TOPOLOGY.adoc
  • docs/RSR_COMPLIANCE.adoc
  • docs/plans/PLAN-issue-78-red-checks.adoc
  • gui/app.js
  • scripts/launch-gui.sh
  • scripts/validate-cartridges.js
  • setup.sh
  • www/.well-known/ai.txt
  • www/.well-known/security.txt
  • www/tests/check-wellknown.sh

 ____________________________________________________________________
< Sometimes, I feel like a code reviewer in a world of copy-pasters. >
 --------------------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR

  • 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

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

Comment thread .github/workflows/instant-sync.yml Fixed
…kflows (#78)

RE001 is the advisory research-extension recommendation to install
step-security/harden-runner wherever a workflow references a secret. These
five workflows deliberately use SHA-pinned, repository-locked actions with
least-privilege permissions while retaining the outbound access they need
(GitHub API, SMTP, forge propagation) — the same justification and
file-scoped shape as rsr-template-repo's own .hypatia-ignore (whose entries
cover push-email-notify, release, build-notification, dependabot-automerge,
label-triage, labels). File-scoped entries keep the advisory applying to
every NEW workflow.

Surfaced as a code-scanning alert on #80 only because instant-sync.yml was
rewritten there; the advisory pre-exists the PR.

Co-authored-by: arena-agent <297053741+arena-agent@users.noreply.github.com>
@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit 03292f9 into main Oct 10, 2026
43 checks passed
@hyperpolymath
hyperpolymath deleted the arena/f31fb256-nextgen-language-evangeliser branch October 10, 2026 12:07
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.

Deferred red checks on dependabot PR #77

2 participants