feat(transaction): experimental action-based transaction format skeleton#7671
Draft
wjones127 wants to merge 1 commit into
Draft
feat(transaction): experimental action-based transaction format skeleton#7671wjones127 wants to merge 1 commit into
wjones127 wants to merge 1 commit into
Conversation
Skeleton for the Action-based Transactions milestone (discussion #5960), gated behind the non-default `unstable-action-transactions` Cargo feature so it is absent from released artifacts. Stacked on the general experimental-feature mechanism (#7646): rather than claiming a dedicated feature-flag bit, action-based transactions are the first consumer of FLAG_EXPERIMENTAL. A dataset declares the "action-transactions" experimental feature (registered in `known_experimental_features` under the Cargo feature), which sets the bit so libraries without it fail closed. - protos/transaction_experimental.proto: UserOperation / UserAction / Action (AddFragments only), compiled only under the feature. - lance_table::transaction: UserOperation/UserAction/Action/AddFragments Rust types with protobuf conversions and a roundtrip test; FEATURE_NAME constant. - Register "action-transactions" in the experimental-feature registry, with admission tests for both default (rejected) and feature-on (recognized). The wire format carries no compatibility guarantee until finalized by PMC vote, at which point it graduates to its own feature-flag bit. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
|
Important This PR touches the Lance format specification. Substantive changes to the format specification — the If this is a meaningful format change:
|
This was referenced Jul 7, 2026
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.
Skeleton establishing the shape and safety gating of action-based
(
UserOperation) transactions — the first slice of the Action-basedTransactions milestone (discussion #5960).
Stacked on #7670
This PR is stacked on #7670 (the general experimental-feature mechanism).
Its first commit belongs to #7670; review that PR first. Action-based
transactions are the first consumer of that mechanism rather than claiming a
dedicated feature-flag bit:
"action-transactions"experimental feature, registered in
known_experimental_features()only underthe
unstable-action-transactionsCargo feature.FLAG_EXPERIMENTAL, so libraries that don't understand it failclosed. On graduation (PMC vote), the name moves onto its own dedicated bit.
Double gating
unstable-action-transactionsfeature, so it is not compiled into releasedbuilds at all.
FLAG_EXPERIMENTAL+ the"action-transactions"name, as above.What's here (the skeleton commit)
protos/transaction_experimental.proto—UserOperation/UserAction/Action(withAddFragmentsonly, as a proof of shape), in a separate protofile so canonical
transaction.protostays clean until promotion. Compiledonly under the feature.
lance_table::transaction— RustUserOperation/UserAction/Action/AddFragmentstypes with protobuf conversions, a roundtrip test, and theFEATURE_NAMEconstant."action-transactions"in the experimental-feature registry,with admission tests for both default-build (rejected) and feature-on
(recognized).
What's NOT here (follow-up vertical slices)
Operation,apply, and conflict resolution.experimental feature list).
AddFragments.Part of #5960. Precedes the proto PMC vote (#6455), which will promote the
finalized messages into
transaction.proto.🤖 Generated with Claude Code