feat: add --no-history flag to separate Dolt commit skipping from GC eligibility#2622
Merged
steveyegge merged 1 commit intosteveyegge:mainfrom Mar 16, 2026
Merged
feat: add --no-history flag to separate Dolt commit skipping from GC eligibility#2622steveyegge merged 1 commit intosteveyegge:mainfrom
steveyegge merged 1 commit intosteveyegge:mainfrom
Conversation
…GC eligibility Separates "no git history" from "garbage-collectible" for beads stored in the wisps table. Previously --ephemeral bundled both behaviors, causing agent identity beads to be incorrectly GC'd. Changes: - Add NoHistory field to types.Issue and wisps/issues schema (migration 011) - Route NoHistory issues to wisps table, skip DOLT_COMMIT, but leave ephemeral=0 - Wire --no-history flag in bd create and bd update (with --history to undo) - Add --exclude-type flag to bd mol wisp gc - Add --type filter flag to bd mol wisp list - Include type and labels in wisp list JSON output - Move ephemeral/no-history mutual exclusion to validation layer - Migrate issues between tables when --no-history/--ephemeral set on update - Fix ExcludeTypes filter self-join subquery inefficiency - Ensure JSONL export/import roundtrip preserves no_history - Remove dead AllEphemeral function (superseded by AllWisps) - Comprehensive test coverage for all new flags and edge cases Resolves: steveyegge#2619 Refs: steveyegge/gastown#2768 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
timvisher-dd
added a commit
to timvisher-dd/beads
that referenced
this pull request
Mar 16, 2026
PR steveyegge#2622 added migration 011 (add_no_history_column) but did not bump currentSchemaVersion. Databases already at version 7 take the fast path in initSchemaOnDB and skip RunMigrations entirely, causing "column no_history could not be found" errors on every bd command. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
6 tasks
timvisher-dd
added a commit
to timvisher-dd/beads
that referenced
this pull request
Mar 16, 2026
PR steveyegge#2622 added migration 011 (add_no_history_column) but did not bump currentSchemaVersion. Databases already at version 7 take the fast path in initSchemaOnDB and skip RunMigrations entirely, causing "column no_history could not be found" errors on every bd command. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
Summary
--no-historyflag tobd createandbd updatethat routes beads to the wisps table (skipping DOLT_COMMIT) while keeping them non-GC-eligible (ephemeral=0)--historyflag tobd updateto undo--no-history(symmetric with--ephemeral/--persistent)--exclude-typeflag tobd mol wisp gcand--typefilter tobd mol wisp listIssue.ValidateWithCustom--no-historyor--ephemeralon updateno_historyfieldAllEphemeralfunction (replaced byAllWisps)no_historycolumn to bothissuesandwispstablesMotivation:
--ephemeralbundles "no git history" with "GC-eligible", causing agent identity beads to be incorrectly garbage collected. This separates the two concerns.Closes #2619
Refs: steveyegge/gastown#2768
Test plan
TestWispGC_SkipsNoHistoryBeads— verifies GC filter excludes NoHistory beadsbd create --no-history,wisp gc --exclude-type,wisp list --typeTestDemoteToWisp— table migration on updateno_historyfield🤖 Generated with Claude Code