Skip to content

Harden compiler bootstrap against compromised certificate authorities - #70549

Merged
pelikhan merged 12 commits into
mainfrom
pelikhan-congenial-goggles
Oct 20, 2026
Merged

pelikhan merged 12 commits into
mainfrom
pelikhan-congenial-goggles

Conversation

@pelikhan

@pelikhan pelikhan commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

Why

The October 2026 eMudhra intermediate CA compromise exposes a gap between destination allowlisting and endpoint authentication: an intercepting attacker can replace both an executable and its network-served checksum. Primary response sources are the Mozilla root-program announcement and Go security announcement; the incident website is a secondary report.

ADR: ADR-70549: Authenticate Bootstrap Downloads with Release-Bound Digests in the Setup Action

The ADR's verification placeholders are complete; it remains Draft pending maintainer acceptance.

Approach

  • Authenticate AWF/Copilot checksum manifests against built-in release-bound digests or literal sandbox.agent.checksums-sha256 / engine.checksums-sha256 frontmatter. Supplied pins require explicit versions, propagate through matching detection/eval installations, and fail closed on malformed or mismatched input. Copilot overrides bypass toolcache and authenticate both host and requested musl archives.
  • Keep Compose digest verification inline in an explicit Bash step rather than sourcing job-writable code. Pin the GitHub CLI apt signing key, preserve threat-detect asset pins and guest attestations, and require HTTPS-only initial/redirected requests on the enumerated hardened paths.
  • Add an atomic pin-authoring tool requiring an independently authenticated expected manifest digest. Reject malformed/duplicate entries, mismatches, replacement of reviewed pins and concurrent changes detected during download.
  • Align repository modules, generated Go defaults, lint configuration, devcontainer and all ten owned smoke-workflow Go pins on 1.27.3. Release builds reject older toolchains and record embedded toolchain evidence. Clear inherited GOROOT during root discovery and refresh host/Serena roots to prevent mixed compiler/standard-library versions. Retain narrow diagnostic/initializer compatibility fixes required by Go 1.27 tooling.
  • Make runtime inventory explicitly diagnostic: unavailable Go shims or failed probes warn and continue without weakening artifact-integrity checks. Filter unpinned musl cache candidates before host activation, preserving host-only cache reuse.
  • Document trust boundaries, emergency distrust procedures, per-runtime ownership and explicit gaps. Include regression coverage for original/cross-signed compromised certificates, artifact-plus-manifest substitution, poisoned caches, signing keys, architecture selection and HTTPS downgrade rejection.

Compatibility and limitations

Breaking change: Downloads without a built-in or explicitly supplied manifest pin and uncached latest downloads fail closed. Supplied pins authenticate checksums.txt / SHA256SUMS.txt, not individual binaries, and must come from an independently trusted channel. Update/recompile workflows to use the new setup action. Repository builds and tooling require Go 1.27.3; rebuild existing devcontainers to install the pinned feature.

This PR does not deploy releases or rebuild upstream proxy/MCP/container/guest trust stores. Inline Maven bootstrap remains outside the hardened HTTPS-only and independent archive-integrity guarantees. Inventory versions are not trust-store attestations; broader package-manager enforcement remains a candidate, not an active compiler threat rule.

Validation

  • Targeted Go baseline, stale-GOROOT capture, Serena exposure, runtime setup, schema/pin propagation, installer/cache and affected compatibility regressions pass. Compiler build/formatting and workflow-package WASM build pass.
  • All 345 repository workflows recompiled successfully; the final generated delta was structurally checked for Go version/root-capture and corresponding metadata changes without permission or sandbox expansion.
  • Previously passed: Compose tamper/architecture tests, 27 offline pin-authoring checks, two signing-key cases, six inventory/setup cases, installer/toolchain shell suites and 21 setup-wiring JavaScript tests.
  • Remaining validation limitation: the final full lint checkpoint is blocked by pre-existing custom-analyzer diagnostics (including untouched slice-index/defer/large-function code) and unknown-linter warnings. Normal Go 1.27 checks were not disabled; remaining normal-lint findings are in unchanged parser initializers. Devcontainer image build and live workflow rerun were not performed.
  • Read-only security review found no confirmed vulnerabilities in the reviewed authored source/generator delta. Its generated-output sign-off remained incomplete while recompilation was running; the parent subsequently inspected the settled structural delta. No security-review PASS or live-execution authorization is claimed.

