fabro/lib/foundation/fabro-api/tests
Scott Werner 19aa5940ea Add a shared RunSpec test fixture and adopt it
`RunSpec` has 13 fields and no `Default`, so every test that needed one
spelled out all 13 even when it cared about one or two. That put 64
hand-rolled `RunSpec { .. }` literals in `lib/`, and made a single
additive field cost a mechanical edit at roughly 30 sites.

Add `test_run_spec()` to `fabro-types`' feature-gated `test_support`
module: fixed `fixtures::RUN_1`, default settings, a minimal `test`
graph, `test_run_provenance()`, and every optional field unset. Tests
now spread it and only spell out what they assert on.

Adopt it at the 13 literals where the spread removes real duplication,
including the crate-local `test_run_spec` helpers in `fabro-store` and
`fabro-workflow`, which are now defined in terms of the shared fixture.
Tests that populate every field on purpose — the exhaustive `RunSpec`
serde round-trip in particular — keep spelling it out.

No production code and no behavior changes.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 16:50:37 -04:00
..
agent_session_activated_props_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
automation_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
billed_token_counts_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
blob_hash_round_trip.rs Align SHA-256 hash casing contracts 2026-08-17 17:31:15 -04:00
command_termination_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
completion_message_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
completion_usage_round_trip.rs Expose detailed completion token usage 2026-07-24 07:36:56 -04:00
cost_source_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
create_completion_request_round_trip.rs Trim redundant reasoning effort request tests 2026-07-24 08:13:54 -04:00
diff_stats_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
diff_summary_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
environment_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
event_envelope_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
git_context_round_trip.rs Remove the recorded pre-run push outcome, keep the push 2026-08-03 19:27:33 -04:00
interview_option_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
interview_question_record_round_trip.rs Add structured review targets to human gates 2026-07-28 13:24:12 -04:00
manifest_args_round_trip.rs Remove obsolete manifest Docker image argument 2026-08-01 09:03:10 -04:00
mcp_server_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
mcp_transport_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
model_costs_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
model_features_round_trip.rs Merge origin/main (three-layer crate layout) into fix/openrouter-anthropic-prompt-caching 2026-07-23 19:30:20 -04:00
model_limits_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
model_round_trip.rs Reuse canonical ModelControls in fabro-api and tighten serde contract 2026-07-24 09:15:18 -04:00
model_test_mode_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
pair_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
parallel_branch_id_round_trip.rs Fix live parallel branch refresh and simplify branch rendering 2026-07-28 17:26:05 -04:00
pending_interview_record_round_trip.rs Add structured review targets to human gates 2026-07-28 13:24:12 -04:00
principal_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
provider_id_round_trip.rs Expose model reasoning effort controls 2026-07-24 07:44:40 -04:00
provider_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
pull_request_round_trip.rs Make pull request creation durable and asynchronous 2026-08-01 19:28:52 -04:00
question_type_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
reasoning_output_round_trip.rs fix(reasoning): tighten capture normalization 2026-07-24 17:31:14 -04:00
run_billing_stage_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
run_event_round_trip.rs Update run creation event fixtures and docs 2026-08-03 15:09:32 -04:00
run_failure_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
run_integrations_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
run_model_settings_round_trip.rs refactor: simplify model-keyed fallback internals 2026-07-30 12:51:36 -04:00
run_projection_round_trip.rs Add a shared RunSpec test fixture and adopt it 2026-08-19 16:50:37 -04:00
run_sandbox_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
run_summary_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
sandbox_details_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
sandbox_inventory_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
sandbox_services_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
secret_metadata_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
secret_type_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
server_settings_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
session_contract_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
stage_completion_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
stage_handler_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
stage_id_round_trip.rs fix: harden stage execution identity on resume 2026-07-24 09:37:05 -04:00
stage_model_usage_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
stage_outcome_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
stage_projection_round_trip.rs Merge remote-tracking branch 'origin/main' into feat/for-each-item-injection 2026-07-28 20:03:25 -04:00
stage_state_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
status_round_trip.rs fix(workflow): make publish failures terminal 2026-07-27 11:25:18 -04:00
submit_answer_request_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
system_integrations_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
variable_round_trip.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
workflow_settings_round_trip.rs Remove nonfunctional run agent permissions setting 2026-07-29 10:23:00 -04:00
workflow_version_round_trip.rs Align SHA-256 hash casing contracts 2026-08-17 17:31:15 -04:00