fix: override Bottlerocket autoscaling should-wait to false - #9464
Open
konippi wants to merge 1 commit into
Open
fix: override Bottlerocket autoscaling should-wait to false#9464konippi wants to merge 1 commit into
konippi wants to merge 1 commit into
Conversation
vdemkiv
pushed a commit
to vdemkiv/taskPlane
that referenced
this pull request
Aug 12, 2026
…ops paying six times v2.9.0 was run end-to-end against aws/karpenter-provider-aws#9464 in a separate session. The harness held — not one write reached reviewed source — and nine defects surfaced that only appear at somebody else's scale. B6 the headline said `0 high · 3 med · 13 low` over a finding whose `class: regression` the engine's own gate blocks; the reviewer read the headline, reported "0 confirmed regressions", and recommended approve. It now reads the blocking set off loop.classify_findings — never a second implementation — and prints `1 BLOCK (1R·0H·1P·0O)`. B1 six sibling lens contracts intersected to the EMPTY set, so 4 of 6 lenses wrote nothing and the wave board read 2/6 for a finished review. Sibling waves (all read-only, all write-allow under one common root) now merge write-allows and SUM budgets; genuinely competing contracts still intersect to nothing. B5 a root go.mod was skipped, so every pkg/** import landed as ext: and graph impact reported 2 modules on a 256-module repo. The root module path is consumed as a PREFIX, never as a module id. B7 tp version was broken on every Claude-side install — it read only the Codex manifest, which the Claude package does not ship. B8 a review dashboard is a standalone document when it leaves the session. B9 six lens agents each burned actions rediscovering that `go test` could not run. lens dispatch now probes runnability ONCE with a bounded cheap subcommand (never the suite), states it in every brief with an explicit do-not-re-probe instruction, shows it on the wave board, and caches it per tree state + PATH. Information, never a gate — pinned by a test that no screener, contract or gate reads it. TASKPLANE_RUNNABILITY=off. Refused: exempting `tp clear` from metering. Clearing leaves the workspace ungoverned, where the screener abstains — a deadlock traded for a bypass. Only pure reads are exempt; recovery happens from outside. 1,899 tests, both CI legs plus the C-locale leg. 13 mutations observed failing, one of which found a position bug in this wave's own code (`echo tp clear` was read as a release command). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SQDTFvvooeVoKMfCfJD1Yh
vdemkiv
pushed a commit
to vdemkiv/taskPlane
that referenced
this pull request
Aug 12, 2026
…ncies Two field reviews of aws/karpenter-provider-aws#9464 both cloned the repository and neither could PROVE it. `tp new` took the target as free text; the contract recorded task, read_only, write_allow, budget — no origin, no base, no head, no record of how the code arrived. Both reports stated the workspace and the diff base in prose, by hand, and a review conducted entirely from a rendered web diff would have produced identical artifacts and an identical gate. tp target fetch <pr> acquires a pull request with the same two git commands every time, and records them tp target pin --base reads what the checkout IS — origin, head, base, merge-base, dirty paths — and reduces it to one comparable fingerprint tp target tools is git present, is gh present and authenticated tp new --target … does the pin (and optionally the fetch) at activation and writes it into the contract Findings cite the fingerprint in `meta.target`. `tp findings` prints UNBOUND when they cite nothing or a different tree — reported, never withheld, because a human is better served by the findings plus a warning than by a refusal. The SIGN-OFF is what is gated: the PreToolUse screener refuses dod / loop submit / loop approve / loop retro on a read-only contract until the workspace is pinned. Same conversion as v2.9.0's obligations, and just as narrow — doing the review is never blocked, only declaring it finished, and a build contract (which already carries its snapshot) is untouched. GH AS A DEPENDENCY. A clone carries the code and none of the intent: a PR's title, body, linked issues and review conversation are not in the git objects at all. In the field gh was absent and that context arrived over unauthenticated web reads nothing recorded. `tp onboard` and `tp target tools` now report git and gh with versions and auth state; `--install` installs gh through the host's own package manager; a remote-PR review without gh fails loudly instead of degrading quietly. taskplane deliberately does NOT download and execute a release tarball. A hardcoded checksum nobody maintains is a worse guarantee than the package source the user already trusts, and a test pins that target.py never reaches for curl, urlopen, requests or tarfile. Also: the release-tag gate's C4 exemption covered exactly one unreleased version, which broke the moment two release commits stacked up locally (v2.11.0 committed, v2.12.0 in the tree). It now exempts any version some commit reachable from HEAD declares — prepared, not merely claimed. 2,013 tests, three legs. 9 mutations observed failing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SQDTFvvooeVoKMfCfJD1Yh
konippi
force-pushed
the
fix-bottlerocket-should-wait
branch
from
August 13, 2026 02:37
8b187b8 to
210bdf4
Compare
Author
|
Hi @ryan-mist, gentle ping on this PR when you have a chance. This fixes the Bottlerocket node registration issue described in #5552. |
konippi
force-pushed
the
fix-bottlerocket-should-wait
branch
from
August 26, 2026 06:18
210bdf4 to
3691a61
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #5552
Description
Bottlerocket's
settings.autoscaling.should-wait = truemakes a node wait for its EC2 Auto Scaling group to reachInServicebefore starting kubelet. Karpenter launches instances through EC2 Fleet and never joins an Auto Scaling group, so the node waits forever and never joins the cluster. Karpenter now overrides an explicitly configuredshould-waittofalsewhen generating Bottlerocket UserData, preserving othersettings.autoscaling.*fields and emitting nothing when the setting is not specified to stay compatible with Bottlerocket images that predate it.How was this change tested?
trueis overridden tofalse, sibling-only autoscaling tables are left untouched, nosettings.autoscalingis emitted when unspecified, and non-boolean values are rejectedgo test -race ./pkg/providers/amifamily/bootstrap/...andgo vetpassDoes this change impact docs?
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.