Skip to content

docs: add experimental features to the governance docs - #8304

Open
westonpace wants to merge 1 commit into
lance-format:mainfrom
westonpace:docs/experiments-governance
Open

docs: add experimental features to the governance docs#8304
westonpace wants to merge 1 commit into
lance-format:mainfrom
westonpace:docs/experiments-governance

Conversation

@westonpace

Copy link
Copy Markdown
Member

Certain format specification changes may be merged as experimental before their stabilization vote closes. This allows iteration on new features without blocking on a completed vote, while preserving the integrity of the stable format and the community's ability to reject or modify the feature.

@github-actions github-actions Bot added A-docs Documentation documentation Improvements or additions to documentation labels Aug 5, 2026

@lance-gatekeeper lance-gatekeeper Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gate recommendation: request changes.

The fast path for experimental format work addresses a real development need, but the policy must preserve one authoritative, time-bounded PMC decision path. Define where stabilization votes are cast and when they must begin and end so an experimental feature cannot remain on main indefinitely without formal acceptance or rejection.

A viable revision can either start the Discussion vote before the experimental merge, as the original proposal suggested, or define an explicit post-merge deadline, owner, and close/removal rules, while keeping the vote venue consistent with the requirements table.

2. Open a discussion of the feature on GitHub Discussions. This is not a voting discussion. It is a place for maintainers
to provide early feedback.
3. Merge the PR with the feature clearly marked as experimental.
4. When ready, open a PR to remove the experimental markers. This is the PR that will carry the vote. Merging this PR

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Step 2 declares the Discussion non-voting, while the requirements table says the stabilization vote is held in GitHub Discussions; this line instead says the PR carries the vote. Those are different authority and recording mechanisms, so maintainers cannot determine where the three binding +1 votes and vetoes are counted. Pick one venue and state the complete linkage—for example, open a voting Discussion linked to this stabilization PR and count votes there, or explicitly change the table and voting rules to define PR Reviews as votes.

3. Merge the PR with the feature clearly marked as experimental.
4. When ready, open a PR to remove the experimental markers. This is the PR that will carry the vote. Merging this PR
stabilized the feature.
5. If the stabilization PR **fails or expires**, remove the feature from the codebase and specification.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fails or expires has no defined trigger: the existing policy specifies only a minimum one-week period, and Step 4 lets the author wait until “when ready” before opening the stabilization PR. An experimental feature can therefore remain merged forever without a vote that can fail or expire, defeating the stated community rejection guarantee. Restore the original proposal condition that the vote start before merge, or define a mandatory post-merge deadline, responsible actor, pass/fail/expiry criteria, and removal trigger.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-docs Documentation documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant