[Extension]: Add Applied Epistemic Engineering
- Dominant language
- Python
- Stars
- 137k
- Forks
- 12.3k
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 155
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
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