perf(pipeline): switch to v3 prompt for generation, v4 fields via Haiku backfill

Remove applicability/scanner_hint/evidence_type/provides_context from
Pass 0b prompt to reduce output tokens (~40% less). These 6 fields are
added via cheap Haiku backfill afterwards (~$1.50 per 10k controls).

Saves ~$200 over the remaining 160k obligations.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-04-27 00:14:47 +02:00
parent 3c1a2d9c41
commit 6a0e7c947f
2 changed files with 120 additions and 12 deletions

View File

@@ -2168,12 +2168,7 @@ Antworte als JSON:
"check_type": "technical_config_check|code_pattern_check|runtime_security_test|document_policy_check|document_classification_check|document_contract_check|evidence_artifact_check|process_verification|training_verification|interview_assessment",
"merge_key": "action_type:normalized_object:control_phase",
"dependency_hints": ["dependency_type:action_type:normalized_object (Voraussetzungen, Ersetzungen, Kompensationen)"],
"lifecycle_phase_order": "1-13 (1=scope, 2=definition, 4=implementation, 7=monitoring, 8=testing, 12=reporting)",
"applicability": {{}},
"scanner_hint": {{"search_terms": ["technischer Suchbegriff"], "negative_indicators": ["Negativindikator"]}},
"manual_review_required_if": ["Bedingung fuer manuelle Pruefung"],
"evidence_type": "code|process|hybrid",
"provides_context": ["context.VARIABLE die dieses Control bei Pruefung erzeugt"]
"lifecycle_phase_order": "1-13 (1=scope, 2=definition, 4=implementation, 7=monitoring, 8=testing, 12=reporting)"
}}"""
@@ -2271,12 +2266,7 @@ Jedes Control hat dieses Format:
"check_type": "technical_config_check|code_pattern_check|runtime_security_test|document_policy_check|document_classification_check|document_contract_check|evidence_artifact_check|process_verification|training_verification|interview_assessment",
"merge_key": "action_type:normalized_object:control_phase",
"dependency_hints": ["dependency_type:action_type:normalized_object (Voraussetzungen, Ersetzungen, Kompensationen)"],
"lifecycle_phase_order": "1-13 (1=scope, 2=definition, 4=implementation, 7=monitoring, 8=testing, 12=reporting)",
"applicability": {{}},
"scanner_hint": {{"search_terms": ["technischer Suchbegriff"], "negative_indicators": ["Negativindikator"]}},
"manual_review_required_if": ["Bedingung fuer manuelle Pruefung"],
"evidence_type": "code|process|hybrid",
"provides_context": ["context.VARIABLE die dieses Control bei Pruefung erzeugt"]
"lifecycle_phase_order": "1-13 (1=scope, 2=definition, 4=implementation, 7=monitoring, 8=testing, 12=reporting)"
}}"""