Skip to content

docs(plan): propose SDK high-level parity coverage (#1471) - #1916

Merged
samuv merged 2 commits into
mainfrom
plan/sdk-high-level-parity-coverage
Sep 25, 2026
Merged

samuv merged 2 commits into
mainfrom
plan/sdk-high-level-parity-coverage

Conversation

@samuv

@samuv samuv commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Define the acceptance contract for #1471. A public RPC receives high-level SDK coverage only when a public SDK operation invokes that exact descriptor. The SDK and TUI remain independent clients.

The plan classifies all 86 public RPC descriptors: 84 covered and exactly two reasoned raw-only exceptions, StreamSessionEvents and StreamSessionLive. It separately classifies all 31 TUI builtins: 24 SDK-backed, three application/presentation-only, three operator/configuration-only, and one debug-only. Eight declarations absent from the TUI's separate known-name registry are audited without changing dispatch. Four public-export workflow examples are required.

Two upstream guardrail RPCs added after the first draft receive public Session.guardrailCoverage() and Session.guardrailReviewDetail() methods. They are gRPC-only until the server provides HTTP routes.

Development stage

  • Plan / Interface — Bounded acceptance contract; this PR contains no implementation.

Contract linkage

  • Work classification: Bounded.
  • Decision record: None. ADR 0304 and ADR 0348 define the relevant SDK boundaries.
  • Human waiver of spine: The directing user requested separate stacked Plan and Implementation PRs for joint review before the plan merges. This changes review sequence only; it does not approve the plan or authorize an implementation merge first.
  • Acceptance plan: docs/acceptance/sdk-high-level-parity-coverage.md in this PR.
  • Human decisions resolved and recorded: Yes, in the plan.
  • Plan / Interface PR: This PR, docs(plan): propose SDK high-level parity coverage (#1471) #1916.
  • Approved commit baseline: Pending this plan's merge.

Interface conformance

The plan adds two session-scoped TypeScript methods over existing gRPC descriptors. It changes no protobuf contract, exported Go API, CLI, configuration, event, persistence, or TUI dispatch behavior. API Extractor reports and the generated public reference are required for the additive SDK API. The existing SDK release workflow owns the changelog entry.

Issue relationship

Relates to #1471.

Type of change

  • Behavioral/interface plan
  • Documentation/process

Test plan

  • task docs and task site:build on the stacked candidate.
  • Plan-specific ac-trace: 11 acceptance criteria, zero missing proofs (report-only while proposed).

Runtime gates and example execution are reported in implementation PR #1917.

Changes

File Change
docs/acceptance/sdk-high-level-parity-coverage.md Scenario-first contract, guardrail decision, and exact verification proofs.
docs/acceptance/README.md Link the proposed plan from the acceptance index.

User-facing change

None in this plan PR.

Special notes for reviewers

Implementation PR #1917 is stacked on this plan for joint review. Plan approval and merge establish the baseline before implementation merge.

@samuv
samuv added this pull request to stack #1918 September 25, 2026 08:46
@samuv samuv changed the title docs: propose SDK high-level parity coverage plan [Plan / Interface] SDK/TUI high-level parity coverage (#1471) Sep 25, 2026
@samuv
samuv marked this pull request as ready for review September 25, 2026 08:48
@samuv samuv changed the title [Plan / Interface] SDK/TUI high-level parity coverage (#1471) docs(plan): propose SDK high-level parity coverage (#1471) Sep 25, 2026
@samuv
samuv force-pushed the plan/sdk-high-level-parity-coverage branch from 64ecd2d to b9b2eac Compare September 25, 2026 08:56
@samuv samuv self-assigned this Sep 25, 2026
@samuv
samuv force-pushed the plan/sdk-high-level-parity-coverage branch 3 times, most recently from 2d1c6bc to 5191964 Compare September 25, 2026 12:24
samuv and others added 2 commits September 25, 2026 14:47
Signed-off-by: Samuele Verzi <samu@stacklok.com>
Co-Authored-By: Codex <codex@openai.com>
Classify the upstream guardrail RPCs as session operations and the new TUI builtin as SDK-backed. Update the public API and transport contract for the stacked implementation.

Signed-off-by: Samuele Verzi <samu@stacklok.com>
@samuv
samuv force-pushed the plan/sdk-high-level-parity-coverage branch from 5191964 to d7cef19 Compare September 25, 2026 12:47
@samuv
samuv merged commit 230ea11 into main Sep 25, 2026
31 checks passed
@samuv
samuv deleted the plan/sdk-high-level-parity-coverage branch September 25, 2026 13:19
@toolhive-release-app toolhive-release-app Bot mentioned this pull request Sep 25, 2026
2 tasks
jbeda added a commit that referenced this pull request Sep 25, 2026
…mit-coauthor-guidance

* origin/main: (32 commits)
  docs: plan optional native Kubernetes execution provider (#1579)
  feat(mecatui): restore session status metrics (#1891)
  docs(plan): bound agent inventory viewport (#1946)
  docs: include user-docs in matlatl and use local documentation links (#1934)
  feat(mecatui): bound sessions inventory (#1944)
  feat(studio): show session delegation activity (#1907)
  docs(plan): define Studio session activity (#1885)
  Release TypeScript SDK v0.4.0 (#1940)
  Release v0.0.41 (#1941)
  docs(mecatui): plan bounded sessions inventory (#1906)
  feat(studio): add exact plan control and authorization review prerequisite (#1909)
  test(app): eliminate real ToolHive probe deadline wait (#1937)
  docs(plan): define Studio chat approvals and exact plan control (#1888)
  test(sdk): enforce SDK/TUI high-level parity (#1471) (#1917)
  docs(plan): propose SDK high-level parity coverage (#1471) (#1916)
  docs: improve gRPC schema table readability (#1842)
  test(app): eliminate real waits in durable learning tests (#1933)
  feat(studio): align chat transcript and composer (#1886)
  docs(plan): define Studio chat transcript and composer (#1880)
  feat: correlate provider requests with the root session (#1883)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant