Files
breakpilot-core/control-pipeline/tests/applicability_demo_sdk
Benjamin Admin a7c6ffe4dd feat(control-pipeline): add SDK endpoint demo package for applicability tests
Request payloads + response contract + api_runner.py for 6 priority cases.
Can be run directly against /v1/applicability/evaluate endpoint.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-23 19:11:44 +02:00
..

Applicability SDK Demo Contract Package

Ziel

Diese Version ist dafür gedacht, die Demo-Cases direkt gegen euren echten Endpoint zu schießen.

Struktur

  • requests/CASE-*.json — Request-Payloads je Demo-Case
  • contracts/response_contract.json — fachlicher Mindestvertrag
  • contracts/response_schema.json — JSON-Schema für die technische Response-Struktur
  • api_runner.py — POSTet alle Cases an euren Endpoint und speichert die Responses
  • ../applicability_demo/evaluator.py — kann anschließend gegen die gespeicherten Responses laufen

Beispielablauf

1. Cases gegen euren Endpoint schicken

python api_runner.py --endpoint http://127.0.0.1:8098/v1/applicability/evaluate

Die Responses landen dann in:

actual_outputs/CASE-001.json
...

2. Gegen den Evaluator prüfen

python ../applicability_demo/evaluator.py   --cases ../applicability_demo/demo_cases.yaml   --actual-dir ./actual_outputs   --report-json ./reports/latest_report.json   --report-md ./reports/latest_report.md

Erwartung an euren Endpoint

Request:

  • JSON POST
  • Request Body entspricht den Dateien in requests/

Response:

  • Muss mindestens die Felder aus contracts/response_contract.json enthalten

Hinweise

  • Wenn euer Endpoint andere Feldnamen nutzt, baut einen kleinen Adapter vor dem Evaluator.
  • Wenn ihr mehrere Modi habt, könnt ihr mode nutzen, um deterministische Applicability-Analysen zu erzwingen.
  • Für Grenzfälle wie CASE-011 soll das System nicht künstlich sicher tun, sondern eskalieren.