You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Make structured-output authoring consistent and add boundary-parity coverage #573
The structured claim implementation is bounded and safe, but project authors currently use different idioms for scalar and composite declarations. Recursive representations also cross Registryctl, Relay, Rhai, and Notary boundaries, so focused parity coverage would make future changes safer.
This is a developer-experience and regression-hardening follow-up. It is not a blocker for #565.
Scope
Choose one familiar nullable authoring idiom across scalar, object, and array declarations, with a compatibility plan if the current syntax has shipped.
Keep an aggregate composite byte budget as an independent safety control. Consider a safe derived default when omitted, while retaining an explicit advanced override.
Improve discriminator and nested-path diagnostics for malformed recursive declarations.
Add boundary-parity tests from Registryctl through Relay/Rhai and Notary for:
escaped control characters and non-ASCII strings/keys,
exact bounded integers,
nullable and required nested values,
byte caps at N and N - 1,
platform depth, field, item, and expanded-node limits.
Non-goals
Do not consolidate the boundary-specific Rust types into one shared product type merely to remove duplication.
Do not remove independently useful aggregate byte budgets.
Triage decision for 1.0: required before the authoring contract freezes.
The structured-claim surface has just entered the maintained product. Carrying different nullable idioms for scalar and composite declarations into 1.0 would make the public configuration harder to learn and force long-term compatibility with accidental syntax.
Choose one familiar syntax now and add focused end-to-end parity tests at the existing product boundaries. Keep the aggregate composite byte ceiling explicit and advanced. Do not add a derived default, shared cross-product type, new structured-claim capability, or exhaustive framework merely for symmetry. The purpose of this ticket is to remove authoring inconsistency and lock the current safety bounds, not expand them.
Closing as not planned after the Registry Notary retirement in #644 and the Relay V1 and registryctl removal in #716. The acceptance criteria depend on retired cross-product contracts, shared machinery, or implementation paths. If the underlying outcome remains valuable, it needs a new issue scoped to the current Evidence, Relay V2, Manifest, or Platform boundary.
Activity
jeremi commentedon Jul 30, 2026
Triage decision for 1.0: required before the authoring contract freezes.
The structured-claim surface has just entered the maintained product. Carrying different nullable idioms for scalar and composite declarations into 1.0 would make the public configuration harder to learn and force long-term compatibility with accidental syntax.
Choose one familiar syntax now and add focused end-to-end parity tests at the existing product boundaries. Keep the aggregate composite byte ceiling explicit and advanced. Do not add a derived default, shared cross-product type, new structured-claim capability, or exhaustive framework merely for symmetry. The purpose of this ticket is to remove authoring inconsistency and lock the current safety bounds, not expand them.
jeremi commentedon Aug 13, 2026
Closing as not planned after the Registry Notary retirement in #644 and the Relay V1 and registryctl removal in #716. The acceptance criteria depend on retired cross-product contracts, shared machinery, or implementation paths. If the underlying outcome remains valuable, it needs a new issue scoped to the current Evidence, Relay V2, Manifest, or Platform boundary.