chore: ratchet weak public API types - #304
Draft
neubig wants to merge 7 commits into
Draft
Conversation
Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
Contributor
Endpoint auditContract: pinned release artifact
Actionable client-only calls (0)none Actionable server-only operations (7)
Documented non-divergences (12)Client calls intentionally absent from the filtered contract (10)
Reason: Operational Agent Server endpoints intentionally excluded from the filtered public release artifact.
Reason: Client-ahead API stacked on the pending Agent Server meta-profiles implementation. Server operations covered by an exposed browser URL (2)
Reason: RemoteWorkspace.startWorkspaceSession exposes these authenticated URLs for browser iframe and file requests; they are not HttpClient method calls. |
…ings' into feat/oss-6127-public-type-ratchet
neubig
force-pushed
the
feat/oss-6123-canonical-mcp-settings
branch
from
July 28, 2026 18:42
b7dc267 to
dfe83a5
Compare
…type-ratchet Resolve merge conflicts against main: - Adopt main's generated Agent Server schema (1.40.0) and the merged canonical MCP settings operations (endpoint-based create/patch/delete). - Keep the PR's Canonical* type aliases and the public-type ratchet. - Refresh config/public-type-budget.json for the events/types refactor (interface -> type aliases) merged from main. Co-authored-by: openhands <openhands@all-hands.dev>
Co-authored-by: openhands <openhands@all-hands.dev>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The client previously had no repository-wide guard against new or widened weak
public types. Important domain boundaries could silently degrade even when
generated Agent Server operations remained strong.
Fixes #300
Linear: OSS-6127
Summary
point and check in a reviewed budget of existing
unknownsites.permanently lowering the budget.
anydeclarations withunknown,with runtime narrowing for remote full-state events.
main(including the Agent Server 1.40.0 schema and the mergedcanonical MCP settings operations from feat: add canonical MCP settings operations #302/feat(events): mirror SDK event payloads #318) and refresh the weak-type
budget for the
events/typesrefactor.Issue Number
#300 / OSS-6127
How to Test
npm run buildnpm run test:public-type-budgetnpm run check:public-type-budgetenv -u AGENT_SERVER_URL npm run test:coverage— 18 suites, 304 testsnpm run check:agent-server-api— checked-in contract is current for 1.40.0npm run test:agent-server-api-toolingnpm run test:endpoint-audit-toolingnpm run lint— 0 errorsnpm run format:check— all files formattedLive evidence (AGENT)
Merge conflict resolution against
mainwas validated locally on commitcbfeeff:The budget refresh mirrors main's
events/typesrefactor (handwritteninterfaces became schema-derived type aliases): six stale
interface:budgettuples were removed and two
type:tuples added at the current fingerprints.Video/Screenshots
Not applicable: this adds public type and CI enforcement without changing the
Canvas UI.
Type
Notes
Depends on #302. Public domain contracts, generic transport internals, and
deliberately opaque Cloud proxy payloads have separate budget groups. Generated
Agent Server declarations remain governed by the SDK OpenAPI quality allowlist
and the pinned generated-file drift check.