Add closed-vocabulary preset to community catalog - #4179
Open
yunusdim wants to merge 1 commit into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds the closed-vocabulary preset to the community catalog.
Changes:
- Registers preset metadata, compatibility requirements, capabilities, and release links.
- Places the entry alphabetically in the catalog.
Show a summary per file
| File | Description |
|---|---|
presets/catalog.community.json |
Adds the closed-vocabulary catalog entry. |
Review details
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
- Files reviewed: 1/1 changed files
- Comments generated: 2
- Review effort level: Balanced
| "description": "Adds a pass to /speckit.analyze that flags closed sets of values enumerated more than once with different members, and reports its own coverage.", | ||
| "author": "Diego Gabriel Impieri", | ||
| "repository": "https://github.com/yunusdim/spec-kit-preset-closed-vocabulary", | ||
| "download_url": "https://github.com/yunusdim/spec-kit-preset-closed-vocabulary/archive/refs/tags/v1.0.0.zip", |
| "created_at": "2026-04-13T00:00:00Z", | ||
| "updated_at": "2026-04-13T00:00:00Z" | ||
| }, | ||
| "closed-vocabulary": { |
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.
Adds
closed-vocabularyto the community catalog. Requested in #4106.What it does. Appends one pass to
/speckit.analyzethat flags closed sets of values enumerated more than once with different members, and reports its own coverage on every run.Preset: https://github.com/yunusdim/spec-kit-preset-closed-vocabulary — MIT, tagged
v1.0.0.Uses
strategy: "append", so it carries no copy oftemplates/commands/analyze.mdand does not need to track upstream changes to that file. Requires>=0.8.0because composition strategies landed there (#2133).Evidence. Three fixtures ship with the preset under
evidence/fixtures/. One must fire, two are negative controls — a formatting-variance control and a declared-subset control.evidence/RESULTS.mdseparates the reproducible bench from a field measurement taken on a private corpus, and labels the second as not verifiable by anyone else.End-to-end was run against the composed file with a model reading the prose, not the mechanical implementation. All three fixtures matched. That run surfaced two problems in the pass itself, both fixed before tagging: the unit of
declarations inspectedis now pinned to non-empty lines, and the declared-relation rule is now stated as evaluated before grouping.Coverage is reported unconditionally, including when nothing is found. A zero-divergence result without a coverage figure says nothing about the spec — it says something about what the pass managed to read. The reference implementation reported zero across a corpus that had a divergence in plain sight, because it failed to recognise one introducer and one separator, having parsed 4 per cent of what it inspected.
It warns. It never blocks.
Entry inserted alphabetically between
claude-ask-questionsandcommand-density.download_urlmatches the install command in the preset README character for character.