fabro/lib/crates/fabro-cli/tests/it/cmd
Bryan Helmkamp 3eabc013d1 test(migration): land final Stage 4 fixes — 100% workspace tests green
Close out consumer migration with targeted behavior fixes and the
remaining integration-test fixture rewrites. The full workspace
nextest run now reports 3,760 passed / 0 failed / 182 skipped.

Runtime fixes:
- effective_settings::apply_server_defaults now propagates the full
  server-side Settings shape (llm, sandbox, setup, checkpoint,
  pull_request, artifacts, hooks, mcp_servers, github, slack, fabro)
  into the resolved CLI settings, matching the pre-Stage-3 'merge
  everything server' behavior for RemoteServer/LocalDaemon modes
- fabro-cli commands/run/overrides: route --verbose through
  cli.output.verbosity = verbose instead of a run.metadata stash,
  so it resolves to settings.verbose via the bridge
- fabro-server run_manifest manifest_args_layer: same — emit a
  CliLayer with cli.output.verbosity rather than stuffing the flag
  into run.metadata
- fabro-test settings_storage_dir: detect the managed marker and
  return None instead of parsing the injected server.storage.root,
  so isolated_server correctly spins up a new storage dir
- fabro-server run_manifest_local_daemon test now passes with full
  server-side settings snapshot propagation

Test fixture + assertion updates:
- cmd::config::settings_local_explicit_workflow_path_uses_workflow_project_layers:
  assertion updated for v2 R30 whole-list replacement of
  run.prepare.steps across layers (only workflow-setup survives)
- cmd::config::create_explicit_workflow_path_uses_project_config_relative_to_workflow:
  same correction for the persisted run.settings.setup.commands
- cmd::attach::attach_json_errors_without_prompting_for_human_input
  and cmd::run::json_run_implies_auto_approve_for_human_gates: strip
  the bridge-emitted settings.server and settings.version fields from
  the JSON snapshot so the randomised unix-socket path does not flap
  the insta snapshot
- cmd::server_start::concurrent_autostart_converges_on_one_shared_daemon_and_cleans_up:
  rewrite the injected settings.toml to v2 shape with
  [server.storage] root and [cli.target] type = unix path
- scenario::smoke::attach_smoke_covers_arg_validation_and_remote_server_behaviors:
  two [server] target fixtures rewritten to [cli.target]
  type = http url

