feat(tools): restore list_properties#56
Merged
Merged
Conversation
The 12.0.0 breaking-change note said lexical_matches is 'always [] until the lexical leg is wired up' — true for the commit that introduced the key, but the leg was wired live by later commits in the same release (262bfeb, cd214c4). The stale footer was aggregated verbatim into the release notes and already misled a downstream consumer's upgrade review. Co-Authored-By: Claude Fable 5 <[email protected]>
v11.0.0 removed list_properties, delegating property enumeration to
get_vault_overview. That delegation is lossy: the overview truncates
to the top 30 properties by count, silently dropping the rare and
one-off keys — exactly what a downstream vault-health
property-consistency sweep audits. The capability itself never left:
provider.listProperties() was kept for get_vault_overview.
Restore the tool as a near-verbatim revert of the v10 wrapper,
mirroring list_tags (vault param, multi-vault fan-out,
{ vault, results: [{name, count}] }). Descriptions on both
list_properties and get_vault_overview now state the
orientation-vs-audit split so agents route correctly. read_property
and get_stats stay removed — their replacements are confirmed
acceptable.
Includes the OpenSpec change (openspec/changes/restore-list-properties)
with a delta spec renaming the mcp-tool-surface requirement that
mandated the tool's absence.
Co-Authored-By: Claude Fable 5 <[email protected]>
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.
Why
v11.0.0 removed
list_properties, pointing callers atget_vault_overview. That replacement truncates properties to the top 30 by count — silently dropping the rare, one-off, and misspelled keys that a downstream vault-health property-consistency sweep exists to find. The audit use case has no MCP-visible substitute and currently blocks that consumer's 10.1.0 → 12.x migration. The capability never left the codebase:provider.listProperties()was kept in v11 becauseget_vault_overviewdepends on it.What
list_propertiesas a near-verbatim revert of the v10 wrapper, mirroringlist_tags: sharedvaultparam, multi-vault fan-out,{ vault, results: [{name, count}] }, sorted count-desc, no cap.list_propertiespromises the complete inventory and names the consistency-audit use case;get_vault_overviewmarks its property list as top entries only and points atlist_properties.docs/guide/reading-and-modifying.mdupdated to match.restore-list-propertiesincluded (brainstorm → proposal → design → delta spec → tasks → plan). The delta spec renames/rewrites themcp-tool-surfacerequirement that mandated the tool's absence.lexical_matchesis "always []" — the lexical leg went live within that same release, and the stale footer already misled a consumer's upgrade review.read_propertyandget_statsstay removed — the consumer confirmed both replacements are acceptable.Additive, non-breaking → lands as 12.1.0.
Verification
npx tsc --noEmitcleannpm run lintcleannpx vitest run— 748/748 green (registration tests updated 10 → 11 operations tools, 13 → 14 combined; new description test pins the full-inventory promise)npx openspec validate restore-list-properties— valid🤖 Generated with Claude Code