Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Status: early — phases 0–6 landed and v0.18.0 is public. `@adrkit/core`,
`@adrkit/evaluator`, `@adrkit/cli` (`lint`, `new`, `graph`, `explain`,
`check`, `queue`, `accept`, `approve`, `object`, `resolve`, `migrate --from madr`,
`evaluate`) are published on npm, as is
the independently versioned `@adrkit/spec-kit` Spec Kit extension (0.1.4); the
the independently versioned `@adrkit/spec-kit` Spec Kit extension (0.1.5); the
repository-backed CI Action is available at `mbeacom/adrkit/packages/ci@v0`.
The governing-decisions Action also has a root `action.yml` alias for GitHub
Marketplace beginning with v0.13.0. Root
Expand Down Expand Up @@ -208,8 +208,8 @@ second distribution surface
namespaced commands to a [Spec Kit](https://github.com/github/spec-kit) project
— `/speckit.adrkit.context`, `/speckit.adrkit.check`, `/speckit.adrkit.draft` —
plus one **optional** `after_plan` hook that offers to run the check. Pinned to
Spec Kit `>=0.13.0,<1.1.0`, verified against 0.13.0, 0.14.4, 0.15.1, 0.16.5,
1.0.0, and 1.0.4–1.0.6.
Spec Kit `>=0.13.0,<1.2.0`, verified against 0.13.0, 0.14.4, 0.15.1, 0.16.5,
1.0.0, 1.0.4–1.0.6, 1.0.13, and 1.1.0–1.1.3.
Authorized by
[ADR-0019](./docs/adr/0019-ship-the-spec-kit-extension-treating-the-spike-no-go-as-a-measurement-artifact.md).
**Landed / reference-verified** on ADR-0014 rungs 1–2; rung 3 open.
Expand All @@ -220,7 +220,7 @@ Things that are load-bearing and easy to break:
[ADR-0007](./docs/adr/0007-adapter-isolation-and-public-surface-build.md) — its
semver contract is with Spec Kit, not with `@adrkit/core`. It releases on its
own `spec-kit-v<semver>` tag (see [`docs/RELEASING.md`](./docs/RELEASING.md)),
currently **0.1.4**, and does **not** move with the repository version.
currently **0.1.5**, and does **not** move with the repository version.
Comment thread
mbeacom marked this conversation as resolved.
- **Two version fields must agree**: `package.json` (npm) and `extension.yml`
(Spec Kit). A test asserts they match — 0.1.1 shipped with them diverged and
told every user the wrong version.
Expand All @@ -232,7 +232,7 @@ Things that are load-bearing and easy to break:
same reason. Enforced by `test/packaging.test.ts`.
- **The community catalog is discovery-only, so docs install from the archive.**
`specify extension add adrkit` exits 1 on every Spec Kit version measured
(0.13.0 to 1.0.13). The docs give
(0.13.0 to 1.1.3). The docs give
`--from .../releases/download/spec-kit-v<version>/adrkit.zip`, which prompts
`Continue with installation? [y/N]` (no `--yes`; `--force` does not skip it).
`releases/latest/download` follows the lockstep release and 404s, so the URL
Expand Down
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,40 @@ Until `1.0.0`, minor releases may include breaking changes
that instead of "exited 2". This follows a Windows report (git
2.55.0.vfs.0.10) whose cause is not reproduced here.

## [spec-kit-0.1.5] - 2026-10-09

### Changed

- **The Spec Kit pin is widened to `>=0.13.0,<1.2.0`.** Re-verified, not
bumped on inference. 0.1.4 refuses every 1.1.x with `Compatibility Error:
Extension requires spec-kit >=0.13.0,<1.1.0, but 1.1.3 is installed.`
(exit 1, from the release archive and from `--dev`). Upstream's extension API
reference is byte-identical from 0.16.5 through 1.1.2, and 1.1.3 adds only
the bundled `bug` extension's hook events. The 1.1 loader changes (generic
integration registration, exact catalog releases, transactional install
rollback, external agent adapters) remove nothing this extension uses. On
1.1.0 and 1.1.3, under both the Copilot and Claude integrations, the
extension installs with `--dev`, from its archive, and through `specify init
--extension`; it registers the same three `speckit-adrkit-*` skills; the
`after_plan` hook is recorded `optional: true`; the generated plan skill
still maps dots to hyphens; and `context.sh` and `check.sh` run from the
installed location against a small corpus with `@adrkit/cli` 0.18.0. 1.1.1
and 1.1.2 were sampled under Copilot with the same results. 1.1.0 is not on
PyPI and was installed from its git tag
([ADR-0019](docs/adr/0019-ship-the-spec-kit-extension-treating-the-spike-no-go-as-a-measurement-artifact.md),
2026-10-09 addendum).

