Compare commits

...
59 changed files with 108610 additions and 0 deletions

No files matched your search

+20
View File
@@ -5475,3 +5475,23 @@ remain; no live state, schema or bus policy change.
2026-10-24 | Goldie | Row265 / #1770 first slot STOP (sage-3932) | New parser14/14, rooms18/18 green; serialized bus stops at old project-runtime.test.mjs:14 import-closure pin, partial619 ok/1 not ok. New pure address.mjs import is absent from expected imports. Static trace also needs address.mjs in seat RUNNER_FILES. No old-test/product correction, no mutant/restored run, no green commit/push; old-pin and out-of-owned-files mount change sent to Sage for ruling. Audit prose missed the direct source pin despite raw grep hit; correction recorded in BUILD.md.
2026-10-24 | Goldie | Row265 / #1770 verified (mos-1567, sage-3942) | Approved correction adds solely address import pin + Row265 comment to project-runtime.test and one pure-source RUNNER_FILES mount; new block checks parser has no imports. Serialized fresh-short-TMP timeout-k10: unchanged sandbox10/10, parser15/15, rooms18/18, full bus957/957, twelve named refusal mutants killed (each Node1, driver0), restored parser15/15 + rooms18/18. All positives zero fail/skip/cancel; every mutation restored full broker SHA71b32ee4. Old first-red evidence retained, no other old-test change. Slot returned goldie-0034; Boyd packet explicitly includes mount-list review, candidate push next.
## 2026-10-24 — W2 row 310 / #1824 started (Gyro)
Before: only Louie's evaluation artifact and S0 conditional baseline review exist. Sage assigned the owned source import, offline pinned restricted web build and root-independent output/CSP evidence under Q246/mos-1571. Implementation plan and subsequent measurements live in agents/gyro/work/queue-310/BUILD.md. No build/test, serving route or live change at start.
## 2026-10-24 — W2 row 310 / #1824 bounded scratch measurement (Gyro)
After sage-3992: 534 existing cached registry archives extract to 24,844 files / 611,577,974 bytes, or 614,049,226 bytes with generated checksums. A full 538-package lock vendor set adds 329 identities beyond S0's 209. In isolated scratch, with the three already-reviewed git inputs and approved local workspace reduction, exact S0 199/209 package closures matched; baseline release measurement succeeded offline with networking disabled. Valid absolute-nice19/four-job environment retry: 397.864805 s; four runtime files total 44,142,800 bytes, scratch Git blob pack 16,720,159 bytes. Initial 388.757578 s attempt had an inherited-priority defect and is retained as limited evidence. Receipt and caveats: agents/gyro/work/queue-310/BUILD.md, “Full-lock measurement results (sage-3992)”. No full-lock repository import, runtime output commit/push, serving or live change. W2 remains incomplete at the packaging boundary; no M1–M14/CSP/reproducibility acceptance claimed.
## 2026-10-24 — W2 row 310 / #1824 223-source packaging evidence (Gyro)
Under sage-4008/4010, exactly209+14 source packages measured in scratch: total11,201 files /145,260,334 bytes and26,538,894-byte independent blob pack; extra14 total702 files /14,523,104 bytes and1,720,566-byte blob pack. Original pinned lock refused with --locked after existing cfg-filter script; one authorized automatic offline lock regeneration produced a strict subset (558→226 entries,332 removed,0 added,0 changed). Original lock untouched. Per-package source/archive/license/notice inventory and exact errors are in agents/gyro/work/queue-310/BUILD.md, “223-source measurement — sage-4008 and sage-4010”. Release measurement approved but awaits CLEAR after row327 gate (sage-4011). This evidence commit contains plain text only, no imported crate source or runtime outputs; packaging/landing choice remains held under Vikunja618, and source/notice review goes to Gladstone.
## 2026-10-24 — W2 row310 / #1824 223-vendor release measurement (Gyro)
sage-4014 CLEAR run: frozen/offline scratch build exit0 in380.674036s, actual nice19/four jobs/cores/CPUs, no external network interface, no retry. Four outputs total44,137,258 bytes; WASM43,952,335 bytes SHA2560322beb9e58b9abeed6b6e05125879bfb3eccbebb05094e191df3542a74007ea differs from the full-lock build. Exact S0 package closures passed preflight; original lock unchanged, pruned lock remains3401363e.... Slot released immediately for Bradford in gyro-0018. Gladstone supplemental review of14 additions found10 PASS/4 CONCERN (not adoption approval); embedded W3C notices/attribution, dpi full-source conjunction/copyrights, explicit spirv standard-text map and winit example PNG inventory are now documented in plain-text evidence. Details: agents/gyro/work/queue-310/BUILD.md, “223 release result and notice supplement — sage-4014”. No crate sources/binaries/runtime route committed or served; row held for Vikunja618 and all implementation/CSP gates remain open.
## 2026-10-24 — W2 row310 supplemental notice collection recheck recorded (Gyro)
Gladstone-0027 at9522d2356 independently passes the four corrected collection/mapping gaps, with earlier ten package source/notice PASS results standing. Bundle4d8e2aac... and all12 incremental path hashes verified. This is supplemental evidence only: W3C/M13/license adoption, pruned lock, packaging/size, Worker/native runtime, WASM difference and implementation/CSP gates remain uncleared; row310 stays held. Details: agents/gyro/work/queue-310/BUILD.md, “Supplemental notice recheck — gladstone-0027”. No build or source/notice/runtime change.
+592
View File
@@ -0,0 +1,592 @@
# Row 310 W2 WordCraft restricted source build
Started 2026-10-24 by Gyro, T3 thread 4c520dc8-238f-4f76-a973-28f2ef87310d.
Issue #1824; branch gyro/row310; base d16958bcf.
## Authority and constraints
Sage dispatch sage-3970 implements the approved W2 brief under Q246/mos-1571.
Read AGENTS.md, agents/gyro/README.md, D2/F4/D6-D9/G1/S0/W2 in
`docs/plans/2026-10-21_q195-writing-editor.md`, S0 report/inventory and CSP
measurement using `git show 74ec32013:<path>`, and Louie's pinned evaluation.
S0 is evidence, never modified. Protected source is read-only at
`e05b7fe86f3b85454000dffc321de638d7009817`, WordCraft 0.9.0.
No source checkout builds, live services/configuration, credentials, private books,
frame routes, shell CSP changes, policy expansion or dependency/tool changes.
All build/test runs need Sage CLEAR and use low priority, at most four jobs,
and TMPDIR freshly allocated beneath /mnt/storage/scratch/tmp.
No commit before applicable checks pass; report source/vendor bytes before commit
and every product binary path/size before first push. Push gyro/* only after ruling.
## Implementation plan
The existing approved design fixes the approach: immutable original import plus a
reviewable patch applied to isolated build roots, offline vendor inputs and pinned
tool hashes. An edited upstream import would lose the original-source receipt;
Louie's built files cannot substitute for a reproducible source build.
- [ ] Inventory original tracked input paths/bytes/hashes; import via git archive
into third_party/wordcraft/upstream. Inventory 209 reviewed packages and exact
git pins from S0; vendor only approved inputs with license/source receipts.
- [ ] Write provenance/build refusal tests first: changed/missing inputs, extra
dependencies, wrong tools, non-offline build, unshipped runtime dependency,
inline bootstrap/styles and stale output manifests must refuse.
- [ ] Implement build.mjs/toolchain.json/PROVENANCE.json/NOTICE and source patch.
Build from copied owned source with path remapping, stable environment and
manifest verification; external frame HTML/CSS/module bootstrap; package all
runtime files under src/public/wordcraft without serving them.
- [ ] Carry M1-M14 explicitly through patch and acceptance inventory. Host hooks
replace rfd/picker/download/print; block raw drops, local font enumeration,
persisted prose/fonts and direct outbound navigation. W6 owns production
bridge/routes, host import watchdog/sandbox and malformed corpus integration;
no placeholder is counted as passing mitigation evidence.
- [ ] Request CLEAR for each build/test stage. Build twice at different absolute
roots offline with the pinned tools. Compare every integration output hash,
record bytes/tool hashes/timings and run each touched test file independently,
affected WebUI suite and required repository checks on the assigned slot.
- [ ] Use scratch fixtures to measure exact Q234 style-src 'self' CSP with full
function coverage including host-owned Print, zero violations, no rfd/file
picker/download fallback and no external traffic. Preserve plain-text receipts.
- [ ] Report source/vendor totals and product binary inventory to Sage. After
checks/ruling, commit, push gyro/row310 through helper, send Sage and Gladstone
base/tip plus sha256 for every changed path. Move only row 310 to in-review;
Sage posts Gitea request. Filbert rechecks inventory once at landing.
## Acceptance risks to resolve
1. Vendor resolution must match reviewed normal/build closure, while preserving
original Cargo.lock and accounting for workspace-only dependency resolution.
2. Tool identity includes Rust target std and actual Trunk/wasm helper executables;
installed versions alone cannot establish tool identity.
3. Removing one Services hook leaves UI/engine fallbacks; trace all before patching.
4. Root-independent WASM includes generated build metadata; wasm-bindgen-shared's
git probing and absolute source paths need deterministic inputs/remapping.
5. W2 scratch host coverage must be real bytes/function behavior; W6 mitigation
gates remain explicit where production bridge authority is not yet available.
## Activity and evidence
- Initial worktree clean; HEAD d16958bcf, correct branch. Protected source HEAD
matches pin and git status is clean. No build or test has run.
- `scripts/mosaic queue next gyro` correctly refused in linked worktree. Retried
through canonical checkout as documented; operation still running at this note.
- Sage CLEAR sage-3973 covers new test red/green, offline metadata/tree/vendor prep
and one restricted release build with nice 19 / four jobs / fresh TMPDIR.
- Retried identical queue op gyro-0001 after Glomgold released lock: success,
revision 3857, row 310 briefed -> in-progress.
- Count reconciliation: F4's 199 counts third-party normal dependency edges for
wordcraft-web/wasm32-unknown-unknown. S0 adds 10 build-only dependencies, hence
209 third-party source/notice inputs, plus 15 local crates = 224 records.
These are distinct closures, not a dependency expansion. Current vendor is
exactly those 209 package identities, 10,499 files / 130,737,232 bytes before
final packaging corrections; upstream is 612 files / 26,913,076 bytes.
- New provenance/build tests ran individually under CLEAR; each has 2 expected
first-run failures because the owned verifier/builder does not exist yet.
- First offline metadata probe caught an error in my git-manifest normalization:
replacing version.workspace as a substring also changed rust-version.workspace.
No upstream input changed. Correcting anchored substitutions before repeating.
### Build-only manifest reduction (sage-3974)
- Cargo.toml: members reduced to the 15 reviewed local crates; default member wordcraft-web. No runtime feature changes.
- crates/doc/Cargo.toml: remove [dev-dependencies] from isolated build copy; excluded dev/test or native-only resolution.
- crates/docbin/Cargo.toml: remove [dev-dependencies] from isolated build copy; excluded dev/test or native-only resolution.
- crates/docx/Cargo.toml: remove [dev-dependencies] from isolated build copy; excluded dev/test or native-only resolution.
- crates/engine/Cargo.toml: remove [target.'cfg(not(target_arch = "wasm32"))'.dependencies] from isolated build copy; excluded dev/test or native-only resolution.
- crates/engine/Cargo.toml: remove [dev-dependencies] from isolated build copy; excluded dev/test or native-only resolution.
- crates/formats/Cargo.toml: remove [dev-dependencies] from isolated build copy; excluded dev/test or native-only resolution.
- crates/pdf/Cargo.toml: remove [dev-dependencies] from isolated build copy; excluded dev/test or native-only resolution.
- crates/proof/Cargo.toml: remove [dev-dependencies] from isolated build copy; excluded dev/test or native-only resolution.
- crates/render/Cargo.toml: remove [target.'cfg(not(target_arch = "wasm32"))'.dependencies] from isolated build copy; excluded dev/test or native-only resolution.
- crates/ui-egui/Cargo.toml: remove [target.'cfg(target_os = "linux")'.dependencies] from isolated build copy; excluded dev/test or native-only resolution.
- crates/ui-egui/Cargo.toml: remove [dev-dependencies] from isolated build copy; excluded dev/test or native-only resolution.
- crates/zotero/Cargo.toml: remove [dev-dependencies] from isolated build copy; excluded dev/test or native-only resolution.
- sage-3976 permits proven-false target-section removal in THIRD-PARTY manifests
only in isolated build copies, with matching checksum rewrites. A three-valued
cfg analysis keeps unknown/custom flags/features unchanged and identifies 26
manifests / 57 false-target dependency sections; target-filter-plan.json lists
every crate/cfg/dependency. This is below the ~30-manifest stop boundary.
- The scratch-only filtered source still refuses: wgpu-core's dormant `angle`
feature references its removed Apple-only dependency. Stopped at the explicit
feature-definition boundary and sent gyro-0006 to Sage. No feature edited.
- Tool versions match all five pins; toolchain.json records their binary hashes
and the Rust compiler driver/wasm target support files. No release build yet.
- Current notice bundle includes 209 third-party package mappings, local source
license/attribution/font texts and self_cell/ryu Apache-2.0 elections. Source
verifier green: 2/2. Output/build acceptance remains red/unimplemented.
### Original-source subset (sage-3976)
Excluded whole directories assets/app-icon/, docs/images/ and packaging/macos/: web frame serves no icon; screenshots and macOS packaging are never build inputs. Every license/notice/copyright remains. Included files remain byte-identical; no vendor file removed. Exact excluded paths:
- assets/app-icon/hicolor/128x128/apps/ai.storyteller.wordcraft.png
- assets/app-icon/hicolor/16x16/apps/ai.storyteller.wordcraft.png
- assets/app-icon/hicolor/24x24/apps/ai.storyteller.wordcraft.png
- assets/app-icon/hicolor/256x256/apps/ai.storyteller.wordcraft.png
- assets/app-icon/hicolor/32x32/apps/ai.storyteller.wordcraft.png
- assets/app-icon/hicolor/48x48/apps/ai.storyteller.wordcraft.png
- assets/app-icon/hicolor/512x512/apps/ai.storyteller.wordcraft.png
- assets/app-icon/hicolor/64x64/apps/ai.storyteller.wordcraft.png
- assets/app-icon/hicolor/scalable/apps/ai.storyteller.wordcraft.svg
- assets/app-icon/wordcraft-1024.png
- assets/app-icon/wordcraft-macos-512.png
- assets/app-icon/wordcraft.icns
- assets/app-icon/wordcraft.ico
- assets/app-icon/wordcraft.svg
- docs/images/backstage.png
- docs/images/dark.png
- docs/images/design.png
- docs/images/hero.png
- docs/images/layout.png
- docs/images/references.png
- docs/images/review.png
- packaging/macos/Info.plist.in
- packaging/macos/dmg/README.md
- packaging/macos/dmg/background.svg
- packaging/macos/dmg/background.tiff
- packaging/macos/dmg/dmg-layout.DS_Store
- packaging/macos/dmg/generate.py
- packaging/macos/entitlements.plist
- packaging/macos/import-cert.sh
- packaging/macos/package.sh
- sage-3982 approved the 103 enumerated feature items across eight manifests,
mechanical script only, build copies only. Scratch application completed;
original vendor unchanged. A committed reproducible generator/test is pending
the packaging decision; no third-party source/feature edits are hand-applied.
- sage-3983 permits custom cfg fuzzing/loom/miri false under a sanitized,
refusing release environment. Third-party target inventory is now 28 manifests
/ 59 sections. It narrows the feature gate to root-specific package/selected
feature closure equality: S0's workspace-unified 293-node feature metadata is
context, not an equality target. Exact 199 normal /209 normal+build identities
remain the acceptance sets.
- Following that reduction, metadata refuses on encoding_rs/simdutf8 under a
target_feature=simd128 cfg. Pinned rustc default cfg has no simd128. The filter
retained target-feature flags as unknown. Scope stop per sage-3983: one-page
PACKAGING-BOUNDARY.md and complete survey sent to Sage in gyro-0010. No further
cfg/dependency category changed. No release build, commit, push or live change.
- Mos mos-1572/1573 via sage-3979: landing held pending Jason/Vikunja618; gyro
review-branch push is allowed after validation, with full binary listing.
Whole-row and runtime-only pack-size measurements are required after a local
verified commit; offline tool availability/provenance/timing also requested.
## Measured-cfg reduction under sage-3984g
Pinned rustc cfg is rustc-wasm32-cfg.txt. releaseEnvironment refuses inherited flag variables and forwards only an allowlist to the cfg measurement. Filter evaluator and mechanical feature cleanup are in build.mjs; no optional normal dependency removed.
- aes-0.9.3: remove dependencies under cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86")); dependencies cpufeatures.
- bytes-1.12.1: remove dev-dependencies under cfg(loom); dependencies loom.
- cmov-0.5.4: remove dev-dependencies under cfg(any(unix, windows)); dependencies proptest.
- eframe-0.36.2: remove dependencies under cfg(any(target_os = "macos")); dependencies objc2.
- eframe-0.36.2: remove dependencies under cfg(any(target_os = "macos")); dependencies objc2-app-kit.
- eframe-0.36.2: remove dependencies under cfg(any(target_os = "macos")); dependencies objc2-foundation.
- eframe-0.36.2: remove dependencies under cfg(any(target_os = "windows")); dependencies windows-sys.
- eframe-0.36.2: remove dependencies under cfg(not(target_arch = "wasm32")); dependencies egui-wgpu.
- eframe-0.36.2: remove dependencies under cfg(not(target_arch = "wasm32")); dependencies egui-winit.
- eframe-0.36.2: remove dependencies under cfg(not(target_arch = "wasm32")); dependencies glutin.
- eframe-0.36.2: remove dependencies under cfg(not(target_arch = "wasm32")); dependencies glutin-winit.
- eframe-0.36.2: remove dependencies under cfg(not(target_arch = "wasm32")); dependencies image.
- eframe-0.36.2: remove dependencies under cfg(not(target_arch = "wasm32")); dependencies pollster.
- eframe-0.36.2: remove dependencies under cfg(not(target_arch = "wasm32")); dependencies winit.
- eframe-0.36.2: remove dev-dependencies under cfg(not(target_arch = "wasm32")); dependencies directories.
- eframe-0.36.2: feature accesskit removes egui-winit/accesskit; dependency egui-winit removed under cfg(not(target_arch = "wasm32")).
- eframe-0.36.2: feature android-game-activity removes egui-winit/android-game-activity; dependency egui-winit removed under cfg(not(target_arch = "wasm32")).
- eframe-0.36.2: feature android-native-activity removes egui-winit/android-native-activity; dependency egui-winit removed under cfg(not(target_arch = "wasm32")).
- eframe-0.36.2: feature default removes winit/default; dependency winit removed under cfg(not(target_arch = "wasm32")).
- eframe-0.36.2: feature glow removes dep:glutin-winit; dependency glutin-winit removed under cfg(not(target_arch = "wasm32")).
- eframe-0.36.2: feature glow removes dep:glutin; dependency glutin removed under cfg(not(target_arch = "wasm32")).
- eframe-0.36.2: feature links removes egui-winit/links; dependency egui-winit removed under cfg(not(target_arch = "wasm32")).
- eframe-0.36.2: feature persistence removes egui-winit/serde; dependency egui-winit removed under cfg(not(target_arch = "wasm32")).
- eframe-0.36.2: feature wayland removes egui-winit/wayland; dependency egui-winit removed under cfg(not(target_arch = "wasm32")).
- eframe-0.36.2: feature wayland removes glutin?/wayland; dependency glutin removed under cfg(not(target_arch = "wasm32")).
- eframe-0.36.2: feature wayland removes glutin-winit?/wayland; dependency glutin-winit removed under cfg(not(target_arch = "wasm32")).
- eframe-0.36.2: feature wgpu_no_default_features removes dep:pollster; dependency pollster removed under cfg(not(target_arch = "wasm32")).
- eframe-0.36.2: feature x11 removes egui-winit/x11; dependency egui-winit removed under cfg(not(target_arch = "wasm32")).
- eframe-0.36.2: feature x11 removes glutin?/x11; dependency glutin removed under cfg(not(target_arch = "wasm32")).
- eframe-0.36.2: feature x11 removes glutin?/glx; dependency glutin removed under cfg(not(target_arch = "wasm32")).
- eframe-0.36.2: feature x11 removes glutin-winit?/x11; dependency glutin-winit removed under cfg(not(target_arch = "wasm32")).
- eframe-0.36.2: feature x11 removes glutin-winit?/glx; dependency glutin-winit removed under cfg(not(target_arch = "wasm32")).
- encoding_rs-0.8.42: remove dependencies under cfg(all(any(target_arch = "x86_64", target_arch = "x86"), not(all(target_feature = "avx2", target_feature = "bmi1")))); dependencies multiversion.
- encoding_rs-0.8.42: remove dependencies under cfg(any(target_arch = "x86_64", target_arch = "x86")); dependencies core_detect.
- encoding_rs-0.8.42: remove dependencies under cfg(any(target_arch = "x86_64", target_arch = "x86", target_arch = "aarch64", all(target_arch = "wasm32", target_feature = "simd128"))); dependencies simdutf8.
- encoding_rs-0.8.42: feature std removes dep:multiversion; dependency multiversion removed under cfg(all(any(target_arch = "x86_64", target_arch = "x86"), not(all(target_feature = "avx2", target_feature = "bmi1")))).
- getrandom-0.3.4: remove dependencies under cfg(all(any(target_os = "linux", target_os = "android"), not(any(all(target_os = "linux", target_env = ""), getrandom_backend = "custom", getrandom_backend = "linux_raw", getrandom_backend = "rdrand", getrandom_backend = "rndr")))); dependencies libc.
- getrandom-0.3.4: remove dependencies under cfg(all(target_arch = "wasm32", any(target_os = "unknown", target_os = "none"), target_feature = "atomics")); dependencies js-sys.
- getrandom-0.3.4: remove dependencies under cfg(all(target_arch = "wasm32", target_os = "wasi", target_env = "p2")); dependencies wasip2.
- getrandom-0.3.4: remove dependencies under cfg(all(target_os = "uefi", getrandom_backend = "efi_rng")); dependencies r-efi.
- getrandom-0.3.4: remove dependencies under cfg(any(target_os = "dragonfly", target_os = "freebsd", target_os = "hurd", target_os = "illumos", target_os = "cygwin", all(target_os = "horizon", target_arch = "arm"))); dependencies libc.
- getrandom-0.3.4: remove dependencies under cfg(any(target_os = "haiku", target_os = "redox", target_os = "nto", target_os = "aix")); dependencies libc.
- getrandom-0.3.4: remove dependencies under cfg(any(target_os = "ios", target_os = "visionos", target_os = "watchos", target_os = "tvos")); dependencies libc.
- getrandom-0.3.4: remove dependencies under cfg(any(target_os = "macos", target_os = "openbsd", target_os = "vita", target_os = "emscripten")); dependencies libc.
- getrandom-0.3.4: remove dependencies under cfg(target_os = "netbsd"); dependencies libc.
- getrandom-0.3.4: remove dependencies under cfg(target_os = "solaris"); dependencies libc.
- getrandom-0.3.4: remove dependencies under cfg(target_os = "vxworks"); dependencies libc.
- getrandom-0.3.4: feature wasm_js removes dep:js-sys; dependency js-sys removed under cfg(all(target_arch = "wasm32", any(target_os = "unknown", target_os = "none"), target_feature = "atomics")).
- half-2.7.1: remove dependencies under cfg(target_arch = "spirv"); dependencies crunchy.
- harfrust-0.12.0: remove dev-dependencies under cfg(target_vendor = "apple"); dependencies objc2-core-foundation.
- harfrust-0.12.0: remove dev-dependencies under cfg(target_vendor = "apple"); dependencies objc2-core-text.
- harfrust-0.13.3: remove dev-dependencies under cfg(target_vendor = "apple"); dependencies objc2-core-foundation.
- harfrust-0.13.3: remove dev-dependencies under cfg(target_vendor = "apple"); dependencies objc2-core-text.
- hashbrown-0.17.1: remove dependencies under cfg(any()); dependencies serde.
- hashbrown-0.17.1: remove dev-dependencies under cfg(unix); dependencies libc.
- hashbrown-0.17.1: feature serde removes dep:serde; dependency serde removed under cfg(any()).
- indexmap-2.14.2: remove dependencies under cfg(any()); dependencies serde.
- indexmap-2.14.2: feature serde removes dep:serde; dependency serde removed under cfg(any()).
- parking_lot_core-0.9.12: remove dependencies under cfg(target_os = "redox"); dependencies redox_syscall.
- parking_lot_core-0.9.12: remove dependencies under cfg(unix); dependencies libc.
- parking_lot_core-0.9.12: remove dependencies under cfg(windows); dependencies windows-link.
- png-0.18.1: remove dev-dependencies under cfg(not(target_arch = "wasm32")); dependencies criterion.
- rfd-0.17.2: remove dependencies under cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd")); dependencies glib-sys.
- rfd-0.17.2: remove dependencies under cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd")); dependencies gobject-sys.
- rfd-0.17.2: remove dependencies under cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd")); dependencies gtk-sys.
- rfd-0.17.2: remove dependencies under cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd")); dependencies libc.
- rfd-0.17.2: remove dependencies under cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd")); dependencies percent-encoding.
- rfd-0.17.2: remove dependencies under cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd")); dependencies pollster.
- rfd-0.17.2: remove dependencies under cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd")); dependencies wayland-backend.
- rfd-0.17.2: remove dependencies under cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd")); dependencies wayland-client.
- rfd-0.17.2: remove dependencies under cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd")); dependencies wayland-protocols.
- rfd-0.17.2: remove dependencies under cfg(target_os = "macos"); dependencies block2.
- rfd-0.17.2: remove dependencies under cfg(target_os = "macos"); dependencies dispatch2.
- rfd-0.17.2: remove dependencies under cfg(target_os = "macos"); dependencies objc2.
- rfd-0.17.2: remove dependencies under cfg(target_os = "macos"); dependencies objc2-app-kit.
- rfd-0.17.2: remove dependencies under cfg(target_os = "macos"); dependencies objc2-core-foundation.
- rfd-0.17.2: remove dependencies under cfg(target_os = "macos"); dependencies objc2-foundation.
- rfd-0.17.2: remove dependencies under cfg(target_os = "windows"); dependencies windows-sys.
- rfd-0.17.2: feature common-controls-v6 removes windows-sys/Win32_UI_Controls; dependency windows-sys removed under cfg(target_os = "windows").
- rfd-0.17.2: feature gtk3 removes gtk-sys; dependency gtk-sys removed under cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd")).
- rfd-0.17.2: feature gtk3 removes glib-sys; dependency glib-sys removed under cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd")).
- rfd-0.17.2: feature gtk3 removes gobject-sys; dependency gobject-sys removed under cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd")).
- rfd-0.17.2: feature wayland removes wayland-backend; dependency wayland-backend removed under cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd")).
- rfd-0.17.2: feature wayland removes wayland-client; dependency wayland-client removed under cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd")).
- rfd-0.17.2: feature wayland removes wayland-protocols; dependency wayland-protocols removed under cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd")).
- rfd-0.17.2: feature xdg-portal removes pollster; dependency pollster removed under cfg(any(target_os = "linux", target_os = "freebsd", target_os = "dragonfly", target_os = "netbsd", target_os = "openbsd")).
- serde_core-1.0.229: remove dependencies under cfg(any()); dependencies serde_derive.
- serde_json-1.0.151: remove dependencies under cfg(any()); dependencies serde.
- sha1-0.11.0: remove dependencies under cfg(any(target_arch = "aarch64", target_arch = "x86", target_arch = "x86_64")); dependencies cpufeatures.
- sha2-0.11.0: remove dependencies under cfg(any(target_arch = "aarch64", target_arch = "x86_64", target_arch = "x86")); dependencies cpufeatures.
- sys-locale-0.3.2: remove dependencies under cfg(target_os = "android"); dependencies libc.
- uuid-1.27.0: remove dependencies under cfg(all(target_arch = "wasm32", any(target_os = "unknown", target_os = "none"), target_feature = "atomics")); dependencies js-sys.
- uuid-1.27.0: remove dependencies under cfg(not(all(target_arch = "wasm32", any(target_os = "unknown", target_os = "none")))); dependencies getrandom.
- uuid-1.27.0: remove dependencies under cfg(not(all(target_arch = "wasm32", any(target_os = "unknown", target_os = "none")))); dependencies rand.
- uuid-1.27.0: remove dev-dependencies under cfg(not(target_arch = "wasm32")); dependencies gungraun.
- uuid-1.27.0: feature fast-rng removes dep:rand; dependency rand removed under cfg(not(all(target_arch = "wasm32", any(target_os = "unknown", target_os = "none")))).
- uuid-1.27.0: feature js removes dep:js-sys; dependency js-sys removed under cfg(all(target_arch = "wasm32", any(target_os = "unknown", target_os = "none"), target_feature = "atomics")).
- uuid-1.27.0: feature rng removes dep:getrandom; dependency getrandom removed under cfg(not(all(target_arch = "wasm32", any(target_os = "unknown", target_os = "none")))).
- uuid-1.27.0: feature rng-getrandom removes dep:getrandom; dependency getrandom removed under cfg(not(all(target_arch = "wasm32", any(target_os = "unknown", target_os = "none")))).
- uuid-1.27.0: feature rng-rand removes dep:rand; dependency rand removed under cfg(not(all(target_arch = "wasm32", any(target_os = "unknown", target_os = "none")))).
- uuid-1.27.0: feature std removes js-sys?/std; dependency js-sys removed under cfg(all(target_arch = "wasm32", any(target_os = "unknown", target_os = "none"), target_feature = "atomics")).
- wasm-bindgen-0.2.129: remove dev-dependencies under cfg(all(target_os = "emscripten", wasm_bindgen_unstable_tokio)); dependencies tokio.
- wasm-bindgen-0.2.129: remove dev-dependencies under cfg(target_arch = "wasm64"); dependencies paste.
- wasm-bindgen-0.2.129: remove dev-dependencies under cfg(target_arch = "wasm64"); dependencies serde_derive.
- wasm-bindgen-futures-0.4.79: remove dependencies under cfg(all(target_os = "emscripten", wasm_bindgen_unstable_tokio)); dependencies tokio.
- web-time-1.1.0: remove dev-dependencies under cfg(all(target_family = "wasm", target_feature = "atomics")); dependencies futures-channel.
- web-time-1.1.0: remove dev-dependencies under cfg(all(target_family = "wasm", target_feature = "atomics")); dependencies futures-util.
- web-time-1.1.0: remove dev-dependencies under cfg(all(target_family = "wasm", target_feature = "atomics")); dependencies web-sys.
- web-time-1.1.0: remove dev-dependencies under cfg(not(target_family = "wasm")); dependencies pollster.
- wgpu-30.0.1: remove dependencies under cfg(not(target_arch = "wasm32")); dependencies smallvec.
- wgpu-30.0.1: remove dependencies under cfg(not(target_arch = "wasm32")); dependencies wgpu-core.
- wgpu-30.0.1: remove dependencies under cfg(not(target_arch = "wasm32")); dependencies wgpu-hal.
- wgpu-30.0.1: remove dependencies under cfg(not(target_has_atomic = "64")); dependencies portable-atomic.
- wgpu-30.0.1: remove dependencies under cfg(target_os = "emscripten"); dependencies smallvec.
- wgpu-30.0.1: remove dependencies under cfg(target_os = "emscripten"); dependencies wgpu-core.
- wgpu-30.0.1: remove dependencies under cfg(target_os = "emscripten"); dependencies wgpu-hal.
- wgpu-core-30.0.1: remove dependencies under cfg(any(windows, target_os = "linux", target_os = "android", target_os = "freebsd")); dependencies wgpu-core-deps-windows-linux-android.
- wgpu-core-30.0.1: remove dependencies under cfg(not(target_has_atomic = "64")); dependencies portable-atomic.
- wgpu-core-30.0.1: remove dependencies under cfg(target_os = "emscripten"); dependencies wgpu-core-deps-emscripten.
- wgpu-core-30.0.1: remove dependencies under cfg(target_vendor = "apple"); dependencies wgpu-core-deps-apple.
- wgpu-core-30.0.1: feature angle removes wgpu-core-deps-apple/angle; dependency wgpu-core-deps-apple removed under cfg(target_vendor = "apple").
- wgpu-core-30.0.1: feature drm removes wgpu-core-deps-windows-linux-android/drm; dependency wgpu-core-deps-windows-linux-android removed under cfg(any(windows, target_os = "linux", target_os = "android", target_os = "freebsd")).
- wgpu-core-30.0.1: feature dx12 removes wgpu-core-deps-windows-linux-android/dx12; dependency wgpu-core-deps-windows-linux-android removed under cfg(any(windows, target_os = "linux", target_os = "android", target_os = "freebsd")).
- wgpu-core-30.0.1: feature gles removes wgpu-core-deps-windows-linux-android/gles; dependency wgpu-core-deps-windows-linux-android removed under cfg(any(windows, target_os = "linux", target_os = "android", target_os = "freebsd")).
- wgpu-core-30.0.1: feature gles removes wgpu-core-deps-emscripten/gles; dependency wgpu-core-deps-emscripten removed under cfg(target_os = "emscripten").
- wgpu-core-30.0.1: feature metal removes wgpu-core-deps-apple/metal; dependency wgpu-core-deps-apple removed under cfg(target_vendor = "apple").
- wgpu-core-30.0.1: feature portable-atomic removes dep:portable-atomic; dependency portable-atomic removed under cfg(not(target_has_atomic = "64")).
- wgpu-core-30.0.1: feature renderdoc removes wgpu-core-deps-windows-linux-android/renderdoc; dependency wgpu-core-deps-windows-linux-android removed under cfg(any(windows, target_os = "linux", target_os = "android", target_os = "freebsd")).
- wgpu-core-30.0.1: feature vulkan removes wgpu-core-deps-windows-linux-android/vulkan; dependency wgpu-core-deps-windows-linux-android removed under cfg(any(windows, target_os = "linux", target_os = "android", target_os = "freebsd")).
- wgpu-core-30.0.1: feature vulkan-portability removes wgpu-core-deps-apple/vulkan-portability; dependency wgpu-core-deps-apple removed under cfg(target_vendor = "apple").
- wgpu-hal-30.0.1: remove dependencies under cfg(all(unix, not(target_vendor = "apple"), not(target_family = "wasm"))); dependencies drm.
- wgpu-hal-30.0.1: remove dependencies under cfg(all(windows, not(target_arch = "aarch64"), target_env = "msvc")); dependencies mach-dxcompiler-rs.
- wgpu-hal-30.0.1: remove dependencies under cfg(any(not(target_has_atomic = "64"), not(target_has_atomic = "ptr"))); dependencies portable-atomic.
- wgpu-hal-30.0.1: remove dev-dependencies under cfg(not(any(target_arch = "wasm32", target_os = "ios", target_os = "visionos", target_env = "ohos"))); dependencies glutin.
- wgpu-hal-30.0.1: remove dev-dependencies under cfg(not(any(target_arch = "wasm32", target_os = "ios", target_os = "visionos", target_env = "ohos"))); dependencies glutin-winit.
- wgpu-hal-30.0.1: remove dependencies under cfg(not(target_arch = "wasm32")); dependencies ash.
- wgpu-hal-30.0.1: remove dependencies under cfg(not(target_arch = "wasm32")); dependencies gpu-allocator.
- wgpu-hal-30.0.1: remove dependencies under cfg(not(target_arch = "wasm32")); dependencies khronos-egl.
- wgpu-hal-30.0.1: remove dependencies under cfg(not(target_arch = "wasm32")); dependencies libloading.
- wgpu-hal-30.0.1: remove dependencies under cfg(not(target_arch = "wasm32")); dependencies renderdoc-sys.
- wgpu-hal-30.0.1: remove dependencies under cfg(not(target_arch = "wasm32")); dependencies smallvec.
- wgpu-hal-30.0.1: remove dependencies under cfg(not(target_has_atomic = "ptr")); dependencies portable-atomic-util.
- wgpu-hal-30.0.1: remove dependencies under cfg(target_os = "android"); dependencies android_system_properties.
- wgpu-hal-30.0.1: remove dependencies under cfg(target_os = "android"); dependencies ndk-sys.
- wgpu-hal-30.0.1: remove dependencies under cfg(target_os = "emscripten"); dependencies khronos-egl.
- wgpu-hal-30.0.1: remove dependencies under cfg(target_os = "emscripten"); dependencies libloading.
- wgpu-hal-30.0.1: remove dependencies under cfg(target_vendor = "apple"); dependencies block2.
- wgpu-hal-30.0.1: remove dependencies under cfg(target_vendor = "apple"); dependencies bytemuck.
- wgpu-hal-30.0.1: remove dependencies under cfg(target_vendor = "apple"); dependencies objc2.
- wgpu-hal-30.0.1: remove dependencies under cfg(target_vendor = "apple"); dependencies objc2-core-foundation.
- wgpu-hal-30.0.1: remove dependencies under cfg(target_vendor = "apple"); dependencies objc2-core-graphics.
- wgpu-hal-30.0.1: remove dependencies under cfg(target_vendor = "apple"); dependencies objc2-foundation.
- wgpu-hal-30.0.1: remove dependencies under cfg(target_vendor = "apple"); dependencies objc2-metal.
- wgpu-hal-30.0.1: remove dependencies under cfg(target_vendor = "apple"); dependencies objc2-quartz-core.
- wgpu-hal-30.0.1: remove dependencies under cfg(target_vendor = "apple"); dependencies raw-window-metal.
- wgpu-hal-30.0.1: remove dependencies under cfg(unix); dependencies libc.
- wgpu-hal-30.0.1: remove dependencies under cfg(unix); dependencies wayland-sys.
- wgpu-hal-30.0.1: remove dependencies under cfg(windows); dependencies bit-set.
- wgpu-hal-30.0.1: remove dependencies under cfg(windows); dependencies glutin_wgl_sys.
- wgpu-hal-30.0.1: remove dependencies under cfg(windows); dependencies once_cell.
- wgpu-hal-30.0.1: remove dependencies under cfg(windows); dependencies range-alloc.
- wgpu-hal-30.0.1: remove dependencies under cfg(windows); dependencies windows.
- wgpu-hal-30.0.1: remove dependencies under cfg(windows); dependencies windows-core.
- wgpu-hal-30.0.1: remove dependencies under cfg(windows); dependencies windows-result.
- wgpu-hal-30.0.1: feature dx12 removes dep:bit-set; dependency bit-set removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes dep:gpu-allocator; dependency gpu-allocator removed under cfg(not(target_arch = "wasm32")).
- wgpu-hal-30.0.1: feature dx12 removes dep:libloading; dependency libloading removed under cfg(not(target_arch = "wasm32")) / cfg(target_os = "emscripten").
- wgpu-hal-30.0.1: feature dx12 removes dep:once_cell; dependency once_cell removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes dep:range-alloc; dependency range-alloc removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes dep:windows-core; dependency windows-core removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes gpu-allocator/d3d12; dependency gpu-allocator removed under cfg(not(target_arch = "wasm32")).
- wgpu-hal-30.0.1: feature dx12 removes once_cell/std; dependency once_cell removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes windows/Win32_Devices_DeviceAndDriverInstallation; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes windows/Win32_Devices_Display; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes windows/Win32_Graphics_Direct3D_Dxc; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes windows/Win32_Graphics_Direct3D_Fxc; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes windows/Win32_Graphics_Direct3D; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes windows/Win32_Graphics_Direct3D12; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes windows/Win32_Graphics_DirectComposition; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes windows/Win32_Graphics_Dxgi_Common; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes windows/Win32_Graphics_Gdi; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes windows/Win32_Security; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes windows/Win32_System_Diagnostics_Debug; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes windows/Win32_System_Kernel; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes windows/Win32_System_Performance; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes windows/Win32_System_Threading; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature dx12 removes windows/Win32_UI_WindowsAndMessaging; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature gles removes dep:glutin_wgl_sys; dependency glutin_wgl_sys removed under cfg(windows).
- wgpu-hal-30.0.1: feature gles removes dep:khronos-egl; dependency khronos-egl removed under cfg(not(target_arch = "wasm32")) / cfg(target_os = "emscripten").
- wgpu-hal-30.0.1: feature gles removes dep:libloading; dependency libloading removed under cfg(not(target_arch = "wasm32")) / cfg(target_os = "emscripten").
- wgpu-hal-30.0.1: feature gles removes dep:ndk-sys; dependency ndk-sys removed under cfg(target_os = "android").
- wgpu-hal-30.0.1: feature gles removes dep:objc2; dependency objc2 removed under cfg(target_vendor = "apple").
- wgpu-hal-30.0.1: feature gles removes dep:wayland-sys; dependency wayland-sys removed under cfg(unix).
- wgpu-hal-30.0.1: feature gles removes dep:windows-result; dependency windows-result removed under cfg(windows).
- wgpu-hal-30.0.1: feature gles removes windows-result/std; dependency windows-result removed under cfg(windows).
- wgpu-hal-30.0.1: feature gles removes windows/Win32_Graphics_Gdi; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature gles removes windows/Win32_Graphics_OpenGL; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature gles removes windows/Win32_System_LibraryLoader; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature gles removes windows/Win32_UI_WindowsAndMessaging; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature metal removes dep:block2; dependency block2 removed under cfg(target_vendor = "apple").
- wgpu-hal-30.0.1: feature metal removes dep:libloading; dependency libloading removed under cfg(not(target_arch = "wasm32")) / cfg(target_os = "emscripten").
- wgpu-hal-30.0.1: feature metal removes dep:objc2; dependency objc2 removed under cfg(target_vendor = "apple").
- wgpu-hal-30.0.1: feature metal removes dep:objc2-core-foundation; dependency objc2-core-foundation removed under cfg(target_vendor = "apple").
- wgpu-hal-30.0.1: feature metal removes dep:objc2-core-graphics; dependency objc2-core-graphics removed under cfg(target_vendor = "apple").
- wgpu-hal-30.0.1: feature metal removes dep:objc2-foundation; dependency objc2-foundation removed under cfg(target_vendor = "apple").
- wgpu-hal-30.0.1: feature metal removes dep:objc2-metal; dependency objc2-metal removed under cfg(target_vendor = "apple").
- wgpu-hal-30.0.1: feature metal removes dep:objc2-quartz-core; dependency objc2-quartz-core removed under cfg(target_vendor = "apple").
- wgpu-hal-30.0.1: feature metal removes dep:smallvec; dependency smallvec removed under cfg(not(target_arch = "wasm32")).
- wgpu-hal-30.0.1: feature metal removes dep:raw-window-metal; dependency raw-window-metal removed under cfg(target_vendor = "apple").
- wgpu-hal-30.0.1: feature portable-atomic removes dep:portable-atomic; dependency portable-atomic removed under cfg(any(not(target_has_atomic = "64"), not(target_has_atomic = "ptr"))).
- wgpu-hal-30.0.1: feature portable-atomic removes dep:portable-atomic-util; dependency portable-atomic-util removed under cfg(not(target_has_atomic = "ptr")).
- wgpu-hal-30.0.1: feature renderdoc removes dep:libloading; dependency libloading removed under cfg(not(target_arch = "wasm32")) / cfg(target_os = "emscripten").
- wgpu-hal-30.0.1: feature renderdoc removes dep:renderdoc-sys; dependency renderdoc-sys removed under cfg(not(target_arch = "wasm32")).
- wgpu-hal-30.0.1: feature static-dxc removes dep:mach-dxcompiler-rs; dependency mach-dxcompiler-rs removed under cfg(all(windows, not(target_arch = "aarch64"), target_env = "msvc")).
- wgpu-hal-30.0.1: feature vulkan removes dep:android_system_properties; dependency android_system_properties removed under cfg(target_os = "android").
- wgpu-hal-30.0.1: feature vulkan removes dep:ash; dependency ash removed under cfg(not(target_arch = "wasm32")).
- wgpu-hal-30.0.1: feature vulkan removes dep:libc; dependency libc removed under cfg(unix).
- wgpu-hal-30.0.1: feature vulkan removes dep:libloading; dependency libloading removed under cfg(not(target_arch = "wasm32")) / cfg(target_os = "emscripten").
- wgpu-hal-30.0.1: feature vulkan removes dep:raw-window-metal; dependency raw-window-metal removed under cfg(target_vendor = "apple").
- wgpu-hal-30.0.1: feature vulkan removes dep:smallvec; dependency smallvec removed under cfg(not(target_arch = "wasm32")).
- wgpu-hal-30.0.1: feature vulkan removes dep:windows; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature vulkan removes gpu-allocator/vulkan; dependency gpu-allocator removed under cfg(not(target_arch = "wasm32")).
- wgpu-hal-30.0.1: feature vulkan removes windows/Win32; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature vulkan removes windows/Win32_Devices_Display; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature vulkan removes windows/Win32_Foundation; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature vulkan removes windows/Win32_Graphics_Dxgi; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature vulkan removes windows/Win32_Graphics_Dxgi_Common; dependency windows removed under cfg(windows).
- wgpu-hal-30.0.1: feature vulkan removes windows/Win32_Graphics_Gdi; dependency windows removed under cfg(windows).
- zerocopy-0.8.61: remove dependencies under cfg(any()); dependencies zerocopy-derive.
- zip-3.0.0: remove dependencies under cfg(fuzzing); dependencies arbitrary.
Count correction: 28 changed manifests /121 individual TOML dependency table sections /109 feature items. Earlier57/59 counted grouped cfg+kind sections, not individual dependency tables. Initial indexmap failure exposed my filter treating a dev-dependency as preserving an optional normal dependency; fixed only that bookkeeping bug with a failing then passing regression. No inventory expansion.
Resolution stop: vello_cpu0.1.0 optional normal glifo ^0.2.0 (locked0.2.0) is outside reviewed209 (reviewed glifo is0.3.0). No cfg-filtered section controls it. Stopped per sage-3984g; no import/fetch. Offline size receipt full-lock-cache-size.json: 538 third-party lock records =534 registry +4 git. Default cache175 present/359 missing,16,666,072 archive bytes; existing Louie toolchain cache534 present/0 missing,85,234,501 bytes; S0 cache412 present/122 missing,44,438,740 bytes. Sent Sage gyro-0011. Root closure/release/CSP acceptance is unproved.
## Full-lock scratch measurement — sage-3992
Scope is measurement only, entirely under
`/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0`. No additional source,
outputs or tool binaries imported into the repository; no commit/push. The
restricted-runtime/security/CSP gates remain open. No further manifest surgery.
Extraction from Louie's pre-existing cache verified every registry archive
against the ORIGINAL Cargo.lock checksum, with no fetch. All four git lock
records were excluded from this extraction. Registry results (534 packages):
- Original archive total: 85,234,501 bytes.
- Extracted archive content: 24,844 files / 611,577,974 bytes.
- Including 534 generated Cargo checksum files: 25,378 files / 614,049,226 bytes.
- Beyond the reviewed 209, the full 538 lock set adds 329 packages: 328 registry
plus one git package. The additional registry content alone is 15,005 files /
484,646,629 bytes including generated checksums. The fourth git package was
neither fetched nor copied. Full details: full-lock-extracted-size.json.
For the measurement build, three ALREADY REVIEWED git packages were copied from
owned cargo-vendor into scratch after registry extraction. No new git source
was imported. Source is the owned source copy with the already approved local
15-member workspace reduction and unchanged vendor manifests/features. The exact
pinned original icon was restored only in scratch for the original Trunk index.
This builds the baseline for size/timing; it is not the restricted adapter and
cannot count as M1-M14 or zero-CSP evidence.
Before compiling, offline cargo tree with normal edges exactly matched S0's
199 third-party +15 local packages; normal,build exactly matched 209+15. The
comparison refused on any added/missing pair. Scratch metadata/tree commands and
the release command each run with unshare --user --map-root-user --net, nice19,
four Cargo jobs, isolated HOME/CARGO_HOME and a fresh scratch TMPDIR. There is no
connected network interface in these namespaces, only loopback; Cargo and Trunk
also have offline enabled and Trunk update checks disabled. Inherited Rust flags
are refused and none are set for this measurement. Release build started after
those package-closure checks; result/timing/output pack measurement pending.
Tool availability/provenance on this host:
- rustc/Cargo 1.99.1 and wasm32-unknown-unknown std: existing isolated rustup
stable toolchain under Louie's evaluation toolchain directory, installed Oct21;
rustup settings and target manifests identify it. No install repeated.
- Trunk0.22.0: existing isolated cargo install; .crates.toml records the exact
version and crates.io origin. No install repeated.
- wasm-bindgen0.2.129 and wasm-opt131: existing Trunk versioned helper cache,
copied to isolated scratch cache/PATH. No download. Their original download
commands are not present in Louie's evaluation report.
- Five executable versions/hashes and Rust support hashes: toolchain.json.
All required tools are already present; this build needs no network.
### Measurement environment correction and retry
The first measurement command succeeded in 388.757578 seconds (06:02:17.598Z
through 06:08:46.356Z). The requested `nice -n19` was relative to inherited
negative priority; compiler workers were initially nice15. I detected and set
only this build's processes/threads absolutely to19 during compilation, then
retained this result as a LIMITED timing, not a whole-run nice19 sample.
Receipt: full-lock-release-limited.json and measurement-priority-correction.json.
No baseline source change was made. Sage was told in gyro-0012 before retry.
The one environment retry authorized in sage-3992 establishes absolute nice19
before child spawn, uses a fresh target-retry directory, CARGO_BUILD_JOBS=4,
BINARYEN_CORES=4 and a four-CPU affinity inherited by all build children.
measurement-retry-priority.jsonl confirms Trunk/Cargo/rustc at19 on those CPUs.
The harness separately reprioritizes the waiting Python launcher, so launcher
priority alone is not the build-child measurement. The network namespace,
offline flags and isolated source/vendor/tool environment are unchanged.
### Full-lock measurement results (sage-3992)
The valid environment retry succeeded, exit0, in **397.864805 seconds** (06:09:38.409Z–06:16:16.274Z), from a fresh target directory. Actual Trunk/Cargo/rustc/wasm-opt children were nice19, four-CPU affinity; Cargo jobs4 and Binaryen cores4. The waiting Python launcher was independently reprioritized to-4 by the harness; that is recorded separately and does not describe build child priority. Evidence: full-lock-release-measurement.json, measurement-retry-priority.jsonl and measurement-release.log. Three existing engine dead-code warnings; no build error.
| Baseline measurement output | Bytes | SHA-256 |
|---|---:|---|
| index.html | 1604 | 299b76f4004bbc65204d561cc381b3fbb249d10069eaa50e88c7fba3b6c63cb8 |
| wordcraft-fa59e09a3f921e03.ico | 18378 | 53a23dcf66260f44d87d4d143d633395f3e967f391eda47e6e9cc3a52f820225 |
| wordcraft-web-832240fdc6ce872b_bg.wasm | 43957877 | c1c15050a9b394c21e7540aa57c9292b86d32bfea2476094a9976304dacf1de0 |
| wordcraft-web-88f7089f25a3b338.js | 164941 | 866a1de6a33eff2ded8ae9588fd049aeacfc42557a3863ccd2107b3faf4d691e |
Total runtime output: **44142800 bytes**. Output blobs alone pack to **16720159 bytes** using Git2.55.0: hash-object -w into a NEW scratch bare repo, sorted four blob IDs through pack-objects --stdout --threads=4. No git gc, no object writes in the Mosaic repository; count-objects receipts are in measurement-output-pack.json. The empty internal .trunk-lock is excluded. This is an independent four-blob pack, not a cross-version delta estimate and not the whole-row pack. Whole-row pack measurement remains unavailable because this work is not committed.
**Network access was disabled:** every Cargo/Trunk command ran in a new isolated user/network namespace with no connected interface; the topology receipt shows only zero-traffic loopback. Cargo and Trunk offline flags and disabled Trunk version checks were also enforced. No fetch/install was needed. No host HOME, Cargo config or credentials were passed into the build environment.
Read-only metadata observation: the unfiltered scratch resolver has238 package records; root tree joins give exactly214 normal and224 normal+build (199/209 third-party +15 local). Fourteen metadata-only extra packages total14,523,104 extracted bytes. measurement-resolution-extra-packages.json lists them for the packaging decision; no smaller vendor experiment/import was performed, and this does not clear additional source for landing.
Both requested scratch measurements are complete. No full-lock vendor source or runtime output entered the repository, no commit/push, no serving route or live change. The packaging choice still waits on Mos/Jason; M1–M14, restricted adapter, two-root reproducibility, CSP/browser and full package checks are unproved. Row310 stays in-progress, not in-review.
## 223-source measurement — sage-4008 and sage-4010
Mos mos-1574 requested the209+14 comparison before Jason chooses (Vikunja618). Scratch only: /mnt/storage/scratch/gyro-223-measure-mzbp0x23. The source includes exactly223 packages: owned reviewed209 plus14 checksum-verified registry archives from the existing cache. No other package, no fetch, no source adoption. Original vendor manifests are preserved for sizing.
| Pristine source set | Files incl checksums | Bytes incl checksums | Independent Git blob pack bytes |
|---|---:|---:|---:|
| Extra14 | 702 | 14523104 | 1720566 |
| Total223 | 11201 | 145260334 | 26538894 |
Packs use the prior output-pack method: source files hash-object -w --no-filters into a NEW scratch bare repository, then sorted unique blob IDs to pack-objects --stdout --threads=4, at nice19. No gc, tree/commit objects or cross-version delta estimate. Pack/input digests and count-objects: measurement-223-source-packs.json and measurement-223-input-manifest.json. Sizes include all original package files (no vendor pruning), plus generated .cargo-checksum.json.
### Resolution and lock result
Unfiltered223 with the original pin lock: metadata --offline --locked exits101 on missing native-only cpufeatures (exact error in measurement-223-unfiltered-resolution.json). Existing packet filterVendorManifest was then applied mechanically to the scratch copy:31 manifests /155 individual false-target dependency table sections /133 dangling feature items, including3 additional changed manifests from the14. No new algorithm or hand edits. Original reviewed209 source remains untouched. Filtered metadata --offline --locked exits101: cannot update Cargo.lock because --locked prevents this. Original lock remains06b745e43c13df3df7f048fa6a1981625ce7a5fe4cd484bc6254d0913d865b0b.
sage-4010 separately authorized one cargo metadata --offline run WITHOUT --locked in another scratch source copy. It exited0 and generated a lock with226 entries against the original558: **332 removed,0 added,0 changed** when comparing name/version/source/checksum entry by entry. Pruned SHA2563401363e100783dc70c8f5ba09324947c0b6f8562f1ac1cbbc61a0497200c17f. Exact diff and generated lock are measurement-223-lock-diff.json and measurement-223-pruned-Cargo.lock.txt. The original source lock was not modified, and there were no manual lock edits.
CLEAR request gyro-0015 covers one release measurement under --locked/--frozen with that generated lock, nice19,4 jobs/cores, isolated netns, fresh HOME/CARGO_HOME/TMPDIR/target and one environment-fault retry. sage-4011 approves the description but withholds CLEAR until row327 landing gate finishes (roughly06:45–06:55Z). **No223 release build has run.** Packaging choice and row310 remain held. Shipping a pruned lock is itself a packaging change needing S0 reviewer and Jason's choice; this measurement does not adopt it.
### Fourteen-package source and notice inventory
Every source is registry+https://github.com/rust-lang/crates.io-index. Exact archive SHA256/size and notice-file SHA256/size: measurement-223-inputs.json; all present notice text: measurement-14-notices.txt. No election or license approval is asserted.
| Package | Version | Declared license expression | Notice/license files present |
|---|---|---|---|
| cursor-icon | 1.2.0 | MIT OR Apache-2.0 OR Zlib | LICENSE-APACHE, LICENSE-MIT, LICENSE-ZLIB |
| dpi | 0.1.2 | Apache-2.0 AND MIT | LICENSE, LICENSE-LIBM-MIT |
| futures-macro | 0.3.34 | MIT OR Apache-2.0 | LICENSE-APACHE, LICENSE-MIT |
| glifo | 0.2.0 | Apache-2.0 OR MIT | LICENSE-APACHE, LICENSE-MIT |
| ordered-float | 5.5.0 | MIT | LICENSE-MIT |
| pin-project | 1.1.13 | Apache-2.0 OR MIT | LICENSE-APACHE, LICENSE-MIT |
| pin-project-internal | 1.1.13 | Apache-2.0 OR MIT | LICENSE-APACHE, LICENSE-MIT |
| smol_str | 0.2.2 | MIT OR Apache-2.0 | LICENSE-APACHE, LICENSE-MIT |
| spirv | 0.4.0+sdk-1.4.341.0 | Apache-2.0 | **None present** |
| termcolor | 1.4.1 | Unlicense OR MIT | COPYING, LICENSE-MIT, UNLICENSE |
| tracing | 0.1.44 | MIT | LICENSE |
| tracing-attributes | 0.1.31 | MIT | LICENSE |
| tracing-core | 0.1.36 | MIT | LICENSE, src/spin/LICENSE |
| winit | 0.30.13 | Apache-2.0 | LICENSE |
spirv has no license/notice file in its archive despite declaring Apache-2.0; this needs Gladstone's notice review before adoption. dpi declares Apache-2.0 AND MIT and includes LICENSE-LIBM-MIT; tracing-core includes an additional src/spin/LICENSE. Both are inventoried, not flattened to a single default text. No source code or binaries from any crate are included in this plain-text evidence commit.
Plain-text packet hygiene: trailing spaces in Node assertion transcripts normalized before commit (filter-dev-red.txt, cfg-red.txt, filter-red.txt); test outcomes and source/notice hashes unchanged.
## 223 release result and notice supplement — sage-4014
sage-4014 CLEAR supersedes the earlier slot hold. Build started06:31:53.099Z and finished06:38:13.773Z, exit0, **380.674036 seconds**. No retry used. Frozen+locked generated lock remains3401363e100783dc70c8f5ba09324947c0b6f8562f1ac1cbbc61a0497200c17f; original06b745e4... remains unchanged. Actual Trunk/Cargo/rustc/wasm-opt at nice19, CPUs12–15, Cargo jobs4/Binaryen cores4; fresh HOME/CARGO_HOME/TMPDIR/target; isolated netns with no external interface and offline/update-check-disabled tooling. No network access or fetch. Three existing engine dead-code warnings; no build error. Slot released to Sage for Bradford in gyro-0018 immediately after completion.
Frozen/offline cargo-tree preflight exactly matches S0:214 normal and224 normal+build records (199/209 third-party plus15 local), no added/missing package identities. measurement-223-build-preflight.json records this.
| Scratch baseline output | Bytes | SHA-256 |
|---|---:|---|
| index.html | 1604 | 28ce55d5c017d545aaac91bbd96f22e6ebd3b35af8d856315cdcb150a2a4a57d |
| wordcraft-fa59e09a3f921e03.ico | 18378 | 53a23dcf66260f44d87d4d143d633395f3e967f391eda47e6e9cc3a52f820225 |
| wordcraft-web-88f7089f25a3b338.js | 164941 | 866a1de6a33eff2ded8ae9588fd049aeacfc42557a3863ccd2107b3faf4d691e |
| wordcraft-web-8e80c8f64c8671f7_bg.wasm | 43952335 | 0322beb9e58b9abeed6b6e05125879bfb3eccbebb05094e191df3542a74007ea |
Total output **44137258 bytes**. The WASM SHA256 **does not equal** the full-lock build c1c15050a9b394c21e7540aa57c9292b86d32bfea2476094a9976304dacf1de0. No reproducibility or functional/CSP equivalence is asserted. Source roots and packaging differ; this run does not isolate the reason for the hash difference. Full result, child priority observations and log: measurement-223-build.json, measurement-223-build-priority.jsonl, measurement-223-release.log.
### Gladstone supplemental review and notice response
gladstone-0026 (06:37:48Z) independently checked the14 original archive checksums and original manifest/source/license inventory:10 supplemental PASS /4 CONCERN. This is not adoption or candidate approval. Checked flags: winit has one cfg-alias build script; futures-macro, pin-project-internal and tracing-attributes are proc-macros; winit has native cfg paths and Worker/Blob source. None of14 appears in the measured normal/build target closure. Source-level Worker/native flags do not imply permission to select those paths or relax Q234.
The filename-only notice collector missed embedded W3C terms in cursor-icon/src/lib.rs and winit/src/keyboard.rs. After re-reading those actual headers, measurement-14-notices.txt now includes each complete embedded license, short notice, source document URI and attribution. measurement-14-notice-supplement.json records original source hashes/line spans and extracted text hashes. The added W3C form remains an explicit S0/license-adoption review gate, not silently folded into the root SPDX expressions.
dpi remains **Apache-2.0 AND MIT** for the full-source inventory: both root LICENSE and LICENSE-LIBM-MIT retained, plus README feature explanation and complete libm copyright header added to the notice packet. No Apache-only election. tracing-core retains root LICENSE and distinct src/spin/LICENSE. spirv has no text file in its archive; supplemental mapping explicitly supplies the standard Apache-2.0 text from the pinned WordCraft LICENSE-APACHE, following S0 M13 missing-file treatment, with its source pin/hash recorded. This is an evidence mapping, not a shipping approval.
measurement-14-binary-inputs.json now lists all four winit example PNGs: examples/data/cross.png159B, cross2.png129B, gradient.png229B, icon.png2950B, each with SHA256. No other non-UTF8/NUL payload among14. They remain scratch source inputs; no binary is in this evidence commit.
All runtime outputs and all223 crate sources remain scratch-only. Only plain-text results/notices/metadata are committed. Shipping the pruned lock, the14 additions, new W3C notice form and repository size still require S0 reviewer/owner choices. Row310 stays held for Vikunja618; restricted adapter, M1–M14, two-root reproducibility and CSP/browser acceptance remain unproved.
## Supplemental notice recheck — gladstone-0027
Gladstone rechecked the collection delta at9522d2356 against1716f5a22 on
2026-10-24T06:44:42Z. All four prior notice-collection/mapping gaps now PASS as
supplemental evidence: cursor-icon embedded W3C text/attribution, dpi full-source
conjunction/copyrights, spirv explicit standard Apache-2.0 text mapping, and
winit embedded W3C text plus four example PNG records. The earlier ten package
source/notice PASS results stand. tracing-core root/spin license texts remain
complete. No additional collection gap was found in this requested delta.
Reviewer independently verified original header/source hashes and extracted
notice hashes, PNG/archive bytes, all12 incremental path hashes and changed-path
set, UTF8/no-NUL boundary and diff whitespace check. Bundle SHA256
4d8e2aac5de85d3f3145d5d3945924436d1c30bc043fb3e2d4391cd98b1adbde also matches
this worktree's fresh hash check.
This recheck is **not adoption or candidate approval**. New W3C terms still need
explicit M13/license/owner adoption review; dpi conjunction and spirv mapping
must carry into any shipped M13 bundle; PNG classification and future selection
of Worker/native paths remain explicit gates. Gladstone did not rerun or
functionally/CSP-validate the WASM. Its differing hash, the pruned lock and
packaging/size choice remain uncleared. S0 M1–M14, Jason's choice/Vikunja618 and
the row310 hold remain in force. No further build, source, notice-text or runtime
change was made to record this result.
@@ -0,0 +1,57 @@
# W2 offline packaging decision — 2026-10-24
Sage requested this consolidated stop report in sage-3983. No additional
category has been applied. No release build, commit or push has run.
The original source/lock resolve packages outside the reviewed WASM target.
The imported vendor tree contains exactly S0's 209 third-party identities:
199 normal plus 10 build-only; the web root adds 15 local crates. Original
source lock has 538 third-party records; S0 workspace metadata has 293 total
resolved packages after target filtering. These are different sets.
Approved and exercised only in scratch:
- Local workspace: 15 members/default web root; remove 12 dev/native sections.
Original included upstream bytes stay identical to the source pin. The local
manifest deltas are currently in source-build.patch and BUILD.md.
- Third-party target filtering: 28 manifests / 59 sections after adding explicit
false custom cfgs fuzzing/loom/miri (sage-3983); 26/57 before that ruling.
All other unknown cfgs remain unknown. target-filter-plan.json is the list.
- Dangling feature lists: 103 removed items across 8 manifests (sage-3982),
mechanically applied in scratch from dangling-features.json. Original vendor
bytes/checksums stay intact; scratch checksum updates touch only Cargo.toml.
- Release flags must refuse inherited RUSTFLAGS/CARGO_ENCODED_RUSTFLAGS/
RUSTDOCFLAGS/CARGO_TARGET_*_RUSTFLAGS/CARGO_BUILD_RUSTFLAGS. Not yet implemented.
- Gate narrowing from sage-3983: compare root-specific resolved package/selected
feature closures before/after packaging, not complete workspace-unified S0
feature text. Both package closures must match the 199/209 S0 sets. Still
unproved: pristine 209-only vendor itself cannot resolve the broader lock.
The next refusal is an unresolved cfg category: encoding_rs 0.8.42 declares
`simdutf8` 0.1.5 under cfg(any(x86_64,x86,aarch64,all(wasm32,simd128))).
The default pinned wasm target has no simd128 feature, but the conservative
filter retains unknown target_feature conditions rather than treating every
potential target feature as false. No target_feature-based removal was made.
The latest command/error is in offline-resolution.txt. Beyond that exact
refusal, a static survey identifies 176 unconditional optional dependency
entries (110 names across 82 manifests) absent from the 209; see
unselected-dependency-resolution.json. These are not current errors and no
such dependency was removed. They show why continued iterative reduction may
require another category. This is a lower-bound survey, not a claim that
removing all of those would make resolution succeed.
Decision requested: continue reducing target-feature and unselected optional dependency metadata,
or adopt the full-lock vendor tree with a separately identified resolution-only
inventory. I recommend the full-lock vendor approach: it preserves upstream
manifests/features and makes before/after root-closure comparison possible
without accumulating more manifest surgery. It adds source/notice review and
size; no extra package should enter the compiled web closure. This is not
permission to fetch/import extra sources. Sage decides that boundary.
Current tree sizes: upstream 582 files / 21,021,869 bytes; vendor 209 packages /
10,499 files / 130,737,230 bytes; combined 151,759,099 bytes. Upstream exclusions
are the authorized 30 icon/screenshot/macOS packaging paths, all enumerated in
BUILD.md/PROVENANCE.json. No license/notice/copyright is omitted; no vendor file
is dropped. Binary path/size inventory is binary-inputs.json (18 upstream and
74 vendor non-text files). Source subset/integrity checks pass 3/3; build test
is 1/2, with runtime-output check expected red because nothing is built yet.
@@ -0,0 +1,370 @@
[
{
"path": "packages/webui/third_party/wordcraft/upstream/assets/fonts/Inter-Medium.ttf",
"bytes": 417300
},
{
"path": "packages/webui/third_party/wordcraft/upstream/assets/fonts/Inter-Regular.ttf",
"bytes": 411640
},
{
"path": "packages/webui/third_party/wordcraft/upstream/assets/fonts/Inter-SemiBold.ttf",
"bytes": 419744
},
{
"path": "packages/webui/third_party/wordcraft/upstream/assets/fonts/JetBrainsMono-Regular.ttf",
"bytes": 270224
},
{
"path": "packages/webui/third_party/wordcraft/upstream/assets/fonts/SourceSans3-Bold.ttf",
"bytes": 428176
},
{
"path": "packages/webui/third_party/wordcraft/upstream/assets/fonts/SourceSans3-It.ttf",
"bytes": 315812
},
{
"path": "packages/webui/third_party/wordcraft/upstream/assets/fonts/SourceSans3-Regular.ttf",
"bytes": 431196
},
{
"path": "packages/webui/third_party/wordcraft/upstream/assets/fonts/SourceSans3-Semibold.ttf",
"bytes": 425904
},
{
"path": "packages/webui/third_party/wordcraft/upstream/assets/fonts/SourceSerif4-Bold.ttf",
"bytes": 271568
},
{
"path": "packages/webui/third_party/wordcraft/upstream/assets/fonts/SourceSerif4-BoldIt.ttf",
"bytes": 191832
},
{
"path": "packages/webui/third_party/wordcraft/upstream/assets/fonts/SourceSerif4-It.ttf",
"bytes": 187808
},
{
"path": "packages/webui/third_party/wordcraft/upstream/assets/fonts/SourceSerif4-Regular.ttf",
"bytes": 261868
},
{
"path": "packages/webui/third_party/wordcraft/upstream/assets/fonts/SourceSerif4-Semibold.ttf",
"bytes": 272088
},
{
"path": "packages/webui/third_party/wordcraft/upstream/assets/hyphenation/en-us.dic",
"bytes": 432905
},
{
"path": "packages/webui/third_party/wordcraft/upstream/docs/brand/artcraft-logo-white.png",
"bytes": 32161
},
{
"path": "packages/webui/third_party/wordcraft/upstream/docs/brand/artcraft-logo.png",
"bytes": 31302
},
{
"path": "packages/webui/third_party/wordcraft/upstream/docs/brand/artcraft-mark-black.png",
"bytes": 26793
},
{
"path": "packages/webui/third_party/wordcraft/upstream/docs/brand/artcraft-mark.png",
"bytes": 24715
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/aes-0.9.3/tests/data/aes128.blb",
"bytes": 27420
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/aes-0.9.3/tests/data/aes192.blb",
"bytes": 41324
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/aes-0.9.3/tests/data/aes256.blb",
"bytes": 49596
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/brotli-decompressor-5.0.3/src/bin/ipsum.brotli",
"bytes": 1752
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/cfb-0.15.0/tests/infinite_loops_fuzzed/loop_in_alloc",
"bytes": 14106
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/cfb-0.15.0/tests/infinite_loops_fuzzed/loop_in_chain",
"bytes": 16959
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/cfb-0.15.0/tests/infinite_loops_fuzzed/loop_in_directory",
"bytes": 13954
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/cfb-0.15.0/tests/infinite_loops_fuzzed/loop_in_minialloc",
"bytes": 14336
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/cfb-0.15.0/tests/infinite_loops_fuzzed/loop_in_minichain",
"bytes": 13992
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/cfb-0.15.0/tests/infinite_loops_fuzzed/loop_in_open_1",
"bytes": 1049
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/cfb-0.15.0/tests/infinite_loops_fuzzed/loop_in_open_2",
"bytes": 13830
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/cfb-0.15.0/tests/panics_fuzzed/alloc_panic",
"bytes": 16928
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/cfb-0.15.0/tests/panics_fuzzed/minialloc_panic",
"bytes": 16909
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/cipher-0.5.2/tests/data/dummy_stream_cipher.blb",
"bytes": 84
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/digest-0.11.3/tests/data/fixed_hash_serialization.bin",
"bytes": 16
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/eframe-0.36.2/data/icon.png",
"bytes": 12052
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/epaint_default_fonts-0.36.2/fonts/Hack-Regular.ttf",
"bytes": 309408
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/epaint_default_fonts-0.36.2/fonts/NotoEmoji-Regular.ttf",
"bytes": 418804
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/epaint_default_fonts-0.36.2/fonts/Ubuntu-Light.ttf",
"bytes": 361676
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/epaint_default_fonts-0.36.2/fonts/emoji-icon-font.ttf",
"bytes": 324132
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/fdeflate-0.3.7/tests/input-chunking-sensitivity-example1.zz",
"bytes": 207
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/fdeflate-0.3.7/tests/input-chunking-sensitivity-example2.zz",
"bytes": 41
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/fdeflate-0.3.7/tests/input-chunking-sensitivity-example3.zz",
"bytes": 52
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/flate2-1.1.10/examples/hello_world.txt.gz",
"bytes": 33
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/flate2-1.1.10/tests/good-file.gz",
"bytes": 6766
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/flate2-1.1.10/tests/multi.gz",
"bytes": 53
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/hmac-0.13.0/tests/data/hmac_md5_rfc2104.blb",
"bytes": 246
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/hmac-0.13.0/tests/data/hmac_sha1_wycheproof.blb",
"bytes": 4877
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/hmac-0.13.0/tests/data/hmac_sha224_rfc4231.blb",
"bytes": 804
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/hmac-0.13.0/tests/data/hmac_sha256_rfc4231.blb",
"bytes": 832
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/hmac-0.13.0/tests/data/hmac_sha256_wycheproof.blb",
"bytes": 6155
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/hmac-0.13.0/tests/data/hmac_sha384_rfc4231.blb",
"bytes": 944
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/hmac-0.13.0/tests/data/hmac_sha384_wycheproof.blb",
"bytes": 7859
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/hmac-0.13.0/tests/data/hmac_sha512_rfc4231.blb",
"bytes": 1063
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/hmac-0.13.0/tests/data/hmac_sha512_wycheproof.blb",
"bytes": 9650
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/hmac-0.13.0/tests/data/hmac_streebog256_gost.blb",
"bytes": 85
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/hmac-0.13.0/tests/data/hmac_streebog512_gost.blb",
"bytes": 118
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/krilla-0.8.2/icc/sGrey-v2-magic.icc",
"bytes": 616
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/krilla-0.8.2/icc/sGrey-v4.icc",
"bytes": 360
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/krilla-0.8.2/icc/sRGB-v2-magic.icc",
"bytes": 736
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/krilla-0.8.2/icc/sRGB-v4.icc",
"bytes": 480
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/pdf-writer-0.15.0/examples/bear-1280x720.jpg",
"bytes": 67710
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/pdf-writer-0.15.0/examples/bear-1280x720.mp4",
"bytes": 715963
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/pdf-writer-0.15.0/examples/rhino.png",
"bytes": 215287
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/pdf-writer-0.15.0/examples/sRGB_v4.icc",
"bytes": 60960
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/pdf-writer-0.15.0/examples/tiger-cmyk.jpg",
"bytes": 945216
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/sha1-0.11.0/tests/data/sha1_kat.blb",
"bytes": 235
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/sha1-0.11.0/tests/data/sha1_serialization.bin",
"bytes": 92
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/sha2-0.11.0/tests/data/sha224_kat.blb",
"bytes": 179
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/sha2-0.11.0/tests/data/sha224_serialization.bin",
"bytes": 104
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/sha2-0.11.0/tests/data/sha256_kat.blb",
"bytes": 191
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/sha2-0.11.0/tests/data/sha256_serialization.bin",
"bytes": 104
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/sha2-0.11.0/tests/data/sha384_kat.blb",
"bytes": 239
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/sha2-0.11.0/tests/data/sha384_serialization.bin",
"bytes": 208
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/sha2-0.11.0/tests/data/sha512_224_kat.blb",
"bytes": 179
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/sha2-0.11.0/tests/data/sha512_224_serialization.bin",
"bytes": 208
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/sha2-0.11.0/tests/data/sha512_256_kat.blb",
"bytes": 191
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/sha2-0.11.0/tests/data/sha512_256_serialization.bin",
"bytes": 208
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/sha2-0.11.0/tests/data/sha512_kat.blb",
"bytes": 290
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/sha2-0.11.0/tests/data/sha512_serialization.bin",
"bytes": 208
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/tiff-0.11.3/tests/decodedata-rgb-3c-8b.tiff",
"bytes": 30180
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/ttf-parser-0.25.1/examples/wasm/TTC.ttc",
"bytes": 2608
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/ttf-parser-0.25.1/tests/fonts/bitmap.otb",
"bytes": 2072
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/ttf-parser-0.25.1/tests/fonts/colr_1.ttf",
"bytes": 21568
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/ttf-parser-0.25.1/tests/fonts/colr_1_variable.ttf",
"bytes": 53096
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/ttf-parser-0.25.1/tests/fonts/demo.ttf",
"bytes": 400
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/unicode-ident-1.0.26/tests/fst/xid_continue.fst",
"bytes": 78779
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/unicode-ident-1.0.26/tests/fst/xid_start.fst",
"bytes": 69927
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/vello_common-0.1.0/assets/probe.png",
"bytes": 877
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/vello_common-0.1.0/assets/probe.rgba",
"bytes": 10404
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/vello_common-0.2.0/assets/probe.png",
"bytes": 877
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/vello_common-0.2.0/assets/probe.rgba",
"bytes": 10404
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/zlib-rs-0.6.8/src/deflate/test-data/inflate_buf_error.dat",
"bytes": 67008
},
{
"path": "packages/webui/third_party/wordcraft/cargo-vendor/zlib-rs-0.6.8/src/deflate/test-data/paper-100k.pdf",
"bytes": 102400
}
]
@@ -0,0 +1,27 @@
✔ release build refuses a missing or mismatched pinned tool before compilation (4.631422ms)
✖ shipped runtime is self-contained and matches every output receipt (0.349349ms)
ℹ tests 2
ℹ suites 0
ℹ pass 1
ℹ fail 1
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 48.123956
✖ failing tests:
test at packages/webui/tests/wordcraft-build.test.mjs:14:1
✖ shipped runtime is self-contained and matches every output receipt (0.349349ms)
Error: ENOENT: no such file or directory, open '/home/jwoltje/.t3/worktrees/mosaic-stack/gyro-row310/packages/webui/wordcraft/BUILD.json'
at readFileSync (node:fs:621:20)
at readJSON (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gyro-row310/packages/webui/wordcraft/build.mjs:9:37)
at verifyOutputs (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gyro-row310/packages/webui/wordcraft/build.mjs:61:19)
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gyro-row310/packages/webui/tests/wordcraft-build.test.mjs:17:18)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7) {
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: '/home/jwoltje/.t3/worktrees/mosaic-stack/gyro-row310/packages/webui/wordcraft/BUILD.json'
}
+46
View File
@@ -0,0 +1,46 @@
✖ release build refuses a missing or mismatched pinned tool before compilation (0.932948ms)
✖ shipped runtime is self-contained and matches every output receipt (0.1963ms)
ℹ tests 2
ℹ suites 0
ℹ pass 0
ℹ fail 2
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 48.311391
✖ failing tests:
test at packages/webui/tests/wordcraft-build.test.mjs:7:1
✖ release build refuses a missing or mismatched pinned tool before compilation (0.932948ms)
AssertionError [ERR_ASSERTION]: owned builder must exist
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gyro-row310/packages/webui/tests/wordcraft-build.test.mjs:8:10)
at Test.runInAsyncScope (node:async_hooks:226:14)
at Test.run (node:internal/test_runner/test:1402:25)
at Test.start (node:internal/test_runner/test:1262:17)
at startSubtestAfterBootstrap (node:internal/test_runner/harness:387:17) {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: false,
expected: true,
operator: '==',
diff: 'simple'
}
test at packages/webui/tests/wordcraft-build.test.mjs:14:1
✖ shipped runtime is self-contained and matches every output receipt (0.1963ms)
AssertionError [ERR_ASSERTION]: owned builder must exist
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gyro-row310/packages/webui/tests/wordcraft-build.test.mjs:15:10)
at Test.runInAsyncScope (node:async_hooks:226:14)
at Test.run (node:internal/test_runner/test:1402:25)
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
at Test.postRun (node:internal/test_runner/test:1542:19)
at Test.run (node:internal/test_runner/test:1467:12)
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: false,
expected: true,
operator: '==',
diff: 'simple'
}
File diff suppressed because it is too large. Load diff
+10
View File
@@ -0,0 +1,10 @@
✔ release cfg evaluation follows pinned rustc and refuses inherited flags (7.782219ms)
✔ pinned compiler reproduces the recorded wasm target cfg (10.432502ms)
ℹ tests 2
ℹ suites 0
ℹ pass 2
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 59.893168
+38
View File
@@ -0,0 +1,38 @@
✖ release cfg evaluation follows pinned rustc and refuses inherited flags (9.116481ms)
✖ pinned compiler reproduces the recorded wasm target cfg (0.413075ms)
ℹ tests 2
ℹ suites 0
ℹ pass 0
ℹ fail 2
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 62.764015
✖ failing tests:
test at packages/webui/tests/wordcraft-build.test.mjs:25:1
✖ release cfg evaluation follows pinned rustc and refuses inherited flags (9.116481ms)
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected
+ 'undefined'
- 'function'
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gyro-row310/packages/webui/tests/wordcraft-build.test.mjs:27:10)
at async Test.run (node:internal/test_runner/test:1409:7)
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: 'undefined',
expected: 'function',
operator: 'strictEqual',
diff: 'simple'
}
test at packages/webui/tests/wordcraft-build.test.mjs:39:1
✖ pinned compiler reproduces the recorded wasm target cfg (0.413075ms)
TypeError: releaseEnvironment is not a function
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gyro-row310/packages/webui/tests/wordcraft-build.test.mjs:43:121)
at async Test.run (node:internal/test_runner/test:1409:7)
at async Test.processPendingSubtests (node:internal/test_runner/test:974:7)
@@ -0,0 +1,517 @@
[
{
"crate": "eframe-0.36.2",
"feature": "accesskit",
"edge": "egui-winit/accesskit"
},
{
"crate": "eframe-0.36.2",
"feature": "android-game-activity",
"edge": "egui-winit/android-game-activity"
},
{
"crate": "eframe-0.36.2",
"feature": "android-native-activity",
"edge": "egui-winit/android-native-activity"
},
{
"crate": "eframe-0.36.2",
"feature": "default",
"edge": "winit/default"
},
{
"crate": "eframe-0.36.2",
"feature": "glow",
"edge": "dep:glutin-winit"
},
{
"crate": "eframe-0.36.2",
"feature": "glow",
"edge": "dep:glutin"
},
{
"crate": "eframe-0.36.2",
"feature": "links",
"edge": "egui-winit/links"
},
{
"crate": "eframe-0.36.2",
"feature": "persistence",
"edge": "egui-winit/serde"
},
{
"crate": "eframe-0.36.2",
"feature": "wayland",
"edge": "egui-winit/wayland"
},
{
"crate": "eframe-0.36.2",
"feature": "wayland",
"edge": "glutin?/wayland"
},
{
"crate": "eframe-0.36.2",
"feature": "wayland",
"edge": "glutin-winit?/wayland"
},
{
"crate": "eframe-0.36.2",
"feature": "wgpu_no_default_features",
"edge": "dep:pollster"
},
{
"crate": "eframe-0.36.2",
"feature": "x11",
"edge": "egui-winit/x11"
},
{
"crate": "eframe-0.36.2",
"feature": "x11",
"edge": "glutin?/x11"
},
{
"crate": "eframe-0.36.2",
"feature": "x11",
"edge": "glutin?/glx"
},
{
"crate": "eframe-0.36.2",
"feature": "x11",
"edge": "glutin-winit?/x11"
},
{
"crate": "eframe-0.36.2",
"feature": "x11",
"edge": "glutin-winit?/glx"
},
{
"crate": "encoding_rs-0.8.42",
"feature": "std",
"edge": "dep:multiversion"
},
{
"crate": "hashbrown-0.17.1",
"feature": "serde",
"edge": "dep:serde"
},
{
"crate": "indexmap-2.14.2",
"feature": "serde",
"edge": "dep:serde"
},
{
"crate": "rfd-0.17.2",
"feature": "common-controls-v6",
"edge": "windows-sys/Win32_UI_Controls"
},
{
"crate": "rfd-0.17.2",
"feature": "gtk3",
"edge": "gtk-sys"
},
{
"crate": "rfd-0.17.2",
"feature": "gtk3",
"edge": "glib-sys"
},
{
"crate": "rfd-0.17.2",
"feature": "gtk3",
"edge": "gobject-sys"
},
{
"crate": "rfd-0.17.2",
"feature": "wayland",
"edge": "wayland-backend"
},
{
"crate": "rfd-0.17.2",
"feature": "wayland",
"edge": "wayland-client"
},
{
"crate": "rfd-0.17.2",
"feature": "wayland",
"edge": "wayland-protocols"
},
{
"crate": "rfd-0.17.2",
"feature": "xdg-portal",
"edge": "pollster"
},
{
"crate": "uuid-1.27.0",
"feature": "fast-rng",
"edge": "dep:rand"
},
{
"crate": "uuid-1.27.0",
"feature": "rng",
"edge": "dep:getrandom"
},
{
"crate": "uuid-1.27.0",
"feature": "rng-getrandom",
"edge": "dep:getrandom"
},
{
"crate": "uuid-1.27.0",
"feature": "rng-rand",
"edge": "dep:rand"
},
{
"crate": "wgpu-core-30.0.1",
"feature": "angle",
"edge": "wgpu-core-deps-apple/angle"
},
{
"crate": "wgpu-core-30.0.1",
"feature": "drm",
"edge": "wgpu-core-deps-windows-linux-android/drm"
},
{
"crate": "wgpu-core-30.0.1",
"feature": "dx12",
"edge": "wgpu-core-deps-windows-linux-android/dx12"
},
{
"crate": "wgpu-core-30.0.1",
"feature": "gles",
"edge": "wgpu-core-deps-windows-linux-android/gles"
},
{
"crate": "wgpu-core-30.0.1",
"feature": "gles",
"edge": "wgpu-core-deps-emscripten/gles"
},
{
"crate": "wgpu-core-30.0.1",
"feature": "metal",
"edge": "wgpu-core-deps-apple/metal"
},
{
"crate": "wgpu-core-30.0.1",
"feature": "renderdoc",
"edge": "wgpu-core-deps-windows-linux-android/renderdoc"
},
{
"crate": "wgpu-core-30.0.1",
"feature": "vulkan",
"edge": "wgpu-core-deps-windows-linux-android/vulkan"
},
{
"crate": "wgpu-core-30.0.1",
"feature": "vulkan-portability",
"edge": "wgpu-core-deps-apple/vulkan-portability"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "dep:bit-set"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "dep:gpu-allocator"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "dep:libloading"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "dep:once_cell"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "dep:range-alloc"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "dep:windows-core"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "gpu-allocator/d3d12"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "once_cell/std"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Devices_DeviceAndDriverInstallation"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Devices_Display"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Graphics_Direct3D_Dxc"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Graphics_Direct3D_Fxc"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Graphics_Direct3D"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Graphics_Direct3D12"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Graphics_DirectComposition"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Graphics_Dxgi_Common"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Graphics_Gdi"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Security"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_System_Diagnostics_Debug"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_System_Kernel"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_System_Performance"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_System_Threading"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_UI_WindowsAndMessaging"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "dep:glutin_wgl_sys"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "dep:khronos-egl"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "dep:libloading"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "dep:ndk-sys"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "dep:objc2"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "dep:wayland-sys"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "dep:windows-result"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "windows-result/std"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "windows/Win32_Graphics_Gdi"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "windows/Win32_Graphics_OpenGL"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "windows/Win32_System_LibraryLoader"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "windows/Win32_UI_WindowsAndMessaging"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:block2"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:libloading"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:objc2"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:objc2-core-foundation"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:objc2-core-graphics"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:objc2-foundation"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:objc2-metal"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:objc2-quartz-core"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:smallvec"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:raw-window-metal"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "renderdoc",
"edge": "dep:libloading"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "renderdoc",
"edge": "dep:renderdoc-sys"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "static-dxc",
"edge": "dep:mach-dxcompiler-rs"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "dep:android_system_properties"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "dep:ash"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "dep:libc"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "dep:libloading"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "dep:raw-window-metal"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "dep:smallvec"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "dep:windows"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "gpu-allocator/vulkan"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "windows/Win32"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "windows/Win32_Devices_Display"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "windows/Win32_Foundation"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "windows/Win32_Graphics_Dxgi"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "windows/Win32_Graphics_Dxgi_Common"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "windows/Win32_Graphics_Gdi"
}
]
@@ -0,0 +1,28 @@
✖ a dev dependency cannot preserve a removed optional feature dependency (9.223259ms)
ℹ tests 1
ℹ suites 0
ℹ pass 0
ℹ fail 1
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 55.624704
✖ failing tests:
test at packages/webui/tests/wordcraft-build.test.mjs:61:1
✖ a dev dependency cannot preserve a removed optional feature dependency (9.223259ms)
AssertionError [ERR_ASSERTION]: The input did not match the regular expression /serde = \[\]/. Input:
'[features]\nserde = ["dep:serde"]\n[dev-dependencies.serde]\nversion = "1"\n'
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gyro-row310/packages/webui/tests/wordcraft-build.test.mjs:65:10)
at async Test.run (node:internal/test_runner/test:1409:7)
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: '[features]\nserde = ["dep:serde"]\n[dev-dependencies.serde]\nversion = "1"\n',
expected: /serde = \[\]/,
operator: 'match',
diff: 'simple'
}
@@ -0,0 +1,14 @@
✔ release build refuses a missing or mismatched pinned tool before compilation (5.38916ms)
✔ release cfg evaluation follows pinned rustc and refuses inherited flags (0.546102ms)
✔ pinned compiler reproduces the recorded wasm target cfg (11.861748ms)
✔ vendor filtering removes only false target sections and their dangling feature edges (1.475556ms)
✔ a dev dependency cannot preserve a removed optional feature dependency (0.239783ms)
✔ pristine vendor deterministically reproduces the recorded filter inventory and patch (49.412038ms)
ℹ tests 6
ℹ suites 0
ℹ pass 6
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 117.789074
@@ -0,0 +1,25 @@
✖ pristine vendor deterministically reproduces the recorded filter inventory and patch (77.792167ms)
ℹ tests 1
ℹ suites 0
ℹ pass 0
ℹ fail 1
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 126.569143
✖ failing tests:
test at packages/webui/tests/wordcraft-build.test.mjs:69:1
✖ pristine vendor deterministically reproduces the recorded filter inventory and patch (77.792167ms)
AssertionError [ERR_ASSERTION]: patch must contain exactly the mechanically reproduced vendor changes
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gyro-row310/packages/webui/tests/wordcraft-build.test.mjs:99:12)
at async Test.run (node:internal/test_runner/test:1409:7)
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: false,
expected: true,
operator: '==',
diff: 'simple'
}
+30
View File
@@ -0,0 +1,30 @@
✖ vendor filtering removes only false target sections and their dangling feature edges (7.574024ms)
ℹ tests 1
ℹ suites 0
ℹ pass 0
ℹ fail 1
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 49.047592
✖ failing tests:
test at packages/webui/tests/wordcraft-build.test.mjs:48:1
✖ vendor filtering removes only false target sections and their dangling feature edges (7.574024ms)
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected
+ 'undefined'
- 'function'
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gyro-row310/packages/webui/tests/wordcraft-build.test.mjs:50:10)
at async Test.run (node:internal/test_runner/test:1409:7)
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: 'undefined',
expected: 'function',
operator: 'strictEqual',
diff: 'simple'
}
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,52 @@
{
"scratchRoot": "/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0",
"startUTC": "2026-10-24T06:02:17.598071+00:00",
"endUTC": "2026-10-24T06:08:46.355786+00:00",
"wallSeconds": 388.757577938959,
"exitCode": 0,
"network": "new user/network namespace for metadata, tree and release commands; only loopback exists, no connected interface",
"nice": 19,
"cargoJobs": 4,
"flags": "no inherited Rust flag variables; no configured Rust flags; isolated CARGO_HOME and HOME",
"source": "owned pinned upstream copy, approved 15-member local workspace reduction, original vendor manifests; pinned icon restored only in scratch for original Trunk HTML; baseline measurement, NOT restricted runtime/CSP evidence",
"command": [
"unshare",
"--user",
"--map-root-user",
"--net",
"nice",
"-n",
"19",
"/mnt/storage/scratch/louie-wordcraft-toolchain/trunk/bin/trunk",
"build",
"--release",
"--locked",
"--offline",
"--skip-version-check"
],
"outputs": {
".trunk-lock": {
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
"index.html": {
"bytes": 1604,
"sha256": "299b76f4004bbc65204d561cc381b3fbb249d10069eaa50e88c7fba3b6c63cb8"
},
"wordcraft-fa59e09a3f921e03.ico": {
"bytes": 18378,
"sha256": "53a23dcf66260f44d87d4d143d633395f3e967f391eda47e6e9cc3a52f820225"
},
"wordcraft-web-832240fdc6ce872b_bg.wasm": {
"bytes": 43957877,
"sha256": "c1c15050a9b394c21e7540aa57c9292b86d32bfea2476094a9976304dacf1de0"
},
"wordcraft-web-88f7089f25a3b338.js": {
"bytes": 164941,
"sha256": "866a1de6a33eff2ded8ae9588fd049aeacfc42557a3863ccd2107b3faf4d691e"
}
},
"validation": "timing invalid for wholly nice19 run: effective initial nice15; corrected to19 during compilation",
"initialEffectiveNice": 15,
"priorityCorrectionReceipt": "measurement-priority-correction.json"
}
@@ -0,0 +1,40 @@
{
"scratchRoot": "/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0",
"startUTC": "2026-10-24T06:09:38.408737+00:00",
"endUTC": "2026-10-24T06:16:16.273643+00:00",
"wallSeconds": 397.86480517999735,
"exitCode": 0,
"attempt": "one allowed environment retry after initial effective nice15 was detected",
"cpuAffinity": [
12,
13,
14,
15
],
"cargoJobs": 4,
"binaryenCores": 4,
"targetCache": "fresh target-retry directory",
"network": "enforced isolated user/network namespace, no external interface; Cargo/Trunk offline; Trunk update checks disabled",
"source": "baseline owned source copy plus approved local workspace reduction; vendor manifests unfiltered. Not a restricted editor/CSP gate result.",
"outputs": {
"index.html": {
"bytes": 1604,
"sha256": "299b76f4004bbc65204d561cc381b3fbb249d10069eaa50e88c7fba3b6c63cb8"
},
"wordcraft-fa59e09a3f921e03.ico": {
"bytes": 18378,
"sha256": "53a23dcf66260f44d87d4d143d633395f3e967f391eda47e6e9cc3a52f820225"
},
"wordcraft-web-832240fdc6ce872b_bg.wasm": {
"bytes": 43957877,
"sha256": "c1c15050a9b394c21e7540aa57c9292b86d32bfea2476094a9976304dacf1de0"
},
"wordcraft-web-88f7089f25a3b338.js": {
"bytes": 164941,
"sha256": "866a1de6a33eff2ded8ae9588fd049aeacfc42557a3863ccd2107b3faf4d691e"
}
},
"launcherFinalNice": -4,
"buildChildNice": 19,
"priorityEvidence": "measurement-retry-priority.jsonl: Trunk/Cargo/rustc and wasm-opt all observed at19, CPUs12-15; launcher separately reprioritized by harness"
}
@@ -0,0 +1,34 @@
[
{
"name": "winit",
"version": "0.30.13",
"archivePath": "examples/data/cross.png",
"bytes": 159,
"sha256": "4db9fec917c6cb3196872073e4168d28c4f3e0ad04c5c41865407088abf279e4",
"scope": "example data only; not a committed evidence binary or runtime approval"
},
{
"name": "winit",
"version": "0.30.13",
"archivePath": "examples/data/cross2.png",
"bytes": 129,
"sha256": "fbeeb71e5d6f24898017739d088acefb522d85108a6f1f96183e60e6b4b1f6e6",
"scope": "example data only; not a committed evidence binary or runtime approval"
},
{
"name": "winit",
"version": "0.30.13",
"archivePath": "examples/data/gradient.png",
"bytes": 229,
"sha256": "8f80c21867a59959b84f9ced19ff3aba7bf4e1cf0e2c24dea2c8465c8705c7ca",
"scope": "example data only; not a committed evidence binary or runtime approval"
},
{
"name": "winit",
"version": "0.30.13",
"archivePath": "examples/data/icon.png",
"bytes": 2950,
"sha256": "4340d72fb8b5d95a10e3b2c02230f1060dff0950a137bd1d830c63dbc020dd45",
"scope": "example data only; not a committed evidence binary or runtime approval"
}
]
@@ -0,0 +1,46 @@
{
"review": "gladstone-0026",
"scope": "supplemental inventory corrections, no adoption/implementation approval",
"records": [
{
"crate": "cursor-icon-1.2.0",
"sourcePath": "src/lib.rs",
"sourceSha256": "2f649887b91d2ea059fcf64ef8512a16c0bde72e38ff0aeb14df0f119a9885cb",
"startLine": 34,
"endLine": 102,
"noticeTextSha256": "c54d5155b68d1bd2d3ba1f6b10ee15e3c08696461c3351aef1b71d6cf22cef5e",
"terms": "embedded W3C full license, short notice, document URI and attribution; additional to root SPDX expression",
"adoption": "pending S0/M13 review and owner packaging/license choice; not a policy election"
},
{
"crate": "winit-0.30.13",
"sourcePath": "src/keyboard.rs",
"sourceSha256": "fb1400750fb0c6d376415e642c837e0e8ded95f55ba03a8889d336d180620394",
"startLine": 3,
"endLine": 70,
"noticeTextSha256": "42fe72ba50223d1042803270ecaa191072fe2c41b0f2bd1d7b1a0e19a7bbba7b",
"terms": "embedded W3C full license, short notice, document URI and attribution; additional to root SPDX expression",
"adoption": "pending S0/M13 review and owner packaging/license choice; not a policy election"
},
{
"crate": "dpi-0.1.2",
"sourcePaths": [
"README.md",
"src/libm.rs"
],
"licenseExpression": "Apache-2.0 AND MIT",
"noticeTextSha256": "a3432b00bcf66d370747a494ff8038788019340aaa8cb93c74d3b77d6c1ca025",
"retention": "LICENSE and LICENSE-LIBM-MIT remain in main notice bundle; README explanation and libm copyrights appended; no flattening/election"
},
{
"crate": "spirv-0.4.0+sdk-1.4.341.0",
"declared": "Apache-2.0",
"archiveNoticeFiles": [],
"mapping": "Apache-2.0 standard text, S0 M13 missing-file treatment",
"textSource": "WordCraft e05b7fe86f3b85454000dffc321de638d7009817:LICENSE-APACHE",
"textSha256": "0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594",
"adoption": "explicit supplemental evidence mapping only; no shipping adoption or cleared notice verdict asserted"
}
],
"bundleSha256": "4d8e2aac5de85d3f3145d5d3945924436d1c30bc043fb3e2d4391cd98b1adbde"
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,44 @@
from pathlib import Path
import os,subprocess,json,datetime,time,hashlib,re
root=Path('/mnt/storage/scratch/gyro-223-measure-root.txt').read_text().strip();root=Path(root);work=Path('agents/gyro/work/queue-310');src=root/'pruned-source'
assert hashlib.sha256((src/'Cargo.lock').read_bytes()).hexdigest()=='3401363e100783dc70c8f5ba09324947c0b6f8562f1ac1cbbc61a0497200c17f'
for k in os.environ:
if k in ['RUSTFLAGS','RUSTDOCFLAGS','CARGO_ENCODED_RUSTFLAGS','CARGO_BUILD_RUSTFLAGS'] or (k.startswith('CARGO_TARGET_') and k.endswith('_RUSTFLAGS')):raise RuntimeError('inherited flags refused: '+k)
for name in ['build-home','build-cargo-home','build-target']:(root/name).mkdir()
rust='/mnt/storage/scratch/louie-wordcraft-toolchain/rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin'
trunk='/mnt/storage/scratch/louie-wordcraft-toolchain/trunk/bin/trunk'
env={'PATH':rust+':'+str(root/'cache/trunk/wasm-bindgen-0.2.129')+':'+str(root/'cache/trunk/wasm-opt-version_131/bin')+':/usr/bin:/bin','HOME':str(root/'build-home'),'CARGO_HOME':str(root/'build-cargo-home'),'XDG_CACHE_HOME':str(root/'cache'),'CARGO_NET_OFFLINE':'true','CARGO_BUILD_JOBS':'4','BINARYEN_CORES':'4','RUSTC':rust+'/rustc','CARGO_TARGET_DIR':str(root/'build-target'),'LC_ALL':'C','TZ':'UTC','TMPDIR':os.environ['TMPDIR'],'TRUNK_OFFLINE':'true','TRUNK_SKIP_VERSION_CHECK':'true','TRUNK_TOOLS_WASM_BINDGEN':'0.2.129','TRUNK_TOOLS_WASM_OPT':'version_131','SOURCE_DATE_EPOCH':'1792587600'}
cpus=sorted(os.sched_getaffinity(0))[-4:]
def limit():os.setpriority(os.PRIO_PROCESS,0,19);os.sched_setaffinity(0,cpus)
base=['unshare','--user','--map-root-user','--net']
expected=json.load(open(work/'measurement-root-closure.json'))['packages'];closures={}
for edge in ['normal','normal,build']:
cmd=base+[rust+'/cargo','tree','--offline','--frozen','--locked','-p','wordcraft-web','--target','wasm32-unknown-unknown','--edges',edge,'--prefix','none','--format','{p}']
p=subprocess.run(cmd,cwd=src,env=env,preexec_fn=limit,capture_output=True,text=True)
(root/('build-tree-'+edge.replace(',','-')+'.txt')).write_text(p.stdout+p.stderr)
actual=set()
for line in p.stdout.splitlines():
m=re.match(r'(\S+) v(\S+)',line)
if m:actual.add((m[1],m[2]))
keys={(p['name'],p['version']) for p in expected if edge=='normal,build' or p['edge']=='normal'}
closures[edge]={'exit':p.returncode,'count':len(actual),'added':sorted(actual-keys),'missing':sorted(keys-actual)}
if p.returncode or actual!=keys:
(work/'measurement-223-build-preflight.json').write_text(json.dumps(closures,indent=2)+'\n');raise RuntimeError('closure check failed: '+edge)
(work/'measurement-223-build-preflight.json').write_text(json.dumps(closures,indent=2)+'\n')
start=datetime.datetime.now(datetime.timezone.utc).isoformat();t=time.monotonic();cmd=base+[trunk,'build','--release','--frozen','--locked','--offline','--skip-version-check']
with (root/'release-build.log').open('w') as log:
child=subprocess.Popen(cmd,cwd=src/'apps/wordcraft-web',env=env,preexec_fn=limit,stdout=log,stderr=subprocess.STDOUT)
priority={'pid':child.pid,'nice':os.getpriority(os.PRIO_PROCESS,child.pid),'cpus':sorted(os.sched_getaffinity(child.pid))}
assert priority['nice']==19 and len(priority['cpus'])==4
(work/'measurement-223-build-start.json').write_text(json.dumps({'startUTC':start,'command':cmd,'priority':priority,'network':'new isolated user/network namespace; no external interface; offline/frozen/locked Cargo/Trunk'},indent=2)+'\n')
print('release started '+start+' '+str(priority),flush=True)
code=child.wait()
seconds=time.monotonic()-t;end=datetime.datetime.now(datetime.timezone.utc).isoformat()
result={'authority':'sage-4014 CLEAR; scratch measurement only','scratchRoot':str(root),'startUTC':start,'endUTC':end,'exitCode':code,'wallSeconds':seconds,'nice':19,'cpuAffinity':cpus,'cargoJobs':4,'binaryenCores':4,'freshDirectories':['HOME','CARGO_HOME','TMPDIR','target'],'lockSha256':hashlib.sha256((src/'Cargo.lock').read_bytes()).hexdigest(),'network':'isolated user/network namespace, no external interface; offline/frozen/locked and no Trunk update checks','source':'baseline measurement with existing packaging filter and cargo-generated pruned lock; not restricted adapter or CSP acceptance','outputs':{}}
if code==0:
for f in sorted((src/'dist/web').rglob('*')):
if f.is_file() and f.name!='.trunk-lock':result['outputs'][f.name]={'bytes':f.stat().st_size,'sha256':hashlib.sha256(f.read_bytes()).hexdigest()}
old=json.load(open(work/'full-lock-release-measurement.json'));oldwasm=next(v['sha256'] for k,v in old['outputs'].items() if k.endswith('.wasm'));newwasm=next(v['sha256'] for k,v in result['outputs'].items() if k.endswith('.wasm'))
result.update({'fullLockWasmSha256':oldwasm,'wasmSha256EqualsFullLock':oldwasm==newwasm})
(root/'release-measurement.json').write_text(json.dumps(result,indent=2)+'\n');(work/'measurement-223-build.json').write_text(json.dumps(result,indent=2)+'\n')
print(json.dumps(result,indent=2),flush=True)
@@ -0,0 +1,14 @@
{
"normal": {
"exit": 0,
"count": 214,
"added": [],
"missing": []
},
"normal,build": {
"exit": 0,
"count": 224,
"added": [],
"missing": []
}
}
@@ -0,0 +1,2 @@
{"atUTC": "2026-10-24T06:34:09.192942+00:00", "processes": [{"pid": 2180936, "name": "trunk", "nice": 19, "cpus": [12, 13, 14, 15]}, {"pid": 2180947, "name": "cargo", "nice": 19, "cpus": [12, 13, 14, 15]}, {"pid": 2198782, "name": "rustc", "nice": 19, "cpus": [12, 13, 14, 15]}]}
{"atUTC": "2026-10-24T06:36:42.030208+00:00", "processes": [{"pid": 2214200, "name": "wasm-opt", "nice": 19, "cpus": [12, 13, 14, 15], "threads": 5}]}
@@ -0,0 +1,27 @@
{
"startUTC": "2026-10-24T06:31:53.099322+00:00",
"command": [
"unshare",
"--user",
"--map-root-user",
"--net",
"/mnt/storage/scratch/louie-wordcraft-toolchain/trunk/bin/trunk",
"build",
"--release",
"--frozen",
"--locked",
"--offline",
"--skip-version-check"
],
"priority": {
"pid": 2180936,
"nice": 19,
"cpus": [
12,
13,
14,
15
]
},
"network": "new isolated user/network namespace; no external interface; offline/frozen/locked Cargo/Trunk"
}
@@ -0,0 +1,46 @@
{
"authority": "sage-4014 CLEAR; scratch measurement only",
"scratchRoot": "/mnt/storage/scratch/gyro-223-measure-mzbp0x23",
"startUTC": "2026-10-24T06:31:53.099322+00:00",
"endUTC": "2026-10-24T06:38:13.773390+00:00",
"exitCode": 0,
"wallSeconds": 380.6740357100498,
"nice": 19,
"cpuAffinity": [
12,
13,
14,
15
],
"cargoJobs": 4,
"binaryenCores": 4,
"freshDirectories": [
"HOME",
"CARGO_HOME",
"TMPDIR",
"target"
],
"lockSha256": "3401363e100783dc70c8f5ba09324947c0b6f8562f1ac1cbbc61a0497200c17f",
"network": "isolated user/network namespace, no external interface; offline/frozen/locked and no Trunk update checks",
"source": "baseline measurement with existing packaging filter and cargo-generated pruned lock; not restricted adapter or CSP acceptance",
"outputs": {
"index.html": {
"bytes": 1604,
"sha256": "28ce55d5c017d545aaac91bbd96f22e6ebd3b35af8d856315cdcb150a2a4a57d"
},
"wordcraft-fa59e09a3f921e03.ico": {
"bytes": 18378,
"sha256": "53a23dcf66260f44d87d4d143d633395f3e967f391eda47e6e9cc3a52f820225"
},
"wordcraft-web-88f7089f25a3b338.js": {
"bytes": 164941,
"sha256": "866a1de6a33eff2ded8ae9588fd049aeacfc42557a3863ccd2107b3faf4d691e"
},
"wordcraft-web-8e80c8f64c8671f7_bg.wasm": {
"bytes": 43952335,
"sha256": "0322beb9e58b9abeed6b6e05125879bfb3eccbebb05094e191df3542a74007ea"
}
},
"fullLockWasmSha256": "c1c15050a9b394c21e7540aa57c9292b86d32bfea2476094a9976304dacf1de0",
"wasmSha256EqualsFullLock": false
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,18 @@
import {readFileSync,writeFileSync,readdirSync} from 'node:fs';
import {pathToFileURL} from 'node:url';
const {filterVendorManifest,sha256}=await import(pathToFileURL(`${process.cwd()}/packages/webui/wordcraft/build.mjs`));
const root=readFileSync('/mnt/storage/scratch/gyro-223-measure-root.txt','utf8').trim();
const cfg=readFileSync('agents/gyro/work/queue-310/rustc-wasm32-cfg.txt','utf8');
const inventory=[];
for(const crate of readdirSync(`${root}/vendor`).sort()) {
const path=`${root}/vendor/${crate}/Cargo.toml`;
const original=readFileSync(path,'utf8');const result=filterVendorManifest(original,cfg);
if(result.text===original)continue;
writeFileSync(path,result.text);
const checksum=JSON.parse(readFileSync(`${root}/vendor/${crate}/.cargo-checksum.json`,'utf8'));
checksum.files['Cargo.toml']=sha256(Buffer.from(result.text));
writeFileSync(`${root}/vendor/${crate}/.cargo-checksum.json`,JSON.stringify(checksum)+'\n');
inventory.push({crate,sections:result.sections,features:result.features});
}
writeFileSync('agents/gyro/work/queue-310/measurement-223-filter-inventory.json',JSON.stringify(inventory,null,2)+'\n');
console.log(JSON.stringify({manifests:inventory.length,sections:inventory.reduce((n,x)=>n+x.sections.length,0),featureItems:inventory.reduce((n,x)=>n+x.features.length,0)}));
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,315 @@
{
"scratchRoot": "/mnt/storage/scratch/gyro-223-measure-mzbp0x23",
"authority": "sage-4008 / mos-1574",
"originalLockSha256": "06b745e43c13df3df7f048fa6a1981625ce7a5fe4cd484bc6254d0913d865b0b",
"packages": 223,
"extraPackages": [
{
"name": "cursor-icon",
"version": "1.2.0",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"archiveSha256": "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f",
"archiveBytes": 14267,
"license": "MIT OR Apache-2.0 OR Zlib",
"licenseFile": null,
"noticeFiles": [
{
"path": "LICENSE-APACHE",
"bytes": 11346,
"sha256": "b59affd015e517ed998dd735757f9a3693643cd389609947ed54074234a10784"
},
{
"path": "LICENSE-MIT",
"bytes": 1059,
"sha256": "c138726a726ac37bae09d0f8a48e74e8e3aa8a8952fcd10fae0fb224cc1c05f1"
},
{
"path": "LICENSE-ZLIB",
"bytes": 844,
"sha256": "01e533bd94e8f1c32b2c2531e2c398de7d35d7804add3d574b4e1fe581d53537"
}
],
"files": 14,
"bytes": 44329
},
{
"name": "dpi",
"version": "0.1.2",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"archiveSha256": "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76",
"archiveBytes": 14812,
"license": "Apache-2.0 AND MIT",
"licenseFile": null,
"noticeFiles": [
{
"path": "LICENSE",
"bytes": 11323,
"sha256": "6dc0e068dcf3a5bc8e054205b85b7720e1d49265bbc64bf515d2cf79197df69a"
},
{
"path": "LICENSE-LIBM-MIT",
"bytes": 2444,
"sha256": "9eff396a99bafd208e7126602420d6864f6066c08b84485a5b032320a9c01997"
}
],
"files": 11,
"bytes": 64188
},
{
"name": "futures-macro",
"version": "0.3.34",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"archiveSha256": "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44",
"archiveBytes": 11926,
"license": "MIT OR Apache-2.0",
"licenseFile": null,
"noticeFiles": [
{
"path": "LICENSE-APACHE",
"bytes": 10874,
"sha256": "275c491d6d1160553c32fd6127061d7f9606c3ea25abfad6ca3f6ed088785427"
},
{
"path": "LICENSE-MIT",
"bytes": 1094,
"sha256": "6652c868f35dfe5e8ef636810a4e576b9d663f3a17fb0f5613ad73583e1b88fd"
}
],
"files": 12,
"bytes": 41731
},
{
"name": "glifo",
"version": "0.2.0",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"archiveSha256": "ed4a1bb24121291d27230c1b1b44e07d6a9b28cefdb32fe1581dfb84e14f940a",
"archiveBytes": 55880,
"license": "Apache-2.0 OR MIT",
"licenseFile": null,
"noticeFiles": [
{
"path": "LICENSE-APACHE",
"bytes": 9723,
"sha256": "62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a"
},
{
"path": "LICENSE-MIT",
"bytes": 1057,
"sha256": "3252fc481fda4d2bad9e1ae675065889abd35c8abb500499ac01e70aaffa02b9"
}
],
"files": 20,
"bytes": 222068
},
{
"name": "ordered-float",
"version": "5.5.0",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"archiveSha256": "8c7c9e0d9b23589f26070720bac724174bfec1083e82f7854cdd0267518343c0",
"archiveBytes": 34706,
"license": "MIT",
"licenseFile": null,
"noticeFiles": [
{
"path": "LICENSE-MIT",
"bytes": 1057,
"sha256": "f7715d38a3fa1b4ac97c5729740752505a39cb92ee83ab5b102aeb5eaa7cdea4"
}
],
"files": 14,
"bytes": 179606
},
{
"name": "pin-project",
"version": "1.1.13",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"archiveSha256": "2466b2336ed02bcdca6b294417127b90ec92038d1d5c4fbeac971a922e0e0924",
"archiveBytes": 56345,
"license": "Apache-2.0 OR MIT",
"licenseFile": null,
"noticeFiles": [
{
"path": "LICENSE-APACHE",
"bytes": 10174,
"sha256": "0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594"
},
{
"path": "LICENSE-MIT",
"bytes": 1023,
"sha256": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3"
}
],
"files": 209,
"bytes": 476259
},
{
"name": "pin-project-internal",
"version": "1.1.13",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"archiveSha256": "c96395f0a926bc13b1c17622aaddda1ecb55d49c8f1bf9777e4d877800a43f8b",
"archiveBytes": 29331,
"license": "Apache-2.0 OR MIT",
"licenseFile": null,
"noticeFiles": [
{
"path": "LICENSE-APACHE",
"bytes": 10174,
"sha256": "0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594"
},
{
"path": "LICENSE-MIT",
"bytes": 1023,
"sha256": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3"
}
],
"files": 15,
"bytes": 114911
},
{
"name": "smol_str",
"version": "0.2.2",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"archiveSha256": "dd538fb6910ac1099850255cf94a94df6551fbdd602454387d0adb2d1ca6dead",
"archiveBytes": 15840,
"license": "MIT OR Apache-2.0",
"licenseFile": null,
"noticeFiles": [
{
"path": "LICENSE-APACHE",
"bytes": 10847,
"sha256": "a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2"
},
{
"path": "LICENSE-MIT",
"bytes": 1023,
"sha256": "23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3"
}
],
"files": 14,
"bytes": 56395
},
{
"name": "spirv",
"version": "0.4.0+sdk-1.4.341.0",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"archiveSha256": "d9571ea910ebd84c86af4b3ed27f9dbdc6ad06f17c5f96146b2b671e2976744f",
"archiveBytes": 41285,
"license": "Apache-2.0",
"licenseFile": null,
"noticeFiles": [],
"files": 9,
"bytes": 257440
},
{
"name": "termcolor",
"version": "1.4.1",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"archiveSha256": "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755",
"archiveBytes": 18773,
"license": "Unlicense OR MIT",
"licenseFile": null,
"noticeFiles": [
{
"path": "COPYING",
"bytes": 126,
"sha256": "01c266bced4a434da0051174d6bee16a4c82cf634e2679b6155d40d75012390f"
},
{
"path": "LICENSE-MIT",
"bytes": 1081,
"sha256": "0f96a83840e146e43c0ec96a22ec1f392e0680e6c1226e6f3ba87e0740af850f"
},
{
"path": "UNLICENSE",
"bytes": 1211,
"sha256": "7e12e5df4bae12cb21581ba157ced20e1986a0508dd10d0e8a4ab9a4cf94e85c"
}
],
"files": 12,
"bytes": 92727
},
{
"name": "tracing",
"version": "0.1.44",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"archiveSha256": "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100",
"archiveBytes": 463135,
"license": "MIT",
"licenseFile": null,
"noticeFiles": [
{
"path": "LICENSE",
"bytes": 1062,
"sha256": "898b1ae9821e98daf8964c8d6c7f61641f5f5aa78ad500020771c0939ee0dea1"
}
],
"files": 94,
"bytes": 9827320
},
{
"name": "tracing-attributes",
"version": "0.1.31",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"archiveSha256": "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da",
"archiveBytes": 39733,
"license": "MIT",
"licenseFile": null,
"noticeFiles": [
{
"path": "LICENSE",
"bytes": 1062,
"sha256": "898b1ae9821e98daf8964c8d6c7f61641f5f5aa78ad500020771c0939ee0dea1"
}
],
"files": 31,
"bytes": 184696
},
{
"name": "tracing-core",
"version": "0.1.36",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"archiveSha256": "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a",
"archiveBytes": 63967,
"license": "MIT",
"licenseFile": null,
"noticeFiles": [
{
"path": "LICENSE",
"bytes": 1062,
"sha256": "898b1ae9821e98daf8964c8d6c7f61641f5f5aa78ad500020771c0939ee0dea1"
},
{
"path": "src/spin/LICENSE",
"bytes": 1085,
"sha256": "58545fed1565e42d687aecec6897d35c6d37ccb71479a137c0deb2203e125c79"
}
],
"files": 29,
"bytes": 257879
},
{
"name": "winit",
"version": "0.30.13",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"archiveSha256": "a6755fa58a9f8350bd1e472d4c3fcc25f824ec358933bba33306d0b63df5978d",
"archiveBytes": 605180,
"license": "Apache-2.0",
"licenseFile": null,
"noticeFiles": [
{
"path": "LICENSE",
"bytes": 11323,
"sha256": "6dc0e068dcf3a5bc8e054205b85b7720e1d49265bbc64bf515d2cf79197df69a"
}
],
"files": 218,
"bytes": 2703555
}
],
"extraFiles": 702,
"extraBytes": 14523104,
"totalFiles": 11201,
"totalBytes": 145260334,
"vendorManifestEdits": "none; original 209 packaging plus 14 checksum-verified archive extractions",
"sourceManifestEdits": "same approved local 15-member workspace reduction as prior packet, no additional changes"
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,8 @@
command: unshare --user --map-root-user --net /mnt/storage/scratch/louie-wordcraft-toolchain/rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo metadata --offline --locked --filter-platform wasm32-unknown-unknown --format-version 1
exit: 101
wallSeconds: 0.17994241300038993
STDERR:
error: cannot update the lock file /mnt/storage/scratch/gyro-223-measure-mzbp0x23/source/Cargo.lock because --locked was passed to prevent this
help: to generate the lock file without accessing the network, remove the --locked flag and use --offline instead.
STDOUT:
@@ -0,0 +1,32 @@
from pathlib import Path
import os,subprocess,json,hashlib
root=Path('/mnt/storage/scratch/gyro-223-measure-root.txt').read_text().strip();root=Path(root);work=Path('agents/gyro/work/queue-310')
os.setpriority(os.PRIO_PROCESS,0,19);os.sched_setaffinity(0,sorted(os.sched_getaffinity(0))[-4:])
env={'PATH':'/usr/bin:/bin','HOME':str(root/'home'),'LC_ALL':'C','GIT_CONFIG_NOSYSTEM':'1','GIT_CONFIG_GLOBAL':'/dev/null'}
def priority():os.setpriority(os.PRIO_PROCESS,0,19)
def call(args,**kw):return subprocess.run(args,env=env,preexec_fn=priority,check=True,**kw)
repo=root/'source-measurement.git';call(['git','init','--bare',str(repo)],capture_output=True)
git=['git','--git-dir',str(repo)]
inputs=json.load(open(work/'measurement-223-inputs.json'));extras={p['name']+'-'+p['version'] for p in inputs['extraPackages']}
review=Path('packages/webui/third_party/wordcraft/cargo-vendor').resolve();prior=Path('/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/vendor')
files=[]
for d in sorted(review.iterdir()):files.extend((f,False,d.name+'/'+f.relative_to(d).as_posix()) for f in sorted(d.rglob('*')) if f.is_file())
for name in sorted(extras):
d=prior/name;files.extend((f,True,name+'/'+f.relative_to(d).as_posix()) for f in sorted(d.rglob('*')) if f.is_file())
assert len(files)==inputs['totalFiles'];assert sum(f.stat().st_size for f,_,_ in files)==inputs['totalBytes']
assert all('\n' not in str(f) for f,_,_ in files)
before=call(git+['count-objects','-v'],capture_output=True,text=True).stdout
p=call(git+['hash-object','-w','--no-filters','--stdin-paths'],input='\n'.join(str(f) for f,_,_ in files)+'\n',capture_output=True,text=True)
oids=p.stdout.splitlines();assert len(oids)==len(files)
sets={'all223':sorted(set(oids)),'extra14':sorted({oid for oid,(_,extra,_) in zip(oids,files) if extra})}
packs={}
for name,ids in sets.items():
f=root/(name+'-sources.pack')
with f.open('wb') as out:call(git+['pack-objects','--stdout','--threads=4'],input='\n'.join(ids)+'\n',stdout=out,text=True)
packs[name]={'packedBytes':f.stat().st_size,'uniqueBlobs':len(ids),'sha256':hashlib.sha256(f.read_bytes()).hexdigest()}
after=call(git+['count-objects','-v'],capture_output=True,text=True).stdout
report={'scratchRoot':str(root),'method':'pristine package files (not filtered build copy), git hash-object -w --no-filters --stdin-paths into scratch bare repo; each sorted unique blob set through pack-objects --stdout --threads=4; no gc; no tree/commit objects or cross-version deltas','all223Files':len(files),'all223Bytes':sum(f.stat().st_size for f,_,_ in files),'extra14Files':sum(extra for _,extra,_ in files),'extra14Bytes':sum(f.stat().st_size for f,extra,_ in files if extra),'packs':packs,'countObjectsBefore':before,'countObjectsAfter':after}
(work/'measurement-223-source-packs.json').write_text(json.dumps(report,indent=2)+'\n')
manifest=[{'path':path,'bytes':f.stat().st_size,'sha256':hashlib.sha256(f.read_bytes()).hexdigest(),'gitBlob':oid,'extra':extra} for oid,(f,extra,path) in zip(oids,files)]
(work/'measurement-223-input-manifest.json').write_text(json.dumps(manifest,indent=2)+'\n')
print(json.dumps(report,indent=2))
@@ -0,0 +1,37 @@
from pathlib import Path
import os,json,tomllib,hashlib,tarfile,shutil,tempfile,subprocess,datetime,time
os.setpriority(os.PRIO_PROCESS,0,19)
root=Path(tempfile.mkdtemp(prefix='gyro-223-measure-',dir='/mnt/storage/scratch'))
work=Path('agents/gyro/work/queue-310'); prior=Path('/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0')
shutil.copytree('packages/webui/third_party/wordcraft/cargo-vendor',root/'vendor')
lockfile=Path('packages/webui/third_party/wordcraft/upstream/Cargo.lock');lock=tomllib.loads(lockfile.read_text())
bykey={(p['name'],p['version']):p for p in lock['package']}
extra=json.load(open(work/'measurement-resolution-extra-packages.json'))['packages']
cache=Path('/mnt/storage/scratch/louie-wordcraft-toolchain/cargo/registry/cache/index.crates.io-1949cf8c6b5b557f')
inventory=[]
for p in extra:
key=(p['name'],p['version']);pin=bykey[key];archive=cache/(key[0]+'-'+key[1]+'.crate')
assert hashlib.sha256(archive.read_bytes()).hexdigest()==pin['checksum']
with tarfile.open(archive) as tf:tf.extractall(root/'vendor',filter='data')
d=root/'vendor'/(key[0]+'-'+key[1]);fs=sorted(f for f in d.rglob('*') if f.is_file())
(d/'.cargo-checksum.json').write_text(json.dumps({'files':{f.relative_to(d).as_posix():hashlib.sha256(f.read_bytes()).hexdigest() for f in fs},'package':pin['checksum']},sort_keys=True)+'\n')
manifest=tomllib.loads((d/'Cargo.toml').read_text());licenses=[]
for f in sorted(d.rglob('*')):
if f.is_file() and any(k in f.name.lower() for k in ['license','notice','copying','copyright']):
licenses.append({'path':f.relative_to(d).as_posix(),'bytes':f.stat().st_size,'sha256':hashlib.sha256(f.read_bytes()).hexdigest()})
allfs=[f for f in d.rglob('*') if f.is_file()]
inventory.append({'name':key[0],'version':key[1],'source':pin['source'],'archiveSha256':pin['checksum'],'archiveBytes':archive.stat().st_size,'license':manifest['package'].get('license'),'licenseFile':manifest['package'].get('license-file'),'noticeFiles':licenses,'files':len(allfs),'bytes':sum(f.stat().st_size for f in allfs)})
assert len(list((root/'vendor').iterdir()))==223
shutil.copytree(prior/'source',root/'source')
# Restore the original lock exactly, as Sage requested. Keep only the already
# approved local-workspace reduction; vendor manifests are pristine/unfiltered.
shutil.copyfile(lockfile,root/'source/Cargo.lock')
for name in ['home','cargo-home']:(root/name).mkdir()
shutil.copytree(prior/'cache',root/'cache')
cfg=(root/'source/.cargo/config.toml').read_text().replace(str(prior/'vendor'),str(root/'vendor'))
(root/'source/.cargo/config.toml').write_text(cfg)
fs=[f for f in (root/'vendor').rglob('*') if f.is_file()]
report={'scratchRoot':str(root),'authority':'sage-4008 / mos-1574','originalLockSha256':hashlib.sha256(lockfile.read_bytes()).hexdigest(),'packages':223,'extraPackages':inventory,'extraFiles':sum(p['files'] for p in inventory),'extraBytes':sum(p['bytes'] for p in inventory),'totalFiles':len(fs),'totalBytes':sum(f.stat().st_size for f in fs),'vendorManifestEdits':'none; original 209 packaging plus 14 checksum-verified archive extractions','sourceManifestEdits':'same approved local 15-member workspace reduction as prior packet, no additional changes'}
(work/'measurement-223-inputs.json').write_text(json.dumps(report,indent=2)+'\n');(root/'measurement-inputs.json').write_text(json.dumps(report,indent=2)+'\n')
Path('/mnt/storage/scratch/gyro-223-measure-root.txt').write_text(str(root)+'\n')
print(json.dumps({k:v for k,v in report.items() if k!='extraPackages'},indent=2))
@@ -0,0 +1,25 @@
from pathlib import Path
import os,shutil,subprocess,json,tomllib,hashlib,time
root=Path('/mnt/storage/scratch/gyro-223-measure-root.txt').read_text().strip();root=Path(root);work=Path('agents/gyro/work/queue-310')
src=root/'pruned-source';shutil.copytree(root/'source',src)
rust='/mnt/storage/scratch/louie-wordcraft-toolchain/rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin'
env={'PATH':rust+':/usr/bin:/bin','HOME':str(root/'home'),'CARGO_HOME':str(root/'cargo-home'),'CARGO_NET_OFFLINE':'true','CARGO_BUILD_JOBS':'4','RUSTC':rust+'/rustc','CARGO_TARGET_DIR':str(root/'target'),'LC_ALL':'C','TZ':'UTC','TMPDIR':os.environ['TMPDIR']}
for k in os.environ:
if k in ['RUSTFLAGS','RUSTDOCFLAGS','CARGO_ENCODED_RUSTFLAGS','CARGO_BUILD_RUSTFLAGS'] or (k.startswith('CARGO_TARGET_') and k.endswith('_RUSTFLAGS')):raise RuntimeError('inherited flags refused: '+k)
def priority():os.setpriority(os.PRIO_PROCESS,0,19)
cmd=['unshare','--user','--map-root-user','--net',rust+'/cargo','metadata','--offline','--filter-platform','wasm32-unknown-unknown','--format-version','1']
p=subprocess.run(cmd,cwd=src,env=env,preexec_fn=priority,capture_output=True,text=True)
(root/'pruned-metadata.json').write_text(p.stdout);(work/'measurement-223-pruned-metadata.txt').write_text('command: '+' '.join(cmd)+'\nexit: '+str(p.returncode)+'\n'+p.stderr)
original=(root/'source/Cargo.lock').read_bytes();new=(src/'Cargo.lock').read_bytes()
a=tomllib.loads(original.decode());b=tomllib.loads(new.decode())
def indexed(doc):return {(p['name'],p['version']):p for p in doc['package']}
a=indexed(a);b=indexed(b)
removed=[a[k] for k in sorted(a.keys()-b.keys())];added=[b[k] for k in sorted(b.keys()-a.keys())];changed=[]
for k in sorted(a.keys()&b.keys()):
before={f:a[k].get(f) for f in ['name','version','source','checksum']};after={f:b[k].get(f) for f in ['name','version','source','checksum']}
if before!=after:changed.append({'before':before,'after':after})
report={'authority':'sage-4010, scratch measurement only; shipping would be a packaging change needing S0 reviewer and Jason choice','scratchRoot':str(root),'source':str(src),'metadataExit':p.returncode,'stderr':p.stderr,'originalLockSha256':hashlib.sha256(original).hexdigest(),'prunedLockSha256':hashlib.sha256(new).hexdigest(),'originalEntries':len(a),'prunedEntries':len(b),'removedCount':len(removed),'addedCount':len(added),'changedCount':len(changed),'removed':[{f:r.get(f) for f in ['name','version','source','checksum']} for r in removed],'added':added,'changed':changed,'subsetPass':p.returncode==0 and not added and not changed}
(work/'measurement-223-lock-diff.json').write_text(json.dumps(report,indent=2)+'\n');(root/'pruned-lock-diff.json').write_text(json.dumps(report,indent=2)+'\n')
(work/'measurement-223-pruned-Cargo.lock.txt').write_bytes(new)
print(json.dumps({k:v for k,v in report.items() if k not in ['removed','added','changed']},indent=2))
assert hashlib.sha256((root/'source/Cargo.lock').read_bytes()).hexdigest()==report['originalLockSha256']
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,2 @@
command: unshare --user --map-root-user --net /mnt/storage/scratch/louie-wordcraft-toolchain/rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo metadata --offline --filter-platform wasm32-unknown-unknown --format-version 1
exit: 0
@@ -0,0 +1,251 @@
2026-10-24T06:31:53.109215Z INFO Starting trunk 0.22.0
2026-10-24T06:31:53.109534Z INFO starting build
2026-10-24T06:31:53.109733Z INFO node packages []
Compiling unicode-ident v1.0.26
Compiling proc-macro2 v1.0.107
Compiling quote v1.0.47
Compiling cfg-if v1.0.5
Compiling serde_core v1.0.229
Compiling once_cell v1.21.4
Compiling serde v1.0.229
Compiling libm v0.2.16
Compiling rustversion v1.0.23
Compiling autocfg v1.5.1
Compiling log v0.4.34
Compiling syn v3.0.6
Compiling wasm-bindgen-shared v0.2.129
Compiling num-traits v0.2.19
Compiling bitflags v2.13.2
Compiling thiserror v2.0.21
Compiling bumpalo v3.20.3
Compiling arrayvec v0.7.8
Compiling wasm-bindgen v0.2.129
Compiling foldhash v0.2.0
Compiling futures-task v0.3.34
Compiling hashbrown v0.17.1
Compiling slab v0.4.12
Compiling futures-core v0.3.34
Compiling pin-project-lite v0.2.17
Compiling futures-util v0.3.34
Compiling simd-adler32 v0.3.10
Compiling syn v2.0.119
Compiling zerocopy v0.8.61
Compiling crc32fast v1.5.2
Compiling adler2 v2.0.1
Compiling polycool v0.4.0
Compiling wasm-bindgen-macro-support v0.2.129
Compiling miniz_oxide v0.9.1
Compiling bytemuck_derive v1.12.1
Compiling serde_derive v1.0.229
Compiling thiserror-impl v2.0.21
Compiling bytemuck v1.25.2
Compiling zerocopy-derive v0.8.61
Compiling zlib-rs v0.6.8
Compiling wasm-bindgen-macro v0.2.129
Compiling smallvec v1.16.2
Compiling kurbo v0.13.1
Compiling equivalent v1.0.2
Compiling indexmap v2.14.2
Compiling js-sys v0.3.106
Compiling flate2 v1.1.10
Compiling font-types v0.12.6
Compiling memchr v2.8.3
Compiling zmij v1.0.23
Compiling miniz_oxide v0.8.9
Compiling scopeguard v1.2.0
Compiling version_check v0.9.5
Compiling half v2.7.1
Compiling fdeflate v0.3.7
Compiling cfg_aliases v0.2.2
Compiling serde_json v1.0.151
Compiling png v0.18.1
Compiling color v0.3.3
Compiling euclid v0.22.14
Compiling unicode-segmentation v1.13.3
Compiling linebender_resource_handle v0.1.1
Compiling typenum v1.20.1
Compiling peniko v0.6.1
Compiling guillotiere v0.7.0
Compiling hybrid-array v0.4.15
Compiling weezl v0.1.12
Compiling fearless_simd v0.4.1
Compiling quick-error v2.0.1
Compiling itoa v1.0.18
Compiling zune-core v0.5.3
Compiling read-fonts v0.41.0
Compiling zune-jpeg v0.5.15
Compiling byteorder-lite v0.1.0
Compiling parking_lot_core v0.9.12
Compiling color_quant v1.1.0
Compiling gif v0.14.2
Compiling image-webp v0.2.4
Compiling uuid v1.27.0
Compiling crypto-common v0.2.2
Compiling lock_api v0.4.14
Compiling fax v0.2.7
Compiling pxfm v0.1.30
Compiling tiff v0.11.3
Compiling web-sys v0.3.106
Compiling moxcms v0.8.1
Compiling skrifa v0.44.0
Compiling parking_lot v0.12.5
Compiling wordcraft-geom v0.9.0 (/mnt/storage/scratch/gyro-223-measure-mzbp0x23/pruned-source/crates/geom)
Compiling font-types v0.11.3
Compiling synstructure v0.14.0
Compiling rustc-hash v1.1.0
Compiling cmov v0.5.4
Compiling profiling v1.0.18
Compiling rustc-hash v2.1.3
Compiling unicode-script v0.5.8
Compiling ctutils v0.4.3
Compiling naga-types v30.0.1
Compiling wordcraft-doc v0.9.0 (/mnt/storage/scratch/gyro-223-measure-mzbp0x23/pruned-source/crates/doc)
Compiling read-fonts v0.39.2
Compiling image v0.25.10
Compiling web-time v1.1.0
Compiling block-buffer v0.12.1
Compiling naga v30.0.1
Compiling slotmap v1.1.1
Compiling unicode-width v0.2.2
Compiling bit-vec v0.9.1
Compiling const-oid v0.10.2
Compiling raw-window-handle v0.6.2
Compiling alloc-no-stdlib v2.0.4
Compiling brotli-decompressor v5.0.3
Compiling bit-set v0.10.0
Compiling digest v0.11.3
Compiling codespan-reporting v0.13.1
Compiling zerofrom-derive v0.1.8
Compiling ahash v0.8.12
Compiling read-fonts v0.44.0
Compiling read-fonts v0.43.3
Compiling core_maths v0.1.1
Compiling static_assertions v1.1.0
Compiling wordcraft-fonts v0.9.0 (/mnt/storage/scratch/gyro-223-measure-mzbp0x23/pruned-source/crates/fonts)
Compiling unicode-general-category v1.1.0
Compiling unicode-bidi v0.3.18
Compiling bytes v1.12.1
Compiling wgpu-types v30.0.1
Compiling wuff v0.2.9
Compiling ttf-parser v0.25.1
Compiling zerofrom v0.1.8
Compiling skrifa v0.47.0
Compiling harfrust v0.13.3
Compiling skrifa v0.42.1
Compiling write-fonts v0.48.1
Compiling yoke-derive v0.8.4
Compiling vello_common v0.1.0
Compiling wgpu-hal v30.0.1
Compiling emath v0.36.2
Compiling encoding_rs v0.8.42
Compiling strict-num v0.1.1
Compiling unicode-bidi-mirroring v0.4.0
Compiling fnv v1.0.7
Compiling stable_deref_trait v1.2.1
Compiling base64 v0.22.1
Compiling unicode-properties v0.1.4
Compiling unicode-ccc v0.4.0
Compiling arrayref v0.3.9
Compiling ryu v1.0.23
Compiling pdf-writer v0.15.0
Compiling tiny-skia-path v0.12.0
Compiling rustybuzz v0.20.1
Compiling vello_cpu v0.1.0
Compiling yoke v0.8.3
Compiling cfb v0.15.0
Compiling subsetter v0.2.6
Compiling ecolor v0.36.2
Compiling glow v0.17.0
Compiling wgpu-naga-bridge v30.0.1
Compiling zopfli v0.8.3
Compiling harfrust v0.12.0
Compiling vello_common v0.2.0
Compiling inout v0.2.2
Compiling wordcraft-proof v0.9.0 (/mnt/storage/scratch/gyro-223-measure-mzbp0x23/pruned-source/crates/proof)
Compiling float-cmp v0.9.0
Compiling nohash-hasher v0.2.0
Compiling unicode-linebreak v0.1.5
Compiling xmp-writer v0.3.3
Compiling getrandom v0.3.4
Compiling multiversion_no_op v1.0.0
Compiling imagesize v0.14.0
Compiling either v1.19.0
Compiling self_cell v1.3.0
Compiling epaint_default_fonts v0.36.2
Compiling siphasher v1.0.4
Compiling epaint v0.36.2
Compiling krilla v0.8.2 (https://github.com/storytold/craft-libs?rev=c3487320b2d1de657b860b3c8abb44e1f2b32bd8#c3487320)
Compiling itertools v0.15.0
Compiling wordcraft-layout v0.9.0 (/mnt/storage/scratch/gyro-223-measure-mzbp0x23/pruned-source/crates/layout)
Compiling glifo v0.3.0
Compiling cipher v0.5.2
Compiling zip v3.0.0
Compiling sha1 v0.11.0
Compiling accesskit v0.24.1
Compiling wgpu-core v30.0.1
Compiling aho-corasick v1.1.5
Compiling quick-xml v0.41.0
Compiling wordcraft-metafile v0.9.0 (/mnt/storage/scratch/gyro-223-measure-mzbp0x23/pruned-source/crates/metafile)
Compiling cpubits v0.1.1
Compiling regex-syntax v0.8.11
Compiling litrs v1.0.0
Compiling winnow v1.0.4
Compiling toml_parser v1.1.3+spec-1.1.0
Compiling document-features v0.2.12
Compiling aes v0.9.3
Compiling wgpu-core-deps-wasm v30.0.1
Compiling regex-automata v0.4.18
Compiling egui v0.36.2
Compiling vello_cpu v0.2.0
Compiling chardetng v1.0.0
Compiling craft-pdf v0.1.0 (https://github.com/storytold/craft-libs?rev=c3487320b2d1de657b860b3c8abb44e1f2b32bd8#c3487320)
Compiling toml_datetime v1.1.1+spec-1.1.0
Compiling serde_spanned v1.1.1
Compiling hmac v0.13.0
Compiling sha2 v0.11.0
Compiling wasm-bindgen-futures v0.4.79
Compiling wgpu v30.0.1
Compiling zeroize v1.9.1
Compiling toml_writer v1.1.2+spec-1.1.0
Compiling toml v1.1.6+spec-1.1.0
Compiling wordcraft-docx v0.9.0 (/mnt/storage/scratch/gyro-223-measure-mzbp0x23/pruned-source/crates/docx)
Compiling wordcraft-pdf v0.9.0 (/mnt/storage/scratch/gyro-223-measure-mzbp0x23/pruned-source/crates/pdf)
Compiling wordcraft-formats v0.9.0 (/mnt/storage/scratch/gyro-223-measure-mzbp0x23/pruned-source/crates/formats)
Compiling wordcraft-render v0.9.0 (/mnt/storage/scratch/gyro-223-measure-mzbp0x23/pruned-source/crates/render)
Compiling regex v1.13.1
Compiling wordcraft-docbin v0.9.0 (/mnt/storage/scratch/gyro-223-measure-mzbp0x23/pruned-source/crates/docbin)
Compiling wordcraft-engine v0.9.0 (/mnt/storage/scratch/gyro-223-measure-mzbp0x23/pruned-source/crates/engine)
Compiling wordcraft-ui-egui v0.9.0 (/mnt/storage/scratch/gyro-223-measure-mzbp0x23/pruned-source/crates/ui-egui)
Compiling type-map v0.5.1
Compiling rfd v0.17.2
Compiling craft-ui v0.1.0 (https://github.com/storytold/craft-libs?rev=d27646a5f7c8b4fc85d9dd3213b8c88b58e0088d#d27646a5)
Compiling sys-locale v0.3.2
Compiling percent-encoding v2.3.2
warning: function `by_author` is never used
--> crates/engine/src/cmd/citations.rs:534:4
|
534 | fn by_author(x: &Source) -> &str {
| ^^^^^^^^^
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
warning: function `primary_tag` is never used
--> crates/engine/src/speech.rs:252:4
|
252 | fn primary_tag(tag: &str) -> Option<String> {
| ^^^^^^^^^^^
warning: function `voice_language` is never used
--> crates/engine/src/speech.rs:260:4
|
260 | fn voice_language(lang: Option<&str>, default: &str) -> Option<String> {
| ^^^^^^^^^^^^^^
Compiling egui-wgpu v0.36.2
Compiling eframe v0.36.2
Compiling wordcraft-zotero v0.9.0 (/mnt/storage/scratch/gyro-223-measure-mzbp0x23/pruned-source/crates/zotero)
warning: `wordcraft-engine` (lib) generated 3 warnings
Compiling wordcraft-web v0.9.0 (/mnt/storage/scratch/gyro-223-measure-mzbp0x23/pruned-source/apps/wordcraft-web)
Finished `release` profile [optimized] target(s) in 3m 16s
2026-10-24T06:38:13.771065Z INFO applying new distribution
2026-10-24T06:38:13.771634Z INFO success
@@ -0,0 +1,10 @@
{
"scratchRoot": "/mnt/storage/scratch/gyro-223-measure-mzbp0x23",
"metadataExit": 101,
"metadataError": "error: cannot update the lock file /mnt/storage/scratch/gyro-223-measure-mzbp0x23/source/Cargo.lock because --locked was passed to prevent this\nhelp: to generate the lock file without accessing the network, remove the --locked flag and use --offline instead.\n",
"originalLockSha256": "06b745e43c13df3df7f048fa6a1981625ce7a5fe4cd484bc6254d0913d865b0b",
"lockUnchanged": true,
"network": "isolated network namespace with no external interface; offline Cargo; fresh HOME/CARGO_HOME",
"closures": {},
"resolves": false
}
@@ -0,0 +1,31 @@
from pathlib import Path
import os,json,subprocess,re,time,hashlib
root=Path('/mnt/storage/scratch/gyro-223-measure-root.txt').read_text().strip();root=Path(root);work=Path('agents/gyro/work/queue-310')
rust='/mnt/storage/scratch/louie-wordcraft-toolchain/rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin'
for k in os.environ:
if k in ['RUSTFLAGS','RUSTDOCFLAGS','CARGO_ENCODED_RUSTFLAGS','CARGO_BUILD_RUSTFLAGS'] or (k.startswith('CARGO_TARGET_') and k.endswith('_RUSTFLAGS')):raise RuntimeError('inherited flags refused: '+k)
env={'PATH':rust+':/usr/bin:/bin','HOME':str(root/'home'),'CARGO_HOME':str(root/'cargo-home'),'CARGO_NET_OFFLINE':'true','CARGO_BUILD_JOBS':'4','RUSTC':rust+'/rustc','CARGO_TARGET_DIR':str(root/'target'),'LC_ALL':'C','TZ':'UTC','TMPDIR':os.environ['TMPDIR']}
def priority():os.setpriority(os.PRIO_PROCESS,0,19)
def run(args,name):
command=['unshare','--user','--map-root-user','--net']+args;t=time.monotonic()
p=subprocess.run(command,cwd=root/'source',env=env,preexec_fn=priority,capture_output=True,text=True)
(root/(name+'.stdout')).write_text(p.stdout);(root/(name+'.stderr')).write_text(p.stderr)
(work/('measurement-223-'+name+'.txt')).write_text('command: '+' '.join(command)+'\nexit: '+str(p.returncode)+'\nwallSeconds: '+str(time.monotonic()-t)+'\nSTDERR:\n'+p.stderr+('\nSTDOUT:\n'+p.stdout if p.returncode else ''))
return p
original=(root/'source/Cargo.lock').read_bytes()
p=run([rust+'/cargo','metadata','--offline','--locked','--filter-platform','wasm32-unknown-unknown','--format-version','1'],'metadata')
report={'scratchRoot':str(root),'metadataExit':p.returncode,'metadataError':p.stderr,'originalLockSha256':hashlib.sha256(original).hexdigest(),'lockUnchanged':original==(root/'source/Cargo.lock').read_bytes(),'network':'isolated network namespace with no external interface; offline Cargo; fresh HOME/CARGO_HOME','closures':{}}
if p.returncode==0:
inv=json.load(open('packages/webui/third_party/wordcraft/PROVENANCE.json'))['packages']
for edge in ['normal','normal,build']:
p=run([rust+'/cargo','tree','--locked','--offline','-p','wordcraft-web','--target','wasm32-unknown-unknown','--edges',edge,'--prefix','none','--format','{p}'],'tree-'+edge.replace(',','-'))
actual=set()
for line in p.stdout.splitlines():
m=re.match(r'(\S+) v(\S+)',line)
if m:actual.add((m[1],m[2]))
expected={(x['name'],x['version']) for x in inv if edge=='normal,build' or x['edge']=='normal'}
report['closures'][edge]={'exit':p.returncode,'packages':len(actual),'added':sorted(actual-expected),'missing':sorted(expected-actual),'matchesS0':p.returncode==0 and actual==expected}
report['resolves']=all(x['matchesS0'] for x in report['closures'].values())
else:report['resolves']=False
(work/'measurement-223-resolution.json').write_text(json.dumps(report,indent=2)+'\n');(root/'resolution-result.json').write_text(json.dumps(report,indent=2)+'\n')
print(json.dumps(report,indent=2))
@@ -0,0 +1,22 @@
{
"scratchRoot": "/mnt/storage/scratch/gyro-223-measure-mzbp0x23",
"method": "pristine package files (not filtered build copy), git hash-object -w --no-filters --stdin-paths into scratch bare repo; each sorted unique blob set through pack-objects --stdout --threads=4; no gc; no tree/commit objects or cross-version deltas",
"all223Files": 11201,
"all223Bytes": 145260334,
"extra14Files": 702,
"extra14Bytes": 14523104,
"packs": {
"all223": {
"packedBytes": 26538894,
"uniqueBlobs": 10275,
"sha256": "70b06c31030057d7b994290b464f3ed7707d1ae5490140a0853ac520c7563304"
},
"extra14": {
"packedBytes": 1720566,
"uniqueBlobs": 691,
"sha256": "71e53a9af8dd368a56bb382cf313b2a8ead530055028e1a31f57fc8119071bd0"
}
},
"countObjectsBefore": "count: 0\nsize: 0\nin-pack: 0\npacks: 0\nsize-pack: 0\nprune-packable: 0\ngarbage: 0\nsize-garbage: 0\n",
"countObjectsAfter": "count: 10275\nsize: 66172\nin-pack: 0\npacks: 0\nsize-pack: 0\nprune-packable: 0\ngarbage: 0\nsize-garbage: 0\n"
}
@@ -0,0 +1,10 @@
{
"scratchRoot": "/mnt/storage/scratch/gyro-223-measure-mzbp0x23",
"metadataExit": 101,
"metadataError": "error: no matching package named `cpufeatures` found\nlocation searched: directory source `/mnt/storage/scratch/gyro-223-measure-mzbp0x23/vendor` (which is replacing registry `crates-io`)\nrequired by package `sha1 v0.11.0`\n ... which satisfies dependency `sha1 = \"^0.11\"` (locked to 0.11.0) of package `wordcraft-docbin v0.9.0 (/mnt/storage/scratch/gyro-223-measure-mzbp0x23/source/crates/docbin)`\nnote: offline mode (via `--offline`) can sometimes cause surprising resolution failures\nhelp: if this error is too confusing you may wish to retry without `--offline`\n",
"originalLockSha256": "06b745e43c13df3df7f048fa6a1981625ce7a5fe4cd484bc6254d0913d865b0b",
"lockUnchanged": true,
"network": "isolated network namespace with no external interface; offline Cargo; fresh HOME/CARGO_HOME",
"closures": {},
"resolves": false
}
@@ -0,0 +1,106 @@
// Verbatim measurement routines from the W2 packet; no crate sources.
// sage-3983/3984g: target cfgs are measured with a sanitized environment.
// Keep release flags under builder control; ambient flags cannot widen the target.
export function releaseEnvironment(input) {
const forbidden = key => ['RUSTFLAGS', 'CARGO_ENCODED_RUSTFLAGS', 'RUSTDOCFLAGS', 'CARGO_BUILD_RUSTFLAGS'].includes(key)
|| /^CARGO_TARGET_.*_RUSTFLAGS$/.test(key);
for (const key of Object.keys(input)) {
if (forbidden(key)) throw new Error(`refusing inherited Rust flags: ${key}`);
}
const permitted = ['PATH', 'TMPDIR', 'LANG', 'LC_ALL', 'TZ'];
return Object.fromEntries(permitted.filter(key => input[key] !== undefined).map(key => [key, input[key]]));
}
export function evaluateCfg(expression, printCfg) {
const enabled = new Set(printCfg.split('\n').map(line => line.trim()).filter(Boolean));
const tokens = expression.match(/"(?:[^"\\]|\\.)*"|[A-Za-z_][A-Za-z_0-9]*|[(),=]|\S/g) ?? [];
let pos = 0;
const take = expected => {
if (tokens[pos++] !== expected) throw new Error(`invalid cfg expression: ${expression}`);
};
function parse() {
const name = tokens[pos++];
if (!/^[A-Za-z_][A-Za-z_0-9]*$/.test(name ?? '')) throw new Error(`invalid cfg name: ${expression}`);
if (tokens[pos] === '(') {
pos++;
const args = [];
while (tokens[pos] !== ')') {
args.push(parse());
if (tokens[pos] === ',') pos++;
else if (tokens[pos] !== ')') throw new Error(`invalid cfg arguments: ${expression}`);
}
take(')');
if (name === 'cfg' && args.length === 1) return args[0];
if (name === 'not' && args.length === 1) return !args[0];
if (name === 'all') return args.every(Boolean);
if (name === 'any') return args.some(Boolean);
throw new Error(`unsupported cfg operation: ${name}`);
}
if (tokens[pos] === '=') {
pos++;
const value = JSON.parse(tokens[pos++]);
return enabled.has(`${name}=${JSON.stringify(value)}`);
}
return enabled.has(name);
}
const result = parse();
if (pos !== tokens.length) throw new Error(`trailing cfg tokens: ${expression}`);
return result;
}
// Dependency-table parsing only: all edited TOML values are upstream string
// arrays. Unknown syntax refuses instead of guessing or changing a dependency.
function targetSection(part) {
const line = part.split('\n', 1)[0];
const match = /^\[target\.("(?:[^"\\]|\\.)*"|'[^']*'|[^.\]]+)\.(dependencies|build-dependencies|dev-dependencies)(?:\.([A-Za-z0-9_-]+))?\]$/.exec(line);
if (!match) return null;
const selector = match[1].startsWith('"') ? JSON.parse(match[1]) : match[1].replace(/^'|'$/g, '');
const names = match[3] ? [match[3]] : [...part.matchAll(/^([A-Za-z0-9_-]+)\s*=/gm)].map(m => m[1]);
return { cfg: selector, kind: match[2], dependencies: names };
}
export function filterVendorManifest(text, printCfg) {
const parts = text.split(/(?=^\[)/m);
const sections = [];
const retained = [];
for (const part of parts) {
const section = targetSection(part);
if (section?.cfg.startsWith('cfg(') && !evaluateCfg(section.cfg, printCfg)) sections.push(section);
else retained.push(part);
}
const remainingNames = new Set();
for (const part of retained) {
const section = targetSection(part);
if (section && section.kind !== 'dev-dependencies') section.dependencies.forEach(name => remainingNames.add(name));
else {
const header = /^\[(dependencies|build-dependencies)(?:\.([A-Za-z0-9_-]+))?\]/.exec(part);
if (header?.[2]) remainingNames.add(header[2]);
else if (header) for (const match of part.matchAll(/^([A-Za-z0-9_-]+)\s*=/gm)) remainingNames.add(match[1]);
}
}
const removed = new Map();
for (const section of sections) {
for (const name of section.dependencies) {
if (!remainingNames.has(name)) removed.set(name, [...(removed.get(name) ?? []), section.cfg]);
}
}
const features = [];
const output = retained.map(part => {
if (!part.startsWith('[features]')) return part;
return part.replace(/^([A-Za-z0-9_-]+)\s*=\s*\[([^\]]*)\]/gm, (whole, feature, body) => {
const noComments = body.replace(/#[^\n]*/g, '');
let items;
try { items = JSON.parse(`[${noComments.replace(/,\s*$/, '')}]`); }
catch { throw new Error(`unsupported feature array: ${feature}`); }
if (!items.every(item => typeof item === 'string')) throw new Error(`non-string feature item: ${feature}`);
const kept = items.filter(item => {
const dependency = item.replace(/^dep:/, '').split('/')[0].replace(/\?$/, '');
if (!removed.has(dependency)) return true;
features.push({ feature, item, dependency, cfg: removed.get(dependency) });
return false;
});
return kept.length === items.length ? whole : `${feature} = ${JSON.stringify(kept)}`;
});
}).join('');
return { text: output, sections, features };
}
@@ -0,0 +1,251 @@
2026-10-24T06:02:17.606436Z INFO Starting trunk 0.22.0
2026-10-24T06:02:17.608522Z INFO starting build
2026-10-24T06:02:17.609024Z INFO node packages []
Compiling proc-macro2 v1.0.107
Compiling unicode-ident v1.0.26
Compiling quote v1.0.47
Compiling cfg-if v1.0.5
Compiling serde_core v1.0.229
Compiling once_cell v1.21.4
Compiling serde v1.0.229
Compiling libm v0.2.16
Compiling rustversion v1.0.23
Compiling wasm-bindgen-shared v0.2.129
Compiling syn v3.0.6
Compiling autocfg v1.5.1
Compiling log v0.4.34
Compiling num-traits v0.2.19
Compiling thiserror v2.0.21
Compiling bitflags v2.13.2
Compiling arrayvec v0.7.8
Compiling bumpalo v3.20.3
Compiling wasm-bindgen v0.2.129
Compiling foldhash v0.2.0
Compiling slab v0.4.12
Compiling hashbrown v0.17.1
Compiling futures-core v0.3.34
Compiling pin-project-lite v0.2.17
Compiling futures-task v0.3.34
Compiling futures-util v0.3.34
Compiling simd-adler32 v0.3.10
Compiling syn v2.0.119
Compiling zerocopy v0.8.61
Compiling crc32fast v1.5.2
Compiling adler2 v2.0.1
Compiling polycool v0.4.0
Compiling wasm-bindgen-macro-support v0.2.129
Compiling miniz_oxide v0.9.1
Compiling bytemuck_derive v1.12.1
Compiling serde_derive v1.0.229
Compiling thiserror-impl v2.0.21
Compiling bytemuck v1.25.2
Compiling zerocopy-derive v0.8.61
Compiling zlib-rs v0.6.8
Compiling wasm-bindgen-macro v0.2.129
Compiling smallvec v1.16.2
Compiling kurbo v0.13.1
Compiling equivalent v1.0.2
Compiling indexmap v2.14.2
Compiling flate2 v1.1.10
Compiling js-sys v0.3.106
Compiling font-types v0.12.6
Compiling memchr v2.8.3
Compiling zmij v1.0.23
Compiling miniz_oxide v0.8.9
Compiling version_check v0.9.5
Compiling scopeguard v1.2.0
Compiling fdeflate v0.3.7
Compiling half v2.7.1
Compiling serde_json v1.0.151
Compiling cfg_aliases v0.2.2
Compiling png v0.18.1
Compiling color v0.3.3
Compiling euclid v0.22.14
Compiling linebender_resource_handle v0.1.1
Compiling unicode-segmentation v1.13.3
Compiling typenum v1.20.1
Compiling peniko v0.6.1
Compiling guillotiere v0.7.0
Compiling hybrid-array v0.4.15
Compiling fearless_simd v0.4.1
Compiling quick-error v2.0.1
Compiling itoa v1.0.18
Compiling weezl v0.1.12
Compiling zune-core v0.5.3
Compiling zune-jpeg v0.5.15
Compiling read-fonts v0.41.0
Compiling parking_lot_core v0.9.12
Compiling byteorder-lite v0.1.0
Compiling color_quant v1.1.0
Compiling gif v0.14.2
Compiling image-webp v0.2.4
Compiling uuid v1.27.0
Compiling crypto-common v0.2.2
Compiling lock_api v0.4.14
Compiling fax v0.2.7
Compiling pxfm v0.1.30
Compiling tiff v0.11.3
Compiling web-sys v0.3.106
Compiling moxcms v0.8.1
Compiling skrifa v0.44.0
Compiling parking_lot v0.12.5
Compiling wordcraft-geom v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/geom)
Compiling font-types v0.11.3
Compiling synstructure v0.14.0
Compiling unicode-script v0.5.8
Compiling profiling v1.0.18
Compiling rustc-hash v2.1.3
Compiling cmov v0.5.4
Compiling rustc-hash v1.1.0
Compiling ctutils v0.4.3
Compiling naga-types v30.0.1
Compiling read-fonts v0.39.2
Compiling wordcraft-doc v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/doc)
Compiling image v0.25.10
Compiling web-time v1.1.0
Compiling block-buffer v0.12.1
Compiling naga v30.0.1
Compiling slotmap v1.1.1
Compiling unicode-width v0.2.2
Compiling bit-vec v0.9.1
Compiling raw-window-handle v0.6.2
Compiling alloc-no-stdlib v2.0.4
Compiling const-oid v0.10.2
Compiling digest v0.11.3
Compiling brotli-decompressor v5.0.3
Compiling bit-set v0.10.0
Compiling codespan-reporting v0.13.1
Compiling zerofrom-derive v0.1.8
Compiling ahash v0.8.12
Compiling read-fonts v0.44.0
Compiling read-fonts v0.43.3
Compiling core_maths v0.1.1
Compiling unicode-bidi v0.3.18
Compiling bytes v1.12.1
Compiling unicode-general-category v1.1.0
Compiling static_assertions v1.1.0
Compiling wordcraft-fonts v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/fonts)
Compiling wgpu-types v30.0.1
Compiling wuff v0.2.9
Compiling ttf-parser v0.25.1
Compiling zerofrom v0.1.8
Compiling skrifa v0.47.0
Compiling harfrust v0.13.3
Compiling skrifa v0.42.1
Compiling write-fonts v0.48.1
Compiling yoke-derive v0.8.4
Compiling vello_common v0.1.0
Compiling wgpu-hal v30.0.1
Compiling emath v0.36.2
Compiling encoding_rs v0.8.42
Compiling strict-num v0.1.1
Compiling base64 v0.22.1
Compiling fnv v1.0.7
Compiling stable_deref_trait v1.2.1
Compiling unicode-ccc v0.4.0
Compiling arrayref v0.3.9
Compiling ryu v1.0.23
Compiling unicode-properties v0.1.4
Compiling unicode-bidi-mirroring v0.4.0
Compiling rustybuzz v0.20.1
Compiling pdf-writer v0.15.0
Compiling tiny-skia-path v0.12.0
Compiling yoke v0.8.3
Compiling cfb v0.15.0
Compiling vello_cpu v0.1.0
Compiling subsetter v0.2.6
Compiling ecolor v0.36.2
Compiling glow v0.17.0
Compiling wgpu-naga-bridge v30.0.1
Compiling zopfli v0.8.3
Compiling harfrust v0.12.0
Compiling vello_common v0.2.0
Compiling inout v0.2.2
Compiling wordcraft-proof v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/proof)
Compiling float-cmp v0.9.0
Compiling self_cell v1.3.0
Compiling imagesize v0.14.0
Compiling epaint_default_fonts v0.36.2
Compiling xmp-writer v0.3.3
Compiling unicode-linebreak v0.1.5
Compiling nohash-hasher v0.2.0
Compiling multiversion_no_op v1.0.0
Compiling getrandom v0.3.4
Compiling either v1.19.0
Compiling siphasher v1.0.4
Compiling itertools v0.15.0
Compiling krilla v0.8.2 (https://github.com/storytold/craft-libs?rev=c3487320b2d1de657b860b3c8abb44e1f2b32bd8#c3487320)
Compiling epaint v0.36.2
Compiling wordcraft-layout v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/layout)
Compiling glifo v0.3.0
Compiling cipher v0.5.2
Compiling zip v3.0.0
Compiling sha1 v0.11.0
Compiling accesskit v0.24.1
Compiling wgpu-core v30.0.1
Compiling quick-xml v0.41.0
Compiling aho-corasick v1.1.5
Compiling wordcraft-metafile v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/metafile)
Compiling winnow v1.0.4
Compiling cpubits v0.1.1
Compiling regex-syntax v0.8.11
Compiling litrs v1.0.0
Compiling document-features v0.2.12
Compiling aes v0.9.3
Compiling toml_parser v1.1.3+spec-1.1.0
Compiling wgpu-core-deps-wasm v30.0.1
Compiling egui v0.36.2
Compiling vello_cpu v0.2.0
Compiling regex-automata v0.4.18
Compiling craft-pdf v0.1.0 (https://github.com/storytold/craft-libs?rev=c3487320b2d1de657b860b3c8abb44e1f2b32bd8#c3487320)
Compiling chardetng v1.0.0
Compiling toml_datetime v1.1.1+spec-1.1.0
Compiling serde_spanned v1.1.1
Compiling sha2 v0.11.0
Compiling hmac v0.13.0
Compiling wasm-bindgen-futures v0.4.79
Compiling wgpu v30.0.1
Compiling toml_writer v1.1.2+spec-1.1.0
Compiling zeroize v1.9.1
Compiling wordcraft-docx v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/docx)
Compiling toml v1.1.6+spec-1.1.0
Compiling wordcraft-formats v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/formats)
Compiling wordcraft-pdf v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/pdf)
Compiling regex v1.13.1
Compiling wordcraft-render v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/render)
Compiling wordcraft-docbin v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/docbin)
Compiling wordcraft-engine v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/engine)
Compiling wordcraft-ui-egui v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/ui-egui)
Compiling type-map v0.5.1
Compiling rfd v0.17.2
Compiling craft-ui v0.1.0 (https://github.com/storytold/craft-libs?rev=d27646a5f7c8b4fc85d9dd3213b8c88b58e0088d#d27646a5)
Compiling sys-locale v0.3.2
Compiling percent-encoding v2.3.2
warning: function `by_author` is never used
--> crates/engine/src/cmd/citations.rs:534:4
|
534 | fn by_author(x: &Source) -> &str {
| ^^^^^^^^^
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
warning: function `primary_tag` is never used
--> crates/engine/src/speech.rs:252:4
|
252 | fn primary_tag(tag: &str) -> Option<String> {
| ^^^^^^^^^^^
warning: function `voice_language` is never used
--> crates/engine/src/speech.rs:260:4
|
260 | fn voice_language(lang: Option<&str>, default: &str) -> Option<String> {
| ^^^^^^^^^^^^^^
Compiling egui-wgpu v0.36.2
Compiling eframe v0.36.2
Compiling wordcraft-zotero v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/zotero)
warning: `wordcraft-engine` (lib) generated 3 warnings
Compiling wordcraft-web v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/apps/wordcraft-web)
Finished `release` profile [optimized] target(s) in 3m 31s
2026-10-24T06:08:46.350795Z INFO applying new distribution
2026-10-24T06:08:46.351536Z INFO success
@@ -0,0 +1,3 @@
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
@@ -0,0 +1,29 @@
{
"method": "git hash-object -w for four output blobs into new scratch bare repo; sorted blob ids piped into git pack-objects --stdout --threads=4; no gc, no repo-tree object writes",
"gitVersion": "git version 2.55.0",
"packedBytes": 16720159,
"unpackedOutputBytes": 44142800,
"excluded": ".trunk-lock (empty internal Trunk lock, not runtime artifact)",
"outputs": {
"index.html": {
"bytes": 1604,
"sha256": "299b76f4004bbc65204d561cc381b3fbb249d10069eaa50e88c7fba3b6c63cb8"
},
"wordcraft-fa59e09a3f921e03.ico": {
"bytes": 18378,
"sha256": "53a23dcf66260f44d87d4d143d633395f3e967f391eda47e6e9cc3a52f820225"
},
"wordcraft-web-832240fdc6ce872b_bg.wasm": {
"bytes": 43957877,
"sha256": "c1c15050a9b394c21e7540aa57c9292b86d32bfea2476094a9976304dacf1de0"
},
"wordcraft-web-88f7089f25a3b338.js": {
"bytes": 164941,
"sha256": "866a1de6a33eff2ded8ae9588fd049aeacfc42557a3863ccd2107b3faf4d691e"
}
},
"countObjectsBefore": "count: 0\nsize: 0\nin-pack: 0\npacks: 0\nsize-pack: 0\nprune-packable: 0\ngarbage: 0\nsize-garbage: 0\n",
"countObjectsAfterHash": "count: 4\nsize: 21628\nin-pack: 0\npacks: 0\nsize-pack: 0\nprune-packable: 0\ngarbage: 0\nsize-garbage: 0\n",
"countObjectsAfterPack": "count: 4\nsize: 21628\nin-pack: 0\npacks: 0\nsize-pack: 0\nprune-packable: 0\ngarbage: 0\nsize-garbage: 0\n",
"scratchRepo": "/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/output-measurement.git"
}
@@ -0,0 +1,26 @@
{
"atUTC": "2026-10-24T06:05:25.404163+00:00",
"note": "nice -n 19 is relative; observed inherited priority resulted in nice15. Set owned build process/thread priorities absolutely to19 during the build. No other process affected.",
"processes": [
{
"pid": 1518443,
"before": -4,
"after": 19
},
{
"pid": 1518605,
"before": 15,
"after": 19
},
{
"pid": 1518655,
"before": 15,
"after": 19
},
{
"pid": 1538729,
"before": 15,
"after": 19
}
]
}
@@ -0,0 +1,251 @@
2026-10-24T06:09:38.421692Z INFO Starting trunk 0.22.0
2026-10-24T06:09:38.423033Z INFO starting build
2026-10-24T06:09:38.423284Z INFO node packages []
Compiling unicode-ident v1.0.26
Compiling proc-macro2 v1.0.107
Compiling quote v1.0.47
Compiling cfg-if v1.0.5
Compiling serde_core v1.0.229
Compiling once_cell v1.21.4
Compiling serde v1.0.229
Compiling libm v0.2.16
Compiling rustversion v1.0.23
Compiling wasm-bindgen-shared v0.2.129
Compiling autocfg v1.5.1
Compiling syn v3.0.6
Compiling log v0.4.34
Compiling num-traits v0.2.19
Compiling thiserror v2.0.21
Compiling bitflags v2.13.2
Compiling bumpalo v3.20.3
Compiling arrayvec v0.7.8
Compiling wasm-bindgen v0.2.129
Compiling foldhash v0.2.0
Compiling hashbrown v0.17.1
Compiling futures-task v0.3.34
Compiling slab v0.4.12
Compiling futures-core v0.3.34
Compiling pin-project-lite v0.2.17
Compiling simd-adler32 v0.3.10
Compiling futures-util v0.3.34
Compiling syn v2.0.119
Compiling zerocopy v0.8.61
Compiling crc32fast v1.5.2
Compiling adler2 v2.0.1
Compiling polycool v0.4.0
Compiling wasm-bindgen-macro-support v0.2.129
Compiling miniz_oxide v0.9.1
Compiling bytemuck_derive v1.12.1
Compiling serde_derive v1.0.229
Compiling bytemuck v1.25.2
Compiling thiserror-impl v2.0.21
Compiling zerocopy-derive v0.8.61
Compiling zlib-rs v0.6.8
Compiling wasm-bindgen-macro v0.2.129
Compiling smallvec v1.16.2
Compiling kurbo v0.13.1
Compiling equivalent v1.0.2
Compiling indexmap v2.14.2
Compiling js-sys v0.3.106
Compiling flate2 v1.1.10
Compiling font-types v0.12.6
Compiling memchr v2.8.3
Compiling zmij v1.0.23
Compiling miniz_oxide v0.8.9
Compiling half v2.7.1
Compiling scopeguard v1.2.0
Compiling version_check v0.9.5
Compiling fdeflate v0.3.7
Compiling cfg_aliases v0.2.2
Compiling serde_json v1.0.151
Compiling color v0.3.3
Compiling png v0.18.1
Compiling euclid v0.22.14
Compiling typenum v1.20.1
Compiling unicode-segmentation v1.13.3
Compiling linebender_resource_handle v0.1.1
Compiling peniko v0.6.1
Compiling hybrid-array v0.4.15
Compiling guillotiere v0.7.0
Compiling zune-core v0.5.3
Compiling fearless_simd v0.4.1
Compiling itoa v1.0.18
Compiling weezl v0.1.12
Compiling quick-error v2.0.1
Compiling zune-jpeg v0.5.15
Compiling read-fonts v0.41.0
Compiling color_quant v1.1.0
Compiling byteorder-lite v0.1.0
Compiling parking_lot_core v0.9.12
Compiling image-webp v0.2.4
Compiling gif v0.14.2
Compiling uuid v1.27.0
Compiling crypto-common v0.2.2
Compiling lock_api v0.4.14
Compiling pxfm v0.1.30
Compiling fax v0.2.7
Compiling tiff v0.11.3
Compiling web-sys v0.3.106
Compiling moxcms v0.8.1
Compiling skrifa v0.44.0
Compiling parking_lot v0.12.5
Compiling wordcraft-geom v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/geom)
Compiling font-types v0.11.3
Compiling synstructure v0.14.0
Compiling rustc-hash v1.1.0
Compiling unicode-script v0.5.8
Compiling cmov v0.5.4
Compiling rustc-hash v2.1.3
Compiling profiling v1.0.18
Compiling ctutils v0.4.3
Compiling naga-types v30.0.1
Compiling read-fonts v0.39.2
Compiling wordcraft-doc v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/doc)
Compiling image v0.25.10
Compiling web-time v1.1.0
Compiling block-buffer v0.12.1
Compiling naga v30.0.1
Compiling slotmap v1.1.1
Compiling alloc-no-stdlib v2.0.4
Compiling raw-window-handle v0.6.2
Compiling unicode-width v0.2.2
Compiling bit-vec v0.9.1
Compiling const-oid v0.10.2
Compiling bit-set v0.10.0
Compiling digest v0.11.3
Compiling codespan-reporting v0.13.1
Compiling brotli-decompressor v5.0.3
Compiling zerofrom-derive v0.1.8
Compiling ahash v0.8.12
Compiling read-fonts v0.44.0
Compiling read-fonts v0.43.3
Compiling core_maths v0.1.1
Compiling wordcraft-fonts v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/fonts)
Compiling bytes v1.12.1
Compiling unicode-general-category v1.1.0
Compiling unicode-bidi v0.3.18
Compiling static_assertions v1.1.0
Compiling wgpu-types v30.0.1
Compiling wuff v0.2.9
Compiling ttf-parser v0.25.1
Compiling zerofrom v0.1.8
Compiling skrifa v0.47.0
Compiling harfrust v0.13.3
Compiling skrifa v0.42.1
Compiling write-fonts v0.48.1
Compiling yoke-derive v0.8.4
Compiling vello_common v0.1.0
Compiling wgpu-hal v30.0.1
Compiling emath v0.36.2
Compiling encoding_rs v0.8.42
Compiling ryu v1.0.23
Compiling unicode-properties v0.1.4
Compiling base64 v0.22.1
Compiling arrayref v0.3.9
Compiling fnv v1.0.7
Compiling strict-num v0.1.1
Compiling unicode-bidi-mirroring v0.4.0
Compiling stable_deref_trait v1.2.1
Compiling unicode-ccc v0.4.0
Compiling rustybuzz v0.20.1
Compiling yoke v0.8.3
Compiling tiny-skia-path v0.12.0
Compiling cfb v0.15.0
Compiling subsetter v0.2.6
Compiling pdf-writer v0.15.0
Compiling vello_cpu v0.1.0
Compiling ecolor v0.36.2
Compiling glow v0.17.0
Compiling wgpu-naga-bridge v30.0.1
Compiling zopfli v0.8.3
Compiling harfrust v0.12.0
Compiling vello_common v0.2.0
Compiling inout v0.2.2
Compiling wordcraft-proof v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/proof)
Compiling float-cmp v0.9.0
Compiling siphasher v1.0.4
Compiling self_cell v1.3.0
Compiling xmp-writer v0.3.3
Compiling nohash-hasher v0.2.0
Compiling either v1.19.0
Compiling imagesize v0.14.0
Compiling epaint_default_fonts v0.36.2
Compiling multiversion_no_op v1.0.0
Compiling unicode-linebreak v0.1.5
Compiling getrandom v0.3.4
Compiling wordcraft-layout v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/layout)
Compiling epaint v0.36.2
Compiling krilla v0.8.2 (https://github.com/storytold/craft-libs?rev=c3487320b2d1de657b860b3c8abb44e1f2b32bd8#c3487320)
Compiling itertools v0.15.0
Compiling glifo v0.3.0
Compiling cipher v0.5.2
Compiling zip v3.0.0
Compiling sha1 v0.11.0
Compiling accesskit v0.24.1
Compiling wgpu-core v30.0.1
Compiling aho-corasick v1.1.5
Compiling quick-xml v0.41.0
Compiling wordcraft-metafile v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/metafile)
Compiling winnow v1.0.4
Compiling litrs v1.0.0
Compiling regex-syntax v0.8.11
Compiling cpubits v0.1.1
Compiling aes v0.9.3
Compiling document-features v0.2.12
Compiling toml_parser v1.1.3+spec-1.1.0
Compiling wgpu-core-deps-wasm v30.0.1
Compiling egui v0.36.2
Compiling vello_cpu v0.2.0
Compiling regex-automata v0.4.18
Compiling craft-pdf v0.1.0 (https://github.com/storytold/craft-libs?rev=c3487320b2d1de657b860b3c8abb44e1f2b32bd8#c3487320)
Compiling chardetng v1.0.0
Compiling toml_datetime v1.1.1+spec-1.1.0
Compiling serde_spanned v1.1.1
Compiling hmac v0.13.0
Compiling sha2 v0.11.0
Compiling wasm-bindgen-futures v0.4.79
Compiling wgpu v30.0.1
Compiling toml_writer v1.1.2+spec-1.1.0
Compiling zeroize v1.9.1
Compiling wordcraft-docx v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/docx)
Compiling toml v1.1.6+spec-1.1.0
Compiling regex v1.13.1
Compiling wordcraft-formats v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/formats)
Compiling wordcraft-pdf v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/pdf)
Compiling wordcraft-render v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/render)
Compiling wordcraft-docbin v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/docbin)
Compiling wordcraft-engine v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/engine)
Compiling wordcraft-ui-egui v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/ui-egui)
Compiling type-map v0.5.1
Compiling rfd v0.17.2
Compiling craft-ui v0.1.0 (https://github.com/storytold/craft-libs?rev=d27646a5f7c8b4fc85d9dd3213b8c88b58e0088d#d27646a5)
Compiling sys-locale v0.3.2
Compiling percent-encoding v2.3.2
warning: function `by_author` is never used
--> crates/engine/src/cmd/citations.rs:534:4
|
534 | fn by_author(x: &Source) -> &str {
| ^^^^^^^^^
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
warning: function `primary_tag` is never used
--> crates/engine/src/speech.rs:252:4
|
252 | fn primary_tag(tag: &str) -> Option<String> {
| ^^^^^^^^^^^
warning: function `voice_language` is never used
--> crates/engine/src/speech.rs:260:4
|
260 | fn voice_language(lang: Option<&str>, default: &str) -> Option<String> {
| ^^^^^^^^^^^^^^
Compiling egui-wgpu v0.36.2
Compiling wordcraft-zotero v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/crates/zotero)
Compiling eframe v0.36.2
warning: `wordcraft-engine` (lib) generated 3 warnings
Compiling wordcraft-web v0.9.0 (/mnt/storage/scratch/gyro-full-lock-measure-95ntu6t0/source/apps/wordcraft-web)
Finished `release` profile [optimized] target(s) in 3m 23s
2026-10-24T06:16:16.271064Z INFO applying new distribution
2026-10-24T06:16:16.271692Z INFO success
@@ -0,0 +1,105 @@
{
"note": "read-only observation from full-lock scratch metadata, not a proposed/imported reduced vendor set; compiled normal/build closure remains exactly S0",
"count": 14,
"bytes": 14523104,
"packages": [
{
"name": "cursor-icon",
"version": "1.2.0",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"files": 14,
"bytes": 44329
},
{
"name": "dpi",
"version": "0.1.2",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"files": 11,
"bytes": 64188
},
{
"name": "futures-macro",
"version": "0.3.34",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"files": 12,
"bytes": 41731
},
{
"name": "glifo",
"version": "0.2.0",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"files": 20,
"bytes": 222068
},
{
"name": "ordered-float",
"version": "5.5.0",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"files": 14,
"bytes": 179606
},
{
"name": "pin-project",
"version": "1.1.13",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"files": 209,
"bytes": 476259
},
{
"name": "pin-project-internal",
"version": "1.1.13",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"files": 15,
"bytes": 114911
},
{
"name": "smol_str",
"version": "0.2.2",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"files": 14,
"bytes": 56395
},
{
"name": "spirv",
"version": "0.4.0+sdk-1.4.341.0",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"files": 9,
"bytes": 257440
},
{
"name": "termcolor",
"version": "1.4.1",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"files": 12,
"bytes": 92727
},
{
"name": "tracing",
"version": "0.1.44",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"files": 94,
"bytes": 9827320
},
{
"name": "tracing-attributes",
"version": "0.1.31",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"files": 31,
"bytes": 184696
},
{
"name": "tracing-core",
"version": "0.1.36",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"files": 29,
"bytes": 257879
},
{
"name": "winit",
"version": "0.30.13",
"source": "registry+https://github.com/rust-lang/crates.io-index",
"files": 218,
"bytes": 2703555
}
]
}
@@ -0,0 +1,2 @@
{"atUTC": "2026-10-24T06:10:11.225848+00:00", "processes": [{"pid": 1585414, "nice": 19, "cpus": [12, 13, 14, 15], "name": "trunk"}, {"pid": 1585433, "nice": 19, "cpus": [12, 13, 14, 15], "name": "cargo"}, {"pid": 1589366, "nice": 19, "cpus": [12, 13, 14, 15], "name": "rustc"}, {"pid": 1589563, "nice": 19, "cpus": [12, 13, 14, 15], "name": "rustc"}, {"pid": 1590336, "nice": 19, "cpus": [12, 13, 14, 15], "name": "rustc"}, {"pid": 1590472, "nice": 19, "cpus": [12, 13, 14, 15], "name": "rustc"}]}
{"atUTC": "2026-10-24T06:13:38.818103+00:00", "processes": [{"pid": 1631174, "name": "wasm-opt", "nice": 19, "cpus": [12, 13, 14, 15], "threads": 5}]}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,12 @@
command: cargo metadata --locked --offline --filter-platform wasm32-unknown-unknown --format-version 1
exit: 101
error: failed to select a version for the requirement `glifo = "^0.2.0"` (locked to 0.2.0)
candidate versions found which didn't match: 0.3.0
location searched: directory source `/mnt/storage/scratch/gyro-w2-resolution/cargo-vendor` (which is replacing registry `crates-io`)
required by package `vello_cpu v0.1.0`
... which satisfies dependency `vello_cpu = "^0.1.0"` (locked to 0.1.0) of package `epaint v0.36.2`
... which satisfies dependency `epaint = "^0.36.2"` (locked to 0.36.2) of package `egui v0.36.2`
... which satisfies dependency `egui = "^0.36"` (locked to 0.36.2) of package `wordcraft-web v0.9.0 (/mnt/storage/scratch/gyro-w2-resolution/source/apps/wordcraft-web)`
note: perhaps a crate was updated and forgotten to be re-vendored?
note: offline mode (via `--offline`) can sometimes cause surprising resolution failures
help: if this error is too confusing you may wish to retry without `--offline`
@@ -0,0 +1,11 @@
✔ WordCraft inputs have a verifiable offline source receipt (1793.67392ms)
✔ input verifier refuses altered, missing and unrecorded files (1.797894ms)
✔ included upstream subset equals the pinned protected git tree (51.472281ms)
ℹ tests 3
ℹ suites 0
ℹ pass 3
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 1893.050007
@@ -0,0 +1,46 @@
✖ WordCraft inputs have a verifiable offline source receipt (0.933599ms)
✖ input verifier refuses altered, missing and unrecorded files (0.211521ms)
ℹ tests 2
ℹ suites 0
ℹ pass 0
ℹ fail 2
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 46.579384
✖ failing tests:
test at packages/webui/tests/wordcraft-provenance.test.mjs:9:1
✖ WordCraft inputs have a verifiable offline source receipt (0.933599ms)
AssertionError [ERR_ASSERTION]: owned verifier must exist
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gyro-row310/packages/webui/tests/wordcraft-provenance.test.mjs:10:10)
at Test.runInAsyncScope (node:async_hooks:226:14)
at Test.run (node:internal/test_runner/test:1402:25)
at Test.start (node:internal/test_runner/test:1262:17)
at startSubtestAfterBootstrap (node:internal/test_runner/harness:387:17) {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: false,
expected: true,
operator: '==',
diff: 'simple'
}
test at packages/webui/tests/wordcraft-provenance.test.mjs:18:1
✖ input verifier refuses altered, missing and unrecorded files (0.211521ms)
AssertionError [ERR_ASSERTION]: owned verifier must exist
at TestContext.<anonymous> (file:///home/jwoltje/.t3/worktrees/mosaic-stack/gyro-row310/packages/webui/tests/wordcraft-provenance.test.mjs:19:10)
at Test.runInAsyncScope (node:async_hooks:226:14)
at Test.run (node:internal/test_runner/test:1402:25)
at Test.processPendingSubtests (node:internal/test_runner/test:974:18)
at Test.postRun (node:internal/test_runner/test:1542:19)
at Test.run (node:internal/test_runner/test:1467:12)
at async startSubtestAfterBootstrap (node:internal/test_runner/harness:387:3) {
generatedMessage: false,
code: 'ERR_ASSERTION',
actual: false,
expected: true,
operator: '==',
diff: 'simple'
}
@@ -0,0 +1,26 @@
debug_assertions
panic="abort"
target_abi=""
target_arch="wasm32"
target_endian="little"
target_env=""
target_family="wasm"
target_feature="bulk-memory"
target_feature="multivalue"
target_feature="mutable-globals"
target_feature="nontrapping-fptoint"
target_feature="reference-types"
target_feature="sign-ext"
target_has_atomic="16"
target_has_atomic="32"
target_has_atomic="64"
target_has_atomic="8"
target_has_atomic="ptr"
target_has_atomic_primitive_alignment="16"
target_has_atomic_primitive_alignment="32"
target_has_atomic_primitive_alignment="64"
target_has_atomic_primitive_alignment="8"
target_has_atomic_primitive_alignment="ptr"
target_os="unknown"
target_pointer_width="32"
target_vendor="unknown"
@@ -0,0 +1,416 @@
{
"metadataSha256": "503bcf5a2a6d3fc814b0422bf3658cc3a187b182d2928da11e8ed68519b9d8fb",
"note": "S0 cargo metadata includes workspace feature unification; evidence of a constraint conflict, not exact root-only feature proof",
"edges": [
{
"crate": "eframe-0.36.2",
"feature": "accesskit",
"edge": "egui-winit/accesskit"
},
{
"crate": "eframe-0.36.2",
"feature": "links",
"edge": "egui-winit/links"
},
{
"crate": "eframe-0.36.2",
"feature": "wayland",
"edge": "egui-winit/wayland"
},
{
"crate": "eframe-0.36.2",
"feature": "wayland",
"edge": "glutin?/wayland"
},
{
"crate": "eframe-0.36.2",
"feature": "wayland",
"edge": "glutin-winit?/wayland"
},
{
"crate": "eframe-0.36.2",
"feature": "wgpu_no_default_features",
"edge": "dep:pollster"
},
{
"crate": "eframe-0.36.2",
"feature": "x11",
"edge": "egui-winit/x11"
},
{
"crate": "eframe-0.36.2",
"feature": "x11",
"edge": "glutin?/x11"
},
{
"crate": "eframe-0.36.2",
"feature": "x11",
"edge": "glutin?/glx"
},
{
"crate": "eframe-0.36.2",
"feature": "x11",
"edge": "glutin-winit?/x11"
},
{
"crate": "eframe-0.36.2",
"feature": "x11",
"edge": "glutin-winit?/glx"
},
{
"crate": "rfd-0.17.2",
"feature": "wayland",
"edge": "wayland-backend"
},
{
"crate": "rfd-0.17.2",
"feature": "wayland",
"edge": "wayland-client"
},
{
"crate": "rfd-0.17.2",
"feature": "wayland",
"edge": "wayland-protocols"
},
{
"crate": "rfd-0.17.2",
"feature": "xdg-portal",
"edge": "pollster"
},
{
"crate": "wgpu-core-30.0.1",
"feature": "dx12",
"edge": "wgpu-core-deps-windows-linux-android/dx12"
},
{
"crate": "wgpu-core-30.0.1",
"feature": "gles",
"edge": "wgpu-core-deps-windows-linux-android/gles"
},
{
"crate": "wgpu-core-30.0.1",
"feature": "gles",
"edge": "wgpu-core-deps-emscripten/gles"
},
{
"crate": "wgpu-core-30.0.1",
"feature": "metal",
"edge": "wgpu-core-deps-apple/metal"
},
{
"crate": "wgpu-core-30.0.1",
"feature": "renderdoc",
"edge": "wgpu-core-deps-windows-linux-android/renderdoc"
},
{
"crate": "wgpu-core-30.0.1",
"feature": "vulkan",
"edge": "wgpu-core-deps-windows-linux-android/vulkan"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "dep:bit-set"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "dep:gpu-allocator"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "dep:libloading"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "dep:once_cell"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "dep:range-alloc"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "dep:windows-core"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "gpu-allocator/d3d12"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "once_cell/std"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Devices_DeviceAndDriverInstallation"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Devices_Display"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Graphics_Direct3D_Dxc"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Graphics_Direct3D_Fxc"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Graphics_Direct3D"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Graphics_Direct3D12"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Graphics_DirectComposition"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Graphics_Dxgi_Common"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Graphics_Gdi"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_Security"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_System_Diagnostics_Debug"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_System_Kernel"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_System_Performance"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_System_Threading"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "dx12",
"edge": "windows/Win32_UI_WindowsAndMessaging"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "dep:glutin_wgl_sys"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "dep:khronos-egl"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "dep:libloading"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "dep:ndk-sys"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "dep:objc2"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "dep:wayland-sys"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "dep:windows-result"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "windows-result/std"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "windows/Win32_Graphics_Gdi"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "windows/Win32_Graphics_OpenGL"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "windows/Win32_System_LibraryLoader"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "gles",
"edge": "windows/Win32_UI_WindowsAndMessaging"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:block2"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:libloading"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:objc2"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:objc2-core-foundation"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:objc2-core-graphics"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:objc2-foundation"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:objc2-metal"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:objc2-quartz-core"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:smallvec"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "metal",
"edge": "dep:raw-window-metal"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "renderdoc",
"edge": "dep:libloading"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "renderdoc",
"edge": "dep:renderdoc-sys"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "dep:android_system_properties"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "dep:ash"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "dep:libc"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "dep:libloading"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "dep:raw-window-metal"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "dep:smallvec"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "dep:windows"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "gpu-allocator/vulkan"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "windows/Win32"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "windows/Win32_Devices_Display"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "windows/Win32_Foundation"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "windows/Win32_Graphics_Dxgi"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "windows/Win32_Graphics_Dxgi_Common"
},
{
"crate": "wgpu-hal-30.0.1",
"feature": "vulkan",
"edge": "windows/Win32_Graphics_Gdi"
}
]
}
@@ -0,0 +1,526 @@
[
{
"crate": "aes-0.9.3",
"cfg": "cfg(any(target_arch = \"aarch64\", target_arch = \"x86_64\", target_arch = \"x86\"))",
"kind": "dependencies",
"dependencies": [
"cpufeatures"
]
},
{
"crate": "bytes-1.12.1",
"cfg": "cfg(loom)",
"kind": "dev-dependencies",
"dependencies": [
"loom"
]
},
{
"crate": "cmov-0.5.4",
"cfg": "cfg(any(unix, windows))",
"kind": "dev-dependencies",
"dependencies": [
"proptest"
]
},
{
"crate": "eframe-0.36.2",
"cfg": "cfg(any(target_os = \"macos\"))",
"kind": "dependencies",
"dependencies": [
"objc2",
"objc2-app-kit",
"objc2-foundation"
]
},
{
"crate": "eframe-0.36.2",
"cfg": "cfg(any(target_os = \"windows\"))",
"kind": "dependencies",
"dependencies": [
"windows-sys"
]
},
{
"crate": "eframe-0.36.2",
"cfg": "cfg(not(target_arch = \"wasm32\"))",
"kind": "dependencies",
"dependencies": [
"egui-wgpu",
"egui-winit",
"glutin",
"glutin-winit",
"image",
"pollster",
"winit"
]
},
{
"crate": "eframe-0.36.2",
"cfg": "cfg(not(target_arch = \"wasm32\"))",
"kind": "dev-dependencies",
"dependencies": [
"directories"
]
},
{
"crate": "encoding_rs-0.8.42",
"cfg": "cfg(all(any(target_arch = \"x86_64\", target_arch = \"x86\"), not(all(target_feature = \"avx2\", target_feature = \"bmi1\"))))",
"kind": "dependencies",
"dependencies": [
"multiversion"
]
},
{
"crate": "encoding_rs-0.8.42",
"cfg": "cfg(any(target_arch = \"x86_64\", target_arch = \"x86\"))",
"kind": "dependencies",
"dependencies": [
"core_detect"
]
},
{
"crate": "getrandom-0.3.4",
"cfg": "cfg(all(any(target_os = \"linux\", target_os = \"android\"), not(any(all(target_os = \"linux\", target_env = \"\"), getrandom_backend = \"custom\", getrandom_backend = \"linux_raw\", getrandom_backend = \"rdrand\", getrandom_backend = \"rndr\"))))",
"kind": "dependencies",
"dependencies": [
"libc"
]
},
{
"crate": "getrandom-0.3.4",
"cfg": "cfg(all(target_arch = \"wasm32\", target_os = \"wasi\", target_env = \"p2\"))",
"kind": "dependencies",
"dependencies": [
"wasip2"
]
},
{
"crate": "getrandom-0.3.4",
"cfg": "cfg(all(target_os = \"uefi\", getrandom_backend = \"efi_rng\"))",
"kind": "dependencies",
"dependencies": [
"r-efi"
]
},
{
"crate": "getrandom-0.3.4",
"cfg": "cfg(any(target_os = \"dragonfly\", target_os = \"freebsd\", target_os = \"hurd\", target_os = \"illumos\", target_os = \"cygwin\", all(target_os = \"horizon\", target_arch = \"arm\")))",
"kind": "dependencies",
"dependencies": [
"libc"
]
},
{
"crate": "getrandom-0.3.4",
"cfg": "cfg(any(target_os = \"haiku\", target_os = \"redox\", target_os = \"nto\", target_os = \"aix\"))",
"kind": "dependencies",
"dependencies": [
"libc"
]
},
{
"crate": "getrandom-0.3.4",
"cfg": "cfg(any(target_os = \"ios\", target_os = \"visionos\", target_os = \"watchos\", target_os = \"tvos\"))",
"kind": "dependencies",
"dependencies": [
"libc"
]
},
{
"crate": "getrandom-0.3.4",
"cfg": "cfg(any(target_os = \"macos\", target_os = \"openbsd\", target_os = \"vita\", target_os = \"emscripten\"))",
"kind": "dependencies",
"dependencies": [
"libc"
]
},
{
"crate": "getrandom-0.3.4",
"cfg": "cfg(target_os = \"netbsd\")",
"kind": "dependencies",
"dependencies": [
"libc"
]
},
{
"crate": "getrandom-0.3.4",
"cfg": "cfg(target_os = \"solaris\")",
"kind": "dependencies",
"dependencies": [
"libc"
]
},
{
"crate": "getrandom-0.3.4",
"cfg": "cfg(target_os = \"vxworks\")",
"kind": "dependencies",
"dependencies": [
"libc"
]
},
{
"crate": "half-2.7.1",
"cfg": "cfg(target_arch = \"spirv\")",
"kind": "dependencies",
"dependencies": [
"crunchy"
]
},
{
"crate": "harfrust-0.12.0",
"cfg": "cfg(target_vendor = \"apple\")",
"kind": "dev-dependencies",
"dependencies": [
"objc2-core-foundation",
"objc2-core-text"
]
},
{
"crate": "harfrust-0.13.3",
"cfg": "cfg(target_vendor = \"apple\")",
"kind": "dev-dependencies",
"dependencies": [
"objc2-core-foundation",
"objc2-core-text"
]
},
{
"crate": "hashbrown-0.17.1",
"cfg": "cfg(any())",
"kind": "dependencies",
"dependencies": [
"serde"
]
},
{
"crate": "hashbrown-0.17.1",
"cfg": "cfg(unix)",
"kind": "dev-dependencies",
"dependencies": [
"libc"
]
},
{
"crate": "indexmap-2.14.2",
"cfg": "cfg(any())",
"kind": "dependencies",
"dependencies": [
"serde"
]
},
{
"crate": "parking_lot_core-0.9.12",
"cfg": "cfg(target_os = \"redox\")",
"kind": "dependencies",
"dependencies": [
"redox_syscall"
]
},
{
"crate": "parking_lot_core-0.9.12",
"cfg": "cfg(unix)",
"kind": "dependencies",
"dependencies": [
"libc"
]
},
{
"crate": "parking_lot_core-0.9.12",
"cfg": "cfg(windows)",
"kind": "dependencies",
"dependencies": [
"windows-link"
]
},
{
"crate": "png-0.18.1",
"cfg": "cfg(not(target_arch = \"wasm32\"))",
"kind": "dev-dependencies",
"dependencies": [
"criterion"
]
},
{
"crate": "rfd-0.17.2",
"cfg": "cfg(any(target_os = \"linux\", target_os = \"freebsd\", target_os = \"dragonfly\", target_os = \"netbsd\", target_os = \"openbsd\"))",
"kind": "dependencies",
"dependencies": [
"glib-sys",
"gobject-sys",
"gtk-sys",
"libc",
"percent-encoding",
"pollster",
"wayland-backend",
"wayland-client",
"wayland-protocols"
]
},
{
"crate": "rfd-0.17.2",
"cfg": "cfg(target_os = \"macos\")",
"kind": "dependencies",
"dependencies": [
"block2",
"dispatch2",
"objc2",
"objc2-app-kit",
"objc2-core-foundation",
"objc2-foundation"
]
},
{
"crate": "rfd-0.17.2",
"cfg": "cfg(target_os = \"windows\")",
"kind": "dependencies",
"dependencies": [
"windows-sys"
]
},
{
"crate": "serde_core-1.0.229",
"cfg": "cfg(any())",
"kind": "dependencies",
"dependencies": [
"serde_derive"
]
},
{
"crate": "serde_json-1.0.151",
"cfg": "cfg(any())",
"kind": "dependencies",
"dependencies": [
"serde"
]
},
{
"crate": "sha1-0.11.0",
"cfg": "cfg(any(target_arch = \"aarch64\", target_arch = \"x86\", target_arch = \"x86_64\"))",
"kind": "dependencies",
"dependencies": [
"cpufeatures"
]
},
{
"crate": "sha2-0.11.0",
"cfg": "cfg(any(target_arch = \"aarch64\", target_arch = \"x86_64\", target_arch = \"x86\"))",
"kind": "dependencies",
"dependencies": [
"cpufeatures"
]
},
{
"crate": "sys-locale-0.3.2",
"cfg": "cfg(target_os = \"android\")",
"kind": "dependencies",
"dependencies": [
"libc"
]
},
{
"crate": "uuid-1.27.0",
"cfg": "cfg(not(all(target_arch = \"wasm32\", any(target_os = \"unknown\", target_os = \"none\"))))",
"kind": "dependencies",
"dependencies": [
"getrandom",
"rand"
]
},
{
"crate": "uuid-1.27.0",
"cfg": "cfg(not(target_arch = \"wasm32\"))",
"kind": "dev-dependencies",
"dependencies": [
"gungraun"
]
},
{
"crate": "wasm-bindgen-0.2.129",
"cfg": "cfg(all(target_os = \"emscripten\", wasm_bindgen_unstable_tokio))",
"kind": "dev-dependencies",
"dependencies": [
"tokio"
]
},
{
"crate": "wasm-bindgen-0.2.129",
"cfg": "cfg(target_arch = \"wasm64\")",
"kind": "dev-dependencies",
"dependencies": [
"paste",
"serde_derive"
]
},
{
"crate": "wasm-bindgen-futures-0.4.79",
"cfg": "cfg(all(target_os = \"emscripten\", wasm_bindgen_unstable_tokio))",
"kind": "dependencies",
"dependencies": [
"tokio"
]
},
{
"crate": "web-time-1.1.0",
"cfg": "cfg(not(target_family = \"wasm\"))",
"kind": "dev-dependencies",
"dependencies": [
"pollster"
]
},
{
"crate": "wgpu-30.0.1",
"cfg": "cfg(not(target_arch = \"wasm32\"))",
"kind": "dependencies",
"dependencies": [
"smallvec",
"wgpu-core",
"wgpu-hal"
]
},
{
"crate": "wgpu-30.0.1",
"cfg": "cfg(target_os = \"emscripten\")",
"kind": "dependencies",
"dependencies": [
"smallvec",
"wgpu-core",
"wgpu-hal"
]
},
{
"crate": "wgpu-core-30.0.1",
"cfg": "cfg(any(windows, target_os = \"linux\", target_os = \"android\", target_os = \"freebsd\"))",
"kind": "dependencies",
"dependencies": [
"wgpu-core-deps-windows-linux-android"
]
},
{
"crate": "wgpu-core-30.0.1",
"cfg": "cfg(target_os = \"emscripten\")",
"kind": "dependencies",
"dependencies": [
"wgpu-core-deps-emscripten"
]
},
{
"crate": "wgpu-core-30.0.1",
"cfg": "cfg(target_vendor = \"apple\")",
"kind": "dependencies",
"dependencies": [
"wgpu-core-deps-apple"
]
},
{
"crate": "wgpu-hal-30.0.1",
"cfg": "cfg(all(unix, not(target_vendor = \"apple\"), not(target_family = \"wasm\")))",
"kind": "dependencies",
"dependencies": [
"drm"
]
},
{
"crate": "wgpu-hal-30.0.1",
"cfg": "cfg(all(windows, not(target_arch = \"aarch64\"), target_env = \"msvc\"))",
"kind": "dependencies",
"dependencies": [
"mach-dxcompiler-rs"
]
},
{
"crate": "wgpu-hal-30.0.1",
"cfg": "cfg(not(any(target_arch = \"wasm32\", target_os = \"ios\", target_os = \"visionos\", target_env = \"ohos\")))",
"kind": "dev-dependencies",
"dependencies": [
"glutin",
"glutin-winit"
]
},
{
"crate": "wgpu-hal-30.0.1",
"cfg": "cfg(not(target_arch = \"wasm32\"))",
"kind": "dependencies",
"dependencies": [
"ash",
"gpu-allocator",
"khronos-egl",
"libloading",
"renderdoc-sys",
"smallvec"
]
},
{
"crate": "wgpu-hal-30.0.1",
"cfg": "cfg(target_os = \"android\")",
"kind": "dependencies",
"dependencies": [
"android_system_properties",
"ndk-sys"
]
},
{
"crate": "wgpu-hal-30.0.1",
"cfg": "cfg(target_os = \"emscripten\")",
"kind": "dependencies",
"dependencies": [
"khronos-egl",
"libloading"
]
},
{
"crate": "wgpu-hal-30.0.1",
"cfg": "cfg(target_vendor = \"apple\")",
"kind": "dependencies",
"dependencies": [
"block2",
"bytemuck",
"objc2",
"objc2-core-foundation",
"objc2-core-graphics",
"objc2-foundation",
"objc2-metal",
"objc2-quartz-core",
"raw-window-metal"
]
},
{
"crate": "wgpu-hal-30.0.1",
"cfg": "cfg(unix)",
"kind": "dependencies",
"dependencies": [
"libc",
"wayland-sys"
]
},
{
"crate": "wgpu-hal-30.0.1",
"cfg": "cfg(windows)",
"kind": "dependencies",
"dependencies": [
"bit-set",
"glutin_wgl_sys",
"once_cell",
"range-alloc",
"windows",
"windows-core",
"windows-result"
]
},
{
"crate": "zerocopy-0.8.61",
"cfg": "cfg(any())",
"kind": "dependencies",
"dependencies": [
"zerocopy-derive"
]
},
{
"crate": "zip-3.0.0",
"cfg": "cfg(fuzzing)",
"kind": "dependencies",
"dependencies": [
"arbitrary"
]
}
]
File diff suppressed because it is too large. Load diff
+5
View File
@@ -1625,3 +1625,8 @@ are never rewritten or removed; corrections are new entries.
2026-10-24T04:29Z | Duckworth (Opus 5.5) | row 208 (193d) second review, guards only, on 4a4bef6c1 (sage-3934) | APPROVE (static), no bus change, every hidden control has a broker refusal, grant hint per-grant and self-only, N1 5 s poll (duckworth-0302) |
2026-10-24T04:27Z | Goldie (a13dd6d5-5e73-4b7d-8318-02abeff24940) | Row265 / #1770 C2-09b rooms | Goldie owns build, Boyd reviews under sage-3915. New goldie/row265 worktree at ec86f2c84, claim rev3814; room verbs/parser/new tests prepared, no old tests changed. Sage-3932 slot: new parser14/14 and rooms18/18 passed; whole bus in progress before refusal mutants, stop rule active.
2026-10-24T04:35Z | Goldie (a13dd6d5-5e73-4b7d-8318-02abeff24940) | Row265 / #1770 verified | First slot stopped at project-runtime import pin. mos-1567 narrowly authorizes pin and pure-source mount correction. sage-3942 rerun: sandbox10/10, parser15/15, rooms18/18, bus957/957, twelve refusal mutants killed/restored SHA71b32ee4, parser15/15 + rooms18/18 again. Slot returned goldie-0034; no further test runs. Boyd reviews RUNNER_FILES alongside rooms; own-branch push/claimant in-review next.
2026-10-24 — Gyro — row 310 / #1824 W2 source import and reproducible restricted web build — started on gyro/row310 at d16958bcf; reading pinned S0 and planning, build/test slot gates apply.
2026-10-24 — Gyro — row 310 / #1824 W2, sage-3992 scratch full-lock sizing/build measurement — extracted 534 cached registry sources, verified exact S0 target/build package sets, offline namespace release retry succeeded in 397.864805 s at nice19/four jobs; outputs pack to 16,720,159 bytes. No full-lock repo import, commit, push or serving. Packaging remains held for Mos/Jason; row stays in-progress.
2026-10-24 — Gyro — row 310 / #1824, sage-4008/4010 223-source measurement — scratch209+14 measured (145,260,334 bytes; source blob pack26,538,894 bytes); extra14 pack1,720,566 bytes; generated scratch lock prunes332 entries with0 added/changed. Build awaits Sage CLEAR after row327 gate. Plain-text results prepared for Gladstone; no crate sources/runtime outputs committed.
2026-10-24 — Gyro — row310 / #1824, sage-4014 223-source release measurement — frozen offline scratch build exit0 in380.674036s at nice19/four jobs; WASM0322beb9... differs from full-lockc1c15050.... Slot released to Sage/Bradford. Gladstone14-source notice concerns inventoried and plain-text notice collection supplemented; no source/runtime adoption or row release.
2026-10-24 — Gyro — row310 supplemental notice recheck gladstone-0027 — recorded four collection/mapping PASS results and independently matched bundle SHA4d8e2aac...; policy/runtime/adoption gates and Vikunja618 hold unchanged. Tracking-only text update; no build or source change.