feat(docs): generate response shapes in TYPE-SUMMARY + currency on delivery tools#724
Merged
Conversation
Upstream adcp#2639 added invariants to universal/idempotency.yaml (idempotency.conflict_no_payload_leak, context.no_secret_echo) without shipping the matching reference module in the spec tarball. Without registered assertions, resolveAssertions throws at runner start and every comply() call against the current compliance cache fails before executing any storyboard step. New default-invariants module registers stub implementations tied to both ids; comply.ts side-effect-imports it so consumers get coverage automatically. Stubs aim for the spec's stated intent (scan error envelopes for leaked payload fields; scan context echoes for caller-supplied secrets). Consumers can override via clearAssertionRegistry() then re-register their own spec. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
bokelley
force-pushed
the
bokelley/type-summary-responses
branch
from
April 21, 2026 17:38
b81e808 to
992fc53
Compare
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.
Option B groundwork — stop treating response shapes as hand-written forever.
What
generate-agent-docs.tsextracts response schemas and emits_Response (success branch):_under every tool indocs/TYPE-SUMMARY.md. ForoneOfdiscriminated responses (e.g.,update_media_buy) the generator picks the success arm automatically.TYPE-SUMMARY.mdis regenerated; every tool now carries both request AND response shape, visually separated.currencyongetMediaBuyDeliveryandgetCreativeDeliveryexamples (response schema requires it; matrix v3 turned up 12/currency: must have required propertyfailures).Why
Matrix v3 (post PR #720) still hit 0/14 because upstream kept adding required fields to response schemas. Skill examples hand-roll shapes and drift. The generated TYPE-SUMMARY response blocks give builders an always-current reference they can cross-check against. When spec changes, the generated doc updates immediately and stale hand-written examples stand out.
Next PR (deferred, not in this one): replace hand-written skill
**tool** — Response Shapeblocks with pointers into TYPE-SUMMARY so shape stays generated.🤖 Generated with Claude Code