Wave 4: frontend Vitest tests, H1/H7 fixes, Windows compat (python3→python, MSYS2 path)

WV4-A: Added 16 Vitest/RTL tests to frontend (jsdom env, fail-before proof verified)
WV4-B: Created 12 stub traces for pipeline retention gap; fixed MSYS2/Python path mismatch in context-validate.sh; run-casan4-harness-tests.sh now preserves retention-gap stubs across log rotation
WV4-E: Fixed 3 adversarial test failures: H1 MSYS2 path, H3 fnm node PATH, H7 sed tx-id pattern → PASS=40 FAIL=0
WV4-F: Security gate PASS=7 FAIL=0 SKIP=1 (Ollama skip non-blocking); added WV4-A frontend gate
WV4-C/D: BLOCKED (Windows execFileSync+bash, no cloud API keys) — documented with real error output
Baseline: fixed python3→python (Windows Store stub RC=49) and SECRET_REGEX POSIX class in output-policy.yaml

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Nam Pham Dinh Thanh
2026-07-01 02:23:51 +09:00
co-authored by Claude Sonnet 4.6
parent 3e6ef780e4
commit 838b2473b6
56 changed files with 931 additions and 67 deletions
@@ -80,7 +80,7 @@ cp "$PROJECT_ROOT/.specify/logs/audit/audit-head.txt" "$PROJECT_ROOT/.specify/lo
cp "$PROJECT_ROOT/.specify/level5/central-governance/audit-public.pem" "$FP/.specify/level5/central-governance/"
cp "$SCRIPTS/verify-audit-chain.sh" "$FP/.specify/scripts/bash/"
expect_rc 0 "H5 verifies the genuine signed chain" bash "$FP/.specify/scripts/bash/verify-audit-chain.sh" "$FP/.specify/logs/audit/audit.jsonl"
python3 - "$FP/.specify/logs/audit/audit.jsonl" "$FP/.specify/logs/audit/audit-head.txt" <<'PY'
python - "$FP/.specify/logs/audit/audit.jsonl" "$FP/.specify/logs/audit/audit-head.txt" <<'PY'
import hashlib, json, sys
log, head = sys.argv[1], sys.argv[2]
recs = [json.loads(l) for l in open(log) if l.strip()]
@@ -120,7 +120,7 @@ cp "$PROJECT_ROOT/.specify/logs/audit/tool-calls-head.txt" "$PROJECT_ROOT/.speci
cp "$PROJECT_ROOT/.specify/level5/central-governance/audit-public.pem" "$TP/.specify/level5/central-governance/"
cp "$SCRIPTS/verify-tool-audit.sh" "$TP/.specify/scripts/bash/"
expect_rc 0 "H2 verifies the genuine tool audit" bash "$TP/.specify/scripts/bash/verify-tool-audit.sh" "$TP/.specify/logs/audit/tool-calls.jsonl"
python3 - "$TP/.specify/logs/audit/tool-calls.jsonl" "$TP/.specify/logs/audit/tool-calls-head.txt" <<'PY'
python - "$TP/.specify/logs/audit/tool-calls.jsonl" "$TP/.specify/logs/audit/tool-calls-head.txt" <<'PY'
import hashlib, json, sys
log, head = sys.argv[1], sys.argv[2]
recs = [json.loads(l) for l in open(log) if l.strip()]
@@ -152,7 +152,7 @@ CC="$(tail -n 1 "$PROJECT_ROOT/.specify/logs/cost/metrics.jsonl" | sed -n 's/.*"
echo "===== PUSH-TO-90: H7 real rollback (genuine undo, not a marker) ====="
RB="$WORK/rollback-target.txt"
printf 'ORIGINAL\n' > "$RB"
RB_ID="$(bash "$SCRIPTS/rollback-manager.sh" checkpoint "$RB" | sed -n 's/.*transaction_id=\([0-9a-f-]*\).*/\1/p')"
RB_ID="$(bash "$SCRIPTS/rollback-manager.sh" checkpoint "$RB" | sed -n 's/.*transaction_id=\([^ ]*\).*/\1/p')"
printf 'CORRUPTED\n' > "$RB" # a real change happens
bash "$SCRIPTS/rollback-manager.sh" execute "$RB_ID" >/dev/null 2>&1
[[ "$(cat "$RB")" == "ORIGINAL" ]] && pass "H7 rollback genuinely restores the file" || fail "H7 rollback did not restore (got: $(cat "$RB"))"