Skip to content

Add closed-vocabulary preset to community catalog - #4179

Open
yunusdim wants to merge 1 commit into
github:mainfrom
yunusdim:patch-1
Open

Add closed-vocabulary preset to community catalog#4179
yunusdim wants to merge 1 commit into
github:mainfrom
yunusdim:patch-1

Conversation

@yunusdim

Copy link
Copy Markdown

Adds closed-vocabulary to the community catalog. Requested in #4106.

What it does. Appends one pass to /speckit.analyze that 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 of templates/commands/analyze.md and does not need to track upstream changes to that file. Requires >=0.8.0 because 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.md separates 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 inspected is 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-questions and command-density. download_url matches the install command in the preset README character for character.

@yunusdim
yunusdim requested a review from mnriem as a code owner August 17, 2026 21:57
@mnriem
mnriem requested a balanced review from Copilot August 17, 2026 23:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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": {
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants