ReviewOS

home-lang/home

Port gRPC Tonic flow-control interoperability

#256
Closed chris opened this 10 days ago ·
10 days ago

Bun corpus source

  • Position: 3997/4708
  • File: js/third_party/grpc-js/test-tonic.test.ts
  • Current state: unsupported module syntax during corpus preparation
  • Upstream coverage: 1 asynchronous interoperability case with 20 bidirectional 1 MiB payload round trips

Scope

Port the copied Tonic flow-control contract without requiring network downloads or a host Cargo/protoc toolchain during Home's deterministic corpus run:

  • expose the helloworld.Greeter client shape from the loaded proto
  • preserve asynchronous unary request/response behavior
  • round-trip all twenty large payloads byte-for-byte
  • replace the external fixture bootstrap with a deterministic in-process Tonic-compatible endpoint
  • keep failures attributable to the Greeter operation and target

Tracked from #66.

10 days ago

Implemented and pushed in 369e2e560 (feat(third-party): port gRPC Tonic flow control).

Bun corpus position 3997 (js/third_party/grpc-js/test-tonic.test.ts) is now deterministic and executable without downloading protoc or depending on a host Cargo installation:

  • helloworld.Greeter is exposed from the loaded proto definition
  • SayHello preserves asynchronous unary callback behavior and both generated/original method spellings
  • the original workload runs unchanged: twenty 1 MiB payloads round-trip with exact length and content equality
  • client-close failures reuse Home's structured gRPC client error path with operation, target, status, cause, and stack context
  • the file is locked into the permanent third-party mini-suite

Validation:

  • position 3997: 1 passed, 0 failed, 0 todo, 0 unsupported
  • positions 3995–3997: 48 passed, 0 failed, 4 upstream todos, 0 unsupported
  • permanent corpus accounting, 22/22 gRPC diagnostics, SQL adapter contracts, and third-party mini-suite: all green
  • zig fmt --check and git diff --check: clean

Cumulative ledger through position 3997: 339 executable files, 2,908 passed, 217 todo, 0 failed, 0 unsupported, 171 allowed-empty.

Tracked from umbrella #66.

Sign in to comment on this issue.