github / github/spec-kit

[Extension]: Add Applied Epistemic Engineering

Closed
#4,565 2 comments 0 reactions 0 assignees View on GitHub
extension-submission triage-nice-to-have validation-passed
Dominant language
Python
Stars
137k
Forks
12.3k
Avg merge
2d 12h
Merged PRs (30d)
159

Description

### Extension ID

aee

### Extension Name

Applied Epistemic Engineering

### Version

1.0.0

### Description

Challenges claims, traces evidence, propagates uncertainty, and routes epistemic failures between Spec Kit phases.

### Author

ElectroHire

### Repository URL

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

### Download URL

https://github.com/electrohire/spec-kit-aee/archive/refs/tags/v1.0.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

### Required Tools (optional)

- `aee` (`applied-epistemic-engineering>=1.0.0,<2`) — required
- Evaluator Contract commands from `spec-kit-evaluator>=1.0.0` — required

### Number of Commands

6

### Number of Hooks (optional)

5

### Tags

epistemics, evidence, provenance, uncertainty, governance

### Key Features

- Extracts only explicit, stable-ID claims from Markdown or structured JSON.
- Challenges atomicity, boundaries, falsifiability, provenance, evidence independence, cycles, and contradictions.
- Applies published evidence weights and weakest-link dependency propagation.
- Produces bounded recovery actions with verifiable completion conditions.
- Emits rich AEE assessments and Evaluator Contract 1.0 results.
- Maintains an optional tamper-evident SHA-256 JSONL ledger.

### Testing Checklist

- [x] Extension installs successfully via download URL
- [x] All commands execute without errors
- [x] Documentation is complete and accurate
- [x] No security vulnerabilities identified
- [x] Tested on at least one real project

### Submission Requirements

- [x] Valid `extension.yml` manifest included
- [x] README.md with installation and usage instructions
- [x] LICENSE file included
- [x] GitHub release created with version tag
- [x] All command files exist and are properly formatted
- [x] Extension ID follows naming conventions (lowercase-with-hyphens)

### Testing Details

Tested on Windows with Python 3.12 and Spec Kit 1.0.5.dev0. Spec Kit's own `ExtensionManifest` accepted the manifest with zero warnings. GitHub CI also passed on Python 3.11, 3.12, and 3.13 across Linux, Windows, and macOS, and CodeQL passed.

A clean project installed Evaluator Contract 1.0.0 followed by AEE 1.0.0 from their exact public tagged download URLs, scaffolded configuration, registered all commands and hooks, and listed both extensions as enabled. The public `applied-epistemic-engineering==1.0.1` package installed from PyPI in a clean environment and ran `aee demo`. End-to-end adapter validation produced an AEE assessment, Evaluator Contract result, Mermaid claim graph, valid ledger verification, and successful gate decision, with all generated paths confined to the project root. The runner also has path-escape and symlink-refusal tests.

### Example Usage

```bash
python -m pip install "applied-epistemic-engineering>=1.0.0,<2"
specify extension add evaluator --from https://github.com/electrohire/spec-kit-evaluator/archive/refs/tags/v1.0.0.zip
specify extension add aee --from https://github.com/electrohire/spec-kit-aee/archive/refs/tags/v1.0.0.zip

/speckit.aee.assess phase=after_specify artifact=specs/001-search/spec.md
```

### Proposed Catalog Entry

```json
{
"aee": {
"name": "Applied Epistemic Engineering",
"id": "aee",
"description": "Challenges claims, traces evidence, propagates uncertainty, and routes epistemic failures between Spec Kit phases.",
"author": "ElectroHire",
"version": "1.0.0",
"download_url": "https://github.com/electrohire/spec-kit-aee/archive/refs/tags/v1.0.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",
"license": "MIT",
"requires": {
"speckit_version": ">=1.0.0"
},
"provides": {
"commands": 6,
"hooks": 5
},
"tags": ["epistemics", "evidence", "provenance", "uncertainty", "governance"],
"verified": false,
"downloads": 0,
"stars": 0,
"created_at": "2026-09-10T00:00:00Z",
"updated_at": "2026-09-10T00:00:00Z"
}
}
```

### Additional Context

This is an original ElectroHire implementation. The domain engine is independently packaged at https://github.com/electrohire/applied-epistemic-engineering and documented at https://applied-epistemic-engineering.readthedocs.io/. It deliberately excludes private runtime coupling. AI assistance was used during implementation, testing, documentation, and release preparation; the maintainer reviewed the design and remains responsible for the submission.

This resubmits #4516 after fixing the release publication failure reported in https://github.com/github/spec-kit/issues/4516#issuecomment-5639460122. The existing v1.0.0 draft is now published (not a draft or prerelease): https://github.com/electrohire/spec-kit-aee/releases/tag/v1.0.0. The tag resolves to commit 8a6251e483345c7e551549f0ac641368e12661d6. On 2026-09-13 the exact public archive was downloaded without authentication and returned HTTP 200; SHA-256: 7be7e11549ae7f9ebfee740af7f61d5b16098f68d89cc454ce51d0134cc18399. Its manifest version, six commands, five hooks, command files, README.md, and MIT LICENSE were verified. Test and CodeQL workflows passed for the tagged commit. The previous runner reported denied outbound HTTP access; that runner limitation may need maintainer attention if it recurs.

### Release verification and validation trigger

The exact downloaded v1.0.0 archive passed all 14 tests and Ruff lint on 2026-09-13. Both the public release page and the submitted archive URL returned HTTP 200 without authentication after publication.

Maintainer action requested: please apply the `extension-submission` label to this issue to trigger the catalog validation workflow. The submitting account cannot add labels (GitHub returned an authorization error). This submission supersedes #4516 with the draft-release blocker resolved.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the submitted extension.yml, the published v1.0.0 archive, and the validation details in this issue. Apply the extension-submission label to trigger catalog validation, then confirm that the workflow accepts the manifest, commands, hooks, release archive, and documented checks.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
developer-experience, tooling
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.