fabro/lib/crates
Bryan Helmkamp 7d63e2c298
refactor(github): replace stringly-typed PR errors with typed enum
Introduce PullRequestApiError with a structured NotFound variant and an
Other(String) catch-all for non-classified failures. Update
get_pull_request, merge_pull_request, and close_pull_request to return
the new type so callers can branch on shape rather than substring.

Server PR handlers now match Err(PullRequestApiError::NotFound { .. })
to map a missing GitHub PR to the existing github_pull_request_not_found
ApiError, removing three err.contains("not found") substring checks.

The Display impl for NotFound preserves the prior message format
("Pull request #N not found in owner/repo") so logging and the
catch-all BAD_GATEWAY response keep their human-readable text.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-23 22:31:23 -04:00
..
fabro-agent refactor: adopt strum for enum string conversions 2026-04-22 17:16:25 -04:00
fabro-api refactor(api): unify PR detail types via with_replacement 2026-04-23 21:41:11 -04:00
fabro-auth Merge remote-tracking branch 'origin/main' 2026-04-19 20:32:02 -04:00
fabro-checkpoint Adjust store dump export paths 2026-04-22 16:13:27 -04:00
fabro-cli refactor(api): unify PR detail types via with_replacement 2026-04-23 21:41:11 -04:00
fabro-client refactor(api): unify PR detail types via with_replacement 2026-04-23 21:41:11 -04:00
fabro-config Merge remote-tracking branch 'origin/main' 2026-04-23 08:52:44 -04:00
fabro-core refactor(unwrap): clean runtime hotspot call sites 2026-04-19 20:48:44 -04:00
fabro-devcontainer refactor(unwrap): clear non-test workspace warnings 2026-04-19 20:56:38 -04:00
fabro-github refactor(github): replace stringly-typed PR errors with typed enum 2026-04-23 22:31:23 -04:00
fabro-graphviz refactor: adopt strum for enum string conversions 2026-04-22 17:16:25 -04:00
fabro-hooks refactor(auth): scrub FABRO_WORKER_TOKEN from worker env at startup 2026-04-23 15:10:58 -04:00
fabro-http refactor: remove CLI client mTLS 2026-04-20 17:37:24 -04:00
fabro-install refactor(server): lock down server secrets 2026-04-23 07:15:27 -04:00
fabro-interview Merge remote-tracking branch 'origin/main' 2026-04-19 20:32:02 -04:00
fabro-llm refactor: adopt strum for enum string conversions 2026-04-22 17:16:25 -04:00
fabro-macros refactor(config): move settings combine into types 2026-04-23 08:42:19 -04:00
fabro-mcp fix: simplify fabro-http crate and fix correctness issues 2026-04-12 12:20:55 -04:00
fabro-model refactor: adopt strum for enum string conversions 2026-04-22 17:16:25 -04:00
fabro-oauth test(cli): suppress browser launch under spawned fabro test subprocesses 2026-04-22 07:50:34 -04:00
fabro-proc fix(proc): expect disallowed_methods on /proc walk 2026-04-21 12:26:41 -04:00
fabro-retro refactor: simplify metadata snapshot + retro upload paths 2026-04-21 08:27:59 -04:00
fabro-sandbox refactor(auth): scrub FABRO_WORKER_TOKEN from worker env at startup 2026-04-23 15:10:58 -04:00
fabro-server refactor(github): replace stringly-typed PR errors with typed enum 2026-04-23 22:31:23 -04:00
fabro-slack refactor(http): centralize reqwest behind fabro-http 2026-04-12 11:48:54 -04:00
fabro-spa Merge remote-tracking branch 'origin/main' 2026-04-22 21:18:50 -04:00
fabro-store fix(status): align archive outcomes and clean lint drift 2026-04-22 17:55:07 -04:00
fabro-telemetry refactor(server): lock down server secrets 2026-04-23 07:15:27 -04:00
fabro-template refactor(async): lint std::process::Command across all targets 2026-04-12 13:35:57 -04:00
fabro-test refactor(server): lock down server secrets 2026-04-23 07:15:27 -04:00
fabro-tracker refactor(unwrap): clear non-test workspace warnings 2026-04-19 20:56:38 -04:00
fabro-types refactor(api): unify PR detail types via with_replacement 2026-04-23 21:41:11 -04:00
fabro-util refactor(auth): scrub FABRO_WORKER_TOKEN from worker env at startup 2026-04-23 15:10:58 -04:00
fabro-validate fmt: apply nightly rustfmt after merge 2026-04-11 13:43:30 -04:00
fabro-vault lint(clippy): disallow blocking std::fs on Tokio paths 2026-04-19 17:22:21 -04:00
fabro-workflow refactor(api): unify PR detail types via with_replacement 2026-04-23 21:41:11 -04:00