Fixes CI / all-required hard-failing on PRs during Phase 3 (RFC #219 S1).
continue-on-error: true on all-required: prevents the sentinel from
hard-blocking PRs while underlying build jobs use continue-on-error: true
(Phase 3 surfacing contract). When Phase 3 ends, remove this so the
sentinel again hard-fails on real failures.
Assertion skips null results: toJSON(needs) returns result=null for
Phase-3 suppressed jobs and in-flight jobs. The check excludes null
from the bad-list rather than treating it as failure.
Adds WARN: for in-flight null results so operators can see pending jobs
without failing the gate.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The Integration Tester appends a trailing JSON5 comment
(// Triggered by Integration Tester at ...) to manifest.json.
Standard jq rejects this as invalid JSON with:
jq: parse error: Invalid numeric literal at line 47, column 3
Fix: add a _strip_comments() helper using sed to remove
full-line // comments before feeding to jq. Safe — sed only
removes lines that are entirely a comment; embedded // within
strings are unaffected because the lines containing them are not
pure comments.
Fixes publish-workspace-server-image run 9982 pre-clone failure.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>