diff --git a/plugins/ms-ai-architect/tests/test-playground-v3.sh b/plugins/ms-ai-architect/tests/test-playground-v3.sh index 0ab9ebe..6602659 100755 --- a/plugins/ms-ai-architect/tests/test-playground-v3.sh +++ b/plugins/ms-ai-architect/tests/test-playground-v3.sh @@ -390,6 +390,39 @@ else fail "For få unike data-action-verdier: $unique_actions (< 20)" fi +# ------------------------------------------------------- +# 25a. SC8 — per-renderer verdict-pill emission (R7) +# Hver av de 6 Sub-batch A-rendererene må enten emitte data-verdict direkte +# i sin body, eller invokere renderPageShell (som emitter via helper). +# ------------------------------------------------------- +SC8_RENDERERS_A="renderAiActPyramid renderRequirements renderTransparency renderFria renderConformity renderDpia" +for fn in $SC8_RENDERERS_A; do + body=$(awk "/function $fn\(/,/^ \}$/" "$HTML_FILE") + if echo "$body" | grep -qE "verdict[^A-Za-z]*data-verdict\s*=\s*[\"'](go|go-with-conditions|block|approved|failed|allow|warning|n-a)[\"']" \ + || echo "$body" | grep -q "renderPageShell"; then + pass "SC8 verdict-pill: $fn (direkte eller via renderPageShell)" + else + fail "SC8 verdict-pill: $fn mangler både data-verdict og renderPageShell" + fi +done + +# ------------------------------------------------------- +# 25b. Step 10 must_contain — kanban-board + residual-pair +# ------------------------------------------------------- +kanban_count=$( { grep -cE "kanban-board|kanban-col" "$HTML_FILE" || true; } | tr -d ' ') +if [ "${kanban_count:-0}" -ge 1 ]; then + pass "kanban-board markup til stede ($kanban_count treff, Step 10 must_contain)" +else + fail "kanban-board markup mangler (Step 10 must_contain krever >=1)" +fi + +residual_count=$( { grep -cE "residual-pair" "$HTML_FILE" || true; } | tr -d ' ') +if [ "${residual_count:-0}" -ge 1 ]; then + pass "residual-pair markup til stede ($residual_count treff, Step 10 must_contain)" +else + fail "residual-pair markup mangler (Step 10 must_contain krever >=1)" +fi + # ------------------------------------------------------- # 25. Inline-script eneste JS — ingen