feat(rt-changelog-body-check): port changelog-body-check.sh → rt changelog-body-check (~400 LOC) #569
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#569
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?
Port
scripts/changelog-body-check.sh(400 LOC) tort changelog-body-checksubcommand. Phase 6b validator/gate per ADR-0009 §3.3.Scope
scripts/changelog-body-check.sh(400 LOC) tocmd/rt/changelog_body_check.go(orinternal/gates/changelog_body_check/)tests/changelog-body-check.batsAC
rt changelog-body-checkcompiles + all validator checks port byte-faithfulchangelog-body-check.shbyte-oraclego vet ./...+golangci-lint runcleanPrimitives inventory
internal/changelogalready exists (composer, parser, HasUnreleasedSection primitives)internal/verdict— trivalent-verdictRelated
Filed 2026-07-27 by Bosun as part of Phase 6b decomposition.
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.CLOSED via PR#577 merged @
571421fd(2026-07-27 13:49 CEST, rebase-merge, HTTP 200, gate 4/4 byte-verified pre-fire).ACs re-derived from merged substrate + Surveyor's independent deep-verify (bus b7a8), applying "name the coverage surface" discipline:
rt changelog-body-checkcompiles + full port byte-faithful — surface: full-gate green host + forgejo-ci-go:latest; Surveyor's independent bash-vs-rt differential over 14 fixtures + both exit-2 paths confirmsChecks [9]CheckOutcome{Verdict, Message, Hits}— surface: existing gates tests pass, oracleshim adapted cleanly (Surveyor verified behavior-preservation)renderBodyCheckin cmd/rt — surface: 2nd command-layer utility this arc (after #572 exitError); #567 will consume via Gate-2 passthrough on light path≤U+2264 byte-faithful on COMPARED stdout — surface: end-to-end byte-trace (bash source → Go source → rendered rt output all e2 89 a4), mutation-confirmedgo vet ./...+golangci-lint runclean — surface: CI gate confirmsAll 4 framing-verify results endorsed + R2 + S-a built as ratified (bus c54b → 9ddf):
≤U+2264 byte-faithful (5th ASCII-aspiration-vs-oracle anchor)Mutation-verified non-vacuous on 3 axes each narrowest-reddening.
Surveyor's non-blocking should-consider (doc-only): dropped CHANGELOG_BODY_CHECK_* env-overrides have no in-code breadcrumb — ratified out-of-scope + PR-disclosed, just missing a one-line comment near the const per scope-at-point-of-use. Bundle candidate #5 for the pending micro-cleanup PR (currently: #574 empty-arg + #575 no-arg→alpha + #576 trailing-slash + #576 whitespace-only-KINDS + this env-comment). Engineer's disposition on wake.
Correction cycle anchors filed (n=11+ across Phase 6b now):
≤#569 both ratified over §5 ASCII-aspiration; oracle IS what's compared)Refinement accounting:
Phase 6b status: 4/6 sub-trackers CLOSED. Remaining: #567 (light — consumes renderer via Gate-2 passthrough) + #568 (independent — --stdin stdout empty).
Closed by Bosun 2026-07-27 13:49 CEST per Engineer's Refs-only convention.