Authenticate release checksum manifests with trusted action pins, enforce HTTPS-only bootstrap redirects, require patched Go release toolchains, and document runtime trust ownership and emergency distrust procedures.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@pelikhan
pelikhan marked this pull request as ready for review October 20, 2026 16:20
Copilot AI max review requested due to automatic review settings October 20, 2026 16:20
@github-actions

github-actions Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

✅ Test Quality Sentinel completed test quality analysis.

Test Quality Sentinel

Outcome: reported_no_action

The agent completed and reported no action. A no-op output alone does not verify that all required work was completed or that publication was possible.

Agent messages are omitted from this comment. The category uses structured run status, not interpretation of agent prose.

Generated from Test Quality Sentinel · sonnet50 · 13.3 AIC · ⌖ 15.1 AIC · ◇ 6.64 AIC · ⊞ 12.6K · ◷

🧪 Test quality analysis by Test Quality Sentinel

@github-actions

github-actions Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

✅ Ponytail Reviewer completed successfully!

Ponytail Reviewer

Outcome: reported_no_action

The agent completed and reported no action. A no-op output alone does not verify that all required work was completed or that publication was possible.

Agent messages are omitted from this comment. The category uses structured run status, not interpretation of agent prose.

Generated from Ponytail Reviewer · gpt56 · 10.2 AIC · ⌖ 5.28 AIC · ⊞ 14.7K · ◷

Generated by Ponytail Reviewer for #70549

@github-actions

github-actions Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

✅ Design Decision Gate 🏗️ completed the design decision gate check. See the comment below for the result and any generated ADR draft.

Commit pushed: 7d25fa5

🏗️ ADR gate enforced by Design Decision Gate 🏗️

@github-actions

github-actions Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

✅ PR Code Quality Reviewer completed the code quality review.

🔎 Code quality review by PR Code Quality Reviewer

@github-actions

github-actions Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Request changes

The Docker Compose bootstrap pins the binary bytes, but then loads the verifier implementation from the job-writable RUNNER_TEMP tree. That allows earlier workflow code to replace the verifier and bypass the pin entirely. The inline comment describes the required trust-boundary fix.

🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt50 · 3.46 AIC · ⌖ 0.608 AIC · ⊞ 1.6K
Comment /review to run again

Comment thread pkg/workflow/copilot_engine_installation.go Outdated
@github-actions

Copy link
Copy Markdown
Contributor

🏗️ Design Decision Gate — ADR Required

This PR makes significant changes to core business logic (272 new lines in pkg/) but has no linked Architecture Decision Record (ADR).

📄 Draft ADR committed: docs/adr/70549-authenticate-bootstrap-downloads-with-bundled-release-pins.md. Review and complete it before merging.

The draft is based on the diff. It records the decision to authenticate AWF/Copilot checksum manifests against release-bound SHA256 pins shipped in the trusted setup action (release_integrity.sh). It also covers HTTPS-only redirects, fail-closed behavior for unpinned and latest releases (a breaking change), and the Go toolchain floors for release builds.

🔒 This PR cannot merge until an ADR is linked in the PR body.

📋 What to do next
  1. Review the draft ADR committed to your branch. It was generated from the PR diff.
  2. Complete the sections marked [TODO: verify], including the deciders and whether signature/attestation verification (Sigstore / GitHub artifact attestations) was evaluated as an alternative.
  3. Commit the finalized ADR to docs/adr/ on your branch.
  4. Reference the ADR in this PR body by adding a line such as:

    ADR: ADR-70549: Authenticate Bootstrap Downloads with Release-Bound Digests in the Setup Action

Once an ADR is linked in the PR body, this gate will re-run and check that the implementation matches the decision.

Reviewer note (unverified): the "incident report" link in the PR body and in specs/security-architecture-spec.md §6.8 points to emudhra.we-have-a-problem.com. This is not an official eMudhra or CA/B Forum domain, so please confirm it is the intended authoritative source before merging.

❓ Why ADRs Matter

ADRs create a searchable, permanent record of why the codebase looks the way it does. Future contributors (and your future self) will thank you.

📋 Michael Nygard ADR Format Reference

An ADR needs these four sections to be complete:

  • Context: What is the problem? What forces are at play?
  • Decision: What did you decide, and why?
  • Alternatives Considered: What else could have been done?
  • Consequences: What are the trade-offs (positive and negative)?

All ADRs are stored in docs/adr/ as Markdown files named by PR number.

🏗️ ADR gate enforced by Design Decision Gate 🏗️ · pi · opus55 · 34.8 AIC · ⌖ 40.7 AIC · ⊞ 1.9K · ◷
Comment /review to run again

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skills-Based Review 🧠

Applied /improve-codebase-architecture and /codebase-design (per pr-triage: architecture_change). This is a well-scoped, well-tested security hardening PR — I verified the digest-pin logic, HTTPS-enforcement, and the CA-compromise regression tests (tls_trust_conformance_test.go) by reading the code and running release_integrity_test.sh locally (10/10 assertions pass). No correctness defects found; feedback below is about test-coverage consistency and pin-maintenance tooling, not blockers.

📋 Key Themes & Highlights

Key Themes

  • Test coverage asymmetry: AWF, Copilot, and threat-detect installers all gained dedicated test scripts for their new digest-verification paths in this PR; install_gh_cli.sh's new pinned apt-key verification did not.
  • Pin-maintenance tooling gap: update-threat-detect-pins.sh and update_container_pins.go exist to generate/validate their pin lists; release_integrity.sh's AWF/Copilot heredoc has no equivalent, so it's the one pin table still maintained by hand-editing.
  • One inline comment (on security-architecture-spec.md) was based on a misreading on my part — TT-01 already names the GitHub CLI key installer and generated Compose installer explicitly. Please disregard that specific comment; I'm leaving it visible for transparency rather than silently dropping it.

Positive Highlights

  • ✅ release_artifact_sha256()'s fail-closed design (missing/duplicate/malformed pin all exit 1, no fallback) is exactly right for this threat model.
  • ✅ tls_trust_conformance_test.go uses real, legitimately-public certificates to reproduce the cross-signed compromised-CA scenario — a strong, concrete regression test rather than a mocked abstraction.
  • ✅ scripts/check-go-toolchain.sh + build-release.sh's embedded-toolchain verification closes the loop between the stated floor and what's actually shipped in release binaries.

@copilot please address the review comments above.

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · copilot · sonnet50 · 169.1 AIC · ⌖ 15.1 AIC · ⊞ 10.2K
Comment /matt to run again

Comment thread actions/setup/sh/install_gh_cli.sh
Comment thread specs/security-architecture-spec.md
Comment thread actions/setup/sh/release_integrity.sh
pelikhan and others added 2 commits October 20, 2026 09:44
Add engine.checksums-sha256 and sandbox.agent.checksums-sha256 with literal version binding, propagate pins through detection and eval installers, and verify explicitly pinned Copilot host and musl downloads without toolcache bypasses.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Preserve the remote architecture decision record and align it with explicit workflow checksum-manifest pins and cache verification semantics.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Security-critical release pins require independent maintainer verification, and bootstrap compatibility issues remain unresolved.

5 open issues
What changed in this PR

Hardens gh-aw’s compiler and setup bootstrap by separating HTTPS transport checks from independent artifact authentication.

Changes:

  • Adds trusted digest verification and HTTPS-only bootstrap downloads.
  • Raises Go toolchain floors and adds runtime diagnostics.
  • Expands regression coverage, security specifications, and migration guidance.
File Description
specs/​security-architecture-spec.md Defines transport-trust controls and ownership.
specs/​compiler-threat-detection-spec.md Maps bootstrap controls to compiler boundaries.
specs/​compiler-threat-detection-changelog.md Records specification changes.
scripts/​update-threat-detect-pins.sh Restricts maintenance downloads to HTTPS.
scripts/​check-go-toolchain.sh Enforces patched stable release toolchains.
scripts/​check-go-toolchain_test.sh Covers toolchain acceptance and rejection.
scripts/​build-release.sh Verifies and records build toolchains.
pkg/​workflow/​tls_trust_conformance_test.go Tests CA distrust and redirect rejection.
pkg/​workflow/​runtime_setup_test.go Updates expected Go default.
pkg/​workflow/​runtime_integration_test.go Uses the patched Go default constant.
pkg/​workflow/​firewall_version_pinning_test.go Checks default pins and Compose integrity.
pkg/​workflow/​copilot_engine_installation.go Verifies Compose bytes before installation.
pkg/​constants/​version_constants.go Raises default Go to 1.26.10.
pkg/​cli/​install_copilot_cli_test.go Updates installer fixtures and rejection checks.
Makefile Includes bootstrap hardening shell tests.
go.mod Raises minimum and preferred Go toolchains.
CHANGELOG.md Documents breaking changes and migration.
actions/​setup/​sh/​runtime_trust_inventory.sh Adds diagnostic host TLS inventory.
actions/​setup/​sh/​release_integrity.sh Provides trusted pins and digest verification.
actions/​setup/​sh/​release_integrity_test.sh Covers tampering and unreviewed releases.
actions/​setup/​sh/​install_threat_detect_binary.sh Restricts binary downloads to HTTPS.
actions/​setup/​sh/​install_threat_detect_binary_test.sh Checks HTTPS-only download flags.
actions/​setup/​sh/​install_gh_cli.sh Authenticates apt signing-key bytes.
actions/​setup/​sh/​install_copilot_cli.sh Authenticates manifests before archive downloads.
actions/​setup/​sh/​install_awf_binary.sh Authenticates manifests and rejects integrity fallback.
actions/​setup/​sh/​install_awf_binary_test.sh Updates checksum and download-policy fixtures.
actions/​setup/​sh/​cloud_hypervisor_setup_enclave_artifacts.sh Restricts installer downloads to HTTPS.
actions/​setup/​sh/​cloud_hypervisor_setup_bundle.sh Restricts bundle downloads to HTTPS.
actions/​setup/​setup.sh Invokes runtime TLS inventory during setup.
.changeset/​compiler-transport-trust.md Declares the major compatibility change.

Review effort: Max

Comment thread actions/setup/setup.sh Outdated
Comment thread actions/setup/sh/install_copilot_cli.sh Outdated
Comment thread actions/setup/sh/release_integrity.sh
Comment thread pkg/workflow/copilot_engine_installation.go Outdated
Comment thread specs/security-architecture-spec.md Outdated
pelikhan and others added 2 commits October 20, 2026 09:49
…ggles

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Inline Compose verification under Bash, add isolated signing-key and diagnostic regressions, automate independently authenticated release-pin authoring, preserve reviewed musl guest cache compatibility, migrate the smoke workflow, and clarify the ADR and security conformance scope.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@pelikhan

Copy link
Copy Markdown
Collaborator Author

In reply to Test Quality Sentinel: no code change is needed because this completion notice contains no concrete finding. Its reported_no_action outcome is not being treated as evidence that validation or publication is complete.

@pelikhan

Copy link
Copy Markdown
Collaborator Author

In reply to Ponytail Reviewer: this completion notice includes no actionable finding requiring another change. Reviewer completion alone does not establish that all required work is complete.

@pelikhan

Copy link
Copy Markdown
Collaborator Author

In reply to Design Decision Gate: reviewed the generated ADR, replaced verification placeholders with bounded evidence, and linked it explicitly in the PR body. It remains Draft pending maintainer acceptance.

