docs(decisions): add high/low level api guidance #511
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.
Description
Adds a new decision record documenting our approach to API design: providing both low-level and high-level APIs for new features.
This decision formalizes the pattern we've been following (e.g., in
BidiAgentwithsend/receivevsrun) and provides rationale grounded in our tenets. It references the progressive disclosure principle from UX design and the pit of success concept.This pattern is well-established in SDK design — AWS CDK uses similar "construct levels" (L1/L2/L3) where lower levels map directly to underlying resources while higher levels provide opinionated abstractions.
Related Issues
N/A
Type of Change
Checklist
mkdocs serveBy submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.