fabro/lib/foundation/fabro-api/tests
Bryan Helmkamp 80bc51c40e
Open sandbox provider identity to plugin kinds
SandboxProviderKind is now a validated string newtype instead of a
closed enum. The bundled kinds (local, docker, daytona) keep their
constants and a BundledProvider enum for the code paths that still
dispatch on them; any other well-formed sandbox-driver kind name is
accepted and names a plugin executable. EnvironmentProvider is gone:
environment settings carry SandboxProviderKind directly, and
is_clone_based is replaced by a workspace policy where local runs in a
designated directory and every other provider clones.

Server sandbox policy is keyed by kind. [server.sandbox.providers.<kind>]
accepts the bundled kinds with `enabled` and any plugin kind with its
launch settings (path, sha256, dev, args, env, inherit_env); bundled
kinds reject the plugin keys and a kind with no entry is disabled. The
OpenAPI schema, generated Rust and TypeScript clients, web settings
pages, and docs follow. The environments table drops its provider CHECK
enumeration in favour of the kind name rules so a plugin environment
can be stored.

Bundled-only code paths (run start, preflight, reconnect, terminal,
details) now fail with an explicit message for a plugin kind until the
driver construction function lands in the next step.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-09 15:17:32 -06: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 Tighten automation Git validation types 2026-08-31 18:02:08 -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 docs(api): document additional github repository access 2026-08-21 15:12:23 -04:00
run_intent_round_trip.rs Add RunIntent registration support 2026-08-28 20:40:38 -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 Consolidate workflow-version lineage test coverage 2026-08-21 12:39:02 -04:00
run_sandbox_round_trip.rs Open sandbox provider identity to plugin kinds 2026-09-09 15:17:32 -06:00
run_summary_round_trip.rs Align remote workflow selectors with run targets 2026-08-31 17:13:20 -04:00
sandbox_details_round_trip.rs Open sandbox provider identity to plugin kinds 2026-09-09 15:17:32 -06:00
sandbox_inventory_round_trip.rs Open sandbox provider identity to plugin kinds 2026-09-09 15:17:32 -06: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