feat: add metadata filtering to bd ready#3
Open
turian wants to merge 2 commits intofeat/metadata-queryablefrom
Open
feat: add metadata filtering to bd ready#3turian wants to merge 2 commits intofeat/metadata-queryablefrom
turian wants to merge 2 commits intofeat/metadata-queryablefrom
Conversation
Add SQL-level metadata filtering using Dolt's JSON_EXTRACT and JSON_UNQUOTE functions, with strict key validation to prevent JSON path injection. New CLI flags for bd list and bd search: --metadata-field key=value (repeatable, AND semantics) --has-metadata-key key (existence check) New bd query DSL support: metadata.team = "platform" metadata.sprint = "Q1" AND metadata.team = "platform" Implements GH#1406. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Support metadata-based work routing in bd ready: bd ready --metadata-field team=platform bd ready --has-metadata-key sprint Adds MetadataFields and HasMetadataKey to WorkFilter, with SQL-level JSON_EXTRACT/JSON_UNQUOTE in GetReadyWork. Enables agents and teams to claim work based on metadata tags. Implements GH#1406. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
58f05e6 to
ca318fe
Compare
ca318fe to
5ba0887
Compare
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
--metadata-field key=value(repeatable, AND) and--has-metadata-key keytobd readyMetadataFieldsandHasMetadataKeyfields totypes.WorkFilterGetReadyWorkin queries.gobd ready --metadata-field team=platform)Base:
feat/metadata-queryable(PR steveyegge#1908 against upstream)Test plan
TestGetReadyWork_MetadataFieldMatch— filters ready work by metadata key=valueTestGetReadyWork_HasMetadataKey— filters by key existenceTestGetReadyWork_MetadataFieldNoMatch— non-matching value returns emptyTestGetReadyWork_MetadataFieldInvalidKey— SQL injection attempt rejected🤖 Generated with Claude Code