mirror of
https://github.com/fabro-sh/fabro.git
synced 2026-08-28 05:27:41 +00:00
The manifest builder's best-effort pre-run push converted every result into a PreRunPushOutcome that was serialized into GitContext, expanded into five OpenAPI union arms, and generated into API clients — but no production path ever read it; every field read was a test. Delete the concept while preserving the behavior: - Drop the PreRunPushOutcome enum and GitContext.push_outcome from fabro-types; GitContext keeps origin_url, branch, optional sha, and dirty, which remain real execution inputs and provenance. - Rename the manifest outcome builder to push_manifest_branch_best_effort, a side-effect-only helper with the same decision rules: skip without an origin, skip on configured-repository mismatch, skip when the branch is already synced, otherwise push noninteractively and discard the result without failing manifest creation or logging raw Git stderr. - Prove the push through repository state instead of the deleted enum: a branch ahead of a local bare origin is pushed during manifest build, a mismatched configured repository is not, and a failing remote helper still cannot fail manifest creation. - Remove push_outcome from GitContext in OpenAPI, delete the five-arm union schemas, and drop the fabro-api type replacement and re-export. - Keep one regression proving historical run.created events with a nested push_outcome still deserialize through ordinary unknown-field tolerance and reserialize to the reduced shape. No migration or event rewrite. Old JSON carrying the removed field stays readable. Newly generated clients omit a field older servers required, so new-client-to-old-server compatibility is intentionally not promised for this pre-1.0 contract. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| brainstorms | ||
| ideation | ||
| internal | ||
| plans | ||
| public | ||
| superpowers | ||