test: lock v1 wire shapes and public API; document deferred surface#159
Merged
Conversation
9a26432 to
0567672
Compare
Signed-off-by: Joshua Temple <joshua.temple@stablekernel.com>
Signed-off-by: Joshua Temple <joshua.temple@stablekernel.com>
0ec5e34 to
238ac4b
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.
What this change does
Prepares the
state1.0 stability contract:TestWireShape_Frozenreflects over the 10 serialized types (IR,State,Transition,Region,Invocation,Ref,ContextSchema,Descriptor,ParamSpec,BindingSpec) and pins their exported field names andjson:tags (81 fields); compile-time assertions pin 10 load-bearing signatures (Forge,ForgeFor,Quench,Cast,Fire,LoadFromJSON,ToJSON,Registry.Palette,ToMermaid,ToDOT), each ending in its option tail so additive options need no edit. A rename or retag breaks the test; an additive field is a deliberate, documented test update.Raise, multi-target transitions,context.Contexton the non-Fireentry points, relaxing the non-quiesced snapshot refusal, finer Inspector cadence, and a metricsMeterseam — each with the additive mechanism it will arrive through. This marks them as intentional boundaries, not oversights.Why
Freezing a contract is only safe if a test catches accidental breaks and the deliberate boundaries are written down. This makes the 1.0 wire/API shape enforceable in CI and the deferred surface honest.
Relates to: 1.0 stability hardening
Checklist
git commit -s) per the DCOtype: subject)mage checkpasses locally —statepasses lint, race tests, and govulncheck; the onlymage checkfailure is the pre-existingtelemetry/datadogstdlib vulnerability, unrelated to this change.