ms-ai-architect/tests/test-security-output.sh
Kjell Tore Guttormsen baa2d0220b feat(ultraplan-local): v1.6.0 — /ultraresearch-local deep research command
Add /ultraresearch-local for structured research combining local codebase
analysis with external knowledge via parallel agent swarms. Produces research
briefs with triangulation, confidence ratings, and source quality assessment.

New command: /ultraresearch-local with modes --quick, --local, --external, --fg.
New agents: research-orchestrator (opus), docs-researcher, community-researcher,
security-researcher, contrarian-researcher, gemini-bridge (all sonnet).
New template: research-brief-template.md.

Integration: --research flag in /ultraplan-local accepts pre-built research
briefs (up to 3), enriches the interview and exploration phases. Planning
orchestrator cross-references brief findings during synthesis.

Design principle: Context Engineering — right information to right agent at
right time. Research briefs are structured artifacts in the pipeline:
ultraresearch → brief → ultraplan --research → plan → ultraexecute.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 08:58:35 +02:00

43 lines
1.8 KiB
Bash
Executable file

#!/bin/bash
# test-security-output.sh — Validate security-assessment-agent output structure
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
source "$SCRIPT_DIR/lib/e2e-helpers.sh"
FIXTURE="$SCRIPT_DIR/fixtures/security-assessment/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 "Security Assessment Agent"
# Structure checks
assert_has_section "$FIXTURE" "Sikkerhetsvurdering" "Has security assessment header"
assert_has_section "$FIXTURE" "Sikkerhetsscoring" "Has scoring section"
assert_has_section "$FIXTURE" "Kritiske funn" "Has critical findings section"
assert_has_section "$FIXTURE" "DPIA" "Has DPIA section"
assert_has_section "$FIXTURE" "ROS-analyse" "Has risk analysis section"
assert_has_section "$FIXTURE" "Dataklassifisering" "Has data classification section"
# Content quality
assert_min_lines "$FIXTURE" 40 "Minimum 40 lines"
assert_min_tables "$FIXTURE" 3 "Minimum 3 tables (scoring, ROS, data classification)"
assert_scores_in_range "$FIXTURE" "Security scores in valid X/5 range"
assert_has_dimensions "$FIXTURE" 5 "At least 5 security dimensions scored"
# Encoding
assert_encoding_ok "$FIXTURE" "UTF-8 encoding valid"
assert_no_ascii_approximation "$FIXTURE" "No ASCII approximation of Norwegian chars"
# Domain-specific
assert_matches_pattern "$FIXTURE" "(GDPR|DPIA|personvern)" "References GDPR/DPIA"
assert_matches_pattern "$FIXTURE" "(AI Act|AI-Act)" "References AI Act"
assert_matches_pattern "$FIXTURE" "(Schrems II|Schrems)" "References Schrems II"
assert_matches_pattern "$FIXTURE" "P0|P1|Blokkerende" "Has priority classifications (P0/P1)"
assert_matches_pattern "$FIXTURE" "(Identity|Network|Data Protection|Content Safety|Compliance|Monitoring)" "Covers standard security dimensions"
print_summary