From 236be56ba5560512fac68f8e0d71ea3d6cfc405a Mon Sep 17 00:00:00 2001 From: Kjell Tore Guttormsen Date: Mon, 4 May 2026 06:12:23 +0200 Subject: [PATCH] test(ms-ai-architect): SC8 per-renderer verdict-pill + Step 10 must_contain asserts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Seksjon 25a: per-renderer verdict-pill assert for de 6 Sub-batch A-rendererene (R7) - Hver awk-ekstraherer body og krever data-verdict ELLER renderPageShell-kall - Seksjon 25b: Step 10 manifest must_contain — kanban-board + residual-pair >=1 treff - Test-suite gar fra 170 -> 178 PASS i Playground v3 Static structure --- .../tests/test-playground-v3.sh | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) 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