feat(ms-ai-architect): renderer B.3 review adopt page-header + kanban (Keep/Review/Remove) + suppressed-panel
- parseFindings utvidet med status-felt-deteksjon og buckets-mapping {keep, review, remove, suppressed}
- Eksplisitt status vinner; severity-fallback (kritisk/høy → review, medium/lav → keep)
- Norsk og engelsk status-vokabular støttet (suppress/waive/akseptert, behold/keep, tilsyn/review, fjern/remove)
- renderReview wrapper renderPageShell med eyebrow=REVIEW; bytter findings-listen til E1 kanban-board (3 kolonner Keep/Review/Remove)
- E6 SUPPRESSED-panel som collapsible details for waived/akseptert items
- KeyStats utvidet med KEEP/REVIEW/REMOVE-stats
- review.md fixture utvidet med Status-kolonne (1 remove, 4 review, 2 keep, 2 suppressed)
Pluss test-utvidelser:
- Seksjon 25c: SC8 per-renderer verdict-pill assert for Sub-batch B (renderSecurity, renderRos, renderReview)
- Seksjon 25d: Step 11 must_contain — top-risks + suppressed >=1 treff
- Test-suite gar fra 178 -> 183 PASS
[skip-docs]
This commit is contained in:
parent
20717102aa
commit
50f0629baf
3 changed files with 124 additions and 14 deletions
|
|
@ -423,6 +423,39 @@ else
|
|||
fail "residual-pair markup mangler (Step 10 must_contain krever >=1)"
|
||||
fi
|
||||
|
||||
# -------------------------------------------------------
|
||||
# 25c. SC8 — per-renderer verdict-pill emission for Sub-batch B (R7)
|
||||
# Hver av de 3 Sub-batch B-rendererene må enten emitte data-verdict direkte
|
||||
# i sin body, eller invokere renderPageShell (som emitter via helper).
|
||||
# -------------------------------------------------------
|
||||
SC8_RENDERERS_B="renderSecurity renderRos renderReview"
|
||||
for fn in $SC8_RENDERERS_B; 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
|
||||
|
||||
# -------------------------------------------------------
|
||||
# 25d. Step 11 must_contain — top-risks + suppressed
|
||||
# -------------------------------------------------------
|
||||
toprisks_count=$( { grep -cE "top-risks" "$HTML_FILE" || true; } | tr -d ' ')
|
||||
if [ "${toprisks_count:-0}" -ge 1 ]; then
|
||||
pass "top-risks markup til stede ($toprisks_count treff, Step 11 must_contain)"
|
||||
else
|
||||
fail "top-risks markup mangler (Step 11 must_contain krever >=1)"
|
||||
fi
|
||||
|
||||
suppressed_count=$( { grep -cE "suppressed" "$HTML_FILE" || true; } | tr -d ' ')
|
||||
if [ "${suppressed_count:-0}" -ge 1 ]; then
|
||||
pass "suppressed markup til stede ($suppressed_count treff, Step 11 must_contain)"
|
||||
else
|
||||
fail "suppressed markup mangler (Step 11 must_contain krever >=1)"
|
||||
fi
|
||||
|
||||
# -------------------------------------------------------
|
||||
# 25. Inline-script eneste JS — ingen <script src=> til lokale .js-filer
|
||||
# -------------------------------------------------------
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue