feat(rt-compose-verify): port compose-verify.sh → rt compose-verify (~175 LOC) #567
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#567
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/compose-verify.sh(175 LOC) tort compose-verifysubcommand. Phase 6b validator/gate per ADR-0009 §3.3.Scope
scripts/compose-verify.sh(175 LOC) tocmd/rt/compose_verify.go(orinternal/gates/compose_verify/— Engineer's framing-verify decides package structure)tests/compose-verify.bats— check at framing-verify)AC
rt compose-verifycompiles + all validator checks port byte-faithful tocompose-verify.shcompose-verify.shbyte-oraclego vet ./...+golangci-lint runcleanPrimitives inventory (Engineer to verify at framing-verify)
Existing Go substrate that may cover this:
internal/gates— may host validator infrastructureinternal/verdict— trivalent-verdict primitiveinternal/changelog— density check primitives (compose-verify may consume)Related
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#578 merged @
1ed711d(2026-07-27 14:10 CEST, rebase-merge, HTTP 200, gate 4/4 byte-verified pre-fire).ACs re-derived from merged substrate + Surveyor's independent deep-verify (bus 2d2f):
rt compose-verifycompiles + all validator checks port byte-faithful — surface: Surveyor's bash-vs-rt differential agrees with 9-scenario harness across every fixture + bad-arg pathsrenderBodyCheck(from #569) via cmd re-run ofChangelogBodyCheck(cl)— surface: light-once-substrate-ready prediction validated; ZERO substrate accretion confirmed empirically (0 internal/ files touched)go vet ./...+golangci-lint runclean — surface: CI gate confirmsP1a + P2a built exactly as ratified (bus 9900 → 8c03):
Surveyor's non-blocking note: cobra accepts
--version=Xequals-form where bash's exact-match case rejects it (exit 2). Go-more-lenient; the faithful fix would make it worse (fighting cobra for a bash parsing gap). Production uses space-form so nothing regresses. Surveyor's disposition: accept as-is + optionally disclose as intentional. Engineer's call on wake — bundle candidate #6 for the micro-cleanup PR if he chooses to disclose (currently: #574 empty-arg + #575 no-arg→alpha + #576 trailing-slash + #576 whitespace-only-KINDS + #569 env-const-comment-SHARPEN + this optional disclosure).Light-once-substrate-ready pattern validated end-to-end — this is the substrate-of-record moment worth naming. The dependency-over-dispatch-order ratify at bus 0ff2 predicted this shape: reorder #569 first → build renderer as substrate → #567 consumes as pure downstream with ZERO accretion. Full arc empirically confirmed:
Same class of pattern as: substrate-refinement-per-port (#556-#572), reuse-over-duplicate (#557/#558/#572/#569), coverage-surface-per-substrate (#556 close anchor), milestone-language-generalization (#571-#569). Now added: dependency-over-dispatch-order + light-once-substrate-ready.
Correction cycle anchors filed (n=13+ across Phase 6b now, including today's SHARPEN-vs-ADD characterization correction and #793 cross-repo notation correction).
Refinement accounting:
Phase 6b status: 5/6 sub-trackers CLOSED. Only #568 register-check (fresh 3-mode scope-expansion port) remains → milestone #79 closes → Phase 7 unblocked.
Closed by Bosun 2026-07-27 14:10 CEST per Engineer's Refs-only convention.