Skip to content

fix(release): ship the standard disclaimer in Rust distributions - #6500

Merged
M4n5ter merged 8 commits into
rust-previewfrom
fix/rust-standard-disclaimer
Oct 31, 2026
Merged

M4n5ter merged 8 commits into
rust-previewfrom
fix/rust-standard-disclaimer

Conversation

@Astro-Han

@Astro-Han Astro-Han commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Rust preview still carries the old claim that the software grant and committer ICLAs are incomplete. The historical ICLA objection was resolved during 0.2.0 RC2. Review of the Rust tree found concrete release omissions instead: native npm packages and the launcher omit the incubation disclaimer, the Windows icon is missing from the source asset inventory, and three vendored components are absent from the top-level attribution list.

Use the standard DISCLAIMER and carry it through source verification, native packages, the launcher, installed-package verification and website checks. Native macOS bundles also carry LICENSE, NOTICE and the actual native notice closure; both npm README languages receive the canonical disclaimer during packing. The Rust downloader requires and integrity-binds these documents, including the bundle resources.

Record the historical ICLA resolution in the existing provenance document, register the logo-derived Windows icon, and add reqwest, image-webp and Playwright attribution while preserving their original licenses. The complete Playwright upstream NOTICE is retained in the root NOTICE.

Provenance review

  • Checked the ten vendored source manifests and their source/license records, the Cargo license policy/inventory and the reviewed native notice snapshot. Pinned Playwright payload and license hashes match; documented local adaptations retain their license materials.
  • Verified the product logo against its geometry and the workbench copy byte for byte. The Windows ICO is the seven-resolution derivative introduced in fix(windows): embed desktop application icon #6446. The source archive verifier now accepts that specifically recorded input.
  • The existing source ledger covers fonts, upstream images, adapted Codex source and the generated catalog. External MPL dependencies retain their binary-distribution license/source references; their source is not added to the ASF archive.
  • Historical ICLA concerns are resolved by the original public clarification and Justin's withdrawal, linked in the ledger. Unrecorded old AI model/account details are not introduced as a new release gate.

Verification

  • CI follow-up: strict lint exposed two pre-existing issues. Collapse the browser handoff condition without changing its short-circuit behavior, and compile the ModelRequest::tool_call fixture helper only with desktop-tests, matching its existing callers. The existing handoff cleanup test passes. Default CLI integration Clippy reproduces the unused-helper failure before the feature gate and passes afterward (--no-deps -- -D warnings); the same integration target also compiles with desktop-tests enabled. Native macOS Computer Use Clippy no longer reports the browser diagnostic and adds no new diagnostics; it still reports the same 11 pre-existing diagnostics in unchanged macOS files.
  • Post-merge baseline verification: CI 41296455060 passed all 17 jobs at rust-preview@cfd51fad570bbdb98c54e704400775b7b046d318, which contains merge commit b1a39d68bfb593064acdd4afb54656565a4d5d1b. This includes Ubuntu, macOS and Windows native checks, Clippy, NSH/GPUI, root build and all four root-test shards. Historical failed PR-head checks remain recorded separately.
  • Before the fix, actual native and launcher tarball tests failed because package/DISCLAIMER was absent. Both now pass and read back the legal files and npm README disclaimers. Native fixtures cover macOS, Linux and Windows.
  • Source-release/header/packaging tests: 27 passed; logo reproduction: 1 passed.
  • Rust distribution tests: 4 passed, covering all targets, missing required documents, transfer/cache integrity and offline reuse.
  • Website build and checks: 10 passed.
  • Rust formatting, focused CLI Clippy (--no-deps -- -D warnings), Biome formatting/lint and dependency/notice checks passed.
  • Built and verified the complete unsigned source archive at fc1410a233bd97378e69b4fd79b7466a5273e116: 6,301 archive entries, 19,397,384 bytes. Read back DISCLAIMER, LICENSE, NOTICE and the Windows icon and compared them with the committed tree. No DISCLAIMER-WIP remains in the archive.

Local verification did not include full just check, a signed RC, or full native release builds/install smoke tests. No artifacts are published by this PR.

Packaging compatibility

All native targets and their launcher must be rebuilt from the same updated source candidate. Old preview packages without the required disclaimer do not satisfy the updated archive/cache contract. Existing released archives and tags are unchanged.

AI use

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Codex reviewed the source/material records, implemented the disclaimer and packaging changes, extended existing behavioral tests and ran the verification above.

Checklist

  • Tests cover the change and fail without it
  • Applicable formatting, lint and focused checks pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

@Astro-Han Astro-Han left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Automated review notice: This comment was posted by an automated review agent. It is not an independent human review and does not replace one.

I reviewed the complete 22-file diff at acdc72f1fb62ee124e3b690d2992d18338189766, including source verification, native and launcher packing, archive/cache required members, installed-package checks, attribution and the website references. I found no confirmed P0–P2 implementation defect in that scope. This remains a draft, and the licensing conclusions have the verification boundary below.

The packaging omission is independently demonstrated: the updated native-package test passes with the new packer and fails with the unchanged target's old packer because package/DISCLAIMER is missing from the actual npm tarball. The passing fixture builds macOS, Linux and Windows package layouts and reads back their legal files and both README disclaimers; its executables and external validator are controlled fixtures, not real native builds. The launcher test also packs and inspects the actual npm tarball from a verified source fixture. In the five relevant Node test files, 27 tests passed; one source-identity test could not reach its expected version-mismatch assertion because this machine has no cargo (spawn cargo ENOENT). The release implementation for that path is unchanged by this PR. I did not count that test as passed.

I separately created and verified an unsigned source archive from this exact commit: 6,301 entries, 19,401,720 bytes. I extracted DISCLAIMER, LICENSE, NOTICE and maka.ico and compared their bytes with the committed files; no DISCLAIMER-WIP remains in the archive. The logo reproduction test, source-header audit, notice-snapshot check and whitespace check passed. I checked the two newly listed Rust components against their recorded versions/licenses, the complete upstream Playwright NOTICE against the root NOTICE, the seven PNG images in the ICO and the identical workbench/product logos. Reqwest's MIT text differs from its recorded upstream bytes only in surrounding whitespace, which I checked against the published crate; I am not claiming every vendored source file was independently audited.

The downloader's source now requires the new root document and macOS resource documents and includes them in the existing per-file integrity receipt. That intentionally excludes older preview packages/caches lacking those files; the same-source rebuild requirement is documented. I inspected that Rust path and its added tests but did not execute the Rust archive/cache tests, real installation smoke, signed release or native application builds. There is no wire or database migration change.

The Incubator policy permits the two disclaimer forms, while the release guide requires full ASF-policy compliance when selecting the standard form. Mechanical inclusion of a document does not establish that compliance. The historical RC2/ICLA/withdrawal links remain author-supplied evidence here: the original ASF mail threads are still inaccessible in this environment. I have not independently confirmed their contents or the sufficiency of all retained material for a future release; this review is not a release or legal approval.

The actual merge into rust-preview@671ffaececaf4612e847e0c797d5691b76d5f7e8 succeeds without conflicts. CI 41197488735 failed during lint on unused ModelRequest::tool_call at products/maka/terminal-shell/tests/real_host/support.rs:541; that helper and the CLI Cargo manifest are unchanged from the target this PR started from. The earlier browser.rs:789 diagnostic is absent from this run after the short-circuit-preserving condition collapse, but the full check remains red and subsequent integration is skipped. The separate website, dependency audit and three-platform Computer Use checks succeeded; those results do not substitute for the full runtime check.


Automated review notice: This comment was posted by an automated review agent operated by Astro-Han. It is not an independent human review and does not replace one.

@Astro-Han Astro-Han left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Automated review notice: This comment was posted by an automated review agent. It is not an independent human review and does not replace one.

Incremental review at 487fe02777330edb7e5f483b1e81f8d09c8d4fea, compared with my previous review at acdc72f1. I read the current PR diff and the sole added change: #[cfg(feature = "desktop-tests")] on ModelRequest::tool_call. Its two callers are in desktop_new_session, which is already compiled only with that feature. The method stays available to those callers and is omitted from the default integration target. I found no confirmed new P0–P2 issue from this change. The current target has independently incorporated the same helper gate and browser-condition fix.

CI 41201046952 now passes the previously failing lint stage and reaches the workspace tests: 1,931 passed, 2 failed, 26 skipped. The failures are distinct:

  • exclusive_session_retirement_settles_parked_work_without_a_new_activation fails at approval_park.rs:688 with MaterialCollected. This is the same failure already observed in earlier target CI; I have not reproduced its underlying cause locally.
  • candidate_preserves_root_authority_and_drains_on_owner_loss_or_released_idle fails at candidate.rs:235, receiving active_tasks where it expects prepared. This PR does not change that test or the candidate/Root lifecycle implementation. I have not established whether the cause is shared with the target or specific to this run, and I am not labeling it a random flake or a proven packaging regression.

The full check remains failed; the old Clippy failures are no longer the reason for this run's failure. Separate website, dependency-audit and three-platform Computer Use checks succeeded. I did not rerun Rust locally because this machine has no Rust toolchain. My prior 27 passing Node checks, one cargo-dependent check that could not complete, and the unsigned source-archive verification apply specifically to the earlier acdc72f commit; I have not regenerated those artifacts at this head. Packaging and licensing-source files are unchanged by the added commit, and the earlier real-installation, retained-material and original-ASF-mail verification limits still apply.

The actual merge into rust-preview@dfc0e232370fd29447d01570273c8a541bc902aa succeeds without conflicts. This PR remains a draft; neither this incremental check nor the earlier packaging evidence establishes release/legal approval, a successful merged runtime check, or a signed release.


Automated review notice: This comment was posted by an automated review agent operated by Astro-Han. It is not an independent human review and does not replace one.

liugddx and others added 5 commits October 31, 2026 22:11
sleep takes no arguments and has no duration. It ends the Turn through the
engine's existing FinishTurn semantics, and the Bot is woken again by a user
message, a WorkHub result or a scheduled event, each of which already starts
its own Turn. It is refused only while a queued message is already bound for
the running Invocation's next step, so a promoted message is read first.

Like SendUser it is granted by Bot identity, always visible, hidden from
other Sessions and rejected from a requested tool list. The standing
instructions tell the model to call it on its own, not in the same step as
SendUser, which FinishTurn would reject.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Preserve both the Sleep regressions and workspace-free Bot opening tests.
Update the existing retirement test to observe a removed Session through its
public API, since deletion now collects the original history material.

Generated-by: OpenAI Codex
@M4n5ter
M4n5ter marked this pull request as ready for review October 31, 2026 16:34
@M4n5ter
M4n5ter merged commit b1a39d6 into rust-preview Oct 31, 2026
4 of 5 checks passed
@M4n5ter
M4n5ter deleted the fix/rust-standard-disclaimer branch October 31, 2026 16:36
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.

3 participants