v1.0.0
Added
-
.teststop/config.yamlsupport. The optional per-project config file is
now real. Every key maps one-to-one onto an existingteststop runflag.
Settings resolve with precedence config file <TESTSTOP_RUN_*env var <
explicit CLI flag. A missing file is not an error; malformed YAML or an
unknown key fails loudly. See.teststop/config.example.yamlfor the keys. -
--ai-concurrencyflag (default1). Caps the number of concurrently
running AI-mode scenario executions to prevent rate-limit exhaustion. Config
keyai_concurrency; envTESTSTOP_RUN_AI_CONCURRENCY. -
Structured AI error detection. The Claude adapter now calls
claude --output-format jsonand parses the outer envelope, surfacing
structured errors (rate-limit, auth failure, refusal) with context instead
of raw stderr. Non-zero exits and envelopeis_error: trueboth map to
informative error messages. -
E2E pipeline test (
test/e2e/). A full reader → mandate → adapter →
memory → reporter → exit-code integration test using a fake-claude fixture
script. Runs without real tokens; skippable via-short. -
v1.0 contracts frozen (
CONTRACTS.md). Exit codes, scenario JSON schema,
run output envelope, memory file format, and environment variables are
declared stable. Breaking changes require a major version bump. -
examples/waymark-demo/. Replayable demo artifact: 52-scenario run
against the waymark MCP middleware repo, with the captured JSON report,
Markdown summary, the mandate used, and replay instructions.
Changed
pkg/scenario/types.gopackage comment declares the schema FROZEN at v1.0.internal/clitest coverage raised from 28.9% → 51.6%.