This is an automated email from the ASF dual-hosted git repository. spmallette pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit 5d19e40501bce1b82747b775a06d3559ea083042 Author: Stephen Mallette <[email protected]> AuthorDate: Mon Aug 10 11:26:24 2026 -0400 Add beads steps to the release process Pre-flight gains a beads review alongside the JIRA review. Post-release gains a maintenance step that reclaims storage with gc --skip-decay and deletes nothing. Assisted-by: Claude Code:claude-opus-5 --- docs/src/dev/developer/release.asciidoc | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/docs/src/dev/developer/release.asciidoc b/docs/src/dev/developer/release.asciidoc index 37922aea18..313b7d49b4 100644 --- a/docs/src/dev/developer/release.asciidoc +++ b/docs/src/dev/developer/release.asciidoc @@ -135,6 +135,17 @@ during this period. ... All tickets not marked "Fixed", "Done", or "Implemented" for their Resolution should not have a Fix Version assigned (use common sense when reviewing these tickets before removing the Fix Version as it is possible the incorrect Resolution may have been assigned). +.. Review the beads expected to land in this version, as described in <<beads,Using Beads>>, and ensure that: +... Every bead belonging to work that has merged is `pinned`. Pinning is what makes a bead permanent, so a +subgraph left closed but unpinned is work whose record was never completed. +... The release label on each bead matches the version under release. The label value must be quoted and +closed beads must be included, as in `bd query 'labels="xx.yy.zz"' --all`, because an unquoted version +number fails to parse and closed beads are hidden by default. +... Each root carries a record bead for its JIRA issue, pull request, proposal or dev mailing list thread. +A small fix that never had one of these is a legitimate exception. +... `bin/beads-report.py` reports nothing unexpected. Run it per root with `--root` to scope it to a single +subgraph. Its structural findings, such as a dangling edge, are defects, while the remainder are questions +rather than verdicts and a one-line fix will legitimately trip several of them. . When all documentation changes are in place, use `bin/publish-docs.sh` to deploy a final `SNAPSHOT` representation of the docs and thus validate that there are no issues with the documentation generation process. Request review of the published documentation on the dev mailing list. @@ -343,6 +354,29 @@ the help of a PMC member for those steps. .. Update version numbers in `gremlin-examples/gremlin-dotnet/*/\*.csproj` to reference the new release version .. Update version numbers in `gremlin-examples/gremlin-go/go.mod` to reference the new release version .. Test that all root-level examples work correctly with the new published versions +. Perform beads administration tasks, as described in <<beads,Using Beads>>: +.. `bd dolt pull` to take in anything other committers have pushed. +.. Confirm that every subgraph belonging to the release is `pinned`. The pre-flight check should already +have established this, so anything still closed and unpinned at this point is work whose record was +never finished. +.. `bd gc --skip-decay --dry-run` to preview, then `bd gc --skip-decay --force` to reclaim storage. This +discards only chunks that nothing in the database can still reach. Beads, their field content and the +full Dolt commit history all survive, and `--skip-decay` is what holds back the single phase that would +delete beads. Expect the first run to recover a large fraction of the database and later runs +progressively less. +.. Note that the output of the previous step announces a phase named "Compact", which reports how many +commits are in history and squashes nothing. Squashing requires `bd compact` or `bd flatten` run +deliberately, and neither belongs to routine administration. There is no flag that suppresses the +reporting phase, as `--skip-dolt` suppresses only the reclamation that follows it. +.. `bd dolt push` to publish the result. ++ +NOTE: `bd gc --skip-decay` is the only beads maintenance command that is run as routine administration. +`bd prune` and `bd purge` delete beads, `bd flatten` and `bd compact` discard commit history, and a bare +`bd gc` deletes every closed bead past its ninety day threshold. None of them recover storage that +`bd gc --skip-decay` does not, because deleting a bead writes a further commit rather than removing the +earlier ones. A bead left closed but unpinned is also far more likely to be a record nobody finished +pinning than one that deserves deletion. Should beads ever warrant removal, that follows the same path +as removing dead branches, which is a generated list posted for review on the dev mailing list. . Generate a list of dead branches that will be automatically deleted and post them as a DISCUSS thread for review, then once consensus is reached removed those branches. . Set up the IO tests for the current `SNAPSHOT` as discussed in the <<io,IO Documentation and Testing Section>>
