Skip to content

[Extension]: Update AEE catalog entry to v1.3.0 #4935

Closed

Description

@tbitcs

Extension ID

aee

Extension Name

Applied Epistemic Engineering

Version

1.3.0

Description

Checks the claims in a spec-driven project against their evidence at every stage, and shows plainly what is verified, what is not, and what remains not understood.

Author

ElectroHire

Repository URL

https://github.com/electrohire/spec-kit-aee

Download URL

https://github.com/electrohire/spec-kit-aee/archive/refs/tags/v1.3.0.zip

License

MIT

Homepage (optional)

https://github.com/electrohire/spec-kit-aee

Documentation URL (optional)

https://github.com/electrohire/spec-kit-aee#readme

Changelog URL (optional)

https://github.com/electrohire/spec-kit-aee/blob/main/CHANGELOG.md

Required Spec Kit Version

=1.0.0,<2

Required Tools (optional)

  • python (>=3.11) — required
  • aee CLI — the Applied Epistemic Engineering engine (>=1.5.0,<2), installed from PyPI as applied-epistemic-engineering; 1.5.0 is the realigned engine (claim life-cycle stages, stage-capped reported statuses, lane-paired outcomes, not_understood) and the runner refuses an out-of-range engine at startup — required
  • spec-kit-evaluator (>=1.0.0,<2) — Spec Kit extension implementing the Evaluator Contract — optional: the runner never invokes it (the AEE engine produces the Evaluator Contract result itself); install it only for its own compose/report/route commands
  • rtk — optional token-economy tool; every workflow degrades gracefully when it is absent
  • headroom — optional token-economy tool; every workflow degrades gracefully when it is absent
  • token-router — optional token-economy tool; every workflow degrades gracefully when it is absent
  • ollama — optional; used only by the optional token-economy routing

Number of Commands

10 (speckit.aee.draft-claims, speckit.aee.assess, speckit.aee.challenge, speckit.aee.trace, speckit.aee.verify, speckit.aee.gate, speckit.aee.review, speckit.aee.gaps, speckit.aee.route-evidence, speckit.aee.report-savings)

Number of Hooks (optional)

5 (after_specify, after_plan, after_tasks, after_implement, after_verify)

Tags

epistemics, evidence, provenance, uncertainty, governance

Key Features

  • Draft atomic claims from a spec's requirements for human ratification; drafts are born draft and are never upgraded by the tool (new command in 1.3.0)
  • Assess claims against their evidence and show, for each claim, the life-cycle stage it has actually reached — created, checked, explained, accepted, digested — with reported status capped by that stage
  • Report machine verification and human acceptance side by side as a pair, never merged into one number, plus a plain statement of what remains not understood
  • Challenge claims on atomicity, boundaries, falsifiability, dependencies, and evidence independence
  • Attach policy gates to assessment: per-claim accept / challenge / abstain verdicts with corroboration and forced-abstention rules, and measured per-source reliability blended into scoring
  • Render the claim dependency graph and inspect where each claim's support comes from
  • Verify the tamper-evident evidence ledger, without claiming that its contents are true
  • Apply a CI-friendly decision gate to an assessment
  • Diff two assessments into a materiality-filtered review queue (speckit.aee.review)
  • Generate and update the gap register from a verification matrix and test evidence
  • Route oversized evidence into raw slices for the gates, with token-savings figures that are measured, never estimated

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

Install test: the v1.3.0 archive was installed from the download URL itself into a fresh Spec Kit project; the installed copy reports version 1.3.0 with all 10 commands present, and specify extension list shows aee enabled. The archive itself was also downloaded and parsed directly: its extension.yml reads id aee, version 1.3.0, 10 command files under commands/, 5 hooks, README.md and LICENSE at the root.
Test suite: 127 tests pass in the extension repository against the real AEE engine 1.5.0 — both alongside a live engine checkout and in the hash-pinned requirements environment — including end-to-end runs of the runner operations and manifest-compliance tests that parse extension.yml; the release PR's CI was green on the repository's protected main.
What changed in v1.3.0 vs the catalog's v1.2.0: a new command, speckit.aee.draft-claims (9 → 10 commands); the runner and command documents now use the engine 1.5.0 vocabulary — life-cycle stages with stage-capped reported statuses, lane-paired outcomes (machine verification reported beside human acceptance, never merged), and a not_understood statement with every verdict; the engine floor rises to >=1.5.0,<2 (from >=1.4.0,<2) and the runner refuses an out-of-range engine at startup; the required Spec Kit version is now >=1.0.0,<2; spec-kit-evaluator becomes optional (required: false) because the runner never invokes it; and the runner hardening recorded in the changelog (evidence confined to the project — symlinked or out-of-root evidence refused by name, a timeout on every engine subprocess, secrets redacted from run records, collision-proof artifact names).

