Declarative argument contracts for seam CLIs #147
Labels
No labels
already-shipped
bug
documentation
duplicate
enhancement
external-review
good first issue
help wanted
in progress
invalid
needs-decision
proposal
question
security
wontfix
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: crenshawdev/cadence-archived#147
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?
Source: deep dive, broader design B3
Verdict: AGREE - proposal
Claim as reviewed
The repository has strict and permissive flag readers, but each CLI chooses manually and unknown flags are often ignored. A small declarative parser could define required values, defaults, duplicates, enums and mutating-target flags in one place, eliminating the present-but-valueless class across seams.
At HEAD
f354864(v3.3.0)Two readers exist side by side at
cadence-core/bin/lib/seam-input.mjs:45-60and:63-89; the choice is per-call-site and currently wrong in the mutating seams.Note
Weigh against the zero-dependency constraint and against simply switching the mutating seams to
flagValue, which is a much smaller change and closes the reported defect on its own.Closed by v3.5.5 (ARG-06, verified against the shipped tree).