9dfa06ffee
Docker image / Build (linux/amd64) (push) Has been cancelled
Docker image / Build (linux/arm64) (push) Has been cancelled
Docker image / Merge release multi-arch manifest (push) Has been cancelled
Docker image / Merge debug multi-arch manifest (push) Has been cancelled
Docker image / Build public push gateway (linux/amd64) (push) Has been cancelled
Docker image / Build public push gateway (linux/arm64) (push) Has been cancelled
Docker image / Publish public push gateway image (push) Has been cancelled
Sprig image / Build (linux/amd64) (push) Has been cancelled
Sprig image / Build (linux/arm64) (push) Has been cancelled
Sprig image / Merge multi-arch manifest (push) Has been cancelled
Harbor Buzz Orchestra / Python tests and lint (push) Has been cancelled
CI / Detect Changed Paths (push) Has been cancelled
CI / Rust Lint (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Desktop Core (push) Has been cancelled
CI / Desktop Smoke E2E (1) (push) Has been cancelled
CI / Desktop Smoke E2E (2) (push) Has been cancelled
CI / Desktop Smoke E2E (3) (push) Has been cancelled
CI / Desktop Smoke E2E (4) (push) Has been cancelled
CI / Desktop (push) Has been cancelled
CI / Desktop E2E Relay (push) Has been cancelled
CI / Desktop E2E Integration (1/2) (push) Has been cancelled
CI / Desktop E2E Integration (2/2) (push) Has been cancelled
CI / Desktop E2E Integration (push) Has been cancelled
CI / Backend Integration (relay e2e) (push) Has been cancelled
CI / Relay E2E (push) Has been cancelled
CI / Web (push) Has been cancelled
CI / Mobile (push) Has been cancelled
CI / Security (push) Has been cancelled
CI / Dead Token Reference Guard (push) Has been cancelled
CI / Server Cross-Compile (aarch64-unknown-linux-musl) (push) Has been cancelled
CI / Server Cross-Compile (x86_64-unknown-linux-musl) (push) Has been cancelled
CI / Windows Rust (x86_64-pc-windows-msvc) (push) Has been cancelled
CI / Desktop Build (macOS) (push) Has been cancelled
helm chart / lint + unittest + render matrix (push) Has been cancelled
helm chart / install on kind (gated) (push) Has been cancelled
helm chart / publish chart to GHCR (push) Has been cancelled
Mesh Lifecycle / Relay-Driven Mesh Lifecycle Smoke (push) Has been cancelled
Sprig / Build (aarch64-unknown-linux-musl) (push) Has been cancelled
Sprig / Build (x86_64-unknown-linux-musl) (push) Has been cancelled
Sprig / Publish rolling release (push) Has been cancelled
Sprig / Publish tagged release (push) Has been cancelled
Signed-off-by: cls_宁波本机 <908705107@qq.com>
2.3 KiB
2.3 KiB
Provider wire fixtures
The shared arbiter for the stdin/stdout contract between the desktop
(agents_deploy.rs) and this provider (spec §Provider Protocol).
Each *.request.json is a request the desktop can emit; each matching
*.response.json is the exact response this provider produces for it. The
provider side is asserted by tests/wire_fixtures.rs; the desktop side should
assert that its emitted payloads parse as the corresponding request.
Three rules keep these useful rather than decorative:
- Requests are recorded, not invented. A fixture that no caller emits
tests a contract nobody has. "Recorded" means executed and transcribed —
deploy-full-launch.request.jsonis the output of the desktop's realbuild_launch_block→deploy_payload_jsonpath, not a shape derived by reading those functions. Deriving it is how this fixture acquired four impossible values at once: arespond_tothat was a pubkey where the desktop serializes a kebab-caseRespondToenum, allowlist and owner values failingvalidate_respond_to_allowlist's 64-hex rule (types.rs:897), an inventedBUZZ_ACP_PARALLELISMwhere the emitter writesBUZZ_ACP_AGENTS(runtime.rs:729), and alaunch.envkey from no layer ofresolve_effective_harness_descriptor. - The provider cannot police this file, so the desktop must. Every field
above is one this provider is deliberately indifferent to —
respond_tois an opaqueOption<String>, the allowlist an opaqueVec<String>,policy_envan arbitrary map — sothe_full_desktop_payload_is_acceptedpasses on invented data exactly as happily as on recorded data. The enforcement is the desktop's whole-object equality test, which builds the payload and compares it to this file. A completeness guard (the case-list directory scan inwire_fixtures.rs) stops a case from going missing; it cannot tell you a case is false. - Responses are byte-compared after key-sorted re-serialization, so a
field rename or a type change fails here rather than in a desktop that
silently reads
undefined.
deploy-* fixtures cover only responses reachable without a cluster —
refusals and malformed input. A successful deploy needs an apiserver and is
covered by the conformance suite, not by a static fixture.