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
This is an update to an existing catalog entry, not a new submission. The archive extension is already in extensions/catalog.community.json at version 1.0.0. This submission bumps it to 1.1.0. Four fields change: version, download_url, stars, and updated_at. Everything else is unchanged.
Extension ID
archive
Extension Name
Archive Extension
Version
1.1.0
Description
Archive merged features into main project memory, resolving gaps and conflicts.
None beyond Spec Kit's own check-prerequisites.sh.
Number of Commands
1
Number of Hooks (optional)
0
Tags
archive, memory, merge, changelog
Key Features
What 1.1.0 adds over 1.0.0 (full detail in CHANGELOG.md):
Consolidation instead of accumulation. The main spec.md previously grew as a pile of per-feature extractions, because the edit rules said "prefer appending over restructuring" and deduplication only caught exact duplicates. Incoming feature items now fold into the existing entry covering the same ground. Two entries that both already exist in main memory are never merged, so an established requirement ID cannot disappear.
Item-level traceability. Entries carry [Source: specs/###-feature/spec.md -> FR-012] refs, one per contributing feature. Stable IDs are used rather than line numbers, which rot as soon as a source spec is edited after archival.
Supersession pass. Detects requirements a later feature wholly replaces, confirms removal with the user, deletes the retired entry from spec.md, and records a RETIRED: line in changelog.md. Retired IDs are read back on later runs so they are never reissued. Removal is skipped entirely unless both spec.md and changelog.md are writable, so a deletion cannot happen without an audit trail. Unresolved contradictions are recorded and re-raised on later runs.
Assumptions and Measurable Outcomes (SC-XXX) are now captured. These sections exist in the canonical spec-template.md but were previously dropped on archival.
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.yml manifest 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
Tested end to end on a real project: stn1slv/Overtype@15cddd1, archiving feature 005-teams-ax-recovery into that project's existing .specify/memory/.
What that run exercised and confirmed:
Consolidation: two of the feature's requirements were folded into existing FR-022 and FR-023 rather than appended, each now carrying two source refs.
Item-level traceability, including in-place upgrade of older directory-level [Source: ...] refs on the entries that were touched.
ID continuation: FR-035–FR-040 and SC-019–SC-023 continued the existing sequences without collision or renumbering.
Multi-artifact update: .specify/memory/spec.md, plan.md, changelog.md, the agent knowledge file, and the feature spec's status field were all updated as specified.
One limitation stated plainly: that project had nothing to supersede, so supersession detection ran and correctly reported no candidates, but the removal path was not exercised on a live project. The removal path is confirmation-gated and refuses to run unless the audit trail can be written, so its failure mode is to do nothing rather than to delete something unrecorded.
swift test in the target project passed (64 tests, 0 failures) after archival, confirming the run was documentation-only and touched no source.
Example Usage
# Install
specify extension add archive --from https://github.com/stn1slv/spec-kit-archive/archive/refs/tags/v1.1.0.zip
# Archive a merged feature into project memory
/speckit.archive.run specs/005-teams-ax-recovery
# Restrict scope if desired
/speckit.archive.run specs/005-teams-ax-recovery --spec-only
Diff against the current catalog entry, for reviewer convenience — only these four fields change:
Field
Current
Proposed
version
1.0.0
1.1.0
download_url
.../tags/v1.0.0.zip
.../tags/v1.1.0.zip
stars
0
24
updated_at
2026-03-14T00:00:00Z
2026-08-04T00:00:00Z
provides is unchanged at 1 command and 0 hooks, matching extension.yml. verified, downloads, created_at, category, effect, and description are unchanged.
Note
This is an update to an existing catalog entry, not a new submission. The
archiveextension is already inextensions/catalog.community.jsonat version 1.0.0. This submission bumps it to 1.1.0. Four fields change:version,download_url,stars, andupdated_at. Everything else is unchanged.Extension ID
archive
Extension Name
Archive Extension
Version
1.1.0
Description
Archive merged features into main project memory, resolving gaps and conflicts.
Author
Stanislav Deviatov
Repository URL
https://github.com/stn1slv/spec-kit-archive
Download URL
https://github.com/stn1slv/spec-kit-archive/archive/refs/tags/v1.1.0.zip
License
MIT
Homepage (optional)
https://github.com/stn1slv/spec-kit-archive
Documentation URL (optional)
https://github.com/stn1slv/spec-kit-archive/blob/main/README.md
Changelog URL (optional)
https://github.com/stn1slv/spec-kit-archive/blob/main/CHANGELOG.md
Required Spec Kit Version
Required Tools (optional)
None beyond Spec Kit's own
check-prerequisites.sh.Number of Commands
1
Number of Hooks (optional)
0
Tags
archive, memory, merge, changelog
Key Features
What 1.1.0 adds over 1.0.0 (full detail in CHANGELOG.md):
spec.mdpreviously grew as a pile of per-feature extractions, because the edit rules said "prefer appending over restructuring" and deduplication only caught exact duplicates. Incoming feature items now fold into the existing entry covering the same ground. Two entries that both already exist in main memory are never merged, so an established requirement ID cannot disappear.[Source: specs/###-feature/spec.md -> FR-012]refs, one per contributing feature. Stable IDs are used rather than line numbers, which rot as soon as a source spec is edited after archival.spec.md, and records aRETIRED:line inchangelog.md. Retired IDs are read back on later runs so they are never reissued. Removal is skipped entirely unless bothspec.mdandchangelog.mdare writable, so a deletion cannot happen without an audit trail. Unresolved contradictions are recorded and re-raised on later runs.SC-XXX) are now captured. These sections exist in the canonicalspec-template.mdbut were previously dropped on archival.Testing Checklist
Submission Requirements
extension.ymlmanifest includedTesting Details
Tested end to end on a real project: stn1slv/Overtype@15cddd1, archiving feature
005-teams-ax-recoveryinto that project's existing.specify/memory/.What that run exercised and confirmed:
FR-022andFR-023rather than appended, each now carrying two source refs.[Source: ...]refs on the entries that were touched.FR-035–FR-040andSC-019–SC-023continued the existing sequences without collision or renumbering..specify/memory/spec.md,plan.md,changelog.md, the agent knowledge file, and the feature spec's status field were all updated as specified.One limitation stated plainly: that project had nothing to supersede, so supersession detection ran and correctly reported no candidates, but the removal path was not exercised on a live project. The removal path is confirmation-gated and refuses to run unless the audit trail can be written, so its failure mode is to do nothing rather than to delete something unrecorded.
swift testin the target project passed (64 tests, 0 failures) after archival, confirming the run was documentation-only and touched no source.Example Usage
Proposed Catalog Entry
{ "name": "Archive Extension", "id": "archive", "description": "Archive merged features into main project memory, resolving gaps and conflicts.", "author": "Stanislav Deviatov", "version": "1.1.0", "download_url": "https://github.com/stn1slv/spec-kit-archive/archive/refs/tags/v1.1.0.zip", "repository": "https://github.com/stn1slv/spec-kit-archive", "homepage": "https://github.com/stn1slv/spec-kit-archive", "documentation": "https://github.com/stn1slv/spec-kit-archive/blob/main/README.md", "changelog": "https://github.com/stn1slv/spec-kit-archive/blob/main/CHANGELOG.md", "license": "MIT", "category": "docs", "effect": "read-write", "requires": { "speckit_version": ">=0.1.0" }, "provides": { "commands": 1, "hooks": 0 }, "tags": [ "archive", "memory", "merge", "changelog" ], "verified": false, "downloads": 0, "stars": 24, "created_at": "2026-03-14T00:00:00Z", "updated_at": "2026-08-04T00:00:00Z" }Additional Context
Diff against the current catalog entry, for reviewer convenience — only these four fields change:
version1.0.01.1.0download_url.../tags/v1.0.0.zip.../tags/v1.1.0.zipstars024updated_at2026-03-14T00:00:00Z2026-08-04T00:00:00Zprovidesis unchanged at 1 command and 0 hooks, matchingextension.yml.verified,downloads,created_at,category,effect, anddescriptionare unchanged.Release: https://github.com/stn1slv/spec-kit-archive/releases/tag/v1.1.0