Add closed-vocabulary preset to community catalog - #4179
Open
yunusdim wants to merge 3 commits 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
Collaborator
|
@yunusdim Can you create a new preset submission issue for this? This will allow us to run our automated agentic workflows. Thanks! |
Added a new preset for closed vocabulary checks in the analysis process.
Author
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.1.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.Composition was verified on device: the composed file carries the core untouched (lines 1-268) with the pass appended after it, confirmed by direct inspection of the composed file rather than assumed from the append strategy. Detection was verified mechanically: the rules in
commands/speckit.analyze.mdwere implemented as a standalone, read-only instrument and run against the three fixtures shipped in this repository. All three matched —001-divergentfired,002-agreeingand003-declared-subsetdid not. Building that instrument caught a real bug: an unrecognised set-membership introducer produced a false negative on001-divergent(coverage 2 of 26 lines). Fixed before tagging; the run inevidence/RESULTS.mdis the corrected one. Declared limit: this is composition and mechanical rule verification, not an agentic end-to-end invocation of/speckit.analyze— whether a model reading the composed prose applies the same rules identically is not established by this evidence.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.