You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Install extension
specify extension add specassay-check --from https://github.com/rdryfoos/specassay/releases/download/v0.3.3/specassay-check-0.3.3.zip# Use the command (in your integration, e.g. Claude)
/speckit.specassay-check.gate
# → refuses silent gaps; writes trace-manifest.json either way
The emitted trace-manifest is deliberately vendor-neutral (format + schemaVersion are the contract); a v5 interop revision is in beta with a second emitter (docs/trace-manifest-v5.md). The walkthrough site (https://www.specassay.com) shows the Gate, the Thread Report, and the intent-PR behavior on live PRs in this repository. Pairs with the specassay preset, which installs the durable-ID contract the Gate enforces.
Hi @rdryfoos — Copilot found an issue in PR #4069 that blocks review:
The linked submission specifies python3 (>=3.8) as a required tool, but this entry drops the minimum version, making the catalog metadata report older Python 3 installations as compatible. Preserve the submitted version constraint, as other tool entries in this catalog do. #4069 (comment)
Please reply here when fixed so we can re-check the PR.
Fixed in v0.3.3. extension.yml carried tools: [], so the generated
entry had nothing to carry the constraint. It now declares bash and
python3 >=3.8 in the same shape other catalog entries use, and the
submission and proposed catalog entry match. The floor is deliberate:
the shipped code parses on 3.7, and 3.8 is what is supported and tested.
Extension ID
specassay-check
Extension Name
SpecAssay Check
Version
0.3.4
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.3.4/specassay-check-0.3.4.zip
License
MIT
Homepage (optional)
https://www.specassay.com
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
Required Tools (optional)
Number of Commands
1
Number of Hooks (optional)
1
Tags
traceability, gate, ci, governance, sdd
Key Features
Testing Checklist
Submission Requirements
extension.ymlmanifest includedTesting Details
Tested on:
specify 0.16.3.dev0(installed from main)Test project:
specify initproject (install-path evidence: https://github.com/rdryfoos/specassay/blob/main/docs/submission/test-evidence.md)Test scenarios:
Example Usage
Proposed Catalog Entry
{ "specassay-check": { "name": "SpecAssay Check", "id": "specassay-check", "version": "0.3.3", "description": "Gate 2 refuses silent gaps and emits a trace-manifest (`trace-manifest.json`).", "author": "Rik Dryfoos", "download_url": "https://github.com/rdryfoos/specassay/releases/download/v0.3.3/specassay-check-0.3.3.zip", "repository": "https://github.com/rdryfoos/specassay", "homepage": "https://www.specassay.com", "documentation": "https://github.com/rdryfoos/specassay/blob/main/extensions/specassay-check/README.md", "license": "MIT", "category": "visibility", "effect": "read-write", "requires": { "speckit_version": ">=0.14.0", "tools": [ { "name": "bash", "required": true }, { "name": "python3", "version": ">=3.8", "required": true } ] }, "provides": { "commands": 1, "hooks": 1 }, "tags": ["traceability", "gate", "ci", "governance", "sdd"], "verified": false } }Additional Context
The emitted trace-manifest is deliberately vendor-neutral (
format+schemaVersionare the contract); a v5 interop revision is in beta with a second emitter (docs/trace-manifest-v5.md). The walkthrough site (https://www.specassay.com) shows the Gate, the Thread Report, and the intent-PR behavior on live PRs in this repository. Pairs with thespecassaypreset, which installs the durable-ID contract the Gate enforces.