cli: enumerate the bridge's finite request params #204
No reviewers
Labels
No labels
priority/P0
priority/P1
priority/P2
release/v0.1.0
status/blocked
status/planned
type/bug
type/design
type/test-gap
type/tracker
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
natsukium/felis!204
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/bridge-schema-enums-178"
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?
Fixes #178.
sourceandattachmentwere bare strings in the published bridge request grammar, so a consumer could validate a linelocally and still be answered
malformed_requestby a live bridge — the schema bundle promised more than the runtimehonors.
sourcenow carries the value set the runtime parses, read off the--sourceValueEnumso the schema and theparser cannot drift.
attachmentnow carries the decimal pattern the roster prints.now states.
req-source-is-not-a-region.json,req-attachment-is-not-decimal.json) pin bothrejections.
Doc cascade:
docs/reference/cli.mdrecords the two newly-bounded request params;CHANGELOG.mdnotes theuser-affecting tightening of the published schema.
Verified: just check green (fmt, clippy, nextest, deny, proto-compat); reviewed by pi sol + pi luna; docs proofread by
Gemini gemini-3.8-flash-high
Deferred
AttachmentId's^[0-9]+$pattern still admits digit strings above u64, whichparse_attachment_idrejects asout-of-range. A single overflow class; the published
AttachmentObject.idoutput pattern already uses the sameexpression, so tightening only the request side would split them, and JSON Schema has no clean numeric bound for a
decimal held in a string. Not worth an issue.
source_values()and
parse_region_source()are derived from the same clapValueEnumimpl, so the residual drift risk is verifiedlow; strengthening test independence is optional hardening beyond issue #178's acceptance criteria.