Skip to content

feat: freeze videre:value-flow at 1.0.0 - #65

Open
mfw78 wants to merge 2 commits into
test/postage-policy-round-tripfrom
feat/value-flow-1.0-freeze
Open

feat: freeze videre:value-flow at 1.0.0#65
mfw78 wants to merge 2 commits into
test/postage-policy-round-tripfrom
feat/value-flow-1.0-freeze

Conversation

@mfw78

@mfw78 mfw78 commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

What

Freezes the videre:value-flow WIT package at 1.0.0 with strict semantics. wit/videre-value-flow/types.wit is bumped to @1.0.0 and gains a freeze doc-comment pointing at docs/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's use videre:value-flow/types@1.0.0, the SDK inline world in crates/videre-sdk/src/bindings.rs, the host identifier-hygiene smoke world in crates/videre-host/src/bindings.rs, and both macro with remap keys (crates/videre-macros/src/lib.rs for venue, crates/videre-macros/src/keeper.rs for keeper). New docs: docs/design/value-flow-versioning-policy.md (the freeze policy) plus small updates to docs/design/README.md and two ADRs. A new test crate file crates/videre-test/tests/value_flow_freeze.rs pins 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-module at feat/value-flow-1.0-freeze (29fc7d8), detached, with the repo's pinned toolchain (rustc 1.94.0, wasm32-wasip2 installed). --locked was used throughout, matching CI: no Cargo.lock delta. Touched crates over origin/test/postage-policy-round-trip..HEAD: videre-host, videre-sdk, videre-macros, videre-test (plus wit/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.rs line 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.

mfw78 added 2 commits August 7, 2026 06:58
…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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant