fabro/test
Bryan Helmkamp 6383e7037b
Add twin test mode for OpenAI E2E tests
Integrate twin-openai (fake OpenAI server) into the workspace and wire
it into the e2e_test macro so OpenAI tests can run without real API
credentials. The twin server starts in-process via OnceLock on first use
and provides per-test isolation through bearer-token namespacing.

Changes:
- Add Twin as default TestMode, replacing Off (gating now via #[ignore])
- Extend #[e2e_test] macro with `twin` requirement for twin-only,
  live-only, and dual-mode (twin + live) test gating
- Add e2e_openai!() macro returning (base_url, api_key)
- Convert openai_complete and openai_gpt_5_3_codex_complete to dual-mode
- Add new openai_server_error twin-only test with scripted 500 error
- Standardize axum 0.8 as workspace dependency across all crates
- Relax twin-openai ResponsesRequest to accept unknown fields via flatten

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 20:36:48 -04:00
..
attractor Attractor spec hunks 9-11: edge selection fallback and default_max_retries rename 2026-03-23 14:20:24 -04:00
docs Rename --run-dir to --storage-dir, unify with data_dir 2026-03-29 13:47:07 -04:00
twin/openai Add twin test mode for OpenAI E2E tests 2026-03-31 20:36:48 -04:00
branching.fabro Rename .dot files to .fabro and update all references 2026-03-13 22:27:19 -04:00
conditions.fabro Rename .dot files to .fabro and update all references 2026-03-13 22:27:19 -04:00
invalid.fabro Rename .dot files to .fabro and update all references 2026-03-13 22:27:19 -04:00
legacy_tool.fabro Rename .dot files to .fabro and update all references 2026-03-13 22:27:19 -04:00
parallel.fabro Attractor spec hunks 14 & 16: remove error_policy and k_of_n/quorum from parallel handler 2026-03-23 14:59:35 -04:00
retro-e2e.fabro Rename .dot files to .fabro and update all references 2026-03-13 22:27:19 -04:00
simple.fabro Rename .dot files to .fabro and update all references 2026-03-13 22:27:19 -04:00
styled.fabro Rename .dot files to .fabro and update all references 2026-03-13 22:27:19 -04:00