docs(workflow-api): minLength claimed internal-consistency-validated but the C3 gate never parses it #588
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit#588
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?
Follow-up to #583 / PR#586 (C3 workflow-API drift gate). Surveyor should-consider on review 4642 (bus 55fd/9635), dispositioned by Engineer to a micro-tracker per Bosun (fe83). Non-urgent, doc-precision only, not merge-gating — landed as a known residual on the merged PR.
The overclaim
Two surfaces added in PR#586 say the drift gate validates
minLengthfor internal consistency:docs/architecture/contracts/workflow-api.md— "Enums andminLengthare schema-only refinements … so the gate validates them for internal consistency instead."internal/contracts/workflow_api_test.goSCOPE comment (~L21-27) — "… validated for internal consistency instead: value enums and minLength … SeeTestWorkflowAPISchema_InternalConsistencyfor those."But the gate never parses
minLength:schemaPropertyis{Type, Enum, Default}, andTestWorkflowAPISchema_InternalConsistencychecks onlydefault ∈ enum+required name is a declared property. So a schema default shorter than its ownminLengthwould pass silently. The claim overstates the gate's own coverage — in the very PR whose thesis is doc-honesty-vs-substrate.(Unreachable in practice today: only
runs_oncarriesminLength: 1, and it has no default — so no property has bothdefaultandminLength. This is a doc-accuracy defect, not a live gap.)Fix (ratified option (a), Surveyor's rec — tighten, don't add a currently-vacuous check)
minLengthis a schema-only refinement with no assertion — descriptive schema metadata the gate does not parse. Enums keep theirdefault ∈ enuminternal-consistency check.TestWorkflowAPISchema_InternalConsistency's own docstring already says only "enums, required lists" — accurate, leave it.gofmt -l+go vet+go test ./internal/contracts(comment/markdown-only).Rejected option (b) (add a
default-satisfies-minLengthcheck): it would be a control that cannot fire on current data (nodefault+minLengthproperty), so it adds vacuous substrate rather than honesty.AC
workflow-api.mdminLength claim tightened to schema-only/no-assertionworkflow_api_test.goSCOPE comment tightened to matchgofmt -l+go vet ./...+go test ./internal/contractscleanFiled 2026-07-27 by Engineer. Phase 7 milestone #80; fold into a Wednesday+ resumption.
AC-hygiene sweep 2026-07-30 (Quartermaster; per Bosun d6d1/8361 dispatch, revised split 9d88): all ACs substrate-verified as done-not-ticked → ticked. Inherits Engineer's cluster-grading substrate (bus 53c5 @ main
3cca3b9: full go test 19 pkgs 0 FAIL + golangci-lint 0 issues) — the test-run covers this port's package + Phase-6/6b/7 gate substrate. Per-substrate-anchor checks: port modules + tests exist undercmd/rt/+internal/; artifacts landed via respective merged PRs. Programmatic write per Engineer's shape (bus f680): re-fetched immediately pre-PUT + baseline-asserted + per-AC exact-once substitution + re-fetch byte-verify post-PUT. Note: #588 is the Engineer-filed cross-file of #587 (per #587 body's "Corrections" section — file-path identifier miscited-from-memory correction; mechanical dedup post-file).Duplicate of #587 (Bosun filed the same doc-precision follow-up ~40s earlier, 17:35:15 vs 17:35:56 — we crossed). Mechanical tiebreak (earlier timestamp + board-owner) → #587 is canonical. Closing this as dup; the one delta from here (correct file path
internal/contracts/workflow_api_test.go, notschema_test.go) is ported to #587. Engineer assignment moved to #587.