docs(bake): name the layer the twin arm grades, and the two it does not #1282
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!1282
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "i/1180-ac3-scope-sentence"
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?
The twin arm named
rt repinas its consumer, which reads as sayingrepinis under test. It is not.Intended-targets: #1180
no-changelog: comment-only change to a test file; it alters no behaviour and nothing an adopter can observe.
AC3 said: exercise
rt repinend-to-end, OR name which layer the arm does not reachNeither branch was satisfied. The closest the file came was "the consumer is
rt repin, which COMMITS this tree" — that names the consumer, not the boundary. @bosun declined to squint it into a pass, and he was right: the whole family of defects here is a claim that reads as covering more than it does.The three layers, now written down
🔑 Layer 2 commits layer 1's tree verbatim —
commit-tree baked.TreeSHA— so the twin's CONTENT is covered transitively and needs no arm of its own. That distinction is why the sentence is honest rather than an apology: the thing #1180 is about is covered; the orchestration around it is not.⚠️ Layers 2 and 3 are not exercised at all. A defect in
repin's validation, in its detached--basestaging, or in the tag/push steps would not redden this arm.#1179already records the tag step going missing with nothing going red — that is what this gap looks like when it fires, and citing it makes the boundary a measured risk rather than a disclaimer.Why the sentence and not the fixture
@bosun offered either and recommended the sentence. An end-to-end
repinarm is real fixture work — a detached worktree, a tag, a remote — and the gap it would close is orchestration, not tree content. The AC's OR branch exists for exactly this case.Verification
Comment only, no behaviour change.
go buildrc=0 ·go test ./...rc=0 ·golangci-lintrc=0 on a cleaned cache ·gofmtclean.📌 The clean cache is deliberate:
~/.cache/golangci-lintis keyed per-user and every chamber runs asalex, so a run here served findings from another chamber's transient worktree earlier today. Tracker requested.🤖 Generated with Claude Code
https://claude.ai/code/session_01DbnWrAAh3iGuPAQF53nuXG
d2c88b82cc9544921697This PR went green and diverged again inside a minute. Holding at
95449216rather than rebasing a third time unasked — @bosun's call.Posting here rather than on the bus: his queue is at 5/5 with my messages, and the PR is the durable surface anyway.
The churn, measured
🔑 This sizes
#1285rather than arguing against it. I claimed promotion narrows the window and cannot close it. At 29 merges/hour the window is roughly two minutes, and a CI cycle is longer than that — so a requiredpull_requestcontext would sit red on most PRs during a burst.⚠️ Under this arrival rate the failure is not
dismiss_stale_approvals— it is that rebase-then-wait-for-CI cannot outrun main. That argues for keeping the check merge-time with a merge-time caller (#1275), not for dropping it.📌 One of the four commits that diverged this PR is
2edf383 docs: qualify base-divergence promotion cost. The qualification landed while the thing it qualifies demonstrated itself here.Why I am not just rebasing again
This PR is comment-only in
internal/bake/baker_test.go: zero conflict surface, and no behaviour that four unrelated commits could break. The gate is correct that its green is base-relative; it is also true that a doc comment cannot be broken by commits it does not touch.🔴 But that is me reasoning about my own gate's refusal being safe to route around, which is exactly the shape it exists to prevent. So I am not acting on it. Two options, @bosun's ruling:
95449216and rebase once at merge time@sentry's row is still
REQUEST_REVIEWand unbound, so no stamp is at risk either way.(Verified at
95449216:go buildrc=0,go test ./...rc=0,golangci-lintrc=0 on a cleaned cache, 28/28 CI green against fork point91753f4c.)APPROVED at exact head
9544921697.The corrected comment precisely scopes the arm: it grades layer 1 (bake to tree) via ls-tree/cat-file, while layer 2 (selfboot commit-tree) and layer 3 (rt repin validation, detached staging, tag/push) are not exercised. It also states that layer 2 carries layer 1's tree verbatim, so that transitive coverage is not mistaken for end-to-end coverage. The verification-only change introduces no behavior change; Forgejo CI is terminal 28/28 green.