Skip to content

[Bundle]: Add specassay #4059

Description

@rdryfoos

Bundle ID

specassay

Bundle Name

SpecAssay

Version

0.3.4

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.3.4/specassay-0.3.4.zip

Documentation URL

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

License

MIT

Required Spec Kit Version

=0.14.0

Integration Target (optional)

No response

Components Provided

  • extensions: specassay-check@0.3.4
  • presets: specassay@0.3.4

Required Component Catalogs

Tags

traceability, governance, durable-ids, gate, sdd

Key Features

  • Installs the durable-ID contract (preset) and the Gate that enforces it (extension) as one stack
  • Gate 2 refuses silent acceptance-criterion gaps; every run emits trace-manifest.json, including refusals
  • Thread Report: one CI briefing per PR, with restated-intent detection and optional human-ack gates
  • Components pinned to release-tested versions; the artifact is built by specify bundle build in CI through these same catalogs

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

Tested on:

  • Linux (containerized), Spec Kit CLI specify 0.16.3.dev0 (installed from main)

Test project: clean specify init project; full transcript in
https://github.com/rdryfoos/specassay/blob/main/docs/submission/test-evidence.md

Test scenarios:

  1. Added the three hosted catalogs (extensions, presets, bundles) as install-allowed
  2. specify bundle validate --path <repo> — valid
  3. specify bundle build --path <repo> — produces the submitted artifact (same command CI runs for releases)
  4. specify bundle install specassay by ID from the catalog stack in the clean project — 2 components installed
  5. Verified with specify bundle list, specify extension list, specify preset list
  6. Ran the installed Gate on a real project (HomesFlow, https://github.com/rdryfoos/HomesFlow) — ~81-row trace-manifest

Example Usage

# Add the component catalogs, then the bundle catalog (all install-allowed)
specify extension catalog add --name specassay --install-allowed \
  https://raw.githubusercontent.com/rdryfoos/specassay/main/catalogs/extensions.json
specify preset catalog add --name specassay --install-allowed \
  https://raw.githubusercontent.com/rdryfoos/specassay/main/catalogs/presets.json
specify bundle catalog add --id specassay --policy install-allowed \
  https://raw.githubusercontent.com/rdryfoos/specassay/main/catalogs/bundles.json

# Install by bundle ID
specify bundle install specassay

# Or install the downloaded artifact directly
curl -L -o specassay-0.3.4.zip https://github.com/rdryfoos/specassay/releases/download/v0.3.4/specassay-0.3.4.zip
specify bundle install ./specassay-0.3.4.zip

Proposed Catalog Entry

{
  "specassay": {
    "name": "SpecAssay",
    "id": "specassay",
    "version": "0.3.4",
    "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.3.4/specassay-0.3.4.zip",    "repository": "https://github.com/rdryfoos/specassay",
    "requires": {
      "speckit_version": ">=0.14.0"
    },
    "provides": {
      "extensions": 1,
      "presets": 1,
      "steps": 0,
      "workflows": 0
    },
    "tags": ["traceability", "governance", "durable-ids", "gate", "sdd"],
    "verified": false
  }
}

Additional Context

Component submissions for the two bundled components: extension issue #4057 and preset issue #4058.

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 Thread Report and intent-PR behavior on live PRs in this repository.

Activity

  1. github-actions commented on Aug 12, 2026

    @github-actions
    Contributor

    cc @github/spec-kit-maintainers — new catalog submission for review.

  2. added a commit that references this issue on Aug 12, 2026
    a4ca563
  3. github-actions commented on Aug 12, 2026

    @github-actions
    Contributor

    Pull request created: #4072

    Generated by Add Community Bundle from Issue Submission · 179 AIC · ⌖ 16.3 AIC · ⊞ 35.9K

  4. KSchlobohm commented on Aug 12, 2026

    @KSchlobohm
    Contributor

    Thanks for the coordinated extension, preset, and bundle submissions in #4057, #4058, and #4059.

    One metadata inconsistency needs to be resolved across all three items. The submitted issues and generated catalog PRs identify the author as “Rik Dryfoos,” but the manifests inside all three v0.3.1 release assets identify the author as “Rik Dryfoos / Dryfoos Consulting.”

    Could you please publish updated release assets with the author consistently set to “Rik Dryfoos” in extension.yml, preset.yml, and bundle.yml, then update the affected submission versions and download URLs?

    We need the published artifacts, structured submissions, and catalog entries to match exactly before proceeding.

  5. rdryfoos commented on Aug 12, 2026

    @rdryfoos
    Author

    Fixed. The author field was already "Rik Dryfoos" on main, but the v0.3.1 assets were built before that landed. v0.3.2 republishes all three with matching metadata in extension.yml, preset.yml, and bundle.yml; the catalog entries and all three submission issues are updated to match.

    specassay-check 0.3.2: https://github.com/rdryfoos/specassay/releases/download/v0.3.2/specassay-check-0.3.2.zip
    specassay (preset) 0.2.1: https://github.com/rdryfoos/specassay/releases/download/v0.3.2/specassay-preset-0.2.1.zip
    specassay (bundle) 0.3.2: https://github.com/rdryfoos/specassay/releases/download/v0.3.2/specassay-0.3.2.zip

  6. rdryfoos commented on Aug 13, 2026

    @rdryfoos
    Author

    version bump

  7. added a commit that references this issue on Aug 14, 2026
    1456074
  8. github-actions commented on Aug 14, 2026

    @github-actions
    Contributor

    Pull request created: #4125

    Generated by Add Community Bundle from Issue Submission · 252.7 AIC · ⌖ 16.3 AIC · ⊞ 35.9K

  9. KSchlobohm commented on Aug 14, 2026

    @KSchlobohm
    Contributor

    Thanks @rdryfoos for the contribution and for working through the review feedback. The SpecAssay bundle is now available in the community catalog via #4125.

  10. added a commit that references this issue on Aug 14, 2026
    bf88c9f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions