fabro/lib/crates
Bryan Helmkamp 9ede01698c
refactor(server): narrow RunPrInputs to goal; drop PullRequestGithubContext.{owner,repo}
Two code-reuse findings from the simplify review:

1. PullRequestGithubContext carried owner/repo String fields obtained by
   re-parsing record.html_url, even though PullRequestRecord already
   carries typed non-optional owner/repo fields. Dropped the redundant
   fields; the 3 PR handlers read via &ctx.record.owner /
   &ctx.record.repo instead. The incidental non-github.com URL
   rejection is preserved as an explicit one-line host-validation
   call (documented by the rejects_non_github_record_url tests).

2. RunPrInputs held run_spec: &RunSpec purely to read goal()
   downstream. Narrowed to goal: &str stored directly; the server
   handler passes inputs.goal to OpenPullRequestRequest::from_run_state,
   which no longer needs the full RunSpec. Fewer fields, clearer
   dependency at the call site.

Also tightened the from_run_state doc comment (was narrating peer
callers' behavior rather than the method's contract).

Verified: workspace fmt clean, clippy --all-targets -D warnings clean,
cargo nextest run --workspace 4581 passed, 182 skipped.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 10:38:55 -04:00
..
fabro-agent refactor: adopt strum for enum string conversions 2026-04-22 17:16:25 -04:00
fabro-api Merge remote-tracking branch 'origin/main' 2026-04-24 00:01:09 -04:00
fabro-auth Merge remote-tracking branch 'origin/main' 2026-04-19 20:32:02 -04:00
fabro-checkpoint lock down sparse settings exports in fabro-types 2026-04-23 19:10:45 -04:00
fabro-cli remove(cli): drop pr list command entirely 2026-04-24 08:56:07 -04:00
fabro-client refactor: simplify is_not_found_error and inline single-use ApiError factories 2026-04-23 23:47:21 -04:00
fabro-config drop unused test-support feature from fabro-config 2026-04-23 22:29:29 -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): drop merge_method.as_str() shim in PUT /pulls/:n/merge body 2026-04-24 09:23:18 -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 migrate cli install tests off sparse settings layers 2026-04-23 18:37:37 -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 move sparse settings layers into fabro-config 2026-04-23 18:10:12 -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(github): take GitHubContext by reference in public API 2026-04-24 09:15:25 -04:00
fabro-server refactor(server): narrow RunPrInputs to goal; drop PullRequestGithubContext.{owner,repo} 2026-04-24 10:38:55 -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(ci): resolve workspace test and lint regressions 2026-04-23 20:49:30 -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 Merge remote-tracking branch 'origin/main' 2026-04-24 00:01:09 -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(server): narrow RunPrInputs to goal; drop PullRequestGithubContext.{owner,repo} 2026-04-24 10:38:55 -04:00