This packet replaces the old Task 24 notes. It is aligned to Phase 16 / Task 24 in docs/plans/2026-01-25-end-state.md and the current repo structure.
Use this as the exact execution guide for an agent implementing Task 24.
Create spec-driven end-to-end contract suites for:
federalfinancehealthcareEach suite must:
just ci)infra/docker/docker-compose.e2e.yml.Default ports (match dev unless overridden):
54324222 (monitor 8222)81818080 (entrypoint default)8010 (README dev default)50804317/4318/8888/13133Create:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
tests/e2e/
harness/
e2e_runner.py
compose_driver.py
spec_driver.py
probes/
http_probe.py
auth_probe.py
policy_probe.py
nats_probe.py
otel_probe.py
drift_probe.py
fixtures/
federal/
finance/
healthcare/
Add a manual just e2e recipe (do not add to just ci).
Create:
infra/docker/docker-compose.e2e.ymlInclude (minimal):
postgresnats (single-node JetStream)opapolicy-gatewayworkbench-bffotel-collectoropenobserveEnable AUTH_DEV_MODE=true for BFF.
Port consistency: use the defaults from Step 0 unless there is a conflict; if conflicts exist, document overrides in the fixture env.example.
For each domain suite, run in deterministic order:
just pipeline <ctx> for fixture contextsea.event.contract_probe.v1tools/drift_heal.py scan)Each domain fixture must include:
ctx.sea (1 command + 1 event, required annotations)ctx.sds.yaml (minimal adapters + service recipes)policies/policy.rego (simple allow/deny rule)env.example (document required env vars)Add manual recipe (not in just ci):
1
2
e2e domain="federal":
E2E_DOMAIN= python tests/e2e/harness/e2e_runner.py