[Extension]: Add SpecAssay Check (update to 0.5.2)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 70/100
Línea de trabajo
El issue consiste en actualizar una entrada existente del catálogo para la extensión specassay-check de la versión 0.4.12 a la 0.5.2. Comienza localizando el archivo del catálogo (probablemente un archivo JSON o YAML) en el repositorio spec-kit. Compara la entrada del catálogo propuesta en el issue con la entrada existente para actualizar la versión, la URL de descarga, el SHA256, el recuento de comandos y otros campos modificados. Verifica que la extensión se instale y ejecute como se describe en los detalles de prueba. El trabajo se completa cuando la entrada del catálogo refleja la versión 0.5.2 y pasa cualquier validación del repositorio.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Extension ID
specassay-check
Extension Name
SpecAssay Check
Version
0.5.2
Description
Gate 2 refuses silent gaps and emits a trace-manifest (trace-manifest.json).
Author
Rik Dryfoos
Repository URL
https://github.com/rdryfoos/specassay
Download URL
https://github.com/rdryfoos/specassay/releases/download/v0.5.2/specassay-check-0.5.2.zip
License
MIT
Homepage (optional)
Documentation URL (optional)
https://github.com/rdryfoos/specassay/blob/main/extensions/specassay-check/README.md
Changelog URL (optional)
https://github.com/rdryfoos/specassay/blob/main/CHANGELOG.md
Required Spec Kit Version
=0.14.0,<2.0.0
Required Tools (optional)
- bash - required
- python3 (>=3.8) - required
Number of Commands
5
Number of Hooks (optional)
1
Tags
traceability, gate, ci, governance, sdd
Key Features
- Gate 2 refuses a silent gap: an acceptance criterion with no test and no open tracked-debt task fails the build rather than passing quietly
- Emits trace-manifest.json (v4) and trace-manifest.v5beta.json, one row per registry ID with its status and the evidence behind it
- Five statuses, including
retiredfor an intent withdrawn on purpose, so a withdrawal is never mistaken for a gap - Mints durable IDs at intent and refuses an ID the project's own configured grammar would reject
- Coverage matrix and portfolio snapshot for CI and for cold readers
Testing Checklist
- Extension installs successfully via download URL
- All commands execute without errors
- Documentation is complete and accurate
- No security vulnerabilities identified
- Tested on at least one real project
Submission Requirements
- Valid
extension.ymlmanifest included - README.md with installation and usage instructions
- LICENSE file included
- GitHub release created with version tag
- All command files exist and are properly formatted
- Extension ID follows naming conventions (lowercase-with-hyphens)
Testing Details
This updates the existing catalog entry from 0.4.12 to 0.5.2. It supersedes
issue #4252, filed at 0.4.12 and merged as catalog PR #4254. Neither v0.4.13
nor v0.5.0 was ever filed, so this one carries three releases of change.
Tested on: Linux, Spec Kit 1.0.5, Python 3.11.15, on 2026-09-23, against the
published v0.5.2 assets in a clean project.
The >=0.14.0 floor was exercised at v0.5.1 on 2026-09-17: the bundle installs
and the Gate runs on 0.14.0, though that version does not scaffold the settings
file, so the Gate reports config: MISSING and continues on defaults.
sha256 of the submitted archive, computed from the published v0.5.2 assets on 2026-09-23:
$ curl -fsSL -O https://github.com/rdryfoos/specassay/releases/download/v0.5.2/specassay-check-0.5.2.zip
$ sha256sum specassay-check-0.5.2.zip
f481c6794d0cffc6d532721c1acc378287ba291b3e74dbe1e54eef083d1e7a20 specassay-check-0.5.2.zip
Test scenarios, in a clean project (specify init . --here --force --non-interactive --integration claude):
- Installed direct from the download URL:
$ specify extension add specassay-check --from
installed;specify extension listreports SpecAssay Check (v0.5.2) - Ran the Gate on an empty project. It refuses and names the fix:
FAIL: registry not found: PRD.md - Ran the Gate on an empty-but-present registry. Exit 0, and it prints the
on-ramp naming both mint routes. - Minted a first ID:
$ bash .../mint-id.sh AC LOGIN --append "Given a wrong password, ..."
AC-LOGIN-10 - Ran the Gate again. It refuses honestly, which is the intended first red:
FAIL: registry ID missing from specs: AC-LOGIN-10
FAIL: registry ID missing from tasks: AC-LOGIN-10
FAIL: silent gap: AC-LOGIN-10 has no test and no open tracked-debt task
exit 1 - Added a spec line and one open task carrying the ID, the documented way to
clear it:
SpecAssay Check (Gate 2): OK (1 registry IDs)
exit 0, and trace-manifest.json reports AC-LOGIN-10 as tracked-debt.
The extension is also run against its own repository on every pull request,
where it currently reports OK on 96 registry IDs.
Example Usage
# Install from the release archive
specify extension add specassay-check --from https://github.com/rdryfoos/specassay/releases/download/v0.5.2/specassay-check-0.5.2.zip
# Mint a durable ID at intent
/speckit.specassay-check.mint AC LOGIN "Given a wrong password, when the user signs in, then the form shows an error and no session starts."
# Run Gate 2; a silent gap fails the build
/speckit.specassay-check.gate
Proposed Catalog Entry
{
"specassay-check": {
"name": "SpecAssay Check",
"id": "specassay-check",
"description": "Gate 2 refuses silent gaps and emits a trace-manifest (`trace-manifest.json`).",
"author": "Rik Dryfoos",
"version": "0.5.2",
"download_url": "https://github.com/rdryfoos/specassay/releases/download/v0.5.2/specassay-check-0.5.2.zip",
"sha256": "f481c6794d0cffc6d532721c1acc378287ba291b3e74dbe1e54eef083d1e7a20",
"repository": "https://github.com/rdryfoos/specassay",
"homepage": "https://www.specassay.com",
"documentation": "https://github.com/rdryfoos/specassay/blob/main/extensions/specassay-check/README.md",
"changelog": "https://github.com/rdryfoos/specassay/blob/main/CHANGELOG.md",
"license": "MIT",
"category": "visibility",
"effect": "read-write",
"requires": {
"speckit_version": ">=0.14.0,<2.0.0",
"tools": [
{ "name": "bash", "required": true },
{ "name": "python3", "version": ">=3.8", "required": true }
]
},
"provides": {
"commands": 5,
"hooks": 1
},
"tags": ["traceability", "gate", "ci", "governance", "sdd"],
"verified": false,
"downloads": 0,
"stars": 0,
"created_at": "2026-08-13T00:00:00Z",
"updated_at": "2026-09-23T00:00:00Z"
}
}
Additional Context
Update to an existing entry. Replaces #4690 which was filed at 0.5.1 before v0.5.2 shipped.
provides.commands moves from 2 to 5; dig, matrix and portfolio shipped after the 0.4.12 entry.
- Lenguaje dominante
- Python
- Estrellas
- 138k
- Forks
- 12.4k
- Merge medio
- 3 d 4 h
- PR fusionados (30 d)
- 154
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de github/spec-kit
-
enhancement needs-triage triage-can-wait
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
preset-submission triage-must-have validation-passed
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
extension-submission triage-can-wait validation-passed
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
[Feature]: 给 slug 添加默认值 Abiertoenhancement needs-triage triage-can-wait
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
extension-submission triage-can-wait
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Todos los issues de github/spec-kit
Issues similares
-
[Bug] reef-hermes tells me to resume with hermes --resume, which does not work from my shell Abiertoarea: harness bug status: needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Human-Agent-Society/reef#625 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100
learningequality/kolibri#15351 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Name consistency Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
eellak/triplestore#65 · 1 comentario ·