fabro/lib/apps/fabro-server
Scott Werner 5606940aaf Parse create-run bodies strictly per admission lane
Both lanes now deserialize the raw request bytes directly instead of
round-tripping through a serde_json::Value, which silently collapsed
duplicate JSON keys to last-key-wins on the legacy manifest lane and
stripped line/column locations from manifest parse errors.

When neither lane accepts the body, attribution now recognizes a
defective manifest by its required keys, so a legacy manifest carrying a
stray workflow_version_id keeps its 400 manifest error instead of being
misrouted to a 422 run_intent_invalid describing a schema the caller
never used.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-24 13:02:14 -04:00
..
migrations refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
src Parse create-run bodies strictly per admission lane 2026-08-24 13:02:14 -04:00
tests Add version-backed run intent creation 2026-08-24 11:55:43 -04:00
build.rs refactor: organize crates into three layers 2026-07-23 17:59:34 -04:00
Cargo.toml Add immutable workflow version resource 2026-08-13 16:34:52 -04:00