refactor: remove unused extension points - #173
Merged
Merged
Conversation
- Batch limits are declared only on the IoBinding. Converter-level max_batch_size had no production user (all converters left it 0), so the three-way minimum (EffectiveMaxBatchSize) and its Catalog export go. A binding limit of 0 still fails the audit and deployment preparation. - Field Control keeps only ReplaceFields. PatchFields and the ControlFieldStrategy enum were used only by tests; the starter template and the tutorial use ReplaceFields. SharedId() stays because the tutorial documents shared command IDs. - Port lifetime accepts request and session; "global" had no producer or consumer. - Catalog and validate-io drop the constant transport: "operator" field. - The cross-request state plan (stage 4) is marked deferred until a real business needs it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
This change removes extension points that had no production user.
max_batch_sizewas 0 on every production converter, and every production binding uses the default of 64.EffectiveMaxBatchSize, which took the minimum over the binding and both converters, is removed, along with the converter field in the Catalog. A binding limit of 0 still fails the registry audit and deployment preparation.ReplaceFields.PatchFieldsand theControlFieldStrategyenum were used only by tests. The scaffold's starter template and thefirst_control.mdtutorial useReplaceFields, so it stays, and so doesSharedId(), because the tutorial documents shared command IDs.requestandsession.globalwas added to the validation list in f7239a3 alongside therequest|sessionvalues proposed by the RFC 0012 review (NA-006, repeated embedding of a static policy corpus). It never had defined semantics, runtime support, a producer or a consumer. The deferred cross-request state plan is also scoped to one Operator handle, which issession.validate-iodroptransport: "operator". Its value never varied.plans/FRAMEWORK_SIMPLIFICATION_PLAN.mdis marked deferred until a real business needs it.Contract impact:
.confare unchanged.max_batch_sizeortransport, andvalidate-iono longer reportstransport. No in-repo consumer read these fields.PatchFieldsand the convertermax_batch_sizefield (internal, pre-release).lifetime: "global"is now rejected at registration.Tests:
ReplaceFieldscommand that controls onlysuffix. Coverage of partial control, empty-payload rejection, validation rollback and concurrent controls is kept.Validation: the canonical local gate passed (103/103 CTest tests), and the delivery script reruns it before push. The full adapter test binary also passes in one process (247 tests). Browser workflows were skipped because
STUDIO_PLAYWRIGHT_MODULEis unset; no Studio page code changed. Real-model, sanitizer and target-hardware acceptance were not run locally.🤖 Generated with Claude Code