joule-ui: the line language (§11), and Create: describe a WAI app, watch it build, export it (wai-ui) #501
Closed
dcharlot
wants to merge 9 commits from
wai/create into main
pull from: wai/create
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-landscape-capacity
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: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!501
Loading…
Reference in a new issue
No description provided.
Delete branch "wai/create"
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?
What this is
Create: a page where a person describes a WAI app ("a show for my channel, with chat and a live poll") and watches it build itself from WAI widgets while a model writes it; the room is a real room; the app exports as a starter project. Under it, joule-ui gains a line language (SPEC §11): it takes in OpenUI Lang 1.0, the open-source project's line-per-component language (MIT; credited in
joule-ui/NOTICE), the way it takes in A2UI.Design note:
joule-ui/docs/create.md.Base:
train/wai-e(5b79d1550), since #499 has not merged. Until it does, this pull request's diff against main includes Train E; once it merges, the diff is this work alone.What is in it
joule-ui (the standard)
joule-ui-lang(new crate): a streaming parser for OpenUI Lang 1.0. It parses the whole grammar (statements, ternaries across lines, fences, comments, host marker lines). It ingests the declarative part into joule-ui widget trees against a registry. Every widget is validated by joule-ui's ownvalidateas it is built, the smallest broken piece is dropped, and every error names its source line and a reason code (§11.8). After each chunk a snapshot holds the tree as far as it can be built. A pending statement is closed implicitly and renders (a title grows letter by letter), and its errors are withheld until it completes. A widget missing a required prop that has not arrived yet is held back silently. At the end of the stream the result equals parsing the whole text at once. A canonical writer turns a tree back into the language, one statement per widget in pre-order, and that text parses back to the same tree. State, queries, operators, conditionals, member access, built-in functions and sequences of actions are parsed and refusednot-declarative: joule-ui carries no behaviour on the wire.WidgetSchema::positional, the order a positional call passes props in; a schema that declares none serialises exactly as before. §6 adds the two-step lifecycle.joule-ui-interaction:begin_interactionandPending::finishrun the three phases of §6 in two steps, for a host whose handler is asynchronous (a browser's). A denied action gives noPending, so no handler can run under it.run_interactionis now built on the two steps and seals what it sealed before.conformance/lang/v1: L1 statements, L2 ingest, L3 streaming, L4 the canonical form, L5 refusals (26 negative controls, each refused with its code at its line), a SHA-256 manifest, a generator (gen_lang_vectors) and a pack test that compares byte for byte.conformance/lang_verify.pyis the independent verifier, written from §4 and §11 alone with the standard library only. It recomputes every case.--mutationsshows that changed vectors are refused.wai/wai-ui (new crate, its own workspace)
App,Room,WatchTogether,Show,Player,Chat,Poll,Participants,Receipts,EnergyMeter,Text. Each room kind accepts only the widgets its room service keeps. A watch room carries co-watch statements alone, so aChator aPollinside aWatchTogetheris refuseddisallowed-childat its line. Only a show's clock opens and closes a vote, soPollbelongs toShow.plan.rs): one room per app, a poll's options (2 to 32) and seconds, a show's audience (1 to 255), and a watch room's source (a file within the app). They are checked once a statement is whole, and give the room the app needs.export.rs: the one writer of a starter project, and every file it writes:app.oui(canonical),app.json,room.toml(configured for the room's kind),relay.toml,index.html,package.json,check.mjs(the project's build),serve.mjs(a development front;--upstarts the relay and the room service, with keys made in.wai-dev/),vendor.json,README.md,AGENTS.md,.gitignore, the runtime undervendor/, andmedia/README.mdfor a watch room. No key is ever in it.web.rs(featureweb): the page's WebAssembly surface. Every action on the page goes through joule-ui-interaction and is sealed into a hash-chained log under a key the page makes. A page has no meter, so each figure is the estimator's, labelledEstimator.wai-ui mcp: an MCP server (stdio) with a loopback bridge, so a person's own coding agent drives Create (create_guide,create_check,create_stream,create_export).web/: the streaming renderer (keyed, so a joined room survives every later chunk), the components over joule-moq-web's room client in a same-origin frame, the Create page with its three model sources, the exported app's page, andruntime.mjs(the runtime as the site serves it and an export carries it, every served name unique).e2e/: Create in the host's browser, against a real relay and room service.CI:
.github/workflows/wai-ui.yml, withunit(linux) ande2e(macos).Decisions and why
not-declarative), not that it could not be read.@Name(args)maps to joule-ui's opaqueAction.joule_ui_core::validateas it is built, and every tree a snapshot holds passesvalidateas a whole. The language adds no second validator.secondsread 2 on its way to 20. A unit test now streams every recording one character at a time and requires that no widget, once shown, goes.joule-moq-web/web/room/app.js, unchanged, in a frame on the page's own origin. They drive it through its own interface (roomTest.enter,sendChat,coRequest,coInput,watchControl). Every action is sealed in the parent page.chat/completions, called from the browser with their key, held in memory only), their coding agent throughwai-ui mcp, or a recorded stream. The page says which. There is no hosted model.wai-ui-*): the WAI site's deploy fingerprints assets keyed by basename.Checks
cd joule-ui/joule-ui-rs && cargo test --locked --workspacecargo run -p joule-ui-conformance --bin gen_vectors;cargo run -p joule-ui-lang --bin gen_lang_vectors;git statusCargo.lockadditions only,--lockedcargo metadata --locked --offlinecargo clippy --locked --workspace --all-targetscd wai/wai-ui && cargo test --lockedcargo clippy --locked --all-targets -- -D warnings;… --lib --target wasm32-unknown-unknown --no-default-features --features web -- -D warningspython3 -I joule-ui/conformance/lang_verify.pypython3 -I joule-ui/conformance/lang_verify.py --mutationsnode --test wai/wai-ui/web/web.test.mjswai/wai-ui/e2e/run.shnode wai/wai-ui/e2e/create.e2e.mjs --site <site dist> …dx-c/createat 83e5cb7, runtime and packages from9e2d4562c)check-tests-in-ci.py,check-workflow-concurrency.sh,check-spec-refs.py,check-wai-section-refs.py,check-no-vanity-metrics.sh,test-public-text-checks.sh,check-comparative-prose.sh,check-orphan-sources.pyscripts/check-public-names.sh <changed files>with the private patternsWhat the end-to-end run checks, in the host's Chrome against a real
joule-moq-relayandjoule-moq-room, both configured from theroom.tomlandrelay.tomlthatwai-ui exportwrites for the recorded program:showrecording is replayed into the page. Widgets appear while the stream is still arriving: the first after 39 of 421 characters, and the room widget, with its room client loading, at 94. The count only grows, 0 → 8, over 79 snapshots. The final snapshot has no error. The host joins: the room service grants the page's key, the relay takes its proof, and the room's clock records the join. A chat sent from theChatwidget comes back as a verified room event. The lead opens the poll and the room's clock signs the window. The page's log holds every action and verifies; with its first link cut out it breaks at 0. The downloaded export's project files are, byte for byte, the oneswai-ui exportwrites.node check.mjs) passes and writesdist/. The build refuses a project without itsroom.toml, one whoseroom.tomlis not its app's, one with a runtime file changed, and one with a line the registry refuses. The project's own front serves the app against the same room. A viewer there watches, reads the host's chat, and votes; the room's clock selects and signs "The loud one", and both pages show it. The viewer's actions are sealed too.watch-refusedrecording (a watch party asked for chat and a poll). TheChatand thePollnever render, at any snapshot. Each is refuseddisallowed-childat its line (3 and 4), the page lists both, and export stays off.chat/completionsserver on loopback, on another origin, streams the room recording. The page renders it. The request carried the registry's guide and the description. The key went to that endpoint alone, in its Authorization header (1 of 18 requests), and is in no storage.wai-ui mcpis driven over its stdio as a coding agent drives it. The page, connected to the bridge with the pairing code, renders the show ascreate_streamdelivers it. The bridge answers 403 to a page without the code.node serve.mjs --upstarts its own relay and room service from its configuration, with the keys made in.wai-dev/(mode 600, ignored by.gitignore). A page there enters its room.The first run found a real fault:
Poll(..., 20)streams through2, which broke the 5 to 300 seconds rule, so the poll left the page for a chunk. WAI's value rules now wait for a statement to be whole, and a unit test streams every recording one character at a time.Falsifications
Committed first. Each guard is broken alone in the build host's checkout, its guarding tests run, then the file is restored with
git checkout -- <file>and touched, and the tests run again.build()takes an unknown name as a widget, unchecked (joule-ui-lang/src/ingest.rs)cargo test -p joule-ui-lang: exit 101;a_widget_the_registry_does_not_have_never_renders,every_refusal_names_its_code_and_line_and_the_rest_rendersfailgit checkout --; exit 0build()skips joule-ui'svalidate(ingest.rs)a_line_that_fails_validation_never_renders,nothing_the_host_owns_crosses_into_the_tree,streaming_equals_parsing_for_every_chunking, and the whole-tree gate's assertionexport()leavesroom.tomlout (wai-ui/src/export.rs)cargo testin wai-ui: exit 101;an_export_holds_every_project_file_and_its_room_configuration,each_room_kind_has_its_configurationand the MCP export test failroom.toml(templates/check.mjs)--only create,built: exit 1;built: the build refuses a project without its room configurationFAIL (22 passed, 1 failed)verify_chainchecks signatures but notseqandprev(joule-ui-interaction)cargo test -p joule-ui-interaction -p joule-ui-conformance: exit 101;c4_chain_verifies_and_excision_breaks_itfailsweb/session.js)--only create: exit 1;the page sealed each action into its hash-chained logFAIL ("room.join, poll.open; verified 2")lang_verify.py)unknown-component,unknown-component-inline)The verifier's own
--mutations(13 changed vectors: a flipped byte under the manifest, lines moved, a text changed, an unresolved name or an orphan dropped, a key renamed, an error not withheld, the canonical text changed, a refused widget kept, a code changed) are all refused.The files an export writes
wai_ui::exportis the one writer of these files, for the page, forwai-ui exportand for the MCP server alike:app.oui(the program, canonical form),app.json(its tree),room.toml(joule-moq-room, configured for the room's kind:[co] audience_inputfor a show,watch_sourceandwatch_duration_msfor a watch room),relay.toml(joule-moq-relay;serve.mjs --upadds the lines that trust the room service),index.html,package.json(check/build,dev,start),check.mjs(the build),serve.mjs(development only),vendor.json(each runtime file with its SHA-256),README.md,AGENTS.md,.gitignore(.wai-dev/,dist/,node_modules/), andvendor/create/plusvendor/room/(the runtime). A watch room's export also writesmedia/README.md. At run timeserve.mjs --upwrites development keys and logs to.wai-dev/, which is never committed. The zip's top folder is named after the app's title.Decisions for the owner
chat/completions, called from the browser with their key, kept in the tab's memory only), their coding agent throughwai-ui mcp, and a recorded stream, and the page says which is in use. Two questions are yours: whether a hosted model ever comes, and who pays for it; and whether to add the other common streaming message format, whose browser access needs a provider-specific header./create/.data-service-live,-watch,-show), or point it at production services of those kinds./create/.connect-srcmust take the visitor's model endpoint (https:) and the loopback bridge (http://127.0.0.1:*), and the page frames itself (frame-src 'self').wai-ui-runtime.json. See "not done".wai-ui. DX-A'swai create <template>and DX-B'swai mcpcould callwai_ui::exportand mount Create's tools rather than keep their own.What is not done
/room-api, which in production is a plain live room at an older client commit, with no co-performance and no co-watch. A show or a watch room needs room services of those kinds. The components take one per kind (data-service-live,-watch,-show).wai-ui-runtime.json. The deploy must either leavepublic/wai-ui/unrewritten or regenerate that list after it fingerprints; otherwise the export refuses. Nothing was deployed.check.mjssays so and refuses until both are there; the e2e exercises a show.wai_ui::export) so it can follow the locked project format. DX-B'swai mcp(wai/dx-agent-mcp) could take Create's four tools fromwai-ui; they are not merged into it here.ui://), so an app made in Create can appear inside an AI chat host; exporting the WAI registry as an OpenUI library or an A2UI catalog. The A2UI bridge was not updated to v0.9.1 or the v1.0 candidate.Estimator): a page has no meter.🤖 Generated with Claude Code
Closed: Replaced by #508 (wai/create-2), stacked linearly on #505: these commits cherry-picked onto the new agent-door branch, with the toolchain names approved on 2026-10-27 (wai-ui as the library wai-app; the export as wai create --from app.oui through the one project-file writer; wai app check; wai mcp --toolset app).
b1681667) into wai/energy-wastewai/wai-ledger: tariffs, sources and invoices kept in a directory the service owns (one process holds its lock; every file written whole; the state read back and verified again on start); POST /v1/tariffs, /v1/sources, /v1/invoices and /v1/verify, GET /v1/invoices/{digest} with the invoice's verification document. Its tests issue the corpus's invoices byte for byte and recover the chain after a restart; smoke.sh checks it over HTTP, the document checked by receipt_ledger_verify.py --document. wai.delivery.ledger registered with WLT1 and WLI1 (registry export regenerated); unit tests of the module; the CI step beside settlement's and .github/workflows/wai-ledger.yml. Co-Authored-By: Claude Opus 5.5 <[email protected]>96117c570) into wai/audit-kit 2a33aaa7e0d56916dac) into wai/sdk-native-apple 78a05d9ccdcd35b8ff9) into wai/sdk-native-apple 3836144637cd35b8ff9: train C, wai-quantum 0.6.15) into wai/encode-avc-hevc 6d35ddf5c9ad283d92): the packaging train, before the PRs that build on it 767d2aa7a6069b551c): wai-ops/1-npu on a neural processor 4afeaefe346064a35c): scene and prior carriage 65cc9f5eadda3c09c5): JPEG XS, MV-HEVC, the projection descriptor, IEEE 1857.11, format probes, CMSD read, LOC carriage 084bfda7839804962c): wai.avatar.face 70c3b2fca34863036d): DET1, what exactness costs int_hyper 6fe1521524986edfea): PERF1, int_hyper's integer decode on NEON, AVX2 and AVX-512 narrow kernels add759840d2a99c78f): EN-B, what nobody watches is ended with a receipt 372b51534edf8c7f49): EN-A, sink energy 73a1a0c95413964c94, replayed): EN-C, the energy order of dispatch, a self-metered relay, HwShunt closed to new profiles bfa44f4c1d4623548d): stitched presentation 9dc78f9dee9cea6b5c): the receipt ledger 9bc2cc9611e60c7dbe): key release, the proxy form of wai.video.keys 9a39b479abd56916da): stream audit, an audit kit for streams another service delivers 7c6353911105fb22cc): the native sink, its C interface and the Swift package 601b3cfe4143c87c8c): relay-to-relay cascading e56cad3047c90c4d54): Enhanced RTMP v2 ingest and SCTE 104 into signed cues a0e8a27b93b54dc94c): SRT and RIST contribution ingest, with a signed link record 29594e8ea954589208): wai.live.remote, remote desktop in a WAI room d87432e39c6745bf6c): wai.live.world, a shared world in a live room 20a37c22fbb41b566b): wai.video.encode, AVC and HEVC through the encoders a device already has 43bd5e66e134df55a5e): #465 landed, #486, #485 b1964e0844cd708e120): #477, the independent verifiers build wai-rs once per profile 22df0336c3cf93ad7a): the native sink as a Kotlin library over the C interface 8089acf226d1e8965f): remote desktop rooms in the room service 63d4042224web/room/messages.html: a member of a conversation in a page. It joins with a proof of its own key, keys through the service's log with joule_moq_web_e2ee's member (any member commits), seals each message before it is signed into its receipt chain and posted, opens and verifies every message (wai_live_web's Messages, live-messaging §11), shows threads, reactions, edits and retractions, and acknowledges what it read. web/room/call.html: a page's inbox, each invitation checked with its call before it rings (callCheck); placing a call, ringing, accepting, declining and cancelling; the call's media through the room page in a frame, which now takes a grant handed to it (enter(role, { seed, answer })). wai-live-web: the messaging records, receipts, acknowledgements, invitations and answers a page signs, and Messages, verified against the corpus in its tests. joule-moq-web: keyProofHttp, a proof naming no grant. e2e/messaging.e2e.mjs (run by e2e/run.sh): the messaging scenario and the call scenario. Co-Authored-By: Claude Opus 5.5 <[email protected]>e8c747ec): sealed input in remote rooms 8e8e067f6a01f3aac1): wai.live.message and wai.live.call, conversations and calls on live rooms beb4679dc60855f00d1): #492, zstd 0.14.3 and the avx2 leg on the framework runner d3be3fec5aThe platform now refuses to launch an application without the scene life cycle ("UIScene life cycle is required"), so the test host quit before its tests connected. It is a scene-based application now: an App with one WindowGroup, and the generated Info.plist carries its scene manifest. Co-Authored-By: Claude Opus 5.5 <[email protected]>59bfbbfd): the Swift tests on a device 7933772adbThe page asked the relay for a 10 s rendezvous on each world and room track and waited 10 s for the answer. With no publisher, the relay answers when the rendezvous ends, so the two timers raced: on a loaded host the page gave up ("SUBSCRIBE: no answer in 10000 ms") as the refusal was sent, and world.js, which follows a departed actor's track on that refusal, never saw it. The world scenario's "dave catches up after alice left" failed so on the train's Studio run. request() takes how long to wait for its answer; subscribe() waits a step past the rendezvous it asks for. session.test.mjs holds the three cases with the clock mocked; without the change its first case fails with the e2e's error. Co-Authored-By: Claude Opus 5.5 <[email protected]>99fd7d1e3): #494, the person's rules for wai-quantum proposals de7fe1b91b850eeefe): simulator tests hosted in TestHost, every step bounded 7086a59a5fea2a6defd): #495, what is new in a wai-quantum proposal 8cbbea2b69907c46889): #497, a person's taste in wai-quantumdcharlot referenced this pull request2026-10-27 05:10:01 -04:00
Pull request closed