Planned features and open design questions for ABS.
blocking: trueexact_match, contains, regex, schema, tool_call, llm_judge, custom), 6 chain (sequence, eventually, never, count, within, variable_consistency), plus composition (all_of/any_of/none_of)include:) for composition — inline, single-file, expanded before resolutioncalls, responds, with/with_only, tool_call evaluator)schema/abs.schema.json) — complete and validated by the CLI at parse timeui/): React + Material UI, drag & drop, property sheets, YAML exporttools/mock_agent.py) for local testingoptional, requires, matches_when), the expected evaluator,
when expressions, after constraints, and batch optional resolution.f1, bleu, rouge with the
ground_truth common field.adapter: selection enforced in both implementations (named adapter registry).--log-format jsonl, --log-level, --log-file,
--no-log-content) and machine-readable code/details on evaluation results.blocking failure propagation to inconclusive downstream results.action a closed enum or an open, extensible namespace? VOCABULARY.md currently recommends plain lowercase verbs as a stopgap; a formal extension syntax is still undecided.Background: style. Fragments already solve prefix deduplication, but a Gherkin-style Background: that auto-includes hasn't been designed.content mixes free text, structured payloads, and "displayed" UI content under one untyped field.llm_judge calibration/reproducibility across model versions.target.| Component | TypeScript | Python |
|---|---|---|
| Parser (YAML, multi-doc, fragments, variables) | ✅ | ✅ |
| JSON Schema validation | ✅ | ✅ |
| Runner (OpenAI, Claude, Gemini adapters) | ✅ | ✅ |
| All step-level evaluators | ✅ | ✅ |
| All chain evaluators | ✅ | ✅ |
Composition (all_of/any_of/none_of) | ✅ | ✅ |
| AI Evaluator adapter (LLM judge) | ✅ | ✅ |
| Azure AI Foundry adapter | ✅ (prompt-based, no SDK) | ✅ (SDK) |
| AWS Bedrock adapter | ✅ (SDK v3 client) | ✅ (boto3) |
| Google Vertex AI adapter | ✅ (prompt-based, no SDK) | ✅ (SDK) |
| Safety dimensions (curated rubrics) | ✅ | ✅ |
Reference metrics (f1, bleu, rouge + ground_truth) | ✅ | ✅ |
Per-rule adapter: selection | ✅ | ✅ |
Structured logs (--log-format, --log-level, --log-file, --no-log-content) | ✅ | ✅ |
CLI (init, chat, run, report, generate-ci) | ✅ | ✅ |
| Table formatter | ✅ | ✅ |
| JSON/JUnit output | ✅ | ✅ |
| Dataset loading (JSONL/JSON) | ✅ | ✅ |
| Test suite | ✅ | ✅ |
| E2E test suite | ✅ | — |
| VSCode extension | ✅ | — |
ABS is a draft standard. Issues and proposals should reference which document and section they affect. Open questions are tracked as GitHub issues.
| Version | Status | Key changes |
|---|---|---|
| v0.1 | Closed | Core model, vocabulary, evaluations, fragments, tool interaction, JSON Schema |
| v0.2 | Current — public review | Optional behaviors, expected, matches_when, when, batch optional resolution |
| v0.3 | Implementation (additive) | Reference metrics (f1, bleu, rouge + ground_truth), per-rule adapter:, structured logs, npm Azure adapter |
| v1.0 | Target | Stable, ratified standard |