open-standards/joule-code/joule-code-rs/crates/joule-moq-web/web/binding
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science b73d691ed4 wai: the energy order of dispatch, and the energy budget that lifts a learned capability
SPEC §4, §7.1 step 2: a sink tries an envelope's capabilities in the energy
order unless its deployer configures another: a decode the platform answers
supported and power-efficient first, a learned capability (NeuralIntegerExact,
NeuralEntropyExact, NeuralFloat, Behavioral) with no energy budget after every
other, the envelope's order within each. The order changes which capability
decodes, never a reason. An energy budget is a decode figure measured on a
named reference sink under OnChipCounter or CalibratedInstrument, in a record
named by its digest; no registration states one yet (REGISTRY, Energy budgets;
the export's optional energy_budget, schema only).

wai-rs: energy_order (DispatchPolicy, Budgets, EnergyBudget, is_learned);
Wai::dispatch_verified and WaiMulti::pick apply it, dispatch_with and pick_with
take another order, the HTTP client's default order and the C ABI's
wai_envelope_select follow it. Tests that are about pins state the manifest
order they run in.

browser-sink §4.7: objects sharing a choice are alternatives; the page decodes
the first in the energy order that routes (no_alternative otherwise).
browser_sink::choose_report, the page's chooseReport (wai-live-web, binding.js),
a choices section in live-conformance/browser (existing sections unchanged),
checked by wai-rs, the page's corpus run and browser_sink_verify.py (34 of 34
mutations caught).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
(cherry picked from commit 11b2556827)
2026-10-26 08:30:49 -04:00
..
index.html joule-moq-web: frames bound to the objects they came from, routes before decode, and the binding page 2026-10-21 15:21:58 -04:00
test.js wai: the energy order of dispatch, and the energy budget that lifts a learned capability 2026-10-26 08:30:49 -04:00
worker.js joule-moq-web: frames bound to the objects they came from, routes before decode, and the binding page 2026-10-21 15:21:58 -04:00