Bug-hunt round 41: analyze schema-rule doc gap, -compute_type openness marker - #61
Merged
Conversation
04-surfaces/06-analyze.md claimed to list "every schema rule" ingest enforces but omitted the mode A|B enum (validate.go:164-165) and the 64-id evidence cap (validate.go:17,174-175), contradicting its own cited source (05-internals/02-schemas.md:97,99) and the sibling list already corrected on docs/reference/cli.md:156 in round 39. Assisted-by: Claude:claude-sonnet-5
docs/reference/cli.md's transcribe synopsis and cli.go's usage banner rendered -compute_type auto|int8|float16 in the same closed pipe form as its three validated siblings (-engine/-device/-vad, each refused at exit 2), even though -compute_type has no validator and is a deliberate pass-through (cli.go:228-230). Both now carry the openness marker already used correctly in the how-to page's pipe form (transcribe-a-recording.md:80). Assisted-by: Claude:claude-sonnet-5
Assisted-by: Claude:claude-sonnet-5
Assisted-by: Claude:claude-sonnet-5
…ntry The blank line before the round-41 entry regressed round 38's fix (commit 6bed161), making the whole 77-entry list render loose under CommonMark. Also untangled a garbled antecedent ("which" reads back onto cli.md instead of the schema page it actually modifies) and corrected the compute_type precedent citation to the two sites that already use a Unicode ellipsis (cli.md:59, 02-transcribe.md:18) instead of the how-to page's ASCII form. Assisted-by: Claude:claude-sonnet-5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Round 41 of the autonomous bug-hunt loop (state: issue #24).
Confirmed substantive (1)
.abcd/development/brief/04-surfaces/06-analyze.md's ingest section claimed to run "every schema rule" and silently omitted two.The page lists six rules
analyze -ingestenforces, introduced as "every schema rule" and closed with "Validation is transactional and exhaustive." It omits two rulesinternal/analyze/validate.goactually enforces unconditionally when present:modefield'sA|Benum (internal/analyze/validate.go:164-165)evidence(internal/analyze/validate.go:17,:174-175)This is the identical defect round 39 already fixed on the sibling user-facing page,
docs/reference/cli.md:156("thetype,severity, andmodeenums, non-emptyevidenceof at most 64 ids…") — round 39 fixed only that page and never swept this one. The brief page also contradicts its own cited source,.abcd/development/brief/05-internals/02-schemas.md:97,99, which documents both rules. Fixed to name both, matchingcli.md's wording.Confirmed nitpick (1)
docs/reference/cli.md'stranscribesynopsis andinternal/cli/cli.go's usage banner rendered-compute_typeas a closed set, unlike its actual pass-through behaviour.Both render
[-compute_type auto|int8|float16]in the identical pipe-alternated form as three genuinely closed, validated siblings on the same line —-engine,-device,-vad, each refused at exit 2 byCheckEngine/CheckDevice/CheckVAD(internal/cli/cli.go:254,261,264).-compute_typehas no validator anywhere in the tree and is a deliberate pass-through to whisperx (internal/cli/cli.go:228-230's comment states this explicitly;internal/transcribe/whisperx.go:96-103'sresolveComputeonly substitutes for""/auto). Reproduced live on the built binary:-device bogus,-vad bogus, and-engine bogusall exit 2 with a usage error;-compute_type bogusand-compute_type float32do not — they reach engine detection.float32is in fact a real, working CTranslate2 compute type the CLI's own source names (internal/transcribe/transcribe.go:42), so the synopsis both over-promises validation and under-advertises a working value.Both sites now carry the openness marker (
|…), matching the pipe form already used correctly atdocs/how-to/transcribe-a-recording.md:80and the flag table atcli.md:59.Considered and refuted
internal/cli/cli.go:183's-compute_typehelp string using ASCII"..."wherecli.md's prose table uses"…". Split verdict on adversarial verification: one refuter found no stated repo convention ties code-side text to doc-side typography (the "US English in code" rule is about spelling, not glyphs), and that a single-line fix would desynchronise the help string from the identical ASCII list in its own explanatory comment atcli.go:229— a coherent fix would need both lines, making the finding as originally scoped incomplete. Discarded per the loop's tie-breaking rule.Verification
Every finding faced two independent adversarial refuters before being included above; only findings both refuters failed to kill were fixed. Dimension (a) code bugs and dimension (c) infrastructure surfaced zero findings this round — 40 prior rounds have hardened both areas heavily.
Gates
go build,gofmt -l .,go vet ./...,go test ./...,go test -race ./..., the pipeline smoke (merge+reportagainstexamples/sample-session), andsh -n install.sh && bash -n install.shall pass on the branch head. Both fixes are documentation-only edits with no behavioural code change, so no new tests were required..abcd/work/DECISIONS.mdgains the round's entry in this PR.Assisted-by: Claude:claude-sonnet-5