Auto-Digitize Settings panel is half-wired: detail 422s the service, underlay is silently dropped, error messages hide the cause #115
Labels
No labels
blocked:commit-ready-failed
blocked:gate-fetch
blocked:gate-lint
blocked:gate-plan
blocked:gate-research
blocked:needs-attention
blocked:needs-decision
blocked:needs-human
blocked:no-changes
blocked:verify-failed
bug
deferred
feature-request
in-progress
needs-decompose
needs-triage
quickfix
security/medium
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/Kimi_Agent_Brother_10_Digitizing_App#115
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Superseded by #116, #117, #118. Splitting this umbrella into three focused issues for independent triage and regression coverage. Original analysis remains accurate; this issue just aggregates three distinct root causes.
detailstitch preference 422s the service (front-end / back-end literal mismatch)underlaytoggle silently dropped before the requestbody.detailfrom the userdetail422s /v1/digitize — front-end UI value not in back-end accepted literal set #116body.detail#118Closed via two-repo fix (commits on
main):Mark/Kimi_Agent_Brother_10_Digitizing_App— commit2b2f630mapStitchPreference(): UIdetail→ servicequalityso the Detail preference no longer 422s.toServiceSettings(): includesunderlayso the workspace Underlay toggle reaches the service.AutoDigitizeSettingstype: stitch-preference literal set corrected; new optionalunderlayfield.readErrorBody(): now reads FastAPI'sdetail(string ORRequestValidationErrorarray). The previously opaqueeasystitch-service responded 422now surfaces the actual field-level cause (e.g.stitchPreference: Input should be ... quality).readErrorBodydescribe block covers the FastAPI envelope (string detail, validation-error array, message/error fallbacks, non-JSON).Mark/easystitch-service— commite452c59DigitizeSettings: acceptsunderlay: bool | None = Noneas a forward-compatible wire field (same pattern asfabric/targetStitchCountin #31). Engine-side consumption is deferred; the wire field is accepted now so the front-end control has a real effect the moment the engine adopts it.test_digitize_accepts_underlay_field— verifies on/off payloads both 200 and reach the runner.Verification
pnpm test— 376/376 pass.pnpm lintclean.pytest tests/— 159/159 pass.ruff checkclean.detail422s /v1/digitize — front-end UI value not in back-end accepted literal set #116body.detail#118