ReviewOS

home-lang/home

Port gRPC base client lifecycle contracts

#233
Closed chris opened this 11 days ago ·
11 days ago

Tracks copied Bun corpus position 3975 from #66: js/third_party/grpc-js/test-client.test.ts.

Acceptance criteria:

  • expose the base Client/Server build entrypoints and ConnectivityState enum
  • report READY exactly once for bound targets through waitForReady
  • return repeatable UNAVAILABLE failures for missing ports and nonexistent domains
  • terminate pending wait-for-ready unary calls exactly once when a client closes
  • preserve target-resolution causes and append Client operation/corpus stack frames
  • support graceful server tryShutdown, pass all five upstream checks, and pin the file permanently

Parent: #66

11 days ago

Completed in ad3931ce46072e7baff3ce4630523ffcf7af9250 and pushed to main.

  • Added base Client exports, connectivity states, exactly-once waitForReady settlement, graceful Server.tryShutdown, and single-settlement unary-call lifecycle tracking.
  • Missing ports and RFC-reserved nonexistent domains now fail repeatedly with UNAVAILABLE; closing a client terminates pending calls without double callbacks.
  • Client errors preserve their cause and include operation, target, and corpus-file stack context.
  • Focused result: 5 passed, 0 todo, 0 failed, 0 unsupported.
  • The direct client diagnostic, SQL contracts, and complete permanent third-party suite pass.

Sign in to comment on this issue.