@pelikhan

Copy link
Copy Markdown
Collaborator Author

In reply to PR Code Quality Reviewer: the associated Compose trust-boundary finding is fixed with inline digest verification and regression coverage. This completion notice requires no additional code change.

@pelikhan

Copy link
Copy Markdown
Collaborator Author

In reply to Matt Pocock Skills Reviewer: addressed the actionable inline feedback on signing-key tests and pin maintenance, and clarified specification wording without treating the withdrawn complaint as a missing control. No separate change is needed for this completion notice.

@pelikhan

Copy link
Copy Markdown
Collaborator Author

In reply to the ADR requirement: completed the verification placeholders and added an explicit ADR link to the PR body, while retaining Draft status rather than inventing maintainer approval. The ADR cites primary Mozilla and Go announcements, labels the incident website as secondary, and records the bounded attestation evaluation and remaining Maven limitation.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot address the following outstanding work in one pass:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes.
  2. Fix failing check impacted-go-tests (FAILURE): https://github.com/github/gh-aw/actions/runs/39463136499/job/118768206380.
  3. Fix failing check JS Tests (shard 2/4) (FAILURE): https://github.com/github/gh-aw/actions/runs/39463136537/job/118767775384.
  4. Fix failing check lint-go-golangci (0) (FAILURE): https://github.com/github/gh-aw/actions/runs/39463136499/job/118768207593.
  5. Fix failing check lint-go-golangci (1) (FAILURE): https://github.com/github/gh-aw/actions/runs/39463136499/job/118768207385.
  6. Fix failing check lint-go-golangci (2) (FAILURE): https://github.com/github/gh-aw/actions/runs/39463136499/job/118768207200.
  7. Fix failing check Unit tests (A-C) (FAILURE): https://github.com/github/gh-aw/actions/runs/39463136499/job/118769102198.

Push the necessary fixes, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved. Use the pr-finisher skill and stop when only human review or CI remains; do not trigger CI.

Sous-chef head: a9dd386
Sous-chef work: 043185828d65a534dd8b2b6b4d00e0d47bf21a2940d3f277c0ed15da7f668648 1027833686a7050a64d8bfe136387980a34b94be7e9b120f51fd825652824672 12e2d92b8c5b535f1d3147e14962e78f9a50d376e8a16f13e4326968dc5aa3f5 20c5fb9e2e37672daf5b7271dae9c95ff59f03cf41d0cde5ac7e2acc9456d2d1 42e5d572d9d75b7168fe7d0aeda0717cc07e65ed240f6d299e6fec661214f1ac 627fd9aee94d024ba6d51703addf78a228828fa3354163553af07501e2a758c0
Sous-chef state: 1e8e10fd6c9d0867853e55169bbbe10b31f11907aac637190766fababf4f3a3f

Generated by 👨‍🍳 PR Sous Chef · pi · haiku45 · 8.33 AIC · ⌖ 11.7 AIC · ⊞ 1.1K · ◷
Comment /souschef to run again

Copilot AI and others added 2 commits October 20, 2026 17:36
…ggles

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>

Copilot AI commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

@copilot address the following outstanding work in one pass:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes....

Merged latest main (a6e21fe) and fixed the three root causes behind the six reported failures in 8cf7610: updated golangci-lint, corrected the HTTPS-only curl test fixture, and made the generated-YAML assertion format-tolerant. make lint, the full Go test suite, focused Go/JS tests, and the final impacted-change gate pass. All nine review threads are already resolved. CI was not triggered and must be rerun by a maintainer.

Resolve the overlapping portfolio test updates using parsed activation conditions, retaining rerun and admission checks independently of YAML formatting.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot address the following outstanding work in one pass:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes.
  2. Fix failing check impacted-go-tests (FAILURE): https://github.com/github/gh-aw/actions/runs/39472630163/job/118800679859.

Push the necessary fixes, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved. Use the pr-finisher skill and stop when only human review or CI remains; do not trigger CI.

