GitHub Actions adversary
Reviews GitHub Actions workflows for security, supply-chain, and reliability defects.
Goals
The adversary is designed to produce a small number of high-confidence, actionable findings grounded in concrete repository evidence. Its review should be deterministic where possible, explicit about impact, and quiet when the available evidence does not justify a finding.
Scope
It evaluates GitHub Actions workflow files for token authority, untrusted code paths, runner safety, action pinning, timeouts, and step wiring.
The complete detector or review inventory is maintained in CHECKS.md.
Boundaries
It owns CI configuration in this platform domain. Application code, container definitions, and infrastructure resources remain with their specialist adversaries.
SDK source coverage
The SDK dependency follows the published SDK version pinned in package.json. Model review retains evidence-backed findings when repository source coverage is partial, records the limitation, and does not grant a whole-change clean opinion. Provider and output-validation failures are not coverage gaps: they retain failure or model-unavailable reporting and cannot grant a whole-change clean opinion.
Bounded model output repair
Model stages use the SDK output-validation loop with at most two final-generation requests
(initial output plus one repair), unless a stage already supplies its own bounded
validator. Broker and client schema failures provide specific feedback to final
generation; gathered evidence and the original deadline are retained. Rejected
completion usage is included in returned totals and terminal or interrupted
ModelReviewError failures. Unexpected exceptions from custom model implementations
propagate unchanged and do not expose SDK usage totals; custom models should report
request failures with ModelReviewError.
Exhausted validation remains incomplete and cannot grant a whole-change clean opinion.
This release uses SDK 0.1.43, including schema repair and interrupted-repair usage preservation.
Provider transport retries and format corrections have their own existing bounds; the two-attempt limit applies to SDK final-generation requests.
SDK 0.1.43
This release rebuilds with SDK 0.1.43. SDK PR #73 adds a tested neutral fallback to formatOpinionAsync when concern wording validation is exhausted, preserving completed findings and the ship decision. Reviewers that do not call this API retain their existing opinion behavior. Provider and transport failures remain errors. Domain rules and evidence requirements are unchanged.