Severity: LOW (error-message quality). Three confusing messages found during the #67 stress sweep.
(a) dataset rm "" tells you to set a flag that doesn't exist
tracebloc dataset rm ""
# → Error: invalid table name "": table name is required (set --table)
But dataset rm takes a positional <table> argument — there is no --table flag on rm (that's push). The message is copy-pasted from the push path. Should be: table name is required — pass it as an argument: tracebloc dataset rm <table>.
(b) --number-of-keypoints 0 (or negative) says you didn't provide it
tracebloc dataset push ... --category keypoint_detection --number-of-keypoints 0
# → Error: keypoint_detection requires --number-of-keypoints (e.g. --number-of-keypoints 17); it's dataset-specific and has no default
tracebloc dataset push ... --category keypoint_detection --number-of-keypoints -5
# → same "requires" message
The user did pass the flag. The code conflates "unset" (Go int zero value) with "set to an invalid value (<= 0)". Distinguish them: --number-of-keypoints must be a positive integer (got 0).
(c) Bad --label-policy leaks an internal schema representation
tracebloc dataset push ... --category tabular_regression --label-policy banana
# → synthesized spec failed schema validation (2 issues):
# label: got object, want string <-- internal noise, baffling to a user
# label.policy: value must be one of 'passthrough', 'bucket'
The second line is the real, useful error. The first ("label: got object, want string") is an artifact of how the regression label is encoded as an object and should be suppressed when the more specific label.policy error is present.
Part of #67.
Severity: LOW (error-message quality). Three confusing messages found during the #67 stress sweep.
(a)
dataset rm ""tells you to set a flag that doesn't existBut
dataset rmtakes a positional<table>argument — there is no--tableflag onrm(that'spush). The message is copy-pasted from the push path. Should be:table name is required — pass it as an argument: tracebloc dataset rm <table>.(b)
--number-of-keypoints 0(or negative) says you didn't provide itThe user did pass the flag. The code conflates "unset" (Go int zero value) with "set to an invalid value (<= 0)". Distinguish them:
--number-of-keypoints must be a positive integer (got 0).(c) Bad
--label-policyleaks an internal schema representationThe second line is the real, useful error. The first ("label: got object, want string") is an artifact of how the regression label is encoded as an object and should be suppressed when the more specific
label.policyerror is present.Part of #67.