You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Handle bootstrap baseline inventory and candidate scope (#368)
Forward candidate scope and preserve mandatory candidate evidence while classifying a non-compiling immutable baseline explicitly as bootstrap baseline red.\n\nAI assistance: openai/gpt-5.6-sol via OpenCode was used to implement and review the workflow reconciliation and deterministic contracts. Chris Huber reviewed and remains responsible for the change.
- name: Report candidate Test inventory generation failure
864
870
if: needs.candidate-test-plan.result != 'success'
865
871
run: |
@@ -869,10 +875,33 @@ jobs:
869
875
echo "::error::Test inventory generation failed for '${command}' (inventory=${{ needs.candidate-test-plan.result }}; results=${results}). Inspect Plan candidate Test shards for the underlying command failure."
echo '::error::Baseline Test inventory generation failed; baseline shard artifacts were not downloaded. Inspect Plan baseline Test shards for the underlying command failure.'
and (.run_attempt | type == "number" and . > 0 and . <= $run_attempt)
898
+
and (.results | type == "object")
899
+
' "${provenance}" >/dev/null
900
+
echo "::warning::Test bootstrap_baseline_red: immutable baseline inventory failed before baseline shards could be planned. Candidate shards remain mandatory; inspect Plan baseline Test shards and the retained baseline inventory provenance."
901
+
- name: Fail unresolved baseline Test planning failure
grep -F 'result_filename="$(command_result_filename "${COMMAND}")"'"${WORKFLOW}">/dev/null || { printf'FAIL: differential baseline lookup does not use the canonical result filename\n';exit 1; }
235
235
# shellcheck disable=SC2016
236
236
grep -F '[ -f "homeboy-baseline-results/${result_filename}" ] && structured_output=true'"${WORKFLOW}">/dev/null || { printf'FAIL: differential baseline lookup does not fail closed when its declared result is absent\n';exit 1; }
237
-
if [ "$(grep -c 'scope: full'"${WORKFLOW}")"-lt 4 ];then
238
-
printf'FAIL: candidate and baseline shard planning and replay do not use their manifests as the sole test selector\n';exit 1
237
+
candidate_inventory="$(sed -n '/name: Configure candidate Test shards/,/name: Plan candidate Test shards/p'"${WORKFLOW}")"
238
+
baseline_inventory="$(sed -n '/name: Configure baseline Test shards/,/name: Plan baseline Test shards/p'"${WORKFLOW}")"
239
+
printf'%s\n'"${candidate_inventory}"| grep -F 'scope: ${{ inputs.scope }}'>/dev/null || { printf'FAIL: candidate Test inventory does not forward caller scope\n';exit 1; }
240
+
printf'%s\n'"${baseline_inventory}"| grep -F 'scope: full'>/dev/null || { printf'FAIL: immutable baseline Test inventory is not full scope\n';exit 1; }
241
+
if [ "$(grep -c 'scope: full'"${WORKFLOW}")"-lt 3 ];then
242
+
printf'FAIL: immutable baseline inventory and shard replays do not use full scope\n';exit 1
239
243
fi
240
244
grep -F 'prepare-test-shard-workspace.sh prepare .homeboy-action'"${WORKFLOW}">/dev/null || { printf'FAIL: candidate binary setup does not isolate the action checkout\n';exit 1; }
241
245
grep -F "steps.prepare-binary-workspace.outcome == 'success'""${WORKFLOW}">/dev/null || { printf'FAIL: candidate binary setup does not always restore its exact Git exclusions\n';exit 1; }
if grep -A4 'name: Report candidate Test inventory generation failure'"${WORKFLOW}"| grep -F 'homeboy-test-shard-plan-'>/dev/null;then
251
255
printf'FAIL: inventory failure reporting attempts to read a missing shard plan artifact\n';exit 1
252
256
fi
257
+
grep -F 'bootstrap-baseline-red: ${{ steps.bootstrap-baseline-red.outputs.value }}'"${WORKFLOW}">/dev/null || { printf'FAIL: baseline inventory failures are not classified for reconciliation\n';exit 1; }
258
+
grep -F 'name: homeboy-baseline-test-inventory-failure-${{ github.run_attempt }}'"${WORKFLOW}">/dev/null || { printf'FAIL: classified baseline inventory failures are not retained as artifacts\n';exit 1; }
259
+
grep -F 'Test bootstrap_baseline_red: immutable baseline inventory failed'"${WORKFLOW}">/dev/null || { printf'FAIL: Test does not publish the baseline bootstrap warning\n';exit 1; }
260
+
grep -F "needs.baseline-test-plan.outputs.bootstrap-baseline-red == 'true'""${WORKFLOW}">/dev/null || { printf'FAIL: Test does not restrict the nonblocking path to classified baseline inventory failures\n';exit 1; }
261
+
grep -F 'name: Enforce candidate Test result after bootstrap baseline red'"${WORKFLOW}">/dev/null || { printf'FAIL: bootstrap baseline warning can bypass candidate Test enforcement\n';exit 1; }
262
+
grep -F "needs.baseline-test-plan.result == 'success'""${WORKFLOW}">/dev/null || { printf'FAIL: baseline shards can run without a successful baseline inventory plan\n';exit 1; }
253
263
printf'PASS: policy waits for sharded Test reconciliation while preserving unsharded behavior\n'
0 commit comments