@@ -595,6 +595,40 @@ MOCK
595595 fi
596596 done
597597
598+ workspace=" $TMP /runtime-workspace-valid" ; export_root=" $TMP /runtime-export-valid"
599+ cat > " $fake_kit " << 'MOCK '
600+ #!/usr/bin/env bash
601+ set -euo pipefail
602+ marker=$(printf '\001kit-runtime\001')
603+ printf '%s%s\n' "$marker" '{"event":"future_event","summary":"SECRET_VALID_REPORT_CANARY"}' >&2
604+ printf '%s\n' 'ordinary diagnostic after rejected projection' >&2
605+ mkdir -p "$FACTORY_WORKSPACE_ROOT/.factory" "$FACTORY_WORKSPACE_ROOT/guides/acme"
606+ printf 'research\n' >"$FACTORY_WORKSPACE_ROOT/guides/acme/research.md"
607+ printf 'metadata\n' >"$FACTORY_WORKSPACE_ROOT/guides/acme/meta.yaml"
608+ cat >"$FACTORY_WORKSPACE_ROOT/.factory/run-report.json" <<'JSON'
609+ {"schema_version":1,"outcome":"awaiting_scope","provider":"Acme","slug":"acme","persona":"it-admin","summary":"Needs scope","open_questions":["Which auth path?"],"blockers":[],"nits":[],"review_rounds":0,"artifacts":["research.md","meta.yaml"]}
610+ JSON
611+ MOCK
612+ chmod +x " $fake_kit "
613+ if ! FACTORY_REPO_ROOT=" $repo " FACTORY_INPUT_ROOT=" $input " \
614+ FACTORY_WORKSPACE_ROOT=" $workspace " FACTORY_EXPORT_ROOT=" $export_root " \
615+ FACTORY_KIT_HOME=" $TMP /runtime-home-valid" KIT_BIN=" $fake_kit " \
616+ FACTORY_REPORT_VALIDATOR=" $ROOT /factory/scripts/validate-report.sh" \
617+ FACTORY_EVENT_PROJECTOR=" $ROOT /factory/scripts/project-kit-events.sh" \
618+ FACTORY_DIAGNOSTICS_BUILDER=" $ROOT /factory/scripts/build-diagnostics.sh" \
619+ KIT_MODEL=openai/gpt-5.6-sol KIT_REASONING_EFFORT=high \
620+ " $ROOT /factory/scripts/container-entrypoint.sh" > " $TMP /runtime-valid.out" 2> " $TMP /runtime-valid.err" ; then
621+ fail ' entrypoint let rejected diagnostics replace a valid Kit report'
622+ fi
623+ test -f " $export_root /run-report.json" || fail ' entrypoint lost valid report after rejected diagnostics'
624+ test -f " $export_root /guide/research.md" || fail ' entrypoint lost valid guide after rejected diagnostics'
625+ test ! -e " $export_root /factory-diagnostics.json" || fail ' entrypoint retained rejected diagnostics for valid report'
626+ assert_contains ' ordinary diagnostic after rejected projection' " $( cat " $TMP /runtime-valid.err" ) "
627+ assert_contains ' factory: invalid Kit runtime event' " $( cat " $TMP /runtime-valid.err" ) "
628+ if grep -Rq ' SECRET_VALID_REPORT_CANARY' " $TMP /runtime-valid.err" " $export_root " ; then
629+ fail ' entrypoint exposed rejected marked runtime input for valid report'
630+ fi
631+
598632 cat > " $fake_kit " << 'MOCK '
599633#!/usr/bin/env bash
600634[[ "${KIT_RUNTIME_EVENTS:-}" == 1 ]] || exit 91
0 commit comments