wai-quantum: a landscape member declares its capacity, and is held to everything within it #678
Closed
dcharlot
wants to merge 20 commits from
wai/quantum-landscape-capacity into main
pull from: wai/quantum-landscape-capacity
merge into: Transaction-Science:main
Transaction-Science:main
Transaction-Science:wai/quantum-parse-depth
Transaction-Science:wai/quantum-cli-energy-estimate
Transaction-Science:wai/quantum-planner-contract
Transaction-Science:wai/quantum-wasmq
Transaction-Science:wai/quantum-synth-rz-reference
Transaction-Science:wai/quantum-estimate-reaction-clock
Transaction-Science:wai/quantum-landscape-fpga
Transaction-Science:wai/quantum-reader-scaling
Transaction-Science:jouleclaw/north-decode-speed
Transaction-Science:wai/quantum-landscape-gpu
Transaction-Science:wai/quantum-cross-simulator-corpus
Transaction-Science:wai/quantum-writer
Transaction-Science:wai/quantum-check-exercise
Transaction-Science:wai/quantum-landscape-emulator
Transaction-Science:ci/quantum-archive-mtime
Transaction-Science:ci/gate-pool
Transaction-Science:wai/quantum-published-architecture-check
Transaction-Science:wai/quantum-receipt-fields
Transaction-Science:wai/quantum-cloud-tasks
Transaction-Science:ci/quantum-emulator-in-job
Transaction-Science:wai/quantum-service-write
Transaction-Science:fix/fake-stack-reverse-lookup
Transaction-Science:ci/energy-hardware-fetch-by-sha
Transaction-Science:wai/quantum-namespace
Transaction-Science:wai/conform-output
Transaction-Science:wai/neural-corpus-licence
Transaction-Science:wai/compact-return-profile
Transaction-Science:wai/det-module-profile
Transaction-Science:wai/carousel-monotone-inband
Transaction-Science:wai/toolchain-keys
Transaction-Science:fix/fake-stack-no-reverse-lookup
Transaction-Science:fix/origin-503-reset
Transaction-Science:wai/timeliness-ladder-scheduler
Transaction-Science:wai/marks
Transaction-Science:test/relay-loop-port-race
Transaction-Science:sandbox/proof-tee-msr
Transaction-Science:meters/clippy-clean
Transaction-Science:wai/det-module-checkers
Transaction-Science:ci/neural-pin-and-windows-byte-equality
Transaction-Science:mesh-meter/smc
Transaction-Science:wai/ad-consent-supply-chain
Transaction-Science:wai/toolchain-fixes
Transaction-Science:wai/hls-cues-delivery-decision
Transaction-Science:wai/prior-carriage-spec
Transaction-Science:wai/det-source-fixes
Transaction-Science:wai/one-way-delivery
Transaction-Science:chore/shared-append-points-files
Transaction-Science:mesh-meter/min-window
Transaction-Science:jcp-energy/rapl-msr
Transaction-Science:jouleclaw-energy/rapl-msr
Transaction-Science:mesh/ingest-reconcile-2
Transaction-Science:eoc-meter/rapl-msr
Transaction-Science:proof-cascade/rapl-msr
Transaction-Science:sandbox-meter/rapl-msr
Transaction-Science:jouleclaw-energy/smc-consumers
Transaction-Science:wai/quantum-llms-names
Transaction-Science:jouleclaw-energy/smc-system
Transaction-Science:wai/quantum-contract-baselines-0.8.1
Transaction-Science:wai/wave-a
Transaction-Science:wai/co-floor-schedule-change
Transaction-Science:wai/quantum-release-0.8.1
Transaction-Science:mesh/ingest-reconcile
Transaction-Science:wai/quantum-service-tasks
Transaction-Science:wai/quantum-service-rerun
Transaction-Science:mesh/decision-training-provenance
Transaction-Science:test/timing-under-load
Transaction-Science:wai/inspect-carousel-holdings-b
Transaction-Science:wai/quantum-optimize-resume-2
Transaction-Science:chore/rust-latest-stable
Transaction-Science:energy-compare/prereg
Transaction-Science:test/relay-door-race
Transaction-Science:wai/quantum-cli-provider-tasks
Transaction-Science:wai/quantum-service-idempotency-2
Transaction-Science:wai/contribution-link-magic
Transaction-Science:wai/inspect-carousel-holdings
Transaction-Science:wai/carousel-schedule
Transaction-Science:ci/gates-off-arm64-r2
Transaction-Science:ci/proof-shards-to-96
Transaction-Science:ci/drop-msrv-floor
Transaction-Science:ci/proof-gate-sigpipe
Transaction-Science:wai/quantum-studio-service-retry
Transaction-Science:wai/holdings
Transaction-Science:wai/media-inspect
Transaction-Science:ci/gates-off-arm64
Transaction-Science:wai/quantum-optimize-resume
Transaction-Science:wai/quantum-service-idempotency
Transaction-Science:wai/quantum-desktop-0.1.2
Transaction-Science:chore/rust-1.99.1-now
Transaction-Science:wai/tariff-v6-b
Transaction-Science:wai/quantum-provider-jobs-2
Transaction-Science:jcp/replay-class
Transaction-Science:wai/quantum-provider-jobs
Transaction-Science:relay/fanout-shards
Transaction-Science:wai/avs3-probe-panic
Transaction-Science:sense/injected-observation
Transaction-Science:room/draw-on-new-frame
Transaction-Science:sandbox/transcript-continuation
Transaction-Science:relay/fanout-load
Transaction-Science:wai/quantum-desktop-0.1.1-b
Transaction-Science:chore/rust-1.99.1-on-main
Transaction-Science:wai/upscale-tonemap-door
Transaction-Science:wai/tariff-v6
Transaction-Science:wai/quantum-desktop-0.1.1
Transaction-Science:wai/third-party-hop
Transaction-Science:chore/rust-1.99.1-current
Transaction-Science:sec/zip-extract-abort
Transaction-Science:wai/quantum-desktop-read-only-volume
Transaction-Science:joulespec/applied
Transaction-Science:wai/quantum-desktop-update-key
Transaction-Science:wai/quantum-contract-baselines-0.8.0
Transaction-Science:joulespec/e4-bridge
Transaction-Science:wai/route-outputs
Transaction-Science:wai/quantum-release-0.8.0
Transaction-Science:joulespec/self-conformance
Transaction-Science:sec/crypto-bigint-unyanked
Transaction-Science:joulespec/research-pass
Transaction-Science:joulespec/standard-v0.1
Transaction-Science:wai/quantum-registration
Transaction-Science:wai/quantum-gpu-resident
Transaction-Science:wai/quantum-scale-out
Transaction-Science:wai/ledger-physics
Transaction-Science:wai/quantum-variational
Transaction-Science:wai/quantum-interchange
Transaction-Science:wai/route-physics
Transaction-Science:wai/ledger-work-priced
Transaction-Science:ci/arm64-no-debuginfo
Transaction-Science:wai/quantum-pulse
Transaction-Science:wai/quantum-desktop-release
Transaction-Science:test/srt-burst-mid-stream
Transaction-Science:sec/wasmtime-49.0.5
Transaction-Science:wai/routed-jobs-ledger
Transaction-Science:wai/routed-jobs
Transaction-Science:wai/fast-channel-guide
Transaction-Science:ci/quantum-set-path-skip-linux
Transaction-Science:scripts/public-text-checks-cover-oer
Transaction-Science:wai/fast-statement-check
Transaction-Science:proof/ioreport-same-subscription
Transaction-Science:wai/fast-revenue-share
Transaction-Science:wai/relay-ws-close-drain-2
Transaction-Science:wai/quantum-members-on-the-studio
Transaction-Science:ci/macos-x86_64-on-intel
Transaction-Science:wai/relay-ws-close-drain
Transaction-Science:wai/quantum-py-on-index
Transaction-Science:wai/quantum-npm-package
Transaction-Science:wai/flake-fixes-relay-energy
Transaction-Science:wai/installer-version-test
Transaction-Science:wai/quantum-cli-0.2.2
Transaction-Science:hotfix/room-empty-on-91cfa9d0
Transaction-Science:room/viewer-of-an-empty-room
Transaction-Science:wai/quantum-mcp-registry
Transaction-Science:wai/install-0.4.0
Transaction-Science:wai/quantum-baselines-0.7.0
Transaction-Science:wai/release-0.4.0
Transaction-Science:wai/quantum-wave5b
Transaction-Science:wai/ops-catalogue
Transaction-Science:wai/quantum-wave5
Transaction-Science:wai/studio-web
Transaction-Science:wai/breaking-conform
Transaction-Science:wai/quantum-ecosystem
Transaction-Science:wai/quantum-qsynth
Transaction-Science:wai/quantum-qasm3
Transaction-Science:wai/quantum-qlsp
Transaction-Science:wai/quantum-qbyoq
Transaction-Science:wai/fleet
Transaction-Science:wai/quantum-qpy
Transaction-Science:wai/quantum-qdoor
Transaction-Science:wai/relay-ws-ping
Transaction-Science:wai/dvr-windows-positional
Transaction-Science:wai/quantum-study-2
Transaction-Science:fix/srt-tests-first-send-losses
Transaction-Science:wai/quantum-study
Transaction-Science:wai/create-2
Transaction-Science:wai/dx-agent-mcp-2
Transaction-Science:wai/dx-a-examples-2
Transaction-Science:fix/srt-close-after-drain
Transaction-Science:wai/dx-a-examples
Transaction-Science:wai/create
Transaction-Science:train/wai-e
Transaction-Science:wai/dx-agent-mcp
Transaction-Science:wai/quantum-converge
Transaction-Science:wai/quantum-taste-r2
Transaction-Science:wai/sdk-native-apple
Transaction-Science:wai/quantum-taste
Transaction-Science:wai/quantum-novelty
Transaction-Science:wai/quantum-locks-r2
Transaction-Science:wai/messaging-calls
Transaction-Science:sec/zstd-avx2-2026-10-26
Transaction-Science:sec/zstd-2026-10-26
Transaction-Science:wai/remote-input-seal
Transaction-Science:wai/quantum-locks
Transaction-Science:wai/room-remote
Transaction-Science:wai/sdk-native-android
Transaction-Science:sec/allow-reasons-verified
Transaction-Science:wai/quantum-studio-origin-words
Transaction-Science:ci/compile-once
Transaction-Science:wai/ingest-srt-rist
Transaction-Science:wai/encode-avc-hevc
Transaction-Science:wai/world-on-moq
Transaction-Science:wai/remote-desktop
Transaction-Science:train/pack-stack
Transaction-Science:wai/ingest-ertmp-scte104
Transaction-Science:wai/quantum-0.6.15-history
Transaction-Science:wai/quantum-studio-workbench
Transaction-Science:wai/quantum-attributed-history
Transaction-Science:ci/energy-step-retry
Transaction-Science:wai/quantum-0.6.15
Transaction-Science:wai/relay-cascade
Transaction-Science:wai/audit-kit
Transaction-Science:wai/receipt-ledger
Transaction-Science:chore/rust-1.99.1
Transaction-Science:wai/ssai-stitched
Transaction-Science:wai/key-release
Transaction-Science:wai/quantum-discover
Transaction-Science:wai/quantum-qasm-generators
Transaction-Science:wai/int-decode-fast
Transaction-Science:train/wai-c
Transaction-Science:wai/quantum-service-client-identity
Transaction-Science:wai/energy-honesty
Transaction-Science:fix/floor-input-chain-order
Transaction-Science:wai/energy-sink-metering
Transaction-Science:wai/energy-truth
Transaction-Science:train/live-room-d
Transaction-Science:sec/unsound-bumps-2026-10
Transaction-Science:wai/delivery-bindings
Transaction-Science:fix/quick-xml-normalized-value
Transaction-Science:sec/after-443-b
Transaction-Science:wai/energy-waste
Transaction-Science:sec/ci-python-pins
Transaction-Science:wai/determinism-cost
Transaction-Science:wai/gpu-int-tier
Transaction-Science:sec/after-443-2026-10-22
Transaction-Science:sec/advisory-sweep-2026-10
Transaction-Science:sec/rust-advisories-2026-10
Transaction-Science:wai/avatar-telepresence
Transaction-Science:wai/ops-npu
Transaction-Science:wai/registrations-b3r
Transaction-Science:wai/scene-priors
Transaction-Science:sec/rustsec-2026-10
Transaction-Science:fix/x402-refuse-unimplemented-scheme
Transaction-Science:fix/passport-no-espr
Transaction-Science:train/wai-2026-10-22
Transaction-Science:wai/cross-fabric
Transaction-Science:fix/eoc-route-cheapest
Transaction-Science:fix/backend-apple-lints
Transaction-Science:feat/tdx-hardware-check
Transaction-Science:wai/pq-receipts
Transaction-Science:wai/dred-exact
Transaction-Science:train/live-room
Transaction-Science:wai/soft-binding-evidence
Transaction-Science:wai/co-watch
Transaction-Science:wai/gain-maps
Transaction-Science:wai/splat-exact
Transaction-Science:wai/telemetry-aggregate
Transaction-Science:wai/exact-upscale
Transaction-Science:wai/quantum-0.6.14
Transaction-Science:wai/pack-efficiency
Transaction-Science:wai/synthesis-mark
Transaction-Science:wai/exploration
Transaction-Science:wai/ad-presentation
Transaction-Science:wai/mark-sync
Transaction-Science:fix/loader-gguf-lints
Transaction-Science:wai/access-services
Transaction-Science:wai/co-performance-live
Transaction-Science:fix/sandbox-vector-drift
Transaction-Science:fix/e2e-window-wait
Transaction-Science:wai/influence
Transaction-Science:wai/pp-admission
Transaction-Science:wai/takedown
Transaction-Science:fix/routing-plan-carries-its-class
Transaction-Science:wai/quantum-codesign-lens
Transaction-Science:wai/shared-lists
Transaction-Science:feat/tdx-pck-chain
Transaction-Science:wai/settlement
Transaction-Science:joule-moq/multi-draft
Transaction-Science:wai/browser-binding
Transaction-Science:wai/bearers
Transaction-Science:feat/sandbox-hardware-check
Transaction-Science:wai/direction
Transaction-Science:wai/co-performance
Transaction-Science:wai/age-assurance
Transaction-Science:fix/dash-bounds-interleave
Transaction-Science:wai/quantum-codesign
Transaction-Science:wai/contribution
Transaction-Science:feat/sandbox-tdx-run-path
Transaction-Science:fix/track-kind-name
Transaction-Science:wai/ietf-draft
Transaction-Science:feat/sandbox-run-flow
Transaction-Science:wai/ai-usage
Transaction-Science:feat/jcp-wire-evidence
Transaction-Science:wai/synthesis
Transaction-Science:wai/quantum-branching-threads-pinned
Transaction-Science:feat/sandbox-run-binding
Transaction-Science:fix/wt-close-linger
Transaction-Science:fix/routing-joules-is-an-estimator
Transaction-Science:feat/jcp-window-caveat
Transaction-Science:fix/attest-vendor-offsets
Transaction-Science:wai/deriving-edge
Transaction-Science:wai/c2pa-live
Transaction-Science:fix/mesh-energy-span-scope
Transaction-Science:feat/compliance-product-liability
Transaction-Science:feat/mesh-weights-change-record
Transaction-Science:wai/ops-gpu
Transaction-Science:feat/receipts-bind-the-output
Transaction-Science:wai/quantum-cli-formulae-private
Transaction-Science:wai/quantum-cli-release-static
Transaction-Science:fix/gguf-cast-alignment
Transaction-Science:joule-moq/e2e-service-seek
Transaction-Science:wai/quantum-0612-land
Transaction-Science:joule-moq/e2ee-web
Transaction-Science:fix/kv-cache-attn-layer-count
Transaction-Science:feat/metal-ratchet
Transaction-Science:wai/quantum-tn-restarts
Transaction-Science:wai/quantum-studio-svg
Transaction-Science:wai/quantum-cli-release
Transaction-Science:fix/efficiency-keeps-coverage
Transaction-Science:fix/joule-code-conformance-header
Transaction-Science:wai/quantum-four-surfaces
Transaction-Science:joule-moq/wt-session-close
Transaction-Science:wai/quantum-engine-studio
Transaction-Science:wai/live-ads
Transaction-Science:wai/quantum-studio
Transaction-Science:wai/quantum-engine-browser
Transaction-Science:wai/quantum-engine
Transaction-Science:wai/live-watermark
Transaction-Science:feat/c27-flow-conformance
Transaction-Science:wai/quantum-one-front-end
Transaction-Science:joule-moq/dvr
Transaction-Science:fix/claims-grounded-by-their-own-citations
Transaction-Science:fix/nvml-low-counter-not-a-reading
Transaction-Science:wai/quantum-one-parser
Transaction-Science:fix/jouleclaw-energy-doc-links
Transaction-Science:feat/c25-single-writer-conformance
Transaction-Science:wai/quantum-exact-phase
Transaction-Science:fix/jcp-wire-retry-and-single-writer
Transaction-Science:wai/quantum-0.6.8
Transaction-Science:fix/mesh-journal-single-writer
Transaction-Science:fix/journal-single-writer
Transaction-Science:wai/quantum-sv-thread-floor
Transaction-Science:wai/e2ee
Transaction-Science:debug/branching-determinism
Transaction-Science:fix/cited-item-authority
Transaction-Science:wai/quantum-tn-split-0.6.7
Transaction-Science:wai/quantum-service-cutrank-pr
Transaction-Science:fix/gpu-counter-under-reports
Transaction-Science:wai/quantum-tn-split
Transaction-Science:wai/quantum-service-cutrank
Transaction-Science:wai/quantum-cutrank-0.6.6
Transaction-Science:fix/jcp-gateway-flow-checks-whole-request
Transaction-Science:wai/quantum-dynamic-examples
Transaction-Science:wai/quantum-dynamic-circuits
Transaction-Science:fix/jcp-gateway-gates-tasks-and-mrtr
Transaction-Science:wai/moderation
Transaction-Science:joule-moq/room-live
Transaction-Science:wai/quantum-cutrank
Transaction-Science:wai/quantum-service-energy
Transaction-Science:ci/lean-triggers
Transaction-Science:wai/steering
Transaction-Science:fix/rapl-permission-vs-absent
Transaction-Science:feat/pool-energy-accounted-scheduling
Transaction-Science:joule-moq/ingest
Transaction-Science:joule-moq/harden
Transaction-Science:wai/live-metering
Transaction-Science:tidy/safe-lints
Transaction-Science:wai/quantum-0.6.4-pr
Transaction-Science:aac/release
Transaction-Science:joule-moq/web
Transaction-Science:wai/d2c-m7b
Transaction-Science:jouleclaw/jcs-ecmascript-numbers
Transaction-Science:wai/quantum-service
Transaction-Science:fix/efficiency-outcome-anchor-prior-art
Transaction-Science:fix/joulehook-budget-survives-the-process
Transaction-Science:joule-moq/relay
Transaction-Science:fix/jouleclaw-nvml-sampling-floor
Transaction-Science:tidy/clippy-sweep
Transaction-Science:wai/quantum-0.6.4
Transaction-Science:wai/quantum-noisy-clifford
Transaction-Science:fix/sandbox-s7-audit-trail-survives-restart
Transaction-Science:wai/d2c-m8
Transaction-Science:wai/timed-text
Transaction-Science:wai/live-record
Transaction-Science:wai/d2c-m7a
Transaction-Science:fix/joule-code-joulecontract-no-fabricated-discharge
Transaction-Science:fix/jcp-gateway-replays-its-own-receipts
Transaction-Science:wai/tensor-engine-device-compile
Transaction-Science:wai/live-compose
Transaction-Science:fix/openpay-audit-log-survives-restart
Transaction-Science:fix/jcp-efficiency-undefined-ratio-is-not-zero
Transaction-Science:fix/jcp-trace-undefined-ratio-is-not-zero
Transaction-Science:fix/joulehook-unrecognised-payload-fails-closed
Transaction-Science:wai/capture-take
Transaction-Science:fix/jwp-zstd-decompression-cap
Transaction-Science:fix/openpay-sca-exemption-eur-caps
Transaction-Science:fix/openpay-screening-unrun-is-not-clear
Transaction-Science:wai/live-rooms
Transaction-Science:joule-moq/draft-22
Transaction-Science:wai/quantum-wmma
Transaction-Science:wai/live-events
Transaction-Science:wai/quantum-tensor-cores
Transaction-Science:fix/process-gpu-oracle-pid-time
Transaction-Science:wai/d2c-m6
Transaction-Science:wai/d2c-m5
Transaction-Science:wai/bounds-pass-speed
Transaction-Science:wai/quantum-dataflow-vector
Transaction-Science:wai/o23-loaded-set-cache
Transaction-Science:wai/d2c-m4
Transaction-Science:wai/quantum-npu
Transaction-Science:ci/balance-linux-pools
Transaction-Science:wai/d2c-m3
Transaction-Science:wai/quantum-0.5.0
Transaction-Science:fix/meter-freshness-note
Transaction-Science:wai/d2c-m2-m3
Transaction-Science:wai/extension-duration-limits
Transaction-Science:ci/one-job-for-repo-checks
Transaction-Science:wai/coverage-fuzzing
Transaction-Science:wai/decode-output-limits
Transaction-Science:sandbox/bind-egress-credentials
Transaction-Science:wai/quantum-processors-ci
Transaction-Science:wai/quantum-webgpu-windows
Transaction-Science:wai/quantum-sv-gpu
Transaction-Science:wai/quantum-samplers
Transaction-Science:ci/build-what-changes
Transaction-Science:wai/d7-titles-slice
Transaction-Science:ci/gate-on-pr-diff
Transaction-Science:fix/eoc-meter-gpu-freshness
Transaction-Science:ci/checks-on-arm64
Transaction-Science:mesh/bind-weights-and-precision
Transaction-Science:wai/quantum-every-processor
Transaction-Science:wai/d2c-decoders-on-ops
Transaction-Science:fix/clippy-sweep
Transaction-Science:ci/tests-are-run
Transaction-Science:wai/d7-text-and-browser
Transaction-Science:fix/spec-citations-resolve
Transaction-Science:wai/quantum-run-meter
Transaction-Science:wai/quantum-serve-limits
Transaction-Science:fix/tree-energy-reap-under-load
Transaction-Science:wai/security-gaps
Transaction-Science:fix/in-process-self-read-fold
Transaction-Science:fix/rapl-probe-test-in-step
Transaction-Science:ci/lockfiles-current
Transaction-Science:wai/d2b-bounds
Transaction-Science:wai-quantum-fabric-energy
Transaction-Science:fix/grade-labels-and-windows
Transaction-Science:wai-quantum-webgpu-tile
Transaction-Science:fix/model-based-means-calibrated
Transaction-Science:wai/d7-5-stroke-set
Transaction-Science:wai-quantum-webgpu
Transaction-Science:fix/uncalibrated-model-is-estimate
Transaction-Science:wai/d7-4-vector-checker
Transaction-Science:wai/w4-4-staged-packages
Transaction-Science:wai/d1-record-true
Transaction-Science:wai/d7-3-vector-raster
Transaction-Science:wai/d7-2-vector-formats
Transaction-Science:wai/d7-1-graphics-text
Transaction-Science:feat/tree-delegated-energy
Transaction-Science:feat/meter-model-subprocesses
Transaction-Science:feat/meter-solver-subprocesses
Transaction-Science:fix/no-fabricated-readings
Transaction-Science:revive/joule-code-pack-test
Transaction-Science:wai/reach-builds
Transaction-Science:wai/generate-score-cli
Transaction-Science:revive/jcp-receipt-orphan-doc
Transaction-Science:fix/tree-energy-setup-race
Transaction-Science:sandbox/meter-delta-read
Transaction-Science:wai-quantum-circuit2
Transaction-Science:wai/d2a-operators-crate
Transaction-Science:wai/w3-3-http-receipts
Transaction-Science:wai/d2a-operators-text
Transaction-Science:chore/licence-files-match
Transaction-Science:ci/hygiene-comment
Transaction-Science:feat/gateway-upstream-energy
Transaction-Science:feat/mesh-fidelity-provenance
Transaction-Science:energy/gpu-plausibility-magnitude
Transaction-Science:wai-quantum-fabric
Transaction-Science:feat/orchestrate-journal
Transaction-Science:mesh-meter/process-span
Transaction-Science:wai-quantum-nqs-rectangle
Transaction-Science:fix/wai-burst-race-assertion
Transaction-Science:wai-quantum-nqs-pointgroup
Transaction-Science:ci/pr-diff-path-gate
Transaction-Science:feat/revocation-freshness
Transaction-Science:feat/policy-digest
Transaction-Science:feat/checkpoint-energy
Transaction-Science:wai/w5-4-measure-web
Transaction-Science:wai/strict-ed25519
Transaction-Science:fix/gpu-plausibility-magnitude
Transaction-Science:ci/energy-tests-load-independent
Transaction-Science:wai-quantum-nqs-symmetry
Transaction-Science:wai/audio-provenance
Transaction-Science:fix/energy-tick-floor-proof-sandbox
Transaction-Science:wai/w3-4-playlists-abr
Transaction-Science:wai/w1-6-moq-layers
Transaction-Science:wai/w5-3-session-claim
Transaction-Science:wai/w4-3-packages
Transaction-Science:wai/w1-5-stage-receipts
Transaction-Science:wai/w3-http-delivery
Transaction-Science:wai/w5-staged-measurement
Transaction-Science:wai/w4-wai-pack
Transaction-Science:feat/transparency-log
Transaction-Science:energy/load-robust-tests
Transaction-Science:wai/land-18-staged-browser
Transaction-Science:ci/workflow-guard
Transaction-Science:ci/energy-hardware-linux-hw
Transaction-Science:ci/concurrency-groups
Transaction-Science:feat/mcp-extensions
Transaction-Science:jcp-energy/npu-needs-proof
Transaction-Science:jouleclaw-energy/apple-gpu-share
Transaction-Science:fix/ap2-mandate-authority
Transaction-Science:feat/decision-models
Transaction-Science:wai/land-17-staged-delivery
Transaction-Science:efficiency/energy-trace
Transaction-Science:energy/burn-floor-0-1-j
Transaction-Science:wai/land-16-binary-payloads
Transaction-Science:ci/macos-energy-widen
Transaction-Science:wai/land-14-energy-reporting
Transaction-Science:wai/land-15-key-discovery
Transaction-Science:energy/meters-on-real-linux-hardware
Transaction-Science:wai/land-13-parameter-set-identity
Transaction-Science:wai/land-12-registry-and-text
Transaction-Science:eoc-agent/model-span-provenance
Transaction-Science:energy/cost-keys-named-for-what-they-carry
Transaction-Science:energy/liveness-must-specs
Transaction-Science:openpay/token-independence-test
Transaction-Science:sandbox-meter/process-energy
Transaction-Science:sandbox-meter/cpu-rail-liveness
Transaction-Science:eoc-meter/process-energy
Transaction-Science:jcp-energy/process-energy
Transaction-Science:eoc-meter/cpu-rail-liveness
Transaction-Science:jouleclaw-energy/process-energy
Transaction-Science:jouleclaw-energy/cpu-rail-liveness
Transaction-Science:jcp-energy/cpu-rail-liveness
Transaction-Science:proof-cascade/process-energy
Transaction-Science:proof-cascade/cpu-rail-liveness
Transaction-Science:wai/research-taxonomy-wording
Transaction-Science:wai/land-09-int-mlicpp
Transaction-Science:wai/land-10-receipt-classes
Transaction-Science:wai/land-11-research-notes
Transaction-Science:wai/land-08-energy-classes
Transaction-Science:wai/land-07-int-decode-kernels
Transaction-Science:wai/land-06-ci-headline-tests
Transaction-Science:wai/land-05-prior-nnc
Transaction-Science:wai/land-04-codec-registry
Transaction-Science:wai/land-03-jpegai-no-libm
Transaction-Science:wai/land-02-determinism-tiers
Transaction-Science:feat/wai-video-workflow
Transaction-Science:ci/neural-e2e-guard
Transaction-Science:ci/jcp-pack
Transaction-Science:ci/tier2-packs
Transaction-Science:wai-webcodecs-negotiation
Transaction-Science:ci/macos-energy-backend
Transaction-Science:ci/joule-code-pack
Transaction-Science:joulecontract/run-negative-vectors
Transaction-Science:ci/jouleclaw-arm64-debuginfo
Transaction-Science:ci/run-conformance-verifiers
Transaction-Science:mesh/cost-calibration
Transaction-Science:diagnose/grounding-backing
Transaction-Science:wai/energy-operating-point
Transaction-Science:wai/2030-transport-landscape
Transaction-Science:wai/constraints-and-unidirectional
Transaction-Science:wai/determinism-tier-covers-emitted-medium
Transaction-Science:wai/moq-streaming-format
Transaction-Science:wai/mpeg-ai-part6-mapping
Transaction-Science:wai/prior-carriage-and-derivations
Transaction-Science:wai/receipt-classes-and-key-discovery
Transaction-Science:wai/task-fidelity
Transaction-Science:wai/transparency-emission
Transaction-Science:wai/c2pa-emitter
Transaction-Science:compliance/eu-scale-pack
Transaction-Science:compliance/composite-grade-v2
Transaction-Science:jcp/erasure-tombstone-v2
Transaction-Science:jcp/avoided-energy
Transaction-Science:jcp/erasure-tombstone
Transaction-Science:jcp/environment-binding
Transaction-Science:proof/stub-on-the-wire
Transaction-Science:compliance/composite-grade
Transaction-Science:mesh/context-cost-profile
Transaction-Science:ar-1-on-main
Transaction-Science:jcp/mcp-meta-receipt
Transaction-Science:wai/energy-binding
Transaction-Science:jcp/energy-coverage-relanded
Transaction-Science:jcp/energy-coverage
Transaction-Science:wai/video-byte-equality
Transaction-Science:eoc/multi-tenant-allocation
Transaction-Science:compliance/banding-function
Transaction-Science:ci-standards-workspaces
Transaction-Science:sandbox/honest-tier
Transaction-Science:proof/joule-ceiling
Transaction-Science:chore/rust-1.98-and-deps
Transaction-Science:wai-jpegai-full-wasm
Transaction-Science:wai-3d-landscape
Transaction-Science:wai-binding-real-decode
Transaction-Science:wai-determinism-tiers
Transaction-Science:wai-jpegai-wasm-demo
Transaction-Science:wai-jpegai-integrate
Transaction-Science:fix-byte-exact-includes
Transaction-Science:ci-windows-shell
Transaction-Science:jpegai-dequant-derive
Transaction-Science:ci-rust-setup
Transaction-Science:fl2-land
Transaction-Science:ci/cross-workspace-check
Transaction-Science:ci-enable
Transaction-Science:jcp-training-receipt
Transaction-Science:joule-code/repair-grant-literals
Transaction-Science:jcp-gateway-flow-relay
Transaction-Science:jcp-receipt-flow-seal
Transaction-Science:jcp-runtime-flow-gate
Transaction-Science:jcp-flow-witness
Transaction-Science:jcp-flow-lattice
Transaction-Science:rust-toolchain-1.97.1
Transaction-Science:score-binary-on-320fa1e
Transaction-Science:sandbox/cred-injection-2
Transaction-Science:sandbox/credential-injection
Transaction-Science:corpus-embedder-s5
Transaction-Science:jcp/cite
Transaction-Science:receipts-corpus-connector
Transaction-Science:jcp/grant-caveats
Transaction-Science:feat/jpegai-derive-inputs
Transaction-Science:feat/jpegai-weight-tools
Transaction-Science:feat/jpegai-icci-validation
Transaction-Science:jcp/x402-example-settlement
Transaction-Science:jcp/x402-bridge
Transaction-Science:jcp/receipt-payload-hash
Transaction-Science:fix/jpegai-pih-flags
Transaction-Science:feat/jpegai-e2e-chain
Transaction-Science:feat/jpegai-e2e-z
Transaction-Science:feat/jpegai-ton
Transaction-Science:jcp/dual-ceilings
Transaction-Science:feat/jpegai-pih
Transaction-Science:feat/jpegai-bitstream
Transaction-Science:feat/jpegai-icci-net2
Transaction-Science:feat/jpegai-icci-net
Transaction-Science:feat/jpegai-dwt
Transaction-Science:feat/jpegai-color
Transaction-Science:score-binary-rerank
Transaction-Science:feat/jpegai-efl
Transaction-Science:feat/jpegai-lef
Transaction-Science:feat/jpegai-efn
Transaction-Science:feat/jpegai-lsbs
Transaction-Science:feat/jpegai-reconstruct
Transaction-Science:jcp/orchestrate-profile-mapping
Transaction-Science:jpegai-sigma-index
Transaction-Science:hyperscale-floorfix
Transaction-Science:feat/jpegai-pipeline-dequant
Transaction-Science:feat/jpegai-e2e-synthesis
Transaction-Science:recovery/jpegai-decoders
Transaction-Science:wai/jpegai-synthesis-executor
Transaction-Science:jouletag-standard
Transaction-Science:wai/jpegai-gate-fixes
Transaction-Science:wai/int-transformer-executors
Transaction-Science:wai/int-transformer-kernels
Transaction-Science:energy/rapl-nvml-hardware-fixes
Transaction-Science:fix/omni-build-and-gguf-tokenizer
Transaction-Science:jouletable-standard
Transaction-Science:jouleclaw/gguf-decoders
Transaction-Science:wai/confidentiality-freshness
Transaction-Science:joulehook-standard
Transaction-Science:honest-counter-provenance
Transaction-Science:amd-kds-adapter
Transaction-Science:evidence-derived-grounding
Transaction-Science:mapping-physically-rooted-clarify
Transaction-Science:attested-efficiency-demo
Transaction-Science:efficiency-energy-attestation
Transaction-Science:mapping-attested-kernel
Transaction-Science:energy-counter-attestation
Transaction-Science:efficiency-surface
Transaction-Science:efficiency-spec
Transaction-Science:harness-econ
Transaction-Science:federation-quic-on-main
No reviewers
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set
Reference
Transaction-Science/open-standards!678
Loading…
Reference in a new issue
No description provided.
Delete branch "wai/quantum-landscape-capacity"
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?
Re-landed on main as one commit,
c0ba8a0ce(2026-11-09), under the land-it model. Round 6's 13 findings are fixed at72829ec4c, each with a fail-first test (the medium: the probe is now the rewrite itself). Squashed onto main after #676 (ce1c91131). Passed on the Framework on the combined tree: the wai-quantum library's 1,469 tests, 54 landscape conformance tests, the engine-only build, and the service's 118 tests under ulimit -Sn 256. The breaking gate's red at72829ec4ccame from main (libdav1d missing from its image); the next commit on main fixes it, and the gate then reports no unacknowledged breaking change for this work. Closed.A declared-capacity rule for members of
wai.quantum.landscape/1: a spec change to §5, §5.1, §5.3 and §7, withmember::certify, the GPU members and the FPGA reference design brought to it.Why
Real hardware has finite capacity. The FPGA reference design (#677) has 64 cells, 20-bit sampling registers and a table window of 8,192 fields a temperature. Under the conformance set on main it refuses 13 cases past those, and since §5 let a member decline only fields above 2³¹ − 1, each refusal counted as a missed vector: the host certified it
uncertified, although every case it can hold gives the reference's bits (21/21 settle, 227/227 chains).The rule
Member::capacity, acapacity::Capacity), once, as fixed numbers:|b_i|, field bound and cost;table_entries), or the span of uncertain fields at a temperature (uncertain_span), its table's window;sweeps: a settle's bound, a schedule's length);chains_per_call). This is a batch size, not a limit: the host splits a job into calls of that many, and certification splits every vector the same way, so no job goes elsewhere for it.Member::capacitytakes the place ofMember::takes.Capacity::admitsis a pure function of the workload, its schedule and the declared numbers, and says which number a job is past. The host declines for a member exactly the jobs past its capacity, and runs it on none of them, however it was reached. A member declines nothing by choice, so the GPU review's protection against selective declining holds: a member that refuses or fails a case within its capacity has failed it.certifyreads the capacity once. It runs everysettleandchainsvector and every battery workload within that capacity, each case's chains in calls of the size the host would use at run time. For each number declared below what a job can reach, it also runs vectors generated at exactly that number (Capacity::edges), with the reference as their oracle. The grade holds within that capacity, and the answer says so:member.capacityin every answer from a member that declares one. It is absent for the reference, whose answers keep their exact bytes, soCORPUS_20and every pinned digest stand;certifyrefuses it, naming each number under). The floor is the least capacity that takes every case of the core set: the cases the set held before it grew to reach large jobs (thesettlevectors but the one with fields of 2⁴⁰, the first fifteenchainsvectors and the first eight battery workloads), plus a long schedule across windows. A member must hold those, or the grade vouches for nothing. It is worked out from those cases (capacity::floor), and the test pins its numbers as §5 states them:The floor declares no batch: any number of chains a call is certified by splitting.
admitschecks that sweep alone, and a test holds the property.The adversarial check at
75edfe063, and what changedThe check confirmed three high findings, one medium and one low. They share a root cause: declaring a number removed fixed vectors from certification, and the set samples each number at only a few points.
bit-exactat the floor itself. Schedule length was not a capacity number, and no vector under 64 cells ran more than 41 sweeps.a-long-schedule-across-windows: 5,000 sweeps on 32 cells within the floor on every number. It crosses windows by table (about 530 sweeps) and by work (about 1,930), so no capacity a member may declare leaves it out.sweepsis now a capacity number, with an edge vector at it. The full set adds 200,000 sweeps of two cells, across a window by work on the smallest workload.chains_per_callremoved chain vectors and turned away no job.Capacity::batch, now shared withrun.rs), and skips nothing. A declared batch also gets one call of exactly that many chains.words()states the batch as a split, not as "go elsewhere". The floor no longer has a batch.Capacity::edgesbuilds vectors at each declared number, each also within every other declared number: a settle wave down that many cells and a hot chain on them; that many couplings; on each side of temperature 0, a field bound reached through couplings and by a field alone, the largest field and the largest cost, drawn hot (uncertain) and cold at 1/64 (certain, so a field reached exactly is drawn exactly); a table of that many entries; two fields spanning the uncertain span; a schedule of that many sweeps. The battery gets the same above 0. A member that declares nothing runs the fixed set only, and the reference's answer bytes are unchanged.certifyreadcapacity()again for each check.settle_vectors_hold_within,chain_vectors_hold_withinandrun_battery_within.earn()and theagreeline now say "within its declared capacity", andearn()gives the capacity in words. docs/landscape.md now states what CUDA, Metal and WebGPU declare.Hostile capacities. Every fault test now also runs with a declared capacity.
every_fault_loses_the_grade_of_the_kernel_it_is_inruns each fault twice. The first run declares none. The second declares the most hostile capacity the fault may: the least capacity, at or above the floor, that still takes a job the fault gets wrong (Capacity::least(job).join(floor())). In the second run, a positive control first shows the fault getting that job wrong within that capacity. The faults covered are the field widths, cells, settle ends, draws, cell order, chains, the device window, and both window faults at every window a vector crosses. This loop caught one gap in the first draft of the edges. A 32-bit field fault declared without its couplings slipped past a hot star of 8 chains. The cold, exactly reached star closed the gap.The probes, kept as tests, and what each faulty member now earns, as (settle, sample), from the run on Thor:
75edfe063OnlyTheFirstChains(64)withchains_per_call100uncertified.OnlyTheFirstCells(256)with cells 299OnlyTheFirstCells(300)with couplings 992SettleEndsLate(256)with cells 299uncertified.Fields16with a field bound of 39,999 on both sidesstatistical.Windowedat the floor and five other capacitiesstatistical.the_capacity_and_the_engine_agree_on_random_jobs)The second adversarial check at
28fa25d9, and what changedThe check confirmed 19 findings and refuted 2. Each finding was another fault class that a finite set misses, so this round changes how vectors are chosen rather than adding more of them, and adds a check at run time.
(A) Vectors chosen by rule, for every capacity (
Capacity::generate, spec §7.1). The CPU reference's empty capacity counts here too. Each vector is generated from the capacity, the reference is the oracle, and only vectors the capacity admits are run:BatteryCase::read), so a correct sampler is not failed by chance.generated_vectors_cost_what_the_spec_says. There are 132 generated vectors with no capacity, 151 at the floor, 112 at the FPGA's capacity and 145 at the largest capacity below every reach. Any capacity costs at most 300 million cell sweeps hot or settled, nearly all of them battery workloads, which run only for a kernel that is notbit-exact. It costs at most 20 million cell sweeps at 0, the 2²⁴ run at a fixed point, which the reference now skips; its bits are unchanged.(B) The audit (spec §7.3). Every answer from a kernel graded
bit-exactis checked against the reference:uncertifiedfor both kernels. The job is answered from the reference, with the member named underrefusals. Every later answer carriesmember.demotedand a label sentence, and placement never picks the member again.OnlyTheFirstCells(497/600/1001/1024/4095)andSampleOnlyTheFirstCells(600/1025)losebit-exactunder every capacity the review used.MixedFinal16losesbit-exactwith no capacity, the FPGA's and the WebGPU numbers.TileRemainder(both kernels, at cells 64/128/256/288, the FPGA's and none),RowCap(32)andRowCap(15), andWarpRemainder(batches 64, 48, 4096 and none) all losebit-exact.Fields16andFieldCostWraplose the grade under every capacity in the findings.Counter24losesbit-exactwith no capacity, at the FPGA's, at cells 64 with 300,000 sweeps, and at 999,999 sweeps. The audit demotes it on its first wrong job. A signed 32-bit index is left to the audit, as above. It is not run in tests, because the reference's own run past 2³¹ takes minutes.Stuck(32), a sampler with its own draws that declares cells 40, drops from Statistical to Uncertified. The positive control stays Statistical. The text now says which numbers have battery workloads, and that a table has none.**Breaking:**lines for the three API breaks, and for the two this round adds (BatteryCase::read, andCertifiedno longerFreeze). The gate exits 0, as run on Thor.Every fault test now also runs under realistic capacities, not only the least one:
The review showed that the least capacity is not the most hostile for a fault that is not monotone. Each run has a positive control first.
The third adversarial check at
df2f96781, and what changedThe check confirmed 20 findings and refuted 1. It found the audit resting on things the member reports or can predict, and gaps in generation at small and declared capacities.
The audit rests only on what the host computes and remembers (spec §7.3):
bit-exact, as before, and is now demoted on its first such job.audit: {checked: [{seed, chains | settle}]}(round 3 also carried a key digest, which round 4 drops); the reference's answers are unchanged.Member::fingerprintand the member id) inmember::Demotions, in a file where the host names one. The FPGA host does:~/.local/state/wai-quantum-landscape-fpga/demotions.json, orWAI_LANDSCAPE_DEMOTIONS. Certifying again or declaring another capacity does not clear it; another identity is certified afresh. A test covers a restart, with the store read back from its file."parity": "statistical"), because no audit can hold their draws to bits. Otherwise they are passed over, with the reason given. (This said the battery reached 4,096 cells with no capacity declared; it reaches 1,023, as §7.1 says. Round 4 makes a declared count of 4,096 or more give 4,096.)Generation:
readnow holds cell offsets.MOST_GENERATED300,MOST_GENERATED_WORK4×10⁸,MOST_GENERATED_COLD2×10⁷). A test holds them over the named capacities and 24 random ones. The text states those bounds.Prepared::statisticalis a new field. Its struct has private fields, so the API gate does not count it as a break.The fourth adversarial check at
f290012f4, and what changedThe check confirmed 22 findings, all medium or low, and refuted none. Each probe is kept as a test (
review4_*inlandscape_conformance, andlong_settles_bands_cells_and_spans_are_generatedincapacity::tests).Generation (spec §7.1):
Final64) or warp of 32 (Final32) unmoved in that sweep loses its grade under no capacity, the FPGA's, the WebGPU numbers, 32-bit lanes alone, CUDA's and Metal's, cells 64 over the floor and cells 100, andFinal32under the floor as well.2n + 2and the limit, and where the limit is undern + 1the wave has fewer cells.edge/couplingsis capped the same way.Ring9), a state one sweep back past 130 or 4,000 sweeps (Stale), and a settle that stops moving and claims its bound (Truncate) all lose the settle grade. So do the length faults under sweeps 1,000, 5,000, 7,000 and 8,193, cells 4,095 with sweeps 5,000, couplings 8,000 with sweeps 5,000, and the floor with no cell count.uncertified. With none declared it stays 1,023, which is what §7.1 says. The change entry's "4,096 with none" is corrected.span/widestvector puts two hubs on shared cells as far apart as the other numbers allow.SpanUpToloses its grade under all three of the review's capacities. Those capacities and their spans: table 401 under span 412 (401), thin couplings (417), and table 401 alone (401).dfpasses with chance 10⁻⁸ (conformance::GENERATED_FALSE,chi_square_tail,chi_square_critical). The alike-cells twin reads few blocks: the first, the last, and three across each power of two from 32. The single-field laws are three alike cells (df 26, not 2). The reviewer's own draw stream (seed ^ 0x5DEE_CE66_D1CE_4E5B) is nowstatisticalunder the WebGPU numbers, as are two other capacities with their twins. The fixed battery is unchanged.Audit (spec §7.3):
(3) The draw in every call. Each call to the member has its last chain checked and, for each seed's run it holds chains of, one of those chains drawn afresh. A member that times the pause after a call learns nothing about the next call. A member that cheats on every chain but the last after the first call of each job (the perfect timing attack) is demoted on its first job in 10 of 10 trials. Over repeats, every call's draw falls before its last chain.
(9) Wall time. A call's checked chains run again across the host's cores, up to 16, between that call and the next. §7.3 now gives the wall-time cost, measured with the devices test's
timings, audited against the same member run by name:Each cell gives two runs, one at
032ba8a24and one ata4f5b2dd6; the code they time did not change between them. The hosts are shared; jetson-hub's load was 14 to 21 on 20 cores. For the two replays, the review measured +245% and +366% on Metal and +365% and +521% on CUDA, when the re-runs were serial. Audited, every job above still takes at most two thirds of the reference's time alone.(10, 16) §7.3 says exactly what the settle audit catches past the 2²⁴ prefix. A settle that ends at or before the last sweep the budget reaches, while the reference's goes on, is caught on its first job. Ending later than that, but sooner than the reference, is caught 1 job in 8.
(11) The key digest is dropped from
audit, because nothing could open it. §7.3 says plainly that the draws are the host's, and that a reader who needs proof runs the job on the reference.(19) The stale "chosen by the job's digest" wording is gone from the change entry and from
AUDIT_SETTLE_ONE_IN.Demotions (4, 7, 8, 21):
Demotionsreads its file afresh at every certification, under a sharedflockon<file>.lock.A demotion is a read-merge-write under an exclusive lock, written to a temp file named for the process and the write, then synced and renamed into place. Four writers at once keep 120 of 120 demotions, and a store opened before another one demoted a member does not certify it again.
The store fails closed. If the file does not parse (truncated, empty, a BOM, not UTF-8, junk after it), cannot be read, or sits under a folder that cannot be written or under a regular file, the host:
uncertifiedfor both kernels, with the reason inmember.demoted;A record whose reason is not a string still demotes. A demotion that could not be written is kept for the process, and its reason says so.
The FPGA host certifies after it holds the board lock, so it reads the file after any job ahead of it. With
HOMEunset and noWAI_LANDSCAPE_DEMOTIONS, it usesDemotions::brokenand grades nothingbit-exact.getandrecordnow return what failed.keep_demotions_in(path)becomeskeep_demotions(store). All of this is new in this PR, so the API gate has nothing to count.Text and API:
"parity": nullis the default.parity, and states that anulloptional field counts as absent. §3's tables gainauditandmember.demoted.The fifth adversarial check at
054017bc8, and what changedThe check confirmed 15 findings (1 medium, 14 low) and refuted 4. Each probe is kept as a test (
review5_*inlandscape_conformance; the starvation probe is#[ignore]d, since it prints times).Demotion store (spec §7.3):
bit-exact. So does a file-size limit (trap '' XFSZ; ulimit -f 0, as a full disk or quota would), tested in a child process.WAI_LANDSCAPE_DEMOTIONSis as if unset, in the library and on the FPGA host, andDemotions::openof a path naming no file is a broken store.member::STORE_LOCK_WAIT). Past that, the certification that waited grades nothingbit-exactand says why; the store is not latched broken, so the next certification waits again. A board job therefore holds the board at most 5 s waiting on the store. The in-process records mutex is no longer held while the file lock is awaited.Generation (spec §7.1):
n, notn − 1). The review's two-cell-unit settle moves for2n − 10sweeps and rests at2n − 9(a unit test checks this at 16, 64, 600 and 4,096 cells). It is generated atCcells, stopped just past 2⁹, 2¹⁰, 2¹¹ and 2¹² sweeps and at its last moving sweep: 8,182 with no capacity.Stale(4095),Stale(6000)andRing12lose the settle grade under no capacity, CUDA's and Metal's, the WebGPU numbers and sweeps 8193. So doStale(1499)at cells 1500,Stale(600)at cells 600 andStale(63)under the FPGA's.final/cells-nfamily on uncoupled cells whose field equals the cost of 1. That is a tie the sweep at 0 settles to 0 however cold the sweep before, so the sweep at 0 always moves cells.Final64Even,Final64Mid,Final64AfterCold,Final64AfterThreeHot,Final64OddIndexandFinal32Evenlose the sample grade under no capacity, the FPGA's, the WebGPU numbers, CUDA's and Metal's, cells 64 over the floor and cells 4000.Gover every bin, none pooled, at2·(ln C(N + k − 1, k − 1) + ln(B/10⁻⁸))(conformance::likelihood_ratio,likelihood_ratio_critical). By the method of types, that bounds a workload's false-failure chance by 10⁻⁸ for any law,edge/sweeps's small pooled bin included. A unit test sums the exact tail over every way 1,000 draws fall in three bins, for three laws, at 10⁻², 10⁻⁴ and 10⁻⁸: each stays under its bound. The fixed battery is unchanged (Pearson's statistic, df + 5√(2df)).cellsworkload now holdsC(4,096 with none), every cell read.cells/remainders, holds the largest2^j − 1count up to 1,023 underC, every cell read, whereverCitself is not one.statistical: a partial workgroup's unmoved tail (cells 2048, the FPGA's, the WebGPU numbers), a call's partial warp at its starts (none, floor, FPGA), frozen from 1,023, drawn at random from 1,024, cell 100 unmoved, and cells 1,500 to 1,520 unmoved. A correct own-draw sampler keepsstatisticalunder none, the FPGA's and the WebGPU numbers.Audit cost and text (spec §7.3):
(6) Audit threads are capped and deprioritised. The re-runs use the job's own thread (at the job's priority) plus at most
run::audit_threads()threads (a quarter of the host's cores, at most 4) shared across the whole process. Each runs at a low priority: nice +10 on Linux, the background band on macOS.review5_an_audited_replay_beside_an_honest_jobmeasures an honest single-threadrunbeside a replay of 256 seeds × 1 chain, where every chain is checked, on a fast cached member. Over three rounds per host:The review measured −46% to −66% on Thor with 14 audit threads at normal priority, at load 36–49. Thor was idle this time, so that heavy-load case is not repeated here.
(4, 5, 15) The cost is stated as work. §7.3's bound is now the work. Wall time depends on the host, its load and the device; the text says so, and a host measures it itself (the
timingstest now prints five runs per job). The wall-time figures from 10 runs per device (two processes of five), audited against the same member run by name, with the audit at 4 threads:The replays now cost more wall time than round 4's 16 threads at normal priority did (+21% to +41% on Metal). That is the price of not crowding out other jobs. A replay of one chain per seed, every chain checked, took up to 1.18 times the reference's own time through Metal and 0.70 through CUDA. §7.3 says so, and gives the bound as work.
The sixth adversarial check at
1efbe6653, and what changedThe check confirmed 13 findings (1 medium, 12 low) and refuted 1. Each probe is kept as a test (
review6_*inlandscape_conformance, andrun::tests::the_audit_s_threads_are_capped_over_the_process_and_run_low). Every one of those tests fails at1efbe6653on Linux (Framework) and macOS (M3 Ultra) and passes at this head.Demotion store (spec §7.3):
bit-exact:uchgoruappnd(macOSchflags), and one marked immutable (chattr +i, Linux, throughsudo -n);sudo -n -u nobody), on macOS (Permission denied) and Linux (Operation not permitted).At
1efbe6653each of these was gradedbit-exact, the demotion failed at its rename, and a later process graded the memberbit-exactagain (the M3 log shows all three macOS cases). A file not yet made is made, as{}, at the first certification..<name>.demotion.<32 hex digits>.json(renamed into place, so readers see all of it or none), which every certification reads under the shared lock. Then it is merged into the store's file under the exclusive lock, waited for at most 5 s; where the wait runs out, it stays in its own file until a later demotion merges it, and the host says so on standard error. With another process holding the lock shared for longer than 5 s, the demotion is now kept, a later process grades the memberuncertified, and the next demotion merges it and removes its file. At1efbe6653the same test lost the demotion..<name>.<write|probe|demotion>.<process>.<count>.tmp, matched exactly (two digit groups, one of three kinds), so a file of a store named<name>.<more>can never match: it has more dots than the pattern allows. A storedemotions.jsonnow leaves.demotions.json.gpu.write.424242.7.tmpand five other near-misses alone, as does a storedemotions; at1efbe6653all six were deleted.member::STORE_REASON_BYTES), at six bytes a byte, and a capacity with every number at its widest, under the identity being certified. Under a file-size limit of the file plus 4,096 bytes (round 5's probe), a 5,000-byte fingerprint and a store written compact now grade nothingbit-exact(EFBIG); under a 16 MB limit both arebit-exact.canonicalize. A link in a folder anyone may write that has the sticky bit is refused, whoever made it (the kernel'sfs.protected_symlinksfollows the owner's own; the store is stricter). Every file of the store's is opened withO_NOFOLLOWandO_NONBLOCKwhere the target's values are known (Linux x86_64 and arm64, macOS, FreeBSD), and the opened file is checked against the path's device and inode. So a lock planted as a link fails closed and makes nothing at the link's target. At1efbe6653a link in a 1777 folder was followed, and a lock that was a link created its target.create_newand held locked (flock) by its writer while it lives. A certification or a demotion removes one that has gone unchanged for 10 s (member::STORE_STALE_AFTER) and whose lock it can take, and leaves one a live writer holds. A 1 MB probe left by a killed process is gone after the next certification; at1efbe6653it stayed until a demotion.Generation (spec §7.1):
capacity::slower, the review's gadget) moves a cell in every sweep to sweep11u − 59and rests at11u − 58, for 10 units or more (a unit test checks every size from 10 to 64 and those generation uses, to 1,365). It is stopped just past 2⁹, 2¹⁰, 2¹¹, 2¹² and 2¹³ sweeps, each on as few units as still move there, and at its last moving sweep on as many cells as the capacity takes: 14,956 sweeps on 4,095 cells with none. Where couplings are too few for it to move longer, the units of two are used, as before (couplings 3,000:slow/cells-1000/to-1990).Stale(8182),Stale(10000),Stale(14955)and a 13-bit counter (Ring13) lose the settle grade under no capacity, CUDA's and Metal's, the WebGPU numbers and sweeps 20,000; all kept it at1efbe6653. The spec says that no longest settle is known, and that a narrower counter or a stale read past the sweeps these reach is left to the audit.11u − 57: with 46 units at sweep 449, the first sweep of a later batch of 64; with 378 units at 4,101, where a sweep counter of 9 to 12 bits read at the ending gives the other phase.CycleRing(4095),CycleRing(511),CycleStale(21),CycleStale(4000),MissCycleAfter(21),MissCycleAfter(4095)andBatchCycle(the review's batch mutant) lose the settle grade under no capacity, and the named ones under CUDA's and Metal's, the WebGPU numbers, sweeps 8,193, cells 1,500 and the FPGA's. A counter of 13 bits cannot give a wrong phase at a two-cycle before sweep 16,384, past what these reach; the spec says such faults are left to the audit.Battery (spec §7.2):
CallTail64Mid, under no capacity and the FPGA's), or from lane 16 on at even warp counts (CallTail32Even), now losesstatistical; both kept it at1efbe6653. For the cell dimension, §7.2 now says which counts the battery runs (the fixed workloads' 2 to 24,Cand the largest2^j − 1under it) and that a fault keyed to another count is never run;Tail64Evenkeepingstatisticalis held by the test as that statement.Gnear 250) pass, and 15% too warm (near 490) fail. A test holds both:WarmFrom(1024, 1.10)keepsstatistical,WarmFrom(1024, 1.15)loses it. Every answer from a kernel gradedstatisticalnow says what the grade rests on and what it misses, in its label (member::STATISTICAL_GRADE).Audit threads (spec §7.3):
docs/landscape.mdand the change entry said the re-runs take "at most a quarter of the host's cores ... at a low priority". They now say what the code does, as §7.3 did: the job's own thread runs its share at the job's priority, and the audit's threads, a quarter of the cores and at most 4 over the process (none on fewer than 4 cores), run theirs at a low priority. §7.3 adds that several audited jobs each run a share at their own priority, and that a host which must keep them from crowding out others lowers those jobs' own priority. How the work is split is unchanged.lower_this_threadnow returnssetpriority's result and the priority read back, and an audit thread that cannot be lowered says so on standard error, once. The new test asserts thataudit_threads()is a quarter of the cores and at most 4; that a lowered thread reads nice + 10 (to 19) on Linux and the background band on macOS; that eight audited calls at once never run more audit threads than the cap, each lowered; and that every thread taken is given back. It runs in the module's tests on Linux (106 now) and in a new step of the bits job on Linux arm64 and macOS, with the store's tests. It fails on each of the review's three mutants (the cap back tomin(cores, 16),setprioritywith an invalidwhich, the pool never given back) and on a fourth that never lowers, on Linux and on macOS.The members
wai/wai-quantum-landscape-fpga) declaresmember::CAPACITY: 64 cells; above temperature 0, fields to ±524,287, a cost to 1,048,575 and an uncertain span of 8,192. At temperature 0 it takes any field.the_declared_capacity_is_exactly_what_the_engine_holdsholds that over every settle vector, chains vector and battery workload.Tests that failed before this change
In
wai-quantum:job::tests::a_member_is_held_to_every_vector_within_its_declared_capacitybit-exactwithin it, and its answer states the capacity inmember.capacityand the label. One declaring 40 is refused, with "a field bound at temperature 0 40, and the floor is 41". One declaring 2³¹ − 1 that refuses what it would rather not run (Choosy) isuncertifiedfor both kernels. The reference's answers carry nocapacity.landscape_conformance::a_member_is_graded_within_the_capacity_it_declaresbit-exactwithin it, where the old rule made 41 and 70,000uncertified.capacity::tests(five)landscape_conformance::every_fault_loses_the_grade_of_the_kernel_it_is_inlandscape_conformance::review_*(five)landscape_conformance::review2_*,audit_*,review3_*landscape_conformance::review4_*(seven)"parity": null; the battery's cells, the span past a table limit, and own-draw samplers passing the generated workloads.capacity::tests::long_settles_bands_cells_and_spans_are_generated,conformance::tests::the_chi_square_tail_is_the_closed_formlandscape_conformance::review6_*(ten)1efbe6653on Linux and macOS.run::tests::the_audit_s_threads_are_capped_over_the_process_and_run_lowsetpriority's result and the priority read back, and every thread given back; fails on each of four mutants on Linux and macOS.In the FPGA crate:
member::tests::the_model_is_certified_bit_exact_within_its_declared_capacitybit-exactfor both kernels withinCAPACITY, against the set on main.member::tests::the_declared_capacity_is_exactly_what_the_engine_holdsmember::tests::the_capacity_and_the_engine_agree_on_random_jobsChecked on this head, each workflow leg run as the workflow runs it (via
rb)This head merges main once, at
f6e302665(later thana4766c993; it carries4c5b54a27, which fixes the vanity-metrics red that an earlier main tip,1929b8436, would have brought in). Main changed one file in this PR's area,cuda.rs, where the merge takes main's fault word: a lookup past the table now stops the call with an error, where this branch marked the cell. The head is the merge plus one commit with round 6.--features full) 106/106, with every test the workflow names run and passed;landscape_conformance54/54, plus 1 ignored, in 113 s;reproduce.sh17 PASS;-D warningsclean for the three feature sets;-D warningsclean; its model certifiedbit-exactfor both kernels within its capacity (21/21 settle, 233/233 chains); the--modeljob step answers;bit-exactfor both kernels.["uchg", "uappnd", "sticky"]);landscape_conformance54/54, plus 1 ignored; lib (--features quantum_landscape) 104/104;bit-exactfor both kernels.min(cores, 16)(16 against 4),setprioritywith an invalidwhich(EINVAL), a thread never lowered (its priority reads unchanged) and the pool never given back (still taken after 120 s) each fail it.1efbe6653, the tenreview6_*tests copied in, on the Framework and the M3: all ten fail. Run again with each check reported rather than stopped at the first:bit-exact;uchg,uappndand another user's sticky folder each gradebit-exact, the demotion fails at its rename, and a later process gradesbit-exactagain;chattr +igradesbit-exact;bit-exactunder the limit;CallTail64Mid(none and FPGA) andCallTail32Evenkeepstatistical, and the label does not state the grade.For whoever lands it
Member::takesis gone. Nothing outside this repository implements the landscapeMember.Capacitygainssweeps, andCapacity::takes_chainsis gone: a batch is now split (Capacity::batch).Capacity::least,Capacity::joinandCapacity::edgesare new.bit-exactwith them..<name>.demotion.<hex>.json) until a later demotion merges it, and each certification rewrites the file as it is. A store file made by round 5's code reads as before.🤖 Generated with Claude Code
Pull request closed