Skip to content

Part 5 — wire the gate suites into run-ci - #63

Closed
mjerris wants to merge 1 commit into
mainfrom
feat/part5-wire-suites
Closed

Part 5 — wire the gate suites into run-ci#63
mjerris wants to merge 1 commit into
mainfrom
feat/part5-wire-suites

Conversation

@mjerris

@mjerris mjerris commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

Part 5 — wire the gate suites into run-ci

Replaces this port's ~40 per-gate sched_gate lines with the 6 suite units (SURFACE, GEN, BEHAVIORAL, DOC-TRUTH, LEDGER, PACKAGE) + the nightly split lines (BEHAVIORAL-NIGHTLY, PACKAGE-NIGHTLY), from the porting-sdk suite engines. The port's stay gates (TEST/LINT/FMT + singletons) are untouched.

Verified: the union of this port's stay gates + every rule ID the suites emit == the pre-wiring gate baseline exactly — no gate lost or invented (proven via the scheduler's SW_CI_LIST manifest). Dead --fn helper functions (now reproduced inside the suites) removed. run-ci passes.

Depends on signalwire/porting-sdk#100 (the suite engines + scripts/suites/*) — merge that first; this port resolves the suites from the adjacent porting-sdk at CI time.

🤖 Generated with Claude Code

Replace the per-gate suite-member sched_gate lines in scripts/run-ci.sh with
the 6 Part-5 suite engines (surface/gen/behavioral/doc_truth/ledger/package),
plus the BEHAVIORAL/PACKAGE nightly splits, mirroring the wired TS reference
(feat/part5-wire-suites). Ruby's stay-standalone gates (native toolchains +
singletons: TEST, NO-CHEAT, FMT, LINT, DOC-CLI, DEAD-PUBLIC-ERROR,
SNIPPET-COMPILE, SNIPPET-RUN, EXAMPLES-RUN, ROOT-HYGIENE, PUBLIC-JARGON) are
untouched, keeping their exact tiers.

Each suite emits every original gate NAME as a `[SUITE:RULE] ... PASS/FAIL`
rule ID, so failure identity is preserved. The former `--fn` helpers
(surface_fresh_gate, surface_diff_gate, rest_coverage_gate, spec_parity_gate,
dayone_artifact_deny) and pick_free_port are removed — their bodies are
reproduced inside the suites (SURFACE re-enumerates port_surface.json for BOTH
SURFACE-FRESH and ruby's re-enumerating SURFACE-DIFF).

Gate set is byte-conserved:
  union(11 STAY gates + 41 suite rule IDs) == the 52-gate ruby baseline,
  0 gates lost, 0 invented (proven by SW_CI_LIST manifest + per-suite rule-ID
  enumeration).

Nightly members preserved exactly: WAIT-LIVENESS -> BEHAVIORAL-NIGHTLY;
PACKAGE-SMOKE + META-CONSISTENT -> PACKAGE-NIGHTLY; SNIPPET-COMPILE/SNIPPET-RUN/
EXAMPLES-RUN keep their standalone tier=nightly.

`bash scripts/run-ci.sh` -> ==> CI PASS.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PqshDQajCmDHD3xPo4CXMC
@mjerris mjerris closed this Jul 18, 2026
@mjerris
mjerris deleted the feat/part5-wire-suites branch July 18, 2026 15:03
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