fabro/docs/public
Bryan Helmkamp 642e312cca
refactor: unify duplicate API types via with_replacement
Eliminate four parallel-type duplications between fabro-api generated
DTOs and fabro-types canonical types. The wire shape is owned by
OpenAPI; canonical types are reused via fabro-api/build.rs
with_replacement so the adapter functions and silent unwrap_or_default
defaults disappear.

- SecretType moves to fabro-types (was fabro-vault); deletes
  secret_type_from_api adapter.
- DiffLineStats renamed to DiffStats, moved to fabro-types, switched
  u64 -> i64 to match the OpenAPI integer; deletes line_stats_to_api.
- ManifestPreRunPushOutcome rewritten as a oneOf+discriminator
  PreRunPushOutcome over five variant schemas, deleting both
  pre_run_push_outcome_from_manifest and build_manifest_push_outcome.
- ManifestGit and PreRunGitContext unify as GitContext: dirty:
  DirtyStatus replaces clean: bool (preserving the Unknown state
  previously truncated on the wire), sha becomes Option<String>, and
  origin_url/branch fold into the unified context. RunSpec and
  RunCreatedProps flatten three fields (repo_origin_url, base_branch,
  pre_run_git) into a single git: Option<GitContext>.

Each replacement gets a fabro-api parity test (TypeId equality plus
JSON roundtrip) modeled on run_summary_round_trip.rs. TS client
regenerated.

Greenfield app, no production deployments — wire contract changed
directly without backwards-compat shims.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 12:29:37 -07:00
..
administration chore: move Caddyfile into docker/ 2026-04-27 11:23:02 -07:00
agents refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
api-reference refactor: unify duplicate API types via with_replacement 2026-04-28 12:29:37 -07:00
changelog refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
core-concepts refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
examples refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
execution fix: close sandbox-native metadata gaps 2026-04-28 08:05:18 -07:00
getting-started refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
human-tools refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
images refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
integrations refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
languages refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
logo refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
reference fix: close sandbox-native metadata gaps 2026-04-28 08:05:18 -07:00
tutorials refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
workflows refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
.mintignore refactor(docs): move .mintignore into docs/public and update skill paths 2026-04-27 07:29:59 -07:00
docs.json refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
dot-highlight.js refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00
favicon.svg refactor(docs): split docs/ into public/ and internal/ 2026-04-27 07:21:13 -07:00