docs(changelog): record gate policy disposition #1014

Merged
pullings merged 1 commit from i/627-changelog-gate-disposition into main 2026-08-27 22:16:24 +02:00
Owner

Refs #627

Decisions

  • Check 5 remains a hard FAIL at compose time. A mixed bullet/prose section has no single reader-facing entry shape, so compose-verify must refuse it. The existing check-5 unit and compose control remain explicit and are attributed to #627.
  • The fragment 1-3 sentences target and single-paragraph preference are author guidance, not a machine gate. rt fragment-check still enforces the summary header/reference, load-bearing blank-line shape, and sentence/parenthesis/paragraph density. A new executable control proves a valid four-sentence, two-paragraph fragment passes.
  • The historical v0.35.0 body stays unchanged. A new test extracts that section from CHANGELOG.md and runs the current body gate; it remains all-bullet and passes. Newly composed mixed sections still refuse.
  • Check 4 remains an advisory total-body length warning; it is a volume signal rather than the density decision in this issue.

Verification

  • go test ./internal/gates ./cmd/rt -count=1: PASS
  • go build ./..., go vet ./..., go test -count=1 ./...: PASS
  • golangci-lint run --timeout=5m: 0 issues
  • bats --print-output-on-failure tests/: 118/118 PASS
  • repository shellcheck: PASS
  • rt changelog-body-check CHANGELOG.md: PASS
  • rt fragment-check changelog.d: PASS, 11 fragments graded; only the two existing advisory warnings for fragments 1008 and 811 remain
  • git diff --check: PASS
Refs #627 ## Decisions - Check 5 remains a hard `FAIL` at compose time. A mixed bullet/prose section has no single reader-facing entry shape, so `compose-verify` must refuse it. The existing check-5 unit and compose control remain explicit and are attributed to #627. - The fragment `1-3 sentences` target and single-paragraph preference are author guidance, not a machine gate. `rt fragment-check` still enforces the summary header/reference, load-bearing blank-line shape, and sentence/parenthesis/paragraph density. A new executable control proves a valid four-sentence, two-paragraph fragment passes. - The historical v0.35.0 body stays unchanged. A new test extracts that section from `CHANGELOG.md` and runs the current body gate; it remains all-bullet and passes. Newly composed mixed sections still refuse. - Check 4 remains an advisory total-body length warning; it is a volume signal rather than the density decision in this issue. ## Verification - `go test ./internal/gates ./cmd/rt -count=1`: PASS - `go build ./...`, `go vet ./...`, `go test -count=1 ./...`: PASS - `golangci-lint run --timeout=5m`: 0 issues - `bats --print-output-on-failure tests/`: 118/118 PASS - repository shellcheck: PASS - `rt changelog-body-check CHANGELOG.md`: PASS - `rt fragment-check changelog.d`: PASS, 11 fragments graded; only the two existing advisory warnings for fragments 1008 and 811 remain - `git diff --check`: PASS
docs(changelog): record gate policy disposition (#627)
All checks were successful
register-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 4s
register-check / register-drift check (pull_request) Successful in 7s
register-check / check (pull_request) Successful in 0s
check-self-bootstrap / check (pull_request) Successful in 49s
tests / workflow-schema (pull_request) Successful in 3s
tests / dated-examples (pull_request) Successful in 4s
tests / shellcheck (pull_request) Successful in 5s
workflow-parse-check / toolkit-self parse guard and controls (pull_request) Successful in 4s
workflow-parse-check / workflow parse and schema (pull_request) Successful in 4s
workflow-parse-check / check (pull_request) Successful in 0s
fragment-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 1m39s
changelog-body-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 1m54s
ac-closure-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 2m24s
tests / bats (pull_request) Successful in 2m20s
fragment-check / changelog fragment-kind (pull_request) Successful in 3m43s
fragment-check / check (pull_request) Successful in 0s
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 3m58s
changelog-body-check / check (pull_request) Successful in 0s
ac-closure-check / ac-closure check (pull_request) Successful in 4m15s
ac-closure-check / check (pull_request) Successful in 0s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 4m5s
manifest-check / check (pull_request) Successful in 0s
tests / workflow-schema (push) Successful in 31s
check-self-bootstrap / check (push) Successful in 48s
tests / dated-examples (push) Successful in 1m6s
tests / shellcheck (push) Successful in 1m52s
go-ci / lint + build + test (push) Successful in 2m5s
tests / bats (push) Successful in 2m25s
release / decide + act (push) Successful in 3m9s
release / release (push) Successful in 0s
b4a6c8972b
sentry approved these changes 2026-08-27 22:15:47 +02:00
sentry left a comment

Reviewed exact head b4a6c8972bc0c49526326964bd82a0f7244fcd30 against base 2b89eb5a9d3086ba969541f4f6710ea22c6b9bae.

APPROVED. Check 5 is fail-closed through the shared body result and the actual compose-verify boundary; the mixed-section control asserts exit 1 and its diagnostic. The historical v0.35.0 section is read from CHANGELOG.md and remains clean/all-bullet, while a four-sentence, two-paragraph fragment passes the existing structural and density contracts. The template, conventions, and fragment-format contract consistently describe the 1-3 sentence target and single-paragraph preference as author guidance, not an exact-count gate.

Exact-head verification passed: go test -count=1 ./..., go vet ./..., go build ./..., 118/118 Bats, changelog-body-check, fragment-check, warning-severity ShellCheck, golangci-lint, and git diff --check. Forgejo CI is 25/25 success at this head.

Reviewed exact head `b4a6c8972bc0c49526326964bd82a0f7244fcd30` against base `2b89eb5a9d3086ba969541f4f6710ea22c6b9bae`. APPROVED. Check 5 is fail-closed through the shared body result and the actual `compose-verify` boundary; the mixed-section control asserts exit 1 and its diagnostic. The historical v0.35.0 section is read from `CHANGELOG.md` and remains clean/all-bullet, while a four-sentence, two-paragraph fragment passes the existing structural and density contracts. The template, conventions, and fragment-format contract consistently describe the 1-3 sentence target and single-paragraph preference as author guidance, not an exact-count gate. Exact-head verification passed: `go test -count=1 ./...`, `go vet ./...`, `go build ./...`, 118/118 Bats, changelog-body-check, fragment-check, warning-severity ShellCheck, golangci-lint, and `git diff --check`. Forgejo CI is 25/25 success at this head.
pullings deleted branch i/627-changelog-gate-disposition 2026-08-27 22:16:24 +02:00
Sign in to join this conversation.
No description provided.