Initial addition of ms-ai-architect plugin to the open-source marketplace. Private content excluded: orchestrator/ (Linear tooling), docs/utredning/ (client investigation), generated test reports and PDF export script. skill-gen tooling moved from orchestrator/ to scripts/skill-gen/. Security scan: WARNING (risk 20/100) — no secrets, no injection found. False positive fixed: added gitleaks:allow to Python variable reference in output-validation-grounding-verification.md line 109. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
39 lines
1.4 KiB
Bash
Executable file
39 lines
1.4 KiB
Bash
Executable file
#!/bin/bash
|
|
# test-summary-output.sh — Validate summary-agent output structure
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
source "$SCRIPT_DIR/lib/e2e-helpers.sh"
|
|
|
|
FIXTURE="$SCRIPT_DIR/fixtures/summary/fixture.md"
|
|
|
|
if [ ! -f "$FIXTURE" ]; then
|
|
echo "ERROR: Fixture not found: $FIXTURE"
|
|
echo "Run: bash tests/capture-fixture.sh to generate fixtures"
|
|
exit 1
|
|
fi
|
|
|
|
init_suite "Summary Agent"
|
|
|
|
# Structure checks
|
|
assert_has_section "$FIXTURE" "Sammendrag" "Has summary header"
|
|
assert_has_section "$FIXTURE" "Beslutningsnotat" "Has decision note section"
|
|
assert_has_section "$FIXTURE" "Nøkkeltall" "Has key figures section"
|
|
|
|
# Content quality
|
|
assert_min_lines "$FIXTURE" 50 "Minimum 50 lines"
|
|
assert_min_tables "$FIXTURE" 1 "At least 1 table (key figures)"
|
|
assert_has_nok_amounts "$FIXTURE" 3 "At least 3 NOK amounts"
|
|
|
|
# Encoding
|
|
assert_encoding_ok "$FIXTURE" "UTF-8 encoding valid"
|
|
assert_no_ascii_approximation "$FIXTURE" "No ASCII approximation of Norwegian chars"
|
|
|
|
# Cross-references
|
|
assert_matches_pattern "$FIXTURE" "S[0-9]" "References other sections (S-numbers)"
|
|
assert_matches_pattern "$FIXTURE" "(Sikkerhet|sikkerhet)" "Cross-references security"
|
|
assert_matches_pattern "$FIXTURE" "(Kostnad|kostnad|TCO)" "Cross-references cost"
|
|
assert_matches_pattern "$FIXTURE" "(Go|NO-GO|anbefaling|Anbefaling)" "Contains recommendation"
|
|
assert_matches_pattern "$FIXTURE" "(Fase|fase)\s*[0-9]" "References implementation phases"
|
|
|
|
print_summary
|