Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[Bundle]: Add SpecAssay (update to 0.5.1)

未关闭 适合新手
#4,692 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
68/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
python
领域
tooling

调研方向

找到现有的 SpecAssay catalog 条目,并将其与 catalog PR #4257 以及提议的 0.5.1 条目进行比较。确认固定的 extension 和 preset 版本以及所需的 catalog 详细信息,然后运行 specify bundle validatespecify bundle build,并在干净的项目中进行安装。catalog 更新能够成功解析 SpecAssay 0.5.1 即表示完成。

由索引模型根据 Issue 内容生成。

描述

enhancement needs-triage
Bundle ID

specassay

Bundle Name

SpecAssay

Version

0.5.1

Role or Team

developer

Description

Durable-ID promotion for stock Spec Kit: templates, Gate 2 refusal, and trace-manifest emission.

Author

Rik Dryfoos

Repository URL

https://github.com/rdryfoos/specassay

Download URL

https://github.com/rdryfoos/specassay/releases/download/v0.5.1/specassay-0.5.1.zip

Documentation URL

https://github.com/rdryfoos/specassay/blob/main/README.md

License

MIT

Required Spec Kit Version

=0.14.0,<2.0.0

Integration Target (optional)

No response

Components Provided
  • extensions: specassay-check@0.5.1
  • presets: specassay@0.5.1
  • workflows: none
  • steps: none
Required Component Catalogs

The three SpecAssay catalogs, added as install-allowed, because the community
catalog is discovery-only and cannot install:

specify preset catalog add https://raw.githubusercontent.com/rdryfoos/specassay/main/catalogs/presets.json --name specassay --install-allowed
specify extension catalog add https://raw.githubusercontent.com/rdryfoos/specassay/main/catalogs/extensions.json --name specassay --install-allowed
specify bundle catalog add https://raw.githubusercontent.com/rdryfoos/specassay/main/catalogs/bundles.json --id specassay --policy install-allowed

Both components can alternatively be installed directly with
specify extension add ... --from <url> and specify preset add ... --from <url>,
which was also tested on 2026-09-20.

Tags

traceability, governance, durable-ids, gate, sdd

Key Features
  • One install provisions the whole thread: templates that mint durable IDs, and the Gate that refuses a silent gap
  • Registry, specs and tasks must agree as an exact set; drift fails rather than passing quietly
  • Emits a trace-manifest any viewer can read, so proof is a file rather than a claim
  • Components are pinned to matching versions, so a partial upgrade cannot leave the bundle half-resolved
Testing Checklist
  • Validation succeeds with specify bundle validate --path <bundle-directory>
  • Build succeeds with specify bundle build --path <bundle-directory> and produces the submitted artifact
  • Bundle installs successfully from the built artifact
  • The submitted distribution path was tested end to end, including bundle-ID installation from an install-allowed catalog when a catalog entry is proposed
  • Installation was tested in a clean Spec Kit project
  • Required component catalogs are documented and were included in testing, or no extra catalogs are required
  • Documentation is complete and accurate
Submission Requirements
  • Valid bundle.yml manifest included
  • README.md explains the bundle's intended role, installed components, and installation steps
  • LICENSE file included
  • GitHub release created with a version tag
  • Bundle ID matches the manifest and follows naming conventions
  • Every extension, preset, workflow, and step reference is pinned where the manifest requires a version
Testing Details

This updates the existing catalog entry from 0.4.12 to 0.5.1, superseding
issue #4255 (merged as catalog PR #4257). It replaces #4651, closed by a
maintainer in favour of a clean issue. Neither v0.4.13 nor v0.5.0 was ever
filed, so this carries three releases of change.

Tested on: Linux, Spec Kit 1.0.5, Python 3.11.15, on 2026-09-20.
Previously captured on Spec Kit 1.0.4 at release time, 2026-09-17.

sha256 of the submitted artifact, re-confirmed against the published asset
2026-09-22:

$ curl -fsSL -O https://github.com/rdryfoos/specassay/releases/download/v0.5.1/specassay-0.5.1.zip
$ sha256sum specassay-0.5.1.zip
962421be236991f5afa4a93f48bd16a9b2e61cd9221985b9f233b93407132246 specassay-0.5.1.zip

Component digests, same run:
874728251c850e84d71f7a94dbdc326073703a8b408690d87a62b68d43dc6eff specassay-check-0.5.1.zip
41e5b5e807bbb2b7d4d90253886122416109465af023d85a110cd522c16848fc specassay-preset-0.5.1.zip

All three match the digests this project recorded independently at release on
2026-09-17.

Test scenarios, clean project:

$ specify init . --here --force --non-interactive --integration claude
$
$ specify bundle install specassay
Installed 'specassay' (2 added, 0 already present).

$ specify bundle list
specassay v0.5.1 (2 components, installed 2026-09-20T14:17:25Z)
$ specify preset list
SpecAssay (specassay) v0.5.1 - enabled - priority 10
$ specify extension list
SpecAssay Check (v0.5.1)

All three resolve 0.5.1 on the first try. A thread was then driven from an
empty registry through mint, the Gate's honest refusal, and a clear to green as
tracked debt.

Example Usage
# Add the three SpecAssay catalogs as install-allowed (community is discovery-only)
specify preset catalog add https://raw.githubusercontent.com/rdryfoos/specassay/main/catalogs/presets.json --name specassay --install-allowed
specify extension catalog add https://raw.githubusercontent.com/rdryfoos/specassay/main/catalogs/extensions.json --name specassay --install-allowed
specify bundle catalog add https://raw.githubusercontent.com/rdryfoos/specassay/main/catalogs/bundles.json --id specassay --policy install-allowed

# Install the bundle
specify bundle install specassay

# Mint an ID at intent, then let the Gate refuse anything unproven
/speckit.specassay-check.mint AC LOGIN "Given a wrong password, when the user signs in, then the form shows an error."
/speckit.specassay-check.gate
Proposed Catalog Entry
{
  "specassay": {
    "name": "SpecAssay",
    "id": "specassay",
    "version": "0.5.1",
    "role": "developer",
    "description": "Durable-ID promotion for stock Spec Kit: templates, Gate 2 refusal, and trace-manifest emission.",
    "author": "Rik Dryfoos",
    "license": "MIT",
    "download_url": "https://github.com/rdryfoos/specassay/releases/download/v0.5.1/specassay-0.5.1.zip",
    "repository": "https://github.com/rdryfoos/specassay",
    "requires": {
      "speckit_version": ">=0.14.0,<2.0.0"
    },
    "provides": {
      "extensions": 1,
      "presets": 1,
      "steps": 0,
      "workflows": 0
    },
    "tags": ["traceability", "governance", "durable-ids", "gate", "sdd"],
    "verified": false
  }
}
Additional Context

Update to an existing entry, not a new bundle. Replaces #4651.

File this after the two component issues, and reference them: the bundle pins
specassay-check@0.5.1 and specassay@0.5.1, so a partial bump leaves
specify bundle install unable to resolve.

extension - updates #4252 (merged as #4254), previously #4649, refiled as #EXT
preset - updates #4253 (merged as #4256), previously #4650, refiled as #PRE
bundle - updates #4255 (merged as #4257), previously #4651

主要语言
Python
星标
138k
派生
12.4k
平均合并
3 天 6 小时
30 天内合并 PR
145

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

github/spec-kit 的其他 Issue

查看 github/spec-kit 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。