Skip to content

perf(ci): parallelize complete collector ShellCheck gate - #1440

Draft
proerror77 wants to merge 2 commits into
mainfrom
codex/collector-shellcheck-parallel-20261017
Draft

proerror77 wants to merge 2 commits into
mainfrom
codex/collector-shellcheck-parallel-20261017

Conversation

@proerror77

@proerror77 proerror77 commented Oct 17, 2026 •

Copy link
Copy Markdown
Owner

Change

The verified main restore run spent 14:33 in Collector control contracts: 815 seconds in the shell-contract step, including 695 seconds of behavioral tests.

Bound ShellCheck to four concurrent source-aware groups. Seven groups cover the same 62 deployment scripts; 68 arguments retain shared source companions. An exact NUL-safe set comparison rejects missing or unexpected inputs. Complete syntax validation still precedes lint, and any worker failure fails the gate.

Adapt the source-companion layout from historical draft #1371. Retain main's recovery isolation and complete behavioral suite. New helper/config changes select the existing collector gate.

Issue relationship

Refs #1430
Refs #1371

Validation

Final head: 0d3234b01a95ed53d506871f75a2c0fc0919b4d6.

  • Monorepo CI: success, 13:46 for its selected scope.
  • Collector control contracts: success, 13:16. Syntax: 62 files / 1s. ShellCheck: 7 groups / 4 workers / 62 unique files / 60s.
  • All 16 behavioral entries passed; suite elapsed 679s. Recovery remains isolated before the existing parallel health/control phase.
  • CI policy regression: success. Covers exact input union, filenames with spaces, source companions, worker overlap/cap, lint failure propagation, unregistered inputs and syntax fail-fast, plus existing failure/cancellation/fee-admission contracts.
  • Prediction CI: success, 2:15. Security: success, 2:00. Docker/ACK contracts also passed.
  • Final diff whitespace validation passed. All explicit literal source references and ShellCheck source annotations in the 62 baseline scripts remain inside their registered groups.

The first head correctly failed SC1091 after losing source context. Grouping and its regression tests fix that failure; no diagnostic was suppressed.

The historical serial pre-suite phase was about 120s; this run measured 61s. Collector job time was 873s historically versus 796s here. These are observations across different runners, not a controlled speedup estimate. Unaffected Rust/Loop/full research jobs were not selected in this PR, so this does not establish the complete main pipeline's 15-minute target. A separately authorized merge and subsequent full warm measurement remain necessary.

Maintenance and runtime impact

Register added/removed scripts and changed source relationships in the group layout; stale membership fails closed. Four workers bound CI resource use. Production code, behavioral assertions, timeouts, required gates, security rules and permission settings are unchanged.

A future authorized merge triggers existing main CI and conditional publication admission. No merge, deployment or cloud resource operation was performed. This PR remains draft.

@coderabbitai

coderabbitai Bot commented Oct 17, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • 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.

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