Example Usage

# Install the engine the extension drives
python -m pip install "applied-epistemic-engineering>=1.5.0,<2"

# Install extension
specify extension add aee --from https://github.com/electrohire/spec-kit-aee/archive/refs/tags/v1.3.0.zip

# Draft ratifiable claims from your spec, then assess them
/speckit.aee.draft-claims
/speckit.aee.assess phase=after_specify artifact=specs/001-search/spec.md

Proposed Catalog Entry

{
  "aee": {
    "name": "Applied Epistemic Engineering",
    "id": "aee",
    "description": "Checks the claims in a spec-driven project against their evidence at every stage, and shows plainly what is verified, what is not, and what remains not understood.",
    "author": "ElectroHire",
    "version": "1.3.0",
    "download_url": "https://github.com/electrohire/spec-kit-aee/archive/refs/tags/v1.3.0.zip",
    "repository": "https://github.com/electrohire/spec-kit-aee",
    "homepage": "https://github.com/electrohire/spec-kit-aee",
    "documentation": "https://github.com/electrohire/spec-kit-aee#readme",
    "changelog": "https://github.com/electrohire/spec-kit-aee/blob/main/CHANGELOG.md",
    "license": "MIT",
    "category": "process",
    "effect": "read-write",
    "requires": {
      "speckit_version": ">=1.0.0,<2",
      "tools": [
        { "name": "python", "version": ">=3.11", "required": true },
        { "name": "aee", "version": ">=1.5.0,<2", "required": true },
        { "name": "spec-kit-evaluator", "version": ">=1.0.0,<2", "required": false },
        { "name": "rtk", "required": false },
        { "name": "headroom", "required": false },
        { "name": "token-router", "required": false },
        { "name": "ollama", "required": false }
      ]
    },
    "provides": {
      "commands": 10,
      "hooks": 5
    },
    "tags": ["epistemics", "evidence", "provenance", "uncertainty", "governance"],
    "verified": false,
    "downloads": 0,
    "stars": 0,
    "created_at": "2026-09-15T00:00:00Z",
    "updated_at": "2026-10-12T00:00:00Z"
  }
}

Additional Context

Note for maintainers: this updates the existing catalog entry for the AEE extension (v1.2.0 → v1.3.0). It is the successor to #4890 (the v1.2.0 update, merged via PR #4895), not a duplicate.

What changed in the entry, so the diff is easy to review:

  • Version 1.2.0 → 1.3.0; commands 9 → 10 (adds speckit.aee.draft-claims); hooks unchanged at 5.
  • requires.speckit_version >=1.0.0 → >=1.0.0,<2, matching the released extension.yml.
  • aee engine floor >=1.4.0,<2 → >=1.5.0,<2. Engine 1.5.0 is the realigned engine (life-cycle stages, stage-capped reported statuses, lane-paired outcomes, not_understood); the extension's runner refuses an out-of-range engine at startup rather than scoring with it.
  • spec-kit-evaluator flips from required: true to required: false. The runner never invokes the evaluator extension — the AEE engine produces the Evaluator Contract result itself (its --evaluator-output). The evaluator (now released at v1.1.0) remains an optional companion for its own compose/report/route commands over that result.
  • No sha256 is submitted, as with [Extension]: Update AEE catalog entry to v1.2.0 #4890; the catalog may record the digest validation computes for the v1.3.0 archive. The v1.3.0 tag will not be moved or recreated.

Links:

Activity

  1. github-actions commented on Oct 12, 2026

    @github-actions
    Contributor

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

  2. github-actions commented on Oct 12, 2026

    @github-actions
    Contributor

    Pull request created: #4936

    Generated by Add Community Extension from Issue Submission · copilot · gpt52codex · 2.9 AIC · ⌖ 0.758 AIC · ⊞ 25K

  3. tbitcs commented on Oct 12, 2026

    @tbitcs
    Author

    Closing this as superseded.

    This entry describes v1.3.0, in which the spec-kit-evaluator extension was listed as optional. A design correction has since shipped as v1.4.0: the evaluator extension is now a required companion. AEE is one evaluator among many, and its results are composed through the shared evaluator extension, so every evaluator's output is handled the same way — consistency by construction, rather than by each project's choice. The v1.4.0 runner enforces the pairing: assess refuses (exit 2) when the evaluator extension is not installed in the project.

    A replacement submission for v1.4.0 follows in a new issue. Nothing in this issue was validated or merged, so no catalog state changes hands — the catalog still carries v1.2.0 until the replacement is processed.

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