spec: no pxf.* dual-emission — @required/@default are carrier-only (RFC-001 §8.5) - #110
Merged
Merged
Conversation
…FC-001 §8.5) Resolves the #92 decision as carrier-only: - §5.2/§8.5: @required/@default lower exclusively to the 50400 carrier; the compiler MUST NOT synthesize (pxf.required)/ (pxf.default) from them. Brackets and annotations are disjoint surfaces, neither back-filled from the other; coexistence allowed, MAY warn on conflicting values, MUST NOT reconcile. - Appendix A migration notes: legacy-option consumers see only bracket-written options — upgrade consumers before migrating schemas. - Draft -01 Coexistence section: drops the 'lowers to set both' claim, states the disjoint-surface rule and migration ordering. - STABILITY.md: corrects the 'same descriptor shape' claim; new 'No legacy dual-emission' bullet declaring v1.1 legacy-option readers unsupported against annotation-form schemas. - Fixture 04 header: dual-emission expectation replaced with the disjoint-lowering expectation. Ratifies shipped protocompile M1 carrier-only emission as-is; the #33/#34 dual-emission acceptance boxes are struck in the resolution record.
This was referenced Jul 16, 2026
Closed
71 tasks
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.
Summary
Resolves #92 (S3 ratification closer 2 of 2) as carrier-only — no dual-emission:
@required/@default(value)lower only to the50400carrier; the compiler MUST NOT synthesize(pxf.required)(50000) /(pxf.default)(50001) from them. Brackets and annotations are disjoint surfaces — brackets lower exactly as written, annotations to the carrier, neither back-filled. Coexistence on one field is allowed during migration; compilers MAY warn on conflicting values, MUST NOT reconcile.-01Coexistence with Bracket Options: the "@requiredlowers to set both … AND(pxf.required) = true" claim is removed; disjoint-surface rule + migration ordering stated normatively.(pxf.required)enforcement) are not supported against schemas using the annotation forms.04_required_and_default.protoheader: dual-emission expectation replaced with the disjoint-lowering expectation (bracket-only fields unchanged, MAY-warn rule, carrier-aware validation semantics).Consequences
fdp/annotations.goshim, nothing added to the protocompile#69 catch-up scope; the feat(pxq): Stage B — JSON / YAML / CSV input adapters (loose mode) #33/feat(pxq): Stage C — schema loading + pxf_* extensions + pxf_proto #34 dual-emission acceptance boxes are struck in the resolution record.Verification
Grep sweep for remaining dual-emission claims across
docs/,STABILITY.md,CHANGELOG.md,testdata/— none remain (CHANGELOG's existing wording was already carrier-neutral).Closes #92. Tracked by #55.