@@ -0,0 +1,64 @@ |
| | 1 | +#!/usr/bin/env bash |
| | 2 | +set -euo pipefail |
| | 3 | + |
| | 4 | +REPORT_FILE="${GARCARD_SPRINT08_REPORT_FILE:-${PWD}/target/sprint-08-parity-evidence.md}" |
| | 5 | +RUN_INTERACTIVE="${GARCARD_SPRINT08_RUN_INTERACTIVE:-0}" |
| | 6 | +ACTION_ID="${GARCARD_SPRINT08_ACTION_ID:-com.mesonbuild.install.run}" |
| | 7 | + |
| | 8 | +mkdir -p "$(dirname "${REPORT_FILE}")" |
| | 9 | + |
| | 10 | +timestamp() { |
| | 11 | + date -u +"%Y-%m-%dT%H:%M:%SZ" |
| | 12 | +} |
| | 13 | + |
| | 14 | +append_section() { |
| | 15 | + local heading="$1" |
| | 16 | + { |
| | 17 | + echo |
| | 18 | + echo "## ${heading}" |
| | 19 | + echo |
| | 20 | + } >>"${REPORT_FILE}" |
| | 21 | +} |
| | 22 | + |
| | 23 | +{ |
| | 24 | + echo "# Sprint 08 Parity Evidence" |
| | 25 | + echo |
| | 26 | + echo "- generated_at: $(timestamp)" |
| | 27 | + echo "- host: $(hostname)" |
| | 28 | + echo "- action_id: ${ACTION_ID}" |
| | 29 | + echo |
| | 30 | +} >"${REPORT_FILE}" |
| | 31 | + |
| | 32 | +append_section "Workspace Tests" |
| | 33 | +cargo test --workspace | tee -a "${REPORT_FILE}" |
| | 34 | + |
| | 35 | +append_section "Sprint 04 Reliability Baseline" |
| | 36 | +./examples/validate-sprint-04.sh | tee -a "${REPORT_FILE}" |
| | 37 | + |
| | 38 | +append_section "Sprint 07 Lifecycle Baseline (Non-Interactive)" |
| | 39 | +GARCARD_SPRINT07_RUN_PKCHECK=0 ./examples/validate-sprint-07.sh | tee -a "${REPORT_FILE}" |
| | 40 | + |
| | 41 | +if [[ "${RUN_INTERACTIVE}" == "1" ]]; then |
| | 42 | + append_section "Sprint 07 Lifecycle Interactive Loop" |
| | 43 | + if command -v pkcheck >/dev/null 2>&1; then |
| | 44 | + GARCARD_SPRINT07_RUN_PKCHECK=1 \ |
| | 45 | + GARCARD_SPRINT07_ACTION_ID="${ACTION_ID}" \ |
| | 46 | + ./examples/validate-sprint-07.sh | tee -a "${REPORT_FILE}" |
| | 47 | + else |
| | 48 | + echo "pkcheck not found; interactive loop skipped" | tee -a "${REPORT_FILE}" |
| | 49 | + fi |
| | 50 | +else |
| | 51 | + append_section "Interactive Loop Status" |
| | 52 | + echo "Skipped interactive parity loop (set GARCARD_SPRINT08_RUN_INTERACTIVE=1 to enable)." \ |
| | 53 | + | tee -a "${REPORT_FILE}" |
| | 54 | +fi |
| | 55 | + |
| | 56 | +append_section "Next Manual Matrix Steps" |
| | 57 | +{ |
| | 58 | + echo "1. Open examples/sprint-08-parity-matrix.md." |
| | 59 | + echo "2. Record PASS/FAIL and attach evidence pointers from this report." |
| | 60 | + echo "3. Add daemon log references for success/failure/cancel/timeout and retention coverage." |
| | 61 | +} | tee -a "${REPORT_FILE}" |
| | 62 | + |
| | 63 | +echo "Sprint 08 parity baseline complete." |
| | 64 | +echo "Evidence report: ${REPORT_FILE}" |