Accepted insta snapshots for attach and run JSON outputs. Workspace
build + clippy both clean under -D warnings.
2026-04-09 11:07:18 -04:00
..
artifact_cp.rs perf(cli): reduce slow integration test overhead 2026-04-07 22:57:45 -04:00
artifact_list.rs perf(cli): reduce slow integration test overhead 2026-04-07 22:57:45 -04:00
attach.rs test(migration): land final Stage 4 fixes — 100% workspace tests green 2026-04-09 11:07:18 -04:00
config.rs test(migration): land final Stage 4 fixes — 100% workspace tests green 2026-04-09 11:07:18 -04:00
create.rs test(cli): migrate remaining config/exec/create fixtures to v2 2026-04-09 10:11:28 -04:00
diff.rs refactor(scratch): remove store-backed diff and blob cache writes 2026-04-07 22:31:59 -04:00
discord.rs refactor(cli): deglobalize server and storage target flags 2026-04-05 16:06:42 -04:00
docs.rs refactor(cli): deglobalize server and storage target flags 2026-04-05 16:06:42 -04:00
doctor.rs perf(cli): reduce slow integration test overhead 2026-04-07 22:57:45 -04:00
exec.rs test(cli): migrate remaining config/exec/create fixtures to v2 2026-04-09 10:11:28 -04:00
fabro.rs fix(cli): restore fabro-cli verification after merge 2026-04-08 16:41:13 -04:00
fork.rs refactor(cli): make run-adjacent commands server-only 2026-04-06 06:12:16 -04:00
graph.rs refactor(cli): separate local socket and storage defaults 2026-04-06 11:57:14 -04:00
inspect.rs refactor(scratch): remove stale scratch file refs 2026-04-07 20:40:06 -04:00
install.rs test(nextest): share one session server by default 2026-04-07 09:44:34 -04:00
json_global.rs test(cli): stabilize ps JSON global flag assertion 2026-04-05 10:34:32 -04:00
logs.rs refactor(scratch): remove stale scratch file refs 2026-04-07 20:40:06 -04:00
mod.rs test(cli): add integration tests for fabro uninstall 2026-04-08 16:47:48 -04:00
model.rs test(cli): migrate remaining config/exec/create fixtures to v2 2026-04-09 10:11:28 -04:00
model_list.rs refactor(cli): separate local socket and storage defaults 2026-04-06 11:57:14 -04:00
model_test.rs refactor(cli): separate local socket and storage defaults 2026-04-06 11:57:14 -04:00
parse.rs refactor(cli): deglobalize server and storage target flags 2026-04-05 16:06:42 -04:00
pr.rs refactor(cli): deglobalize server and storage target flags 2026-04-05 16:06:42 -04:00
pr_close.rs refactor(cli): make run-adjacent commands server-only 2026-04-06 06:12:16 -04:00
pr_create.rs refactor(scratch): remove stale scratch file refs 2026-04-07 20:40:06 -04:00
pr_list.rs refactor(cli): make run-adjacent commands server-only 2026-04-06 06:12:16 -04:00
pr_merge.rs refactor(cli): make run-adjacent commands server-only 2026-04-06 06:12:16 -04:00
pr_view.rs refactor(scratch): remove stale scratch file refs 2026-04-07 20:40:06 -04:00
preflight.rs refactor(cli): separate local socket and storage defaults 2026-04-06 11:57:14 -04:00
provider.rs refactor(cli): deglobalize server and storage target flags 2026-04-05 16:06:42 -04:00
provider_login.rs refactor(cli): separate local socket and storage defaults 2026-04-06 11:57:14 -04:00
ps.rs test(cli): migrate remaining config/exec/create fixtures to v2 2026-04-09 10:11:28 -04:00
repo.rs feat(tests): migrate fabro-cli fixtures and repo fabro.toml to v2 2026-04-09 09:57:30 -04:00
repo_deinit.rs refactor(cli): deglobalize server and storage target flags 2026-04-05 16:06:42 -04:00
repo_init.rs feat(tests): migrate fabro-cli fixtures and repo fabro.toml to v2 2026-04-09 09:57:30 -04:00
resume.rs refactor(scratch): remove stale scratch file refs 2026-04-07 20:40:06 -04:00
rewind.rs refactor(run): store manifests and definitions in global CAS 2026-04-07 22:57:48 -04:00
rm.rs test(cli): migrate remaining config/exec/create fixtures to v2 2026-04-09 10:11:28 -04:00
run.rs test(migration): land final Stage 4 fixes — 100% workspace tests green 2026-04-09 11:07:18 -04:00
runner.rs feat(tests): migrate fabro-cli fixtures and repo fabro.toml to v2 2026-04-09 09:57:30 -04:00
sandbox_cp.rs refactor(scratch): remove stale scratch file refs 2026-04-07 20:40:06 -04:00
sandbox_preview.rs refactor(cli): make run-adjacent commands server-only 2026-04-06 06:12:16 -04:00
sandbox_ssh.rs refactor(cli): make run-adjacent commands server-only 2026-04-06 06:12:16 -04:00
secret.rs refactor(cli): separate local socket and storage defaults 2026-04-06 11:57:14 -04:00
secret_list.rs refactor(server): make secrets and operational checks server-canonical 2026-04-05 17:34:01 -04:00
secret_rm.rs refactor(cli): deglobalize server and storage target flags 2026-04-05 16:06:42 -04:00
secret_set.rs refactor(cli): deglobalize server and storage target flags 2026-04-05 16:06:42 -04:00
send_analytics.rs refactor(cli): deglobalize server and storage target flags 2026-04-05 16:06:42 -04:00
send_panic.rs refactor(cli): deglobalize server and storage target flags 2026-04-05 16:06:42 -04:00
server_start.rs test(migration): land final Stage 4 fixes — 100% workspace tests green 2026-04-09 11:07:18 -04:00
server_status.rs test(nextest): share one session server by default 2026-04-07 09:44:34 -04:00
server_stop.rs test(nextest): share one session server by default 2026-04-07 09:44:34 -04:00
start.rs refactor(scratch): remove stale scratch file refs 2026-04-07 20:40:06 -04:00
store.rs refactor(cli): deglobalize server and storage target flags 2026-04-05 16:06:42 -04:00
store_dump.rs feat(tests): migrate fabro-cli fixtures and repo fabro.toml to v2 2026-04-09 09:57:30 -04:00
support.rs feat(config): switch parser and layering to v2 schema 2026-04-09 09:49:23 -04:00
system.rs feat(system): add server-backed system commands 2026-04-06 16:10:06 -04:00
system_df.rs test(nextest): share one session server by default 2026-04-07 09:44:34 -04:00
system_events.rs test(nextest): share one session server by default 2026-04-07 09:44:34 -04:00
system_info.rs test(nextest): share one session server by default 2026-04-07 09:44:34 -04:00
system_prune.rs test(cli): narrow system prune coverage for speed 2026-04-07 23:42:15 -04:00
test_panic.rs test: speed up slow default-profile tests and tighten nextest thresholds 2026-04-05 13:15:59 -04:00
top_level.rs Move cli.rs and scenario.rs tests into per-subcommand cmd/ files 2026-03-30 11:37:24 -04:00
uninstall.rs test(cli): add integration tests for fabro uninstall 2026-04-08 16:47:48 -04:00
upgrade.rs refactor(cli): deglobalize server and storage target flags 2026-04-05 16:06:42 -04:00
validate.rs refactor(cli): separate local socket and storage defaults 2026-04-06 11:57:14 -04:00
wait.rs refactor(scratch): remove stale scratch file refs 2026-04-07 20:40:06 -04:00
workflow.rs feat(tests): migrate fabro-cli fixtures and repo fabro.toml to v2 2026-04-09 09:57:30 -04:00
workflow_create.rs feat(tests): migrate fabro-cli fixtures and repo fabro.toml to v2 2026-04-09 09:57:30 -04:00
workflow_list.rs refactor(cli): deglobalize server and storage target flags 2026-04-05 16:06:42 -04:00