feat: freeze videre:value-flow at 1.0.0 - #65
Open
mfw78 wants to merge 2 commits into
Open
Conversation
…tics Bump the package from 0.1.0 to 1.0.0 and record the post-1.0 policy in docs/design/value-flow-versioning-policy.md: record fields may grow additively within 1.x, variant cases are closed, and any variant growth is 2.0. The note names #32 as the first additive consumer, the test of the policy. Ripple the versioned name through every consumer: the videre:types use, the SDK and host inline worlds, and the venue and keeper macro remap keys. Pin the freeze in the kit: value_flow_freeze asserts the 1.0.0 package line, the closed asset case set, and the frozen record fields, so a version regression or a 1.x variant growth fails videre-test before it reaches a consumer. Closes #31; terminal car of #23. AI Assistance: Claude Code implemented the freeze and the policy note to the #31 spec.
The freeze test restated three guarantees the build already gives: a version regression fails the versioned imports, and a dropped or renamed field fails the bindgen struct literals in videre-sdk and videre-host. It passed on a retyped field, which the ABI cannot see either. Pin the frozen declarations verbatim and the asset cases in ABI order instead, and say in the note which guard is compile-time and which is the kit. Record the downstream cost the note left out: videre:types and videre:venue keep 0.1.0 while their resolved import names move, so a pre-built module stops instantiating and a version-only vendor sees no signal. Align ADR 0001 and 0002 with the frozen version and the 2.0 rule.
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
Freezes the
videre:value-flowWIT package at1.0.0with strict semantics.wit/videre-value-flow/types.witis bumped to@1.0.0and gains a freeze doc-comment pointing atdocs/design/value-flow-versioning-policy.md, and the stale "erc721/erc1155/offchain are 0.2+" comment is corrected to 2.0. The version is rippled through every consumer of the versioned name:wit/videre-types/types.wit'suse videre:value-flow/types@1.0.0, the SDK inline world incrates/videre-sdk/src/bindings.rs, the host identifier-hygiene smoke world incrates/videre-host/src/bindings.rs, and both macrowithremap keys (crates/videre-macros/src/lib.rsfor venue,crates/videre-macros/src/keeper.rsfor keeper). New docs:docs/design/value-flow-versioning-policy.md(the freeze policy) plus small updates todocs/design/README.mdand two ADRs. A new test crate filecrates/videre-test/tests/value_flow_freeze.rspins the 1.0.0 package line, the closed asset case set (native,erc20,service), and the frozen record fields.Why
Closes #31
Testing
All commands run on a fresh clone of
nullislabs/videre-nexum-moduleatfeat/value-flow-1.0-freeze(29fc7d8), detached, with the repo's pinned toolchain (rustc 1.94.0, wasm32-wasip2 installed).--lockedwas used throughout, matching CI: noCargo.lockdelta. Touched crates overorigin/test/postage-policy-round-trip..HEAD:videre-host,videre-sdk,videre-macros,videre-test(pluswit/videre-value-flow,wit/videre-types, and docs).cargo clippy -p videre-host -p videre-sdk -p videre-macros -p videre-test --all-targets --all-features --locked -- -D warnings- clean, no warnings.cargo test --doc -p videre-host -p videre-sdk -p videre-macros -p videre-test --all-features --locked- 1 passed, 0 failed (crates/videre-test/src/lib.rsline 18); the other three crates have no doctests.AI Assistance
Implementation by claude-fable-5, red-team review by claude-opus-5, PR description by claude-sonnet-5.