Sous-chef head: 07834bc
Sous-chef work: 42e5d572d9d75b7168fe7d0aeda0717cc07e65ed240f6d299e6fec661214f1ac
Sous-chef state: 3ff6dfd210d10faa021b792035353a6a81f6b39d82fc22f2edd71035da58c336

Generated by 👨‍🍳 PR Sous Chef · pi · haiku45 · 3.29 AIC · ⌖ 8.48 AIC · ⊞ 1.1K · ◷
Comment /souschef to run again

@pelikhan

Copy link
Copy Markdown
Collaborator Author

/smoke-copilot

@github-actions

github-actions Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

📰 BREAKING: Smoke Copilot is now investigating this issue comment. Sources say the story is developing...

The Go 1.27 toolchain moves HTTP/2 read loops into net/http/internal/http2. Close the default client's idle connections after tests finish instead of adding leak-detector exclusions for the new implementation.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

@copilot address the following outstanding work in one pass:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes....

Merged latest main and fixed the Go 1.27 HTTP/2 goroutine matcher plus the flaky output-guard timing bound in local commit 2a2dffb; local lint and tests pass. Publishing is blocked because report_progress repeatedly fails while signing the rebase with an HTTP 400 from the signing service. I did not bypass signing or trigger CI, so the commit still needs publishing and CI re-trigger.

@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot address the following outstanding work in one pass:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes.
  2. Fix failing check impacted-go-tests (FAILURE): https://github.com/github/gh-aw/actions/runs/39476443347/job/118813771737.
  3. Fix failing check Native JavaScript analysis tests (FAILURE): https://github.com/github/gh-aw/actions/runs/39476443347/job/118813771352.

Push the necessary fixes, reply to each listed review thread and resolve it when addressed. Ignore feedback already answered or resolved. Use the pr-finisher skill and stop when only human review or CI remains; do not trigger CI.

Sous-chef head: d4db889
Sous-chef work: 42e5d572d9d75b7168fe7d0aeda0717cc07e65ed240f6d299e6fec661214f1ac 8fb70b0b8fed231e35c344ab569d3cc13867efef47dddd5e34a098942550a992
Sous-chef state: 96db19cc61b550b1b188d1fd8d1e04a42f82d9f02713fa1315d83cd034b2957c

Generated by 👨‍🍳 PR Sous Chef · pi · haiku45 · 3.14 AIC · ⌖ 7.88 AIC · ⊞ 1.1K · ◷
Comment /souschef to run again

pelikhan and others added 2 commits October 20, 2026 12:35
Upgrade module, runtime, smoke, lint and devcontainer toolchain pins; refresh Go roots without inherited GOROOT for host builds and Serena; add baseline and stale-root regressions and retain only required Go 1.27 diagnostic/initializer compatibility fixes.

Validation: targeted Go tests, build, formatting, WASM build and all 345 workflow recompilations passed. Full lint checkpoint remains blocked by existing custom-analyzer diagnostics and unknown-linter warnings; no checks were disabled.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Update the smoke-copilot fixture to include strict, stale-root-safe GOROOT discovery. Golden regeneration and verification passed; the repository-wide checkpoint retains its previously reported lint blockers.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@pelikhan
pelikhan merged commit 10a5333 into main Oct 20, 2026
56 checks passed
@pelikhan
pelikhan deleted the pelikhan-congenial-goggles branch October 20, 2026 19:51

Copilot AI commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

@copilot address the following outstanding work in one pass:

  1. Update this branch with the latest main using make merge-main, resolving any conflicts and preserving the intended changes....

Merged latest main with make merge-main and fixed the failure in 943ce6d5: the CI log showed TestAgyHarnessTerminatesUnterminatedOutput exceeded a brittle 4s timing assertion (4.146s) while correctly detecting the output limit. The regression now uses a bounded test-only watchdog and asserts the output-limit error. Local lint and the final impacted-test gate passed; the PR has since been merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants