WAI for coding agents: wai mcp, the room service's API in OpenAPI 3.1 held to the code, wai setup-agent #500
Closed
dcharlot
wants to merge 3 commits from
wai/dx-agent-mcp into main
pull from: wai/dx-agent-mcp
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:wai/create
Transaction-Science:train/wai-e
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!500
Loading…
Reference in a new issue
No description provided.
Delete branch "wai/dx-agent-mcp"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
WAI for coding agents: an MCP server (
wai mcp), the room service's API described in OpenAPI 3.1 and held to the code, andwai setup-agent.Base. Built on
train/wai-eat5b79d1550, because Train E (#499) had not merged when the work started. Until #499 lands, this PR's diff against main includes Train E's commits. This PR's own commits are0ed57b7d9,cca79ed50and2b09b960e.What is in it
wai mcp(wai-rs, featuremcp, no new dependency)A Model Context Protocol server (revision 2025-06-18; it also answers clients that ask for 2025-03-26 or 2024-11-05). It speaks newline-delimited JSON-RPC on standard input and output. Standard output carries only the protocol.
The tools are kept in one table,
src/bin/wai_cli/mcp/tools.rs, so renaming a tool changes one line. Each tool has an input schema, a one-line description, safety hints (readOnlyHintand the others), and returnsstructuredContentwith the same JSON as text.inspectpath(a.waifile or a directory).waifile read the same way, the capabilities with their licences, and the SHA-256 of the listing (SPEC §3.1)list_capabilitiesmedia,licence,kind,status,contains(all optional)codecs::registrydescribe_capabilitycapabilityverify_receiptreceipt; for an object receiptgroupandenvelope_hexorenvelope_path; optionalpreviousverify_claimclaim(wire text); context:previous,object,oer,gap_objectfigure_not_held, as the reference refuses it without that receiptverify_room_sessiondescriptor,grants,key_log_head,chains(hex)verify_audit_bundlebundle,owner,channelspackage_mediainput,capability,output,intent,fallback,companions,overwritewai wrap's code under its rules, inside the project directory only, never through a link, and never over a file unlessoverwriteis setlist_conformancepython3 -I <verifier> <corpus>lines of wai-conformance.yml, and every*-conformance/*_verify.pyrun_conformancecorpus,verifier,timeout_s*_verify.pyscripts inside the tree are runsearch_specquery,limitextensions/andglossary/that hold every word of the query, each with its file, line and section headingdev_room_startroom_bin,publishersjoule-moq-room devas a child process: a relay and a room service on 127.0.0.1, with a room. Returns the addresses and the room iddev_grantprincipal(a name),role,servicedev_joinprincipal,objectsdev_leaveprincipaldev_room_sessionverify_room_sessiondev_room_stopFlags:
--spec-root <wai-dir>(orWAI_SPEC_ROOT; by default the tree the binary was built from),--room-bin <path>(orWAI_ROOM_BIN; by defaultjoule-moq-roomonPATH),--project <dir>(where the server may write; by default the directory it starts in), and--read-only(only the tools that read or run a verifier). No tool sends anything off the machine. The server'sinstructionsname no tool.The room service's API (
joule-moq-room/openapi.json, OpenAPI 3.1)The description covers every route of the service in every mode it keeps: 40 operations on 40 paths, with request bodies, answers, statuses and the grant-and-proof security schemes.
tests/openapi_contract.rsholds it to the code in both directions:(Method, "/path")arms the routers match (http.rs,messaging.rs,call.rs) are exactly the description's operations;/msgand the call paths).joule-moq-room dev(src/dev.rs)This runs the relay and the service in one process on loopback, with keys made at start and kept only in memory. Media tracks are held to no receipts and rate limits are open, and the program says on standard error that it is for development only. It answers JSON control lines (
join,leave,session,describe,stop) and stops when its standard input closes. Its log goes to standard error. The change adds tokio'sio-stdfeature; the lock file is unchanged.wai setup-agentIn a project directory,
wai setup-agentwritesAGENTS.md(a WAI section between two markers, which it adds or replaces) andCLAUDE.md(a block that imports AGENTS.md). It also registers the server aswaiin the project's MCP configuration files, by their documented formats..mcp.jsonis always written. The project-level MCP files of four other agents are written when the project already holds that agent's directory or file, or with--all;--dry-runlists them. For one agent's settings, the file is also set to read AGENTS.md.--confirm. Without either, nothing that exists is changed, and the command exits 4 with every diff and the exact command that confirms them.--dry-runwrites nothing. Output is JSON when stdout is not a terminal, or with--json. Errors are structured, with a hint. Exit codes: 0 done, 1 failed, 2 usage, 4 confirmation required.Design decisions
wai mcplives in thewaibinary, not the library, behind its own feature. The library opens no connection. The binary reaches a room service only on loopback, and only from the development tools.joule-moq-room dev), not insidewai.joule-moq-roomdepends on wai-rs, so wai-rs cannot depend on it. The child is driven by JSON control lines, and the MCP server asks for grants over HTTP itself. That keeps the loopback guard in the tool that takes a service address.CARGO_BIN_EXE_joule-moq-room), and it buildswai --features mcpinto a target directory of its own. I found that when the two workspaces share one target directory, thewailib artifacts built with different features get mixed: building the room crate after wai-rs in one target directory failed withwai::age_assurancemissing. The test therefore never shares one.COMMANDS,MCP_COMMAND) and one table of tools, so the toolchain study can rename either at one line.wrapnow returns its printed lines and its facts as JSON; the CLI prints the same text as before (cli_wrap_intentpasses unchanged).setup-agent: JSON off a terminal, a confirm gate with its own exit code,--dry-run, structured errors with hints. For the MCP server: safety hints on every tool, a read-only mode, and writes scoped to the project.Checks
All runs are on the Framework box (
[email protected] rb), since nothing here is macOS-specific. The room crate builds in its own target directory (CARGO_TARGET_DIR=$CARGO_TARGET_DIR/room).cd wai/wai-rs && cargo test --locked --no-default-features --features mcp --bin wai --test cli_mcp --test cli_setup_agentcd wai/wai-rs && cargo test --locked --no-default-features --test carriage --test manifest_builders --test cli_wrap_intent --test cli_registry --test corpus_provenance(thewraprefactor)cd wai/wai-rs && cargo build --locked --no-default-features --bin wai(nomcp)cd joule-moq-room && cargo test --locked --all-targetscargo test --test openapi_contract --test mcp_dev_room, five runs in a rowcargo clippy --no-default-features --features mcp --bin wai --test cli_mcp --test cli_setup_agent, and--no-default-features --bin waiprint_literalnotes in wai.rs (theinspectandcapabilitiesheader lines) predate this PRcd joule-moq-room && cargo clippy --all-targetscargo metadata --locked --offline --format-version 1, wai-rs and joule-moq-roompython3 -I scripts/check-tests-in-ci.py./scripts/check-workflow-concurrency.shpython3 scripts/check-spec-refs.pypython3 scripts/check-wai-section-refs.pybash scripts/check-no-vanity-metrics.sh,bash scripts/test-public-text-checks.sh,bash scripts/check-comparative-prose.sh,python3 scripts/check-orphan-sources.pyscripts/check-public-names.shon the 20 changed files, and the commit messages and this body checked against the same patternsruby -ryamlon every workflowThe
wailibrary warns of two dead functions (unpinned_read,limbs) under these feature sets; that predates this PR.Falsifications
Each was run on the committed tree with one guard broken, and restored with
git checkout -- <file>.dev_room.rs: the loopback check madeif false && !ip.is_loopback()mcp::dev_room::tests::only_a_loopback_service_is_taken(http://10.0.0.5:9682taken), andcli_mcp::development_tools_refuse_any_service_off_this_machine: the tool then tried to connect to 10.0.0.5 (connection timed out)tools.rs: the group receipt's signature check removedcli_mcp::receipts_agree_with_the_jwp_corpus_and_a_changed_one_is_refused:group_bad_signatureaccepted where the corpus refuses itsetup_agent.rs: the confirmation gate madelet go = true || …cli_setup_agent::an_existing_file_changes_only_when_confirmed: exit 0 instead of 4, with AGENTS.md and .mcp.json changed without confirmationhttp.rs: the(Method::GET, "/co/state")arm removedevery_route_the_routers_match_is_documented_and_no_other(GET /co/statedescribed but matched by no router), and the running check ([plain] GET /co/state answered 405)openapi.json: 409 dropped fromPOST /granthttp.rs:grant returns [409]), and the running check (POST /grant answered 409 … full)openapi.json: 410 added toGET /roomGET /room: openapi.json lists [410], which none of [http.rs handle] returns)Not done
package_media) iswai wrap's single-file envelope. Building a package of a whole title (wai-pack, packaging.md) is not a tool here.verify_claimtakes the contextprevious,object,oerandgap_object. It does not takefigure, the session contexts (outputs,objects,envelopes,stage_claims,redecoded) or a recovery'sdeclaration. Those claims are verified on the claim alone, and a claim that needs its figure is refusedfigure_not_held, as the reference does.verify_receiptcovers JWP delivery receipts (group and object). It does not cover other receipt families, such as package receipts, OER receipts on their own, or composition and metering receipts.run_conformanceruns a corpus's independent Python verifier. It does not also run the Rust reference over the corpus.setup-agentwrites no user-level configuration, so agents that read only a file in the user's home directory are not registered (that would be outside the project).For the owner
waiwith the featuremcp(or addingmcpto the default features) would makewai mcpone install away; today it iscargo install --path wai/wai-rs --no-default-features --features mcp.joule-moq-roomwould need publishing too for the development room..mcp.jsonis always written; four more project-level formats are written where the project already holds that agent's directory or file. Whether to keep all five, add user-level ones (outside the project, which the brief excludes), or narrow the list is a decision for the toolchain study.🤖 Generated with Claude Code
Closed: Replaced by #505 (wai/dx-agent-mcp-2): these commits rebased onto main after #504, linear, with the toolchain names approved on 2026-10-27 (tools named by their operations, in toolsets; catalogue operationIds; setup-agent on the JSON envelope and exit table).
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-quantumPull request closed