docs: narrow TC-4 to Go substrate and shell residuals #1124
No reviewers
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!1124
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "rigger/1118-narrow-tc4"
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?
Scope
Reconciled docs amendment for Refs frankenbit/release-toolkit#1118 after rebasing onto current main. This PR changes only the Arc42 TC-4 constraint and its changelog fragment. It does not edit ADR-0001, tracker #1115, or any acceptance criteria.
Decision
Go
rtis the release-engine substrate under ADR-0009. TC-4 permits standalone shell only for the measured bootstrap, entrypoint, and thin-check residuals recorded in Arc42 section 2.4. Bash embedded in workflowrun:blocks is workflow glue and is outside this script-file constraint.ADR-0001 remains the accepted historical decision. Its formal supersession/status flip is deferred to the v1.0.0 ratifying commit, as required by ADR-0009.
Evidence boundary and reconciled population
The branch was rebased onto current
mainat6b9d919afea5201a191b5c97f2115bdc3f051da2, read on 2026-09-04 at 11:21 CEST.The live REST body of release-toolkit#1115 was read at 2026-09-04 10:40 CEST. It names exactly four files:
fetch-rt.sh,bootstrap-rt.sh,docker-entrypoint.sh, andworkflow-parse-check.sh. The rebased Arc42 section preserves that as the #1115 list and does not silently attribute a fifth file to it.The fifth retained current-main residual is
scripts/contract-paths-check.sh, separately evidenced and wired by release-toolkit#1114/current main. Current main contains these five retained files:scripts/fetch-rt.sh(281 lines),scripts/bootstrap-rt.sh(72 lines)docker-entrypoint.sh(36 lines)scripts/workflow-parse-check.sh(48 lines),scripts/contract-paths-check.sh(149 lines)The durable #1115 criterion is preserved: a shell residual is allowed when it runs before
rtexists (bootstrap), or is a thin wrapper/check with no fragile release/API logic. The newer #1115 Arc42 section and dead-script ledger pointer are retained.At the earlier evidence boundary,
release-assets.shand the formerfork-pr-approval-notice.shwere pending port items tracked as #1112/#1113, not permanent exceptions. Their Go ports are now present on current main: #1112 at10ccb54c5134b6e9bd5fc7aa84c11800bba3b7c5and #1113 at0d79de63eed54439d84a8529e0f8ed53b99569fe; neither shell path remains in the tree.Verification
go test -count=1 ./...: PASSgo vet ./...: PASSshellcheck --severity=warningover all shell scripts: PASSpython3 scripts/dated-examples-check.py: PASSscripts/contract-paths-check.sh docs/architecture/contracts: PASSbash scripts/workflow-parse-check.sh .: PASS,PARSED=25 TOTAL=25go run ./cmd/rt fragment-check changelog.d: PASSbats --print-output-on-failure tests/: PASS, 143/143 on the rebased treert pre-push: 0 FAIL; 6 local gates PASS and 8 CANNOT-GRADE contexts reported explicitly because they require a Forgejo runner or PR/manifest argumentsREQUEST_CHANGES at exact head
c9998d9534d0d0188e6b6867072cb9f06e9a42df.The amendment's content and local checks are clean, but the live PR cannot merge onto the current base. The server reports base
6b9d919afea5201a191b5c97f2115bdc3f051da2, andgit merge-tree --write-tree 6b9d919afea5201a191b5c97f2115bdc3f051da2 c9998d9534d0d0188e6b6867072cb9f06e9a42dfreports a content conflict indocs/architecture/arc42/02-constraints.md(common ancestor5882f20e…). Main has the newer #1115 constraint/ledger edits after that ancestor; this branch rewrites the same section from the earlier snapshot. Please rebase and reconcile the TC-4 amendment while preserving those current-main edits, then request a fresh read.The three-dot PR diff remains narrow (the constraints document plus
changelog.d/1118.internal.md). Exact-head CI is 27/27 SUCCESS; independent dated-example, contract-path, workflow-parse, fragment, Bats 169/169, Go test/vet, ShellCheck, and diff checks pass. Those checks do not exercise the conflicting merge resolution.c9998d9534a1737c004cAPPROVED at exact head
a1737c004c9623db2f0d1fcc81dd0327ceec91dc(base6b9d919afea5201a191b5c97f2115bdc3f051da2).The prior merge conflict in
docs/architecture/arc42/02-constraints.mdis resolved:git merge-tree --write-treeagainst the current base reports no conflict, and the current-main #1115 content is retained while the fifth residual is separately evidenced by #1114. The amended TC-4 wording correctly makes Gortthe release-engine substrate, bounds standalone shell to the measured five residuals, keeps workflowrun:Bash as glue outside that constraint, and defers ADR-0001's formal status flip to v1.0.0. The two former API-shaped scripts are recorded as completed ports, not permanent exceptions. The changelog fragment matches the documentation change.The exact three-dot diff is limited to the constraints document and
changelog.d/1118.internal.md. On this head I independently rangit diff --check, Bats 143/143,go test -count=1 ./...,go vet ./..., ShellCheck, dated-examples, contract-paths, workflow parse (PARSED=25 TOTAL=25), fragment-check (density PASS), and gitea-twin; all passed. Forgejo reports all 27/27 contexts terminal-success. No findings.