Behavior: eight revision ops (recall-review, reopen, discard, undo-review, delete-log-entry across feature/config revisions, v1+v2) spec an empty-object request body with required: true, so the CLI demands an opaque --body-param that must be '{}'. The commands' own generated doc examples fail with missing required flag: --body-param.
Carried fix: overlay marks the eight request bodies required: false (PR #48). Express's json parser defaults an absent body to {}, so the server's z.object({}) still validates — verified live (recall-review with no body reaches the server and returns the correct business validation).
Retire when: the back-end marks these request bodies optional (or drops them) at source in the Zod validators, after which the overlay entries can be dropped.
Ops: postFeatureRevisionDiscard, postFeatureRevisionDiscardV2, postFeatureRevisionRecallReviewV2, postFeatureRevisionReopenV2, postFeatureRevisionUndoReviewV2, deleteFeatureRevisionLogEntryV2, postConfigRevisionRecallReview, postConfigRevisionReopen.
Behavior: eight revision ops (
recall-review,reopen,discard,undo-review,delete-log-entryacross feature/config revisions, v1+v2) spec an empty-object request body withrequired: true, so the CLI demands an opaque--body-paramthat must be'{}'. The commands' own generated doc examples fail withmissing required flag: --body-param.Carried fix: overlay marks the eight request bodies
required: false(PR #48). Express's json parser defaults an absent body to{}, so the server'sz.object({})still validates — verified live (recall-review with no body reaches the server and returns the correct business validation).Retire when: the back-end marks these request bodies optional (or drops them) at source in the Zod validators, after which the overlay entries can be dropped.
Ops: postFeatureRevisionDiscard, postFeatureRevisionDiscardV2, postFeatureRevisionRecallReviewV2, postFeatureRevisionReopenV2, postFeatureRevisionUndoReviewV2, deleteFeatureRevisionLogEntryV2, postConfigRevisionRecallReview, postConfigRevisionReopen.