Repository navigation
build(classic): switch supported toolchains to LLVM - #588
Conversation
Movement regression summaryThe base/candidate replay was skipped because no movement-sensitive implementation files changed. |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b327a1c5dc
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review Please review current head |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a269016145
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review Please review exact head24f6ecb12b02a8f73534141ef49ecc388ce285c1. Both latest policy/classification findings are addressed and independently reviewed. Integrated817 tooling tests pass (49 prerequisite skips), client221 pass (two skips), native production/coverage/software GPU/sanitizer diagnostic evidence is clear. Prior a269 hosted aggregate and native Windows pass; earlier b327 intermittent close stall remains unresolved, with bounded opt-in diagnostics added for fresh evidence. No qualification or deadline relaxation. |
|
Codex Review: Didn't find any major issues. Nice work! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
@codex security review Please review exact current head |
|
Codex Review: Didn't find any major issues. Bravo. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
@codex review Please review exact current head |
|
Codex Review: Didn't find any major issues. Bravo. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
@codex review Please review exact current head |
|
Codex Review: Didn't find any major issues. You're on a roll. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
@codex review Please review exact current commit 9f2e432. It adds timeout-only CPU-ranked owned-thread diagnostics, preserving process/thread generation fences, bounded snapshots, resume-before-unwind, default application silence, rendering behavior and the existing 30-second close failure. Independent source review is clear; 820 integrated native tooling tests run (771 pass, 49 prerequisite skips), and actual PowerShell/C# fixture controls pass. Native Windows API execution and real-client acceptance require fresh hosted CI. Prior Windows timeout evidence remains unresolved; no rendering recovery is claimed. |
|
Codex Review: Didn't find any major issues. 🚀 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
<!-- claude-projects-attribution: {"github_login":"zoeyrose"} -->
_Requested by **Zoey** · [project
thread](https://claude.ai/code/project/chan_01GqFGRfVxfKgHRxSgL4g4qr?thread=cmsg_01GqFGRfVxfKgHRxSgL4g4qr8QRmstGjD1db1c8HCp5KSi)_
Before: Dependabot's docker updates for `/server` open PRs that change
only one `FROM` line in `server/Dockerfile`, and they always fail Check.
#620 (classic-build 1.18.0 to 1.28.0) fails
`test_server_runtime_provider` and `test_workflow_contracts`. Both tests
require the Dockerfile's build image to equal
`runtime-provider.lock.json` and the `CLASSIC_LINUX_IMAGE` pins.
After: Dependabot ignores `atrinik/classic-build` and `ubuntu` in
`/server`, and a comment in `dependabot.yml` explains why. New SDK or
base images are adopted through a qualification PR, as with #588 and the
1.18 measurement in `docs/CARES_PROVIDER.md`.
Both stages are qualified pins, not routine updates. The SDK image is
bound to the runtime provider lock's measured payload and package
evidence, and to the pins in eight workflows,
`tools/ci/server_benchmark.py` and the AppImage packaging lock.
`CARES_PROVIDER.md` says the Ubuntu base "must pass the actual assembly
checks below; changing an image digest alone does not qualify its
installed package dependencies."
How: an `ignore` list on the existing `/server` docker entry. The `#
syntax=` frontend pin and the other ecosystems still update.
---
_Generated by [Claude
Code](https://claude.ai/code/session_016FyuSKkineBeVKbubYFsqd)_
Co-authored-by: Claude <noreply@anthropic.com>
Summary
Switch supported Classic builds to LLVM 23.1.3 on Linux and native macOS, and LLVM-MinGW 20261006 UCRT on Windows. Preserve dependency features and optimization behavior with LTO and PGO disabled.
Implementation / behavior
Use Clang, LLD, LLVM utilities, compiler-rt and libunwind with compatible platform libraries. Support monorepo, scoped archive and installed-consumer builds; preserve profiling identities and strict native LCOV export.
Pin current Linux, Windows and release compilers to verified immutable SDK 1.18 images. Bind Windows package helpers and CMake discovery to the selected host Python, independently of target Windows Python. Authenticate current recipes, including both shared libatrinik CMake inputs and the integrated protocol 1084 CMake changes; retain all six original historical release producers.
Run historical GCC and current LLVM server benchmark revisions in separate authenticated containers and caches, preserving strict current LLVM builds and recording the compiler difference. Changes to the benchmark runner and its tests select the requested server benchmark and applicable native checks.
Avoid draining unrelated primary-map work when allocating the minimap's first instance buffer. Preserve completion waits before replacing existing resources. Add deterministic coverage for both cases. Keep the 30-second Windows close deadline and bounded owned-thread stack diagnostics. Record a query-only per-thread CPU baseline before close; after timeout rank matching live thread generations by CPU delta and capture at most two bounded module-relative stacks. Bound sampling and observers, retain owned handles, and resume each thread before unwind. Compile the observer before application startup. Missing, new or exited threads remain unavailable rather than inferred.
Add child-scoped dual-opt-in presentation diagnostics, capped at one bounded identity and 64 paired map-bearing frame records. Record observed resource retirements separately from submissions without new GPU queries or waits. Fence bounded process CPU snapshots by owned handle and process generation; preserve presentation order and the 30-second close deadline.
Authenticate 15 selected compiler/version/runtime/sound/dependency policy inputs and reject ten preferred local shadow paths. Document that this policy-routing drift guard does not attest the entire executable source graph or compiler origin; exact-source review and actual build evidence remain required. Route the shared toolkit-interface test through both native client and server jobs.
Isolate temporary benchmark repositories from inherited Git maintenance, hooks and templates. Apply the same fixture-only policy to clone, commit and worktree operations; retain strict cleanup and actual historical-contract and offline routing assertions. A hostile-policy regression covers successful comparison and candidate failure. Production benchmark execution is unchanged.
Keep the complete 13,146-tick long freeze regression in a separate Check case with a finite 30-second budget and identical fixtures; other Core tests retain their default budget.
Integrate Classic main
2654b1bef9573f3e167d470a3cb9c72acd04819c, including matching protocol 1084 sources and the native changes required by content 1.12.Validation
Current head:
9f2e4321a8176a0687b85cb6f6b222f88f91d820.9f2e4321passes all 93 selected CPU tests without failures or skips, including 24 HTTPS transport cases in 12.9097 seconds. LLVM/LLD 23.1.3, compiler-rt, native C/C++ SDK probes and the production Release client/shared-library graph are verified. Independent evidence review authenticates the artifact and exact source. The fixture avoids numeric-loopback reverse DNS while preserving TLS checks and deadlines; its focused independent review passes 15 tests without skips. GPU, Intel macOS and packaging are outside this receipt.665b4c0passes every applicable job and the aggregate, including native Windows and macOS. The preceding PR Check fails during temporary historical Git-clone cleanup. Trace evidence confirms fixture maintenance can write after commit returns; attribution of that exact hosted cleanup error remains unproven. The fixture-only repair passes 69 focused tests and independent review, including a reproduced inherited-hook control on both clone and comparison worktree paths. At preceding31585a03, all 819 integrated tooling tests pass locally. Current9f2e4321runs 820 integrated tooling tests: 771 pass and 49 prerequisite-dependent cases skip. The initial native run inherited umask 077 and failed an existing 0755 fixture; the unchanged suite passes with required umask 022. Independent source review verifies the final integrated tree and unchanged validated diagnostic bytes. Current31585a03Core and server checks pass, and Codex code review is clear. Current manual Check passes all applicable jobs and the aggregate. Current PR Check fails native Windows close acceptance and therefore the aggregate. CodeQL and server benchmark checks pass. The separate private Security Report is unavailable; older summaries are not represented as fresh.b327successfully builds and executes the genuine GCC15.2/SDK1.16 base and Clang23.1.3/SDK1.18 head. Small informational samples do not establish a reliable speedup or regression; client performance is qualification-skipped.31585a03native Windows PR validation times out at the unchanged 30-second close deadline during frame 2 presentation. Process CPU advances 29.968 seconds over 30.016 wall seconds; this does not identify the busy thread or prove GPU work is responsible. The same-head manual validation passes, with frame 2 presentation taking 22.228 seconds on the same reported software adapter and driver version. The last observed map retirement count does not establish continuous fence state during blocked presentation. The current source adds independently reviewed bounded CPU-ranked thread diagnostics. Local actual PowerShell/C# fixtures and 31 focused Python cases pass. Current9f2e4321PR validation passes all applicable jobs and the aggregate, and exact-head Codex review is clear. The native Windows fixture successfully identifies and captures the CPU-busy worker with bounded top-two output and natural child exit. Actual real-client close succeeds inside 30 seconds. Independent current macOS and Windows evidence reviews are clear. Current manual Check also passes every applicable job and the aggregate, including both actual native qualification paths and trusted software GPU coverage. All fresh required/applicable checks pass; no unresolved current review findings remain. This preceding failure is still unresolved; no rendering fix is claimed. Earlier native macOS and server qualification receipts retain their exact source/environment scope.Limitations / follow-up
Removing the unnecessary wait does not establish timely underlying GPU completion or complete Windows stall recovery; fresh native Windows acceptance remains required. Physical GPU qualification, audible playback and human-approved goldens remain outstanding.
After current checks/reviews pass, merge Classic and run the main-only nonpublishing release rehearsal. Qualify a portable producer bound to merged Classic revision M, verify its genuine release, complete workspace build/export/relocation acceptance, and synchronize provider guidance and pins. Released portable SDK 1.18 remains preliminary. No live deployment is included.