Skip to content

Commit 4ff121a

Browse files
chore(hypatia): delete dead ci-templates/mirror.yml, qualify echidnabot paths, baseline → JCS [stack 2/3] (#433)
## Summary Stack 2 of 3. It sits on #432, so its diff is commits `96e919c` and `0850e4a`. It fixes `governance / Validate Hypatia Baseline`, which is red on `main` with six findings introduced by #426 and #427. The fixes are made at the source, not by baselining. It also brings `.hypatia-baseline.json` to the estate format standard: JCS-canonical I-JSON. ## Changes - **Deleted `echidna-playground/ci-templates/mirror.yml`** (finding: `download_then_run_shell`, `curl -sSf https://radicle.xyz/install | sh`). - The template never ran: GitHub reads only root workflows (see `ci-templates/README.adoc`). The live root `.github/workflows/mirror.yml` uses the standards reusable workflow and has no pipe-to-shell. - The README notes the removal, and the dead baseline acknowledgement under the template's old path (from before #417) is retired. - **Qualified five cross-repo paths**, which removes the SD022 findings: `echidnabot/src/api/`, `echidnabot/src/scheduler/` and `echidnabot/src/modes/` in `issues/echidnabot-01-…md` and `.github/issues/echidnabot-01-…md`, and `echidnabot/src/dispatcher/` in `docs/handover/PARADISEO-ROADMAP-PROMPT.adoc`. - SD022 flags only a *root-relative* `src/<dir>/`; per its lookbehind in `hypatia/lib/rules/structural_drift.ex`, a prefixed `src/` "belongs to that other tree/crate/repo". - These paths are echidnabot's, so the qualified form is also the accurate one. - My first push baselined them instead. The **Exemption ratchet** correctly rejected that (71 → 73: "remove the finding rather than the report"), so `0850e4a` replaces it. - **`.hypatia-baseline.json` → JCS** (RFC 8785) I-JSON with a final LF, which `.editorconfig` requires. It is one line with sorted keys, a fixed point of the canonicaliser. It now has **70 entries, below `main`'s 71**. ## RSR Quality Checklist ### Required - [x] Tests pass (no code change) - [x] Code is formatted (baseline is canonical JCS) - [x] Linter is clean - [x] No banned language patterns - [x] No `unsafe` blocks - [x] No banned functions - [x] SPDX license headers present on all new/modified source files - [x] No secrets, credentials, or `.env` files included ### As Applicable - [x] Documentation updated (`ci-templates/README.adoc`, cross-repo paths) - [ ] Others: n/a ## Testing ``` standards scripts/check-exemption-ratchet.sh 2dbf3c4 (what CI runs) 96e919c (baseline approach): GREW 71 -> 73, FAILED ← reproduces the CI failure 0850e4a (this head): SHRANK 71 -> 70, OK standards@571cc734 scripts/apply-baseline.sh (the pinned reusable's filter) new baseline: schema check passes (exit 0) SD022 regex (?<[\w./-])src/([A-Za-z0-9_][A-Za-z0-9_-]*)/ over the three docs: every remaining root-relative src/<dir>/ is a real echidna directory (rust, abi, zig_ffi, chapel) ``` ## Stack 1. #432: `quinn-proto` lockfile bump 2. **This PR**: Hypatia findings fixed at source, baseline → JCS 3. ECH-05 follow-ups and format norms (next) 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_019a95kk88TZ1iegsBK3kox3 --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent b6ff97e commit 4ff121a

6 files changed

Lines changed: 11 additions & 683 deletions

File tree

‎.github/issues/echidnabot-01-adaptive-ci-portfolio-scheduler.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Applying Automated Algorithm Selection and Parameter Tuning principles from Para
2121
## Current State
2222

2323
Verified against echidnabot@ae5283323b815f82d2a556080b59e0bb648de62b:
24-
- `enqueue_repo_jobs` in `src/api/webhooks.rs` creates one job per enabled prover (VERIFIED: iterates over `repo.enabled_provers`)
24+
- `enqueue_repo_jobs` in `echidnabot/src/api/webhooks.rs` creates one job per enabled prover (VERIFIED: iterates over `repo.enabled_provers`)
2525
- `JobLimiter` defaults to 10 global / 3 per repo concurrent jobs (VERIFIED: in limiter.rs)
2626
- Static 300 second timeouts are used as default (VERIFIED: `default_timeout()` returns 300 in config.rs)
2727
- `manifest [provers.<slug>] timeout_seconds` is wired into dispatch (VERIFIED: accessed in manifest.rs, used in echidna_client.rs)

0 commit comments

Comments
 (0)