fabro/lib/crates
Bryan Helmkamp 48eb5efed6
refactor(archive): consolidate helpers after review
Three cleanups from `/simplify` review:

- Promote `archived_rejection_message` and `ensure_not_archived` to `pub`
  via operations/mod.rs and reuse them from `resume`, the CLI rewind
  caller, and the server's `reject_if_archived` guard so the canonical
  error string lives in exactly one place.
- Tighten `RewindInput.current_status` from `Option<RunStatus>` to
  `RunStatus`. The runtime check for None was enforcing a compile-time
  invariant. CLI callers already load the projection and now surface a
  clean error up-front if it's missing. Drop the None-branch test that
  existed only to cover the removed runtime check.
- Collapse `archive_run` / `unarchive_run` HTTP handlers into a shared
  `run_archive_action` body with an `ArchiveAction` enum, mirroring the
  CLI pattern. Removes ~20 lines of copy-paste and unifies error-mapping.

Also drop narrative comments that referenced plan unit numbers in the
scenario tests, and clean up the convoluted `ps_runs` helper pattern
that built an empty-slot arg vec before filling it in.

No behavior change. Full workspace: 4185 tests pass, clippy clean.
2026-04-19 18:14:16 -04:00
..
fabro-agent ci: switch clippy to pinned nightly, clean up workspace lints 2026-04-16 18:59:11 -04:00
fabro-api refactor(http): centralize reqwest behind fabro-http 2026-04-12 11:48:54 -04:00
fabro-auth feat(install): add browser-based setup flow 2026-04-19 11:20:58 -04:00
fabro-checkpoint refactor(async): lint std::process::Command across all targets 2026-04-12 13:35:57 -04:00
fabro-cli refactor(archive): consolidate helpers after review 2026-04-19 18:14:16 -04:00
fabro-config Merge remote-tracking branch 'origin/main' 2026-04-19 11:48:15 -04:00
fabro-core ci: switch clippy to pinned nightly, clean up workspace lints 2026-04-16 18:59:11 -04:00
fabro-devcontainer fix: wrap propagated io errors with anyhow context across prod code 2026-04-17 11:44:38 -04:00
fabro-github Merge remote-tracking branch 'origin/main' 2026-04-12 13:43:38 -04:00
fabro-graphviz ci: switch clippy to pinned nightly, clean up workspace lints 2026-04-16 18:59:11 -04:00
fabro-hooks fix: simplify fabro-http crate and fix correctness issues 2026-04-12 12:20:55 -04:00
fabro-http feat(install): add browser-based setup flow 2026-04-19 11:20:58 -04:00
fabro-install refactor(install): consolidate shared primitives in fabro-install crate 2026-04-19 13:54:47 -04:00
fabro-interview fix: wrap propagated io errors with anyhow context across prod code 2026-04-17 11:44:38 -04:00
fabro-llm fix(llm): send Gemini API key via x-goog-api-key header 2026-04-18 04:32:23 -04:00
fabro-macros refactor(settings): stage 6.3b shrink server runtime types + delete Combine 2026-04-09 18:27:46 -04:00
fabro-mcp fix: simplify fabro-http crate and fix correctness issues 2026-04-12 12:20:55 -04:00
fabro-model wip 2026-04-16 13:13:09 -04:00
fabro-oauth Add typed provider credential auth flow 2026-04-12 22:10:11 -04:00
fabro-proc fmt: apply nightly rustfmt after merge 2026-04-11 13:43:30 -04:00
fabro-retro ci: switch clippy to pinned nightly, clean up workspace lints 2026-04-16 18:59:11 -04:00
fabro-sandbox deps: bump rand 0.8 → 0.9 (#163) 2026-04-17 07:57:10 -04:00
fabro-server refactor(archive): consolidate helpers after review 2026-04-19 18:14:16 -04:00
fabro-slack refactor(http): centralize reqwest behind fabro-http 2026-04-12 11:48:54 -04:00
fabro-spa feat(cli+web): wire archived into listing visibility 2026-04-19 16:58:55 -04:00
fabro-store feat(events): add run.archived and run.unarchived event variants 2026-04-19 15:42:39 -04:00
fabro-telemetry fix: wrap propagated io errors with anyhow context across prod code 2026-04-17 11:44:38 -04:00
fabro-template refactor(async): lint std::process::Command across all targets 2026-04-12 13:35:57 -04:00
fabro-test feat(install): add browser-based setup flow 2026-04-19 11:20:58 -04:00
fabro-tracker refactor(http): centralize reqwest behind fabro-http 2026-04-12 11:48:54 -04:00
fabro-types feat(events): add run.archived and run.unarchived event variants 2026-04-19 15:42:39 -04:00
fabro-util feat(install): add browser-based setup flow 2026-04-19 11:20:58 -04:00
fabro-validate fmt: apply nightly rustfmt after merge 2026-04-11 13:43:30 -04:00
fabro-vault fix: wrap propagated io errors with anyhow context across prod code 2026-04-17 11:44:38 -04:00
fabro-workflow refactor(archive): consolidate helpers after review 2026-04-19 18:14:16 -04:00