feat(ms-ai-architect): add plugin to open marketplace (v1.5.0 baseline)
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>
This commit is contained in:
parent
a8d79e4484
commit
6a7632146e
490 changed files with 213249 additions and 2 deletions
81
plugins/ms-ai-architect/tests/test-ai-act-output.sh
Normal file
81
plugins/ms-ai-architect/tests/test-ai-act-output.sh
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
#!/bin/bash
|
||||
# test-ai-act-output.sh — Validate ai-act-assessor agent output structure
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
source "$SCRIPT_DIR/lib/e2e-helpers.sh"
|
||||
|
||||
FIXTURE="$SCRIPT_DIR/fixtures/ai-act/fixture.md"
|
||||
FIXTURE_HR="$SCRIPT_DIR/fixtures/ai-act/fixture-high-risk.md"
|
||||
|
||||
if [ ! -f "$FIXTURE" ]; then
|
||||
echo "ERROR: Fixture not found: $FIXTURE"
|
||||
echo "Run: bash tests/capture-fixture.sh to generate fixtures"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f "$FIXTURE_HR" ]; then
|
||||
echo "ERROR: High-risk fixture not found: $FIXTURE_HR"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
init_suite "AI Act Assessor Agent"
|
||||
|
||||
# === Minimal risk fixture ===
|
||||
echo ""
|
||||
echo " --- Minimal Risk Fixture ---"
|
||||
|
||||
# Structure checks
|
||||
assert_has_section "$FIXTURE" "Risikoklassifisering" "Has risk classification section"
|
||||
assert_has_section "$FIXTURE" "Rolle" "Has role section"
|
||||
assert_has_section "$FIXTURE" "Forpliktelser" "Has obligations section"
|
||||
|
||||
# Content quality
|
||||
assert_min_lines "$FIXTURE" 20 "Minimum 20 lines"
|
||||
|
||||
# Encoding
|
||||
assert_encoding_ok "$FIXTURE" "UTF-8 encoding valid (minimal)"
|
||||
assert_no_ascii_approximation "$FIXTURE" "No ASCII approximation (minimal)"
|
||||
|
||||
# Domain-specific: classification result
|
||||
assert_matches_pattern "$FIXTURE" "(Minimal risiko|Begrenset risiko|Høyrisiko|Forbudt)" "Contains risk level classification"
|
||||
assert_matches_pattern "$FIXTURE" "(Provider|Deployer)" "Contains role determination"
|
||||
|
||||
# Domain-specific: article references
|
||||
assert_matches_pattern "$FIXTURE" "Art\. [0-9]" "References specific AI Act articles"
|
||||
|
||||
# === High risk fixture ===
|
||||
echo ""
|
||||
echo " --- High Risk Fixture ---"
|
||||
|
||||
# Structure checks
|
||||
assert_has_section "$FIXTURE_HR" "Risikoklassifisering" "HR: Has risk classification section"
|
||||
assert_has_section "$FIXTURE_HR" "Rolle" "HR: Has role section"
|
||||
assert_has_section "$FIXTURE_HR" "Forpliktelser" "HR: Has obligations section"
|
||||
assert_has_section "$FIXTURE_HR" "Tiltaksplan" "HR: Has action plan section"
|
||||
assert_has_section "$FIXTURE_HR" "Neste steg" "HR: Has next steps section"
|
||||
assert_has_section "$FIXTURE_HR" "Viktige frister" "HR: Has deadline section"
|
||||
|
||||
# Content quality
|
||||
assert_min_lines "$FIXTURE_HR" 40 "HR: Minimum 40 lines"
|
||||
assert_min_tables "$FIXTURE_HR" 1 "HR: Has at least 1 table"
|
||||
|
||||
# Encoding
|
||||
assert_encoding_ok "$FIXTURE_HR" "HR: UTF-8 encoding valid"
|
||||
assert_no_ascii_approximation "$FIXTURE_HR" "HR: No ASCII approximation"
|
||||
|
||||
# Domain-specific: high-risk classification
|
||||
assert_matches_pattern "$FIXTURE_HR" "Høyrisiko" "HR: Classified as high-risk"
|
||||
assert_matches_pattern "$FIXTURE_HR" "Annex III" "HR: References Annex III"
|
||||
assert_matches_pattern "$FIXTURE_HR" "FRIA" "HR: References FRIA requirement"
|
||||
|
||||
# Domain-specific: deadlines
|
||||
assert_matches_pattern "$FIXTURE_HR" "202[5-7]-[0-9]{2}-[0-9]{2}" "HR: Contains compliance deadline dates"
|
||||
|
||||
# Domain-specific: article references
|
||||
assert_matches_pattern "$FIXTURE_HR" "Art\. (26|27|9|13|14|50)" "HR: References key deployer/provider articles"
|
||||
|
||||
# Domain-specific: action plan
|
||||
assert_matches_pattern "$FIXTURE_HR" "(Kritisk|Høy|Middels|Lav)" "HR: Action plan has priority levels"
|
||||
|
||||
print_summary
|
||||
Loading…
Add table
Add a link
Reference in a new issue