`<1.2.0` asserts "verified through the `1.1` line"; 1.2.0 is where the
extension fails loud and re-verification is owed.

### Fixed

- **The packaged README gives an install command that works.** The 0.1.4
archive and npm README still say `specify extension add adrkit`, which every
measured Spec Kit refuses because the community catalog is discovery-only.
0.1.5 ships the corrected README, which installs from the versioned release
archive and names the commands per integration.

## [0.18.0] - 2026-10-09

This release adds `adr approve`, `adr object`, and `adr resolve`, so review
Expand Down Expand Up @@ -2114,6 +2148,7 @@ against live Spec Kit, rather than reasoning about it:
[0.6.0]: https://github.com/mbeacom/adrkit/compare/v0.5.0...v0.6.0
[0.5.0]: https://github.com/mbeacom/adrkit/compare/v0.4.0...v0.5.0
[0.4.0]: https://github.com/mbeacom/adrkit/compare/v0.3.0...v0.4.0
[spec-kit-0.1.5]: https://github.com/mbeacom/adrkit/compare/spec-kit-v0.1.4...spec-kit-v0.1.5
[spec-kit-0.1.4]: https://github.com/mbeacom/adrkit/compare/spec-kit-v0.1.3...spec-kit-v0.1.4
[spec-kit-0.1.3]: https://github.com/mbeacom/adrkit/compare/spec-kit-v0.1.2...spec-kit-v0.1.3
[spec-kit-0.1.2]: https://github.com/mbeacom/adrkit/compare/spec-kit-v0.1.1...spec-kit-v0.1.2
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ See the [Quickstart guide](https://adrkit.dev/quickstart/) and the full
| Run adrkit from an OCI image | [Container usage](#container-usage) | Lockstep multi-architecture image, beginning with the first release containing ADR-0032 |
| Comment governing decisions on pull requests | [Use in CI](https://adrkit.dev/ci/) | GitHub Action from this repository |
| Evaluate decision governance with a generated wiki | [Generated knowledge guide](https://adrkit.dev/generated-knowledge/) | Provisional OpenWiki recipe; no runtime coupling |
| Add decision memory to Spec Kit | [`@adrkit/spec-kit`](packages/adapters/spec-kit/README.md) | Published separately for Spec Kit `>=0.13.0,<1.1.0` |
| Add decision memory to Spec Kit | [`@adrkit/spec-kit`](packages/adapters/spec-kit/README.md) | Published separately for Spec Kit `>=0.13.0,<1.2.0` |
| Add decision memory to Copilot, Claude Code, or opencode | [`adrkit` agent plugin](packages/adapters/agent-plugin/README.md) | Install from this repository or marketplace |

## Container usage
Expand Down Expand Up @@ -223,8 +223,8 @@ construction, and hooks can only reach commands that do not write — `draft` is
deliberately unreachable from any hook, because a plan-phase hook creating
records unprompted would manufacture decision memory rather than record it.

Pinned to Spec Kit `>=0.13.0,<1.1.0` and tested against 0.13.0, 0.14.4, 0.15.1,
0.16.5, 1.0.0, and 1.0.4–1.0.6. It is listed in the Spec Kit community catalog,
Pinned to Spec Kit `>=0.13.0,<1.2.0` and tested against 0.13.0, 0.14.4, 0.15.1,
0.16.5, 1.0.0, 1.0.4–1.0.6, 1.0.13, and 1.1.0–1.1.3. It is listed in the Spec Kit community catalog,
which is discovery-only, so install it from its release archive with
`specify extension add adrkit --from <zip URL>`; see the package README for the
URL and setup. Under the Claude Code integration, and under Copilot from Spec
Expand Down
2 changes: 1 addition & 1 deletion bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -243,9 +243,9 @@ floating range that appears to work until it does not.

1. [x] Build the extension at `packages/adapters/spec-kit/` under the constraints above
2. [x] Enforce the read-only hook boundary with a test observed failing first
3. [x] Re-verify the `speckit_version` pin against the next Spec Kit minor before widening it — done 2026-08-01, see the addendum above; widened to `<0.16.0`, verified at 0.13.0, 0.14.4, 0.15.1. **Superseded twice since, and this item records the practice rather than a one-time task:** re-verified 2026-09-09 and widened to `<1.1.0`, then extended 2026-09-12 to close the `1.0` line's upper edge. The current bound and its evidence live in the two addenda below, not on this line.
3. [x] Re-verify the `speckit_version` pin against the next Spec Kit minor before widening it — done 2026-08-01, see the addendum above; widened to `<0.16.0`, verified at 0.13.0, 0.14.4, 0.15.1. **Superseded three times since, and this item records the practice rather than a one-time task:** re-verified 2026-09-09 and widened to `<1.1.0`, then extended 2026-09-12 to close the `1.0` line's upper edge, then re-verified 2026-10-09 and widened to `<1.2.0`. The current bound and its evidence live in the addenda below, not on this line.
4. [x] Decide whether to publish `@adrkit/spec-kit` to npm, or install it from the repository — **both channels**, see the addendum below
5. [x] Submit the catalog entry to `github/spec-kit` once a release asset exists — submitted 2026-08-03 as issue [github/spec-kit#3942](https://github.com/github/spec-kit/issues/3942) and applied the same day by a maintainer in [#3947](https://github.com/github/spec-kit/pull/3947), listing version 0.1.2. (An earlier revision of this line said "landed 2026-08-25 via #3947"; both the issue and the pull request are dated 2026-08-03, and the pull request was the maintainer's step rather than ours.) **This is a standing per-release obligation, not a one-time task, and treating it as one-time cost two releases:** the entry stayed pinned at 0.1.2 through 0.1.3 and 0.1.4, still advertising `>=0.13.0,<0.16.0` — a bound that by then refused to install on any current Spec Kit. An update request for 0.1.4 was **submitted** 2026-09-13 as [github/spec-kit#4571](https://github.com/github/spec-kit/issues/4571) and is **still open**: the catalog entry remains at 0.1.2 until a maintainer applies it, so `specify extension search` keeps serving the stale entry in the meantime. Filing is not refreshing, and this item is not closed by the filing — record the refresh when the catalog change actually lands. The release runbook carries the step ([`docs/RELEASING.md`](../RELEASING.md)).
5. [x] Submit the catalog entry to `github/spec-kit` once a release asset exists — submitted 2026-08-03 as issue [github/spec-kit#3942](https://github.com/github/spec-kit/issues/3942) and applied the same day by a maintainer in [#3947](https://github.com/github/spec-kit/pull/3947), listing version 0.1.2. (An earlier revision of this line said "landed 2026-08-25 via #3947"; both the issue and the pull request are dated 2026-08-03, and the pull request was the maintainer's step rather than ours.) **This is a standing per-release obligation, not a one-time task, and treating it as one-time cost two releases:** the entry stayed pinned at 0.1.2 through 0.1.3 and 0.1.4, still advertising `>=0.13.0,<0.16.0` — a bound that by then refused to install on any current Spec Kit. An update request for 0.1.4 was submitted 2026-09-13 as [github/spec-kit#4571](https://github.com/github/spec-kit/issues/4571) and applied when a maintainer closed it on 2026-09-15: on 2026-10-09 `catalog.community.json` lists 0.1.4 with `>=0.13.0,<1.1.0`, which `specify extension search adrkit` on 1.1.x also reports. Filing is not refreshing, so record each refresh when the catalog change actually lands, not when the issue is filed. 0.1.5 owes the same submission once its asset resolves. The release runbook carries the step ([`docs/RELEASING.md`](../RELEASING.md)).
6. [x] Remove `@adrkit/spec-kit` from `BOOTSTRAP_PACKAGES` after its first publish, once Trusted Publishing is configured for the name — done 2026-08-03; the set is now empty, which is its correct steady state. The `NPM_BOOTSTRAP_TOKEN` secret can be deleted.

### Addendum, 2026-08-02: distribution channels (action item 4)
Expand Down Expand Up @@ -356,3 +356,28 @@ exercises `0.13.0`/`0.14.4`/`0.15.1`, and bringing `0.16.5`, `1.0.0`, and
No manifest change accompanies this addendum — the pin already reads
`>=0.13.0,<1.1.0`; only its evidence moved. `@adrkit/spec-kit` 0.1.4 is the
release that carries it.

### Addendum, 2026-10-09: widening to the `1.1` line

Spec Kit 1.1.0 shipped on 2026-10-02, and the `<1.1.0` gate fired as this
decision intends: 0.1.4 refuses 1.1.0 and 1.1.3 from both its release archive
and `--dev`, with `Compatibility Error: Extension requires spec-kit
>=0.13.0,<1.1.0, but 1.1.3 is installed.` and exit 1. This addendum records
the re-verification on the same maintainer-session terms as the two above.

| Evidence | Result |
|---|---|
| `extensions/EXTENSION-API-REFERENCE.md`, `v1.0.13` → `v1.1.3` | byte-identical through `v1.1.2` (SHA-256 `cb037d69fe62c7d8…`); `v1.1.3` adds only the bundled `bug` extension's hook events. Additive. |
| Loader, `v1.0.13` → `v1.1.3` | generic-integration registration (#4785), exact catalog release selection (#4726), external agent adapters (#4862), and install rollback that unregisters hooks on failure. `SpecifierSet` parsing and `.extensionignore` are untouched; the one new refusal applies only to catalog installs. |
| Install of 0.1.5 on `1.1.0` (git tag; never on PyPI) and `1.1.3` (PyPI), Copilot and Claude integrations, by `--dev`, by `--from` its packed archive, and by `specify init --extension` | exit 0 on all twelve; three `speckit-adrkit-*` skills registered; `after_plan` recorded `optional: true`; the plan skill still maps dots to hyphens; no development files deposited. `1.1.1` and `1.1.2` sampled under Copilot with the same results. |
| `context.sh` and `check.sh` from the installed location, `@adrkit/cli` 0.18.0 | exit 0 on every run, with the expected governing records |

Nothing in `commands/` or `scripts/` needed to change. The bound is widened to
`>=0.13.0,<1.2.0`: `<1.2.0` asserts "verified through the `1.1` line", and
1.2.0 is where re-verification is next owed. `@adrkit/spec-kit` moves to 0.1.5
with this widening, which also ships the README install line corrected after
0.1.4. The full matrix is in
[`docs/reference-verification-spec-kit-extension.md`](../reference-verification-spec-kit-extension.md).

Limitations: unchanged. These are maintainer-session installs, not tracked
dogfood legs, and no live agent session watched the hook offer render on 1.1.x.
Loading
Loading