build: move onto the published 0.4 engine - #32
Closed
pathscale wants to merge 2 commits into
Closed
Conversation
added 2 commits
August 31, 2026 20:21
ps-blitz published 0.4.0 (PR #79: selectable user agent, the display:contents hoist panic, the @import cross-thread panic). None of it could reach this repository, because a prerelease requirement only matches its own prerelease line: ^0.3.0-beta.6 accepts 0.3.0-beta.* and nothing else, not 0.3.6 and not 0.4.0. That is also why scripts/local-engine.sh appeared to do nothing. Cargo reported 'patch ... was not used in the crate graph' and carried on with the registry copy, so an edit to a local engine checkout changed no behaviour and read as a broken patch table rather than an unsatisfiable pin. tauri-runtime-blitz moves with it. ^0.1.0 does not build on rustc 1.97.1 (unstable str_as_str) and only survived here because a cached artifact existed in target/; a cargo clean would have stranded the repository. 0.3.2 is the release that takes ps-blitz ^0.4, so both sides of the cascade agree and cargo unifies the engine instead of putting two copies in the graph.
tauri-runtime-blitz 0.3.2 reaches endpoint-libs through blitz-control-protocol 0.4, which requires ^3. This workspace asked for ^2.1.5, so the graph carried both 2.1.5 and 3.0.0 — two crates exporting the same MCP framing types, which is the same shape of fault as two engines and fails the same way once a value crosses between them. The manifest already said these should be the same source and feature as tauri-runtime-blitz uses for its agent-control surface. This makes that true rather than aspirational. WireMessage::Text carries Utf8Bytes rather than String in 3.0, so the three send sites convert. Nothing else in chuzz-control moved: the receive sides read through Deref and needed no change.
Owner
Author
|
Superseded by #33, which consolidates all chuzz work into one PR. |
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.
Chuzz could not see any engine work. This moves it onto the published 0.4 engine, and onto a
tauri-runtime-blitzthat builds.Why the old pins could not move
ps-blitz-* = "^0.3.0-beta.6". A prerelease requirement only matches its own prerelease line — it accepts0.3.0-beta.*and nothing else. Not0.3.6, not0.4.0. The pin was nine releases behind and could not be moved bycargo update.It is also why
scripts/local-engine.shappeared to do nothing. Cargo reportedand carried on with the registry copy, so editing a local engine checkout changed no behaviour. That reads as a broken patch table; the cause was an unsatisfiable pin.
tauri-runtime-blitz ^0.1.0is the second half. It does not compile on rustc 1.97.1 (error[E0658]: use of unstable library feature 'str_as_str') and only survived here because a cached artifact existed intarget/— acargo cleanwould have stranded the repo. 0.3.2 is the release that takes ps-blitz^0.4, so both sides of the cascade agree.What changed
ps-blitz-*^0.3.0-beta.6^0.4tauri-runtime-blitz^0.1.0^0.3.2endpoint-libs^2.1.5^3The
endpoint-libsmove is not optional. tauri-runtime-blitz 0.3.2 reaches it throughblitz-control-protocol0.4, which requires^3; leaving this workspace on^2.1.5put both 2.1.5 and 3.0.0 in the graph — two crates exporting the same MCP framing types, the same shape of fault as two engines. The manifest already said these should be the same source and feature tauri-runtime-blitz uses; this makes that true rather than aspirational.WireMessage::TextcarriesUtf8Bytesrather thanStringin 3.0, so three send sites convert. The receive sides read throughDerefand needed no change.API drift: there is none
The engine pin was nine releases behind and real work was expected here. There was none. With the graph resolving to a single engine, every crate compiled clean — the only errors in the workspace were the
endpoint-libsconversions above.Chuzz never matches on
blitz_dom::net::Resource(the variant addition that forced the minor), and it usesProvider::new, which #79 left unchanged. No file underapps/chuzz/src/was touched.Verified
cargo build -p chuzz-gui --release --features capturefrom a clean target — 4m 28s, clean. No cached-artifact crutch.cargo fmt --all -- --check— clean.cargo clippy -p chuzz-control --all-targets --all-features -- -D warnings— clean.cargo clippy -p chuzz-gui --all-targets -- -D warnings— clean.scripts/check-one-rev-per-git-source.sh— no git sources.cargo test --workspace— 47 passed, 0 failed (32 chuzz-gui, 15 chuzz-control).server::tests::a_client_gets_an_answer_and_teardown_removes_both_filesexercises the changedUtf8Bytessend path over a real socket.End to end, the probe from the handover:
Before #79 that panicked with
`style` is not available on this node kind. It now completes and paints the page. That is the point of this change: engine fixes become visible here.The remaining console lines are missing web APIs (
HTMLVideoElement, ES moduleimport.meta), which are H3/H4 territory, not engine drift.Blocked on two publishes
This cannot merge until both are on crates.io:
tauri-runtime-blitz0.3.2 — pathscale/tauri-runtime-blitzfeat/ps-blitz-0.4, unmerged.ps-dioxus-native0.7.3 — release: publish dioxus-native at 0.7.3, against the 0.4 engine ps-blitz#80. The published 0.7.2 still requires^0.3.0-beta.6and drags a second engine in; it was missed by the 0.4.0 release.Verification above was done with both redirected to local checkouts through an untracked
.cargo/local-engine.toml. The engine sources compiled are ps-blitzff31bb55, which is the 0.4.0 release commit.Cargo.lockis deliberately unchanged — it cannot be regenerated against versions that do not exist yet. It must be refreshed once both publishes land. Nothing inci.ymlorrelease.ymlpasses--locked, so this does not break the build in the meantime.[workspace.package] versionis intentionally untouched:release.ymlpublishes whenever it changes, and a pin bump should not fire a CDN release as a side effect.