Loading…
Reference in a new issue
No description provided.
Delete branch "train/wai-c"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
WAI merge train C: seven slices on the wai-rs side
Seven reviewed WAI slices, integrated by meaning on #428's train and then on
origin/main(b16816671, which holds #428 asaa61ab3b). Each PR was merged withgit -c rerere.enabled=false merge --no-ff --no-edit pr/<n>, and checked on the build host before the next.wai-mark:tent64s: the mark found again after crops, rotations and captures of a screen2016ec180570ff19d07250c084bbe192519f0773wai.audio.opus.dred.int: DRED decoded exactly3ad5e8b0cf1b5e1f5b5342a6a5849375cce11536wai.telemetry.aggregate: QoE received only as sums8a853e4347d7ab73e86c63340150f641f0085fdd17ff17d84f7eada31549c6446db843ffbd376ee101579796be2718db57deed89d21850e50ed14d8cwai.splat.exact3ec983a53388e36fa4fe02b2add136911244ffbd7eaf3927454166a5faa92543c55c9efdd830705bThen
9f63561b(#428's last commit),origin/mainat41c5bafba, andorigin/mainatb16816671, each merged without conflict.Branch
train/wai-c, head9bebdcdac929c6c70e00c395ec28721b50664986.How they were integrated
capabilities.jsonandv2.ttlwere taken from one side and regenerated withregistry export(after #429, #430, #433, #435). Every corpus was regenerated by its generator after the last merge, and a second run was byte-identical (checks below).codecs/mod.rs:is_companion_onlylists the HDR descriptors, the gain map, LCEVC and both DRED layers. The licence test keeps DRED's and the HDR companions' patent-pool entries.tests/carriage.rs: DRED'sbase_of()gains B3b's gain-map case, an image base.codecs/registry.rs:WireKindgains bothframe-metadata(browser sink, in the base) andgltf-extension(SPLAT).all()holds 16 kinds, and the schema's enum lists both labels.samplessubject and SPLAT'svolumetricmedia.soft-binding-spanbesidetransmissionandreconciliation.claim_receipt.rsandclaim_verify.py: the bearer classes' reasons and SOFT's span rules, both kept, with PQ1'sPq(..)reason.lib.rs: every module.int_kernels_vectors.rs: the live-conformance exclusion reason names the VDAF vectors, splat/ and dred/.run:bodies, and everypaths:list was unioned. Inwai-ops-gpu.yml, the build step builds the ops_gpu, exact-upscale and splat GPU test targets under SPLAT's name ("test targets"), and DRED's build stays its own step. On Metal, the exact-upscale, DRED and splat steps are each whole.cargo metadata, resolve only). Its packages are exactly the union of both sides': 11 added, none removed or re-versioned. After main's advisory sweep, the lock is main's plus TEL's and PQ1's additions.Interactions fixed (each its own commit)
6b693f114synthesis_verify.py'soutcome()read a case's held priors. #425's tiled-case loop gave none, so every tent64s case readunreadable: KeyError('priors')00d0041e70e786908bAttack::CropSideandAttack::Screen, and #433'sTransform::of_attackbecame non-exhaustive (E0004)of_attackgivesNonefor the two attacks robustness-evidence §4 does not register (§4 leaves further transforms to a later revision). The unit test also checks §7.9.6's registered additions (crop-25%,rotate-5) against the battery's bytesb57f92347bearer_receipts/corpus.rsbuilds akey_log::Revisionliteral withouthybrid(E0063)hybrid: None; the corpus is byte-identicalfb760328974d575014joule_moq_e2ee_vectors gen(in"f338e61b9pq-conformance/had no**Provenance.**line and no reason under the sha256 rule, socorpus_provenanceandint_kernels_vectors every_decoded_output_states_a_sha256failed9bebdcdaccargo update -p ctutils --precise 0.4.4; wai-rs's advisories are exactly main's again21625504ftype_complexity,robustness/corpus.rs)Checked with no change needed:
robustness.rs,robustness_verify.py, and SYN-2'stests/synthesis_mark.rsandsynthesis_mark_verify.pyall read the same text.pq-conformance/).claim-conformance/vectors.jsonregenerates byte for byte withpq_signatureson (CI's F). The base's 567 vectors are an unchanged prefix of the 615, compared vector by vector. Rust andclaim_verify.pyagree on every vector, and the differential found no difference.pq_signatureson. Every corpus that builds key logs reproduces with the feature on, among them TEL's WQS1/WQA1 statements and every live-conformance corpus (second generator run below).dred/fetch.sh) and never committed.wai1,wai2,urn:wai:event:1).Checks
Unless noted, every check ran on the build host through
rb. Union features:default,codecs,neural,semantic,c2pa_emit,cli_tlsandquantum*(72 features, the seven slices' among them).pq_signaturesamong them.The full run. It ran on
acfab1c8c: the train withorigin/mainat41c5bafba, before the last main merge and before21625504f. All results are rc 0 except the three noted.cargo run -q --locked --no-default-features --bin wai -- registry export --checktouch src/container.rs && cargo build -q --locked --no-default-features --lib && git diff --exit-code -- include/wai.hcargo check --locked --no-default-features --features F_ALL[,pq_signatures] --all-targets;cargo check --locked --features pq_signatures --all-targetscargo test --locked --no-default-features --features world,…,http --lib, and with,pq_signatures,synthesiscargo test --locked --no-default-features --lib codecs::… --test corpus_provenance --test cli_registryf338e61b9; failed before it, the gap above)… --features neural_int,video_int,audio_int,world_int,splat_int --test int_kernels_vectors every_decoded_output_states_a_sha256f338e61b9)… --test carriage --test manifest_builders --test cli_wrap_intent;cargo test --locked --test carriage(default features)cargo test --release … --features synthesis_mark --lib -- synthesis::mark synthesis_mark::and--test synthesis_mark;--features synthesis --lib synthesis::and--test synthesisbash ../live-conformance/dred/fetch.sh $D vectors;--features dred_exact --lib dred_exact::;WAI_DRED_WEIGHTS=… cargo test --release … --test dred_exact;WAI_DRED_WEIGHTS=… WAI_DRED_VECTORS=… --release --test dred_exact_measure--features telemetry_aggregate --lib -- telemetry_aggregate:: telemetry::and--test telemetry_aggregate;--features live_metering --test live_metering--features exact_tonemap --lib -- exact_tonemap:: png_still::and--test exact_tonemap--release --features robustness --lib robustness::and--test robustness;--features http,receipt_claims --lib http_binding::tests_receipts;--test staged_moq --test cli_http--features splat_exact --lib splat_exact::and--test splat_exact;--features contribution --test contribution--features pq_signatures --lib pq_sig::;--features synthesis,pq_signatures --lib synthesis::;--test pq_signatures;--features key_discovery,pq_signatures --lib key_log::cargo test --release --locked --no-default-features --features F_ALL[,pq_signatures], with--testfor each of: capture_take, derive_edge, energy_steering, live_ads, ad_presentation, live_metering, live_record, live_room, live_events, live_watermark, live_moderation, live_compose, wai_keys_cli, cli_http, staged_moq, synthesis, synthesis_mark, contribution, settlement, access_services, ai_usage, bearer_receipts, age_assurance, co_performance, takedown, browser_sink, influence, direction, exploration, exact_upscale, telemetry_aggregate, exact_tonemap, splat_exact and robustnesscargo test --locked --no-default-features --features ops_gpu,…,world_int --test ops_gpu --no-run, then the same forops_gpu,exact_upscale --test exact_upscale_gpu,splat_exact,ops_gpu --test splat_exact_gpuanddred_exact,ops_gpu --test dred_exact_gpuWAI_OPS_GPU_EXPECT=gpu-metal-0 WAI_OPS_GPU_REQUIRE=1 …, with its two grepsdred-gpu: key=gpu-metal-0 payloads=3 streams=2 same=true graphs_on_gpu=29 (acc32 0, acc64 29) on_cpu=0 compared=29 differed=0 errors=[]splat-exact gpu: key=gpu-metal-0 views=13 differ=0 mutants_survived=0… differ=0 errors=0 equalWAI_OPS_GPU_REQUIRE=1 cargo test --locked --release -- --test-threads=1(wai/wai-ops-gpu)cargo run -q --locked [--release] --no-default-features --features <its feature> --bin <gen> -- gen ../live-conformance/<dir> [weights], thengit status --porcelainempty. Release for synthesis-mark, robustness, splat and DREDcargo build --release --locked --no-default-features --features F_ALL,pq_signatures --bins, then each generator again, tree cleancargo run -q --locked -p joule-moq-mls --bin joule_moq_e2ee_vectors -- gen ../../wai/live-conformance/e2ee(joule-code-rs), tree cleancargo run -q --no-default-features --features "<CI F>" --bin <gen> -- verify <dir>for the 22 ofwai-conformance.yml(pq-signatures among them)wai_claim_vectors gen ../claim-conformance(CI F);wai_pq_vectors gen ../pq-conformance; tree cleanclaim-conformance/vectors.jsonwith793bd478's, vector by vectorlive-conformance/*_verify.pythe workflows run (33, with DRED's on the fetched weights);claim_verify.py(vectors,consumption,bearer);jwp_verify.py;signer_verify.py;pq_verify.py;edge_verify.py;staged_verify.py;pin_verify.py;pack_verify.py;int_payload_verify.py;measure_verify.py;sim_verify.py;tools/wai_audio_provenance_check.py;quantum-conformance/tools/referee.py.http_verify.pyimports a sibling module, so it ran as CI runs it, without -I6b693f114), tonemap 38 cases and 0 failures, robustness 43 cases, splat 0 failures, aggregate PASS, DRED 16 mutated copies fail, pq all checks, claims 615, http 1055/1055, and so onsigner_verify.py verdictsvswai_signer_vectors verdicts;pq_verify.py verdictsvswai_pq_vectors verdictsclaim-conformance/differential.py <wai_claim_vectors> --random 2000 --seed 1;jwp-conformance/chain_differential.py --n 3000andchain_gap_differential.py --n 400, seeds 1 and 2;sim_diff.py, seeds 1 and 2cargo metadata --locked --offline --format-version 1in each of the 10 lockfiles holdingwaicargo check --locked --all-targets(wai-relay, wai-pack, joule-moq-room);cargo test --locked --all-targetsand--features int_video --lib(wai-live-web);cargo check --locked --target wasm32-unknown-unknown(wai-web)cargo clippy --locked --keep-going --no-default-features --features F_ALL,pq_signatures --all-targets --message-format=short, and at793bd478with F_BASE, compared by (file, message)robustness/corpus.rs, type_complexity), fixed by21625504f(rerun below)After the last main merge (
21625504f, onb16816671), rerun on the build host:registry export --check;include/wai.hregenerates;cargo checkF_ALL with and withoutpq_signatures, and default features withpq_signatures,--all-targetspq_signatures,synthesis);--lib codecs::;corpus_provenance,cli_registry;int_kernels_vectors(whole target); carriage (no features, default features)21625504f)--release --features robustness --lib robustness::and--test robustness;wai_robustness_vectors gen(release), tree cleanpq_signatures, releasecargo metadata --locked --offlinein all 10 lockfiles holdingwaicheck --all-targets; wai-live-web tests; wai-web wasm32score/mod.rsdeny-level lint, with--keep-goingpast it./scripts/check-lockfiles-selftest.sh;./scripts/check-lockfiles.sh./scripts/check-advisories-selftest.sh;python3 -I scripts/check-advisories.py9bebdcdac,cargo update -p ctutils --precise 0.4.4, nothing else re-resolved. wai-rs now carries exactly main's advisories (crypto-bigint 0.5.5, rsa, zip;cargo audit --fileon both locks)After
9bebdcdac(ctutils 0.4.4), rerun:cargo metadata --locked --offline;cargo checkF_ALL withpq_signatures,--all-targets--features pq_signatures --lib pq_sig::(every ACVP key, signature and verdict, the composite's vector);--features synthesis,pq_signatures --lib synthesis::;--test pq_signatures;--features key_discovery,pq_signatures --lib key_log::wai_pq_vectors gen ../pq-conformance, tree clean; CI's loopverifypython3 -I pq-conformance/pq_verify.py pq-conformance; itsverdictsagainstwai_pq_vectors verdicts./scripts/check-lockfiles.shLocal checks (light), on the pushed head:
python3 wfsteps.py HEAD origin/main pr/425 pr/434 pr/429 pr/430 pr/433 pr/431 pr/4352 workflow files, 1 problem(s), the one deliberate change:wai-ops-gpu.yml [checks] 'wai-rs builds with ops_gpu, and its GPU test targets'holds the union of the base's and SPLAT's--no-runcommands, so its body matches neither sourceruby -ryaml -e 'ARGV.each{|f| YAML.load_file(f)}' .github/workflows/*.ymlpython3 -I scripts/check-tests-in-ci.py,./scripts/check-workflow-concurrency.sh,python3 scripts/check-spec-refs.py,python3 scripts/check-wai-section-refs.py,bash scripts/check-no-vanity-metrics.sh,bash scripts/test-public-text-checks.sh,bash scripts/check-comparative-prose.sh,python3 scripts/check-orphan-sources.pyscripts/check-public-names.shwith the private list on every file the train changes againstorigin/main; every pattern withgrep -Eover the train's commit messages and this bodyNot done
wai-mark:tent64shas no robustness records yet (#433's own open item), andof_attackgivesNonefor those two attacks.793bd478:absurd_extreme_comparisons,src/score/mod.rs:230, in the lib test target.--keep-goinglints every other target.Main merged again (head
b35ce4af): main's312b6825(#449: the advisory gate's answers for RUSTSEC-2026-0385/0387, and the quick-xml fix) merged cleanly.scripts/check-lockfiles.sh: 47 lockfiles, all current.scripts/check-advisories.py: passes (15 allowed advisories).wfsteps.py: only the one deliberate combined step inwai-ops-gpu.yml.🤖 Generated with Claude Code
9f63561b(the age, direction and takedown steps' own bodies) into train/wai-c 5c55c9fa7f41c5bafba) into train/wai-c acfab1c8cdb16816671) into train/wai-c ea7ed0c4ac