specsmith 0.2.3.dev56__tar.gz → 0.3.0a1.dev8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {specsmith-0.2.3.dev56/src/specsmith.egg-info → specsmith-0.3.0a1.dev8}/PKG-INFO +134 -22
- specsmith-0.3.0a1.dev8/README.md +248 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/pyproject.toml +28 -5
- specsmith-0.3.0a1.dev8/src/epistemic/__init__.py +174 -0
- specsmith-0.3.0a1.dev8/src/epistemic/belief.py +364 -0
- specsmith-0.3.0a1.dev8/src/epistemic/certainty.py +199 -0
- specsmith-0.3.0a1.dev8/src/epistemic/failure_graph.py +156 -0
- specsmith-0.3.0a1.dev8/src/epistemic/py.typed +0 -0
- specsmith-0.3.0a1.dev8/src/epistemic/recovery.py +223 -0
- specsmith-0.3.0a1.dev8/src/epistemic/session.py +428 -0
- specsmith-0.3.0a1.dev8/src/epistemic/stress_tester.py +355 -0
- specsmith-0.3.0a1.dev8/src/epistemic/trace.py +209 -0
- specsmith-0.3.0a1.dev8/src/specsmith/agent/__init__.py +44 -0
- specsmith-0.3.0a1.dev8/src/specsmith/agent/core.py +213 -0
- specsmith-0.3.0a1.dev8/src/specsmith/agent/hooks.py +232 -0
- specsmith-0.3.0a1.dev8/src/specsmith/agent/profiles/epistemic-auditor.md +95 -0
- specsmith-0.3.0a1.dev8/src/specsmith/agent/profiles/planner.md +50 -0
- specsmith-0.3.0a1.dev8/src/specsmith/agent/profiles/verifier.md +51 -0
- specsmith-0.3.0a1.dev8/src/specsmith/agent/providers/__init__.py +145 -0
- specsmith-0.3.0a1.dev8/src/specsmith/agent/providers/anthropic.py +142 -0
- specsmith-0.3.0a1.dev8/src/specsmith/agent/providers/gemini.py +125 -0
- specsmith-0.3.0a1.dev8/src/specsmith/agent/providers/ollama.py +148 -0
- specsmith-0.3.0a1.dev8/src/specsmith/agent/providers/openai.py +126 -0
- specsmith-0.3.0a1.dev8/src/specsmith/agent/runner.py +555 -0
- specsmith-0.3.0a1.dev8/src/specsmith/agent/skills.py +192 -0
- specsmith-0.3.0a1.dev8/src/specsmith/agent/tools.py +354 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/auditor.py +34 -0
- specsmith-0.3.0a1.dev8/src/specsmith/auth.py +279 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/cli.py +1114 -5
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/config.py +38 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/credits.py +9 -0
- specsmith-0.3.0a1.dev8/src/specsmith/epistemic/__init__.py +62 -0
- specsmith-0.3.0a1.dev8/src/specsmith/epistemic/belief.py +294 -0
- specsmith-0.3.0a1.dev8/src/specsmith/epistemic/certainty.py +252 -0
- specsmith-0.3.0a1.dev8/src/specsmith/epistemic/failure_graph.py +214 -0
- specsmith-0.3.0a1.dev8/src/specsmith/epistemic/recovery.py +351 -0
- specsmith-0.3.0a1.dev8/src/specsmith/epistemic/stress_tester.py +442 -0
- specsmith-0.3.0a1.dev8/src/specsmith/ledger.py +175 -0
- specsmith-0.3.0a1.dev8/src/specsmith/patent.py +287 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/scaffolder.py +53 -3
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/agents.md.j2 +19 -0
- specsmith-0.3.0a1.dev8/src/specsmith/templates/governance/belief-registry.md.j2 +77 -0
- specsmith-0.3.0a1.dev8/src/specsmith/templates/governance/epistemic-axioms.md.j2 +105 -0
- specsmith-0.3.0a1.dev8/src/specsmith/templates/governance/failure-modes.md.j2 +92 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/governance/rules.md.j2 +12 -0
- specsmith-0.3.0a1.dev8/src/specsmith/templates/governance/uncertainty-map.md.j2 +76 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/tools.py +21 -0
- specsmith-0.3.0a1.dev8/src/specsmith/trace.py +302 -0
- specsmith-0.3.0a1.dev8/src/specsmith/workspace.py +203 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8/src/specsmith.egg-info}/PKG-INFO +134 -22
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith.egg-info/SOURCES.txt +38 -0
- specsmith-0.3.0a1.dev8/src/specsmith.egg-info/requires.txt +38 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith.egg-info/top_level.txt +1 -0
- specsmith-0.3.0a1.dev8/tests/test_epistemic.py +519 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/tests/test_tools.py +7 -2
- specsmith-0.2.3.dev56/README.md +0 -155
- specsmith-0.2.3.dev56/src/specsmith/ledger.py +0 -88
- specsmith-0.2.3.dev56/src/specsmith.egg-info/requires.txt +0 -17
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/LICENSE +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/setup.cfg +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/__init__.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/__main__.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/architect.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/commands/__init__.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/compressor.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/credit_analyzer.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/differ.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/doctor.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/executor.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/exporter.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/importer.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/integrations/__init__.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/integrations/aider.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/integrations/base.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/integrations/claude_code.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/integrations/copilot.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/integrations/cursor.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/integrations/gemini.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/integrations/warp.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/integrations/windsurf.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/plugins.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/rate_limits.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/releaser.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/requirements.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/session.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/community/bug_report.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/community/code_of_conduct.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/community/contributing.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/community/feature_request.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/community/license-Apache-2.0.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/community/license-MIT.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/community/pull_request_template.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/community/security.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/docs/architecture.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/docs/mkdocs.yml.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/docs/readthedocs.yaml.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/docs/requirements.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/docs/test-spec.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/docs/workflow.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/editorconfig.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/gitattributes.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/gitignore.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/go/go.mod.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/go/main.go.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/governance/context-budget.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/governance/drift-metrics.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/governance/roles.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/governance/verification.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/governance/workflow.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/js/package.json.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/ledger.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/python/cli.py.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/python/init.py.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/python/pyproject.toml.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/readme.md.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/rust/Cargo.toml.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/rust/main.rs.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/scripts/exec.cmd.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/scripts/exec.sh.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/scripts/run.cmd.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/scripts/run.sh.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/scripts/setup.cmd.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/scripts/setup.sh.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/templates/workflows/release.yml.j2 +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/updater.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/upgrader.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/validator.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/vcs/__init__.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/vcs/base.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/vcs/bitbucket.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/vcs/github.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/vcs/gitlab.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith/vcs_commands.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith.egg-info/dependency_links.txt +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/src/specsmith.egg-info/entry_points.txt +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/tests/test_auditor.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/tests/test_cli.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/tests/test_compressor.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/tests/test_importer.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/tests/test_integrations.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/tests/test_rate_limits.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/tests/test_scaffolder.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/tests/test_smoke.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/tests/test_validator.py +0 -0
- {specsmith-0.2.3.dev56 → specsmith-0.3.0a1.dev8}/tests/test_vcs.py +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: specsmith
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 0.3.0a1.dev8
|
|
4
|
+
Summary: Applied Epistemic Engineering toolkit — forge epistemically-governed scaffolds, stress-test belief systems, and run AEE pipelines.
|
|
5
5
|
Author: BitConcepts
|
|
6
6
|
License: MIT
|
|
7
7
|
Project-URL: Homepage, https://github.com/BitConcepts/specsmith
|
|
@@ -9,10 +9,11 @@ Project-URL: Documentation, https://specsmith.readthedocs.io
|
|
|
9
9
|
Project-URL: Repository, https://github.com/BitConcepts/specsmith
|
|
10
10
|
Project-URL: Changelog, https://github.com/BitConcepts/specsmith/blob/main/CHANGELOG.md
|
|
11
11
|
Project-URL: Issues, https://github.com/BitConcepts/specsmith/issues
|
|
12
|
-
Keywords: agentic,scaffold,governance,agents-md,cli,
|
|
13
|
-
Classifier: Development Status ::
|
|
12
|
+
Keywords: agentic,scaffold,governance,agents-md,cli,epistemic-engineering,belief-artifacts,stress-testing,certainty,trace-vault,aee,knowledge-engineering
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
14
|
Classifier: Environment :: Console
|
|
15
15
|
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: Intended Audience :: Science/Research
|
|
16
17
|
Classifier: License :: OSI Approved :: MIT License
|
|
17
18
|
Classifier: Programming Language :: Python :: 3
|
|
18
19
|
Classifier: Programming Language :: Python :: 3.10
|
|
@@ -21,6 +22,8 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
21
22
|
Classifier: Programming Language :: Python :: 3.13
|
|
22
23
|
Classifier: Topic :: Software Development :: Code Generators
|
|
23
24
|
Classifier: Topic :: Software Development :: Build Tools
|
|
25
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
26
|
+
Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
24
27
|
Requires-Python: >=3.10
|
|
25
28
|
Description-Content-Type: text/markdown
|
|
26
29
|
License-File: LICENSE
|
|
@@ -39,6 +42,22 @@ Requires-Dist: types-pyyaml>=6.0; extra == "dev"
|
|
|
39
42
|
Provides-Extra: docs
|
|
40
43
|
Requires-Dist: mkdocs>=1.6; extra == "docs"
|
|
41
44
|
Requires-Dist: mkdocs-material>=9.5; extra == "docs"
|
|
45
|
+
Provides-Extra: anthopic
|
|
46
|
+
Requires-Dist: anthropic>=0.56; extra == "anthopic"
|
|
47
|
+
Provides-Extra: openai
|
|
48
|
+
Requires-Dist: openai>=1.0; extra == "openai"
|
|
49
|
+
Provides-Extra: gemini
|
|
50
|
+
Requires-Dist: google-generativeai>=0.8; extra == "gemini"
|
|
51
|
+
Provides-Extra: agent
|
|
52
|
+
Requires-Dist: anthropic>=0.56; extra == "agent"
|
|
53
|
+
Requires-Dist: openai>=1.0; extra == "agent"
|
|
54
|
+
Provides-Extra: all
|
|
55
|
+
Requires-Dist: anthropic>=0.56; extra == "all"
|
|
56
|
+
Requires-Dist: openai>=1.0; extra == "all"
|
|
57
|
+
Requires-Dist: pytest>=7.0; extra == "all"
|
|
58
|
+
Requires-Dist: pytest-cov>=4.0; extra == "all"
|
|
59
|
+
Requires-Dist: ruff>=0.4; extra == "all"
|
|
60
|
+
Requires-Dist: mypy>=1.10; extra == "all"
|
|
42
61
|
Dynamic: license-file
|
|
43
62
|
|
|
44
63
|
# specsmith
|
|
@@ -46,43 +65,90 @@ Dynamic: license-file
|
|
|
46
65
|
[](https://github.com/BitConcepts/specsmith/actions/workflows/ci.yml)
|
|
47
66
|
[](https://specsmith.readthedocs.io/en/stable/)
|
|
48
67
|
[](https://pypi.org/project/specsmith/)
|
|
49
|
-
[](https://pypi.org/project/specsmith/#history)
|
|
68
|
+
[](https://pypi.org/project/specsmith/#history)
|
|
50
69
|
[](https://www.python.org/downloads/)
|
|
51
70
|
[](LICENSE)
|
|
52
71
|
|
|
53
|
-
**
|
|
72
|
+
**Applied Epistemic Engineering toolkit for AI-assisted development.**
|
|
54
73
|
|
|
55
74
|
> Intelligence proposes. Constraints decide. The ledger remembers.
|
|
56
75
|
|
|
76
|
+
specsmith treats belief systems like code: codable, testable, and deployable. It scaffolds
|
|
77
|
+
epistemically-governed projects, stress-tests requirements as BeliefArtifacts, runs
|
|
78
|
+
cryptographically-sealed trace vaults, and orchestrates AI agents under formal AEE governance.
|
|
79
|
+
|
|
80
|
+
It also co-installs the standalone `epistemic` Python library for direct use in any project:
|
|
81
|
+
|
|
82
|
+
```python
|
|
83
|
+
from epistemic import AEESession # works in any Python 3.10+ project
|
|
84
|
+
from epistemic import BeliefArtifact, StressTester, CertaintyEngine
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
---
|
|
88
|
+
|
|
89
|
+
## What is Applied Epistemic Engineering?
|
|
90
|
+
|
|
91
|
+
AEE treats beliefs — requirements, hypotheses, decisions, constraints — like code:
|
|
92
|
+
|
|
93
|
+
- **Codable**: every claim is a `BeliefArtifact` with propositions and boundaries
|
|
94
|
+
- **Testable**: the `StressTester` applies adversarial challenges to surface failure modes
|
|
95
|
+
- **Deployable**: beliefs that survive stress-testing can be sealed with cryptographic proof
|
|
96
|
+
|
|
97
|
+
The 4-step AEE core method: **Frame → Disassemble → Stress-Test → Reconstruct**
|
|
98
|
+
|
|
99
|
+
The 5 foundational axioms:
|
|
100
|
+
1. **Observability** — every belief must be inspectable (hidden assumptions = stop condition)
|
|
101
|
+
2. **Falsifiability** — every belief must be challengeable (unchallenged claims = dogma)
|
|
102
|
+
3. **Irreducibility** — beliefs decompose to atomic primitives (compound claims hide Logic Knots)
|
|
103
|
+
4. **Reconstructability** — every failed belief can be reconstructed (scope may narrow)
|
|
104
|
+
5. **Convergence** — S+R iteration always converges to Equilibrium E
|
|
105
|
+
|
|
57
106
|
---
|
|
58
107
|
|
|
59
108
|
## The Problem
|
|
60
109
|
|
|
61
|
-
AI coding agents
|
|
110
|
+
AI coding agents produce knowledge claims (requirements, code, decisions) but have no
|
|
111
|
+
mechanism to assess their epistemic quality. Without governance:
|
|
112
|
+
- Requirements are vague, compound, or untestable
|
|
113
|
+
- Conflicting claims (Logic Knots) silently accumulate
|
|
114
|
+
- Confidence in critical requirements is never measured
|
|
115
|
+
- Decisions lack tamper-evident audit trails
|
|
116
|
+
|
|
117
|
+
specsmith solves this by making the governance layer epistemically aware: requirements
|
|
118
|
+
become BeliefArtifacts, audits run stress-tests, decisions seal to the trace vault.
|
|
62
119
|
|
|
63
120
|
## What specsmith Does
|
|
64
121
|
|
|
65
|
-
**For new projects:** `specsmith init` generates a complete
|
|
122
|
+
**For new projects:** `specsmith init` generates a complete epistemically-governed scaffold
|
|
123
|
+
with governance files, CI/CD, AEE belief registry, and agent integration files.
|
|
66
124
|
|
|
67
|
-
**For existing projects:** `specsmith import`
|
|
125
|
+
**For existing projects:** `specsmith import` generates governance overlay files without
|
|
126
|
+
modifying source code. Existing files are preserved.
|
|
68
127
|
|
|
69
|
-
**For
|
|
128
|
+
**For AEE workflows:** `specsmith stress-test` runs adversarial challenges against
|
|
129
|
+
requirements. `specsmith epistemic-audit` runs the full AEE pipeline. `specsmith trace
|
|
130
|
+
seal` creates tamper-evident decision records.
|
|
70
131
|
|
|
71
|
-
|
|
132
|
+
**As a Python library:** `from epistemic import AEESession` — zero specsmith coupling,
|
|
133
|
+
works in any Python 3.10+ project (research, compliance, AI alignment, etc.).
|
|
134
|
+
|
|
135
|
+
**As an agentic client:** `specsmith run` — AEE-integrated REPL supporting Claude,
|
|
136
|
+
GPT, Gemini, and local Ollama models, with skills, hooks, and tool loops.
|
|
137
|
+
|
|
138
|
+
Every governed project follows: **propose → check → execute → verify → record**.
|
|
72
139
|
|
|
73
140
|
## Install
|
|
74
141
|
|
|
75
142
|
```bash
|
|
76
|
-
pip install specsmith
|
|
143
|
+
pip install specsmith # core + epistemic library
|
|
144
|
+
pip install specsmith[anthropic] # + Claude support (specsmith run)
|
|
145
|
+
pip install specsmith[openai] # + GPT/O-series support
|
|
77
146
|
```
|
|
78
147
|
|
|
79
148
|
## Quick Start
|
|
80
149
|
|
|
81
150
|
```bash
|
|
82
|
-
#
|
|
83
|
-
pip install specsmith
|
|
84
|
-
|
|
85
|
-
# New project (interactive)
|
|
151
|
+
# New project
|
|
86
152
|
specsmith init
|
|
87
153
|
|
|
88
154
|
# Adopt an existing project
|
|
@@ -91,14 +157,37 @@ specsmith import --project-dir ./my-project
|
|
|
91
157
|
# Check governance health
|
|
92
158
|
specsmith audit --project-dir ./my-project
|
|
93
159
|
|
|
94
|
-
#
|
|
95
|
-
specsmith
|
|
160
|
+
# Run AEE stress-test on requirements
|
|
161
|
+
specsmith stress-test --project-dir ./my-project
|
|
96
162
|
|
|
97
|
-
#
|
|
98
|
-
|
|
99
|
-
|
|
163
|
+
# Run full epistemic audit
|
|
164
|
+
specsmith epistemic-audit --project-dir ./my-project
|
|
165
|
+
|
|
166
|
+
# Start the agentic REPL (requires a provider installed)
|
|
167
|
+
specsmith run --project-dir ./my-project
|
|
168
|
+
|
|
169
|
+
# Run a single task non-interactively
|
|
170
|
+
specsmith run --task "run audit and fix issues"
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Using the epistemic library in any Python project
|
|
174
|
+
|
|
175
|
+
```python
|
|
176
|
+
from epistemic import AEESession
|
|
177
|
+
|
|
178
|
+
session = AEESession("my-project")
|
|
179
|
+
session.add_belief(
|
|
180
|
+
artifact_id="HYP-001",
|
|
181
|
+
propositions=["The API always returns valid JSON"],
|
|
182
|
+
epistemic_boundary=["Valid auth token required"],
|
|
183
|
+
)
|
|
184
|
+
session.accept("HYP-001")
|
|
185
|
+
result = session.run()
|
|
186
|
+
print(result.summary())
|
|
100
187
|
```
|
|
101
188
|
|
|
189
|
+
See [epistemic library documentation](https://specsmith.readthedocs.io/en/stable/epistemic-library/) for full API reference and examples including linguistics research (glossa-lab), compliance pipelines, and AI alignment workflows.
|
|
190
|
+
|
|
102
191
|
### Starting an AI Agent Session
|
|
103
192
|
|
|
104
193
|
The universal pattern for any specsmith-governed project:
|
|
@@ -109,7 +198,30 @@ The universal pattern for any specsmith-governed project:
|
|
|
109
198
|
|
|
110
199
|
This works in Warp, Claude Code, Cursor, and any agent that reads markdown context files. The agent loads AGENTS.md (the governance hub), reads LEDGER.md for session state, and picks up from the last recorded action.
|
|
111
200
|
|
|
112
|
-
##
|
|
201
|
+
## 50+ CLI Commands
|
|
202
|
+
|
|
203
|
+
| Command | Purpose |
|
|
204
|
+
|---------|---------|
|
|
205
|
+
| `init` | Scaffold a new epistemically-governed project |
|
|
206
|
+
| `import` | Adopt an existing project |
|
|
207
|
+
| `audit` | Drift detection and health checks |
|
|
208
|
+
| `stress-test` | AEE adversarial stress-tests on requirements |
|
|
209
|
+
| `epistemic-audit` | Full AEE pipeline (stress-test + certainty + recovery) |
|
|
210
|
+
| `belief-graph` | Render belief artifact dependency graph |
|
|
211
|
+
| `trace seal/verify/log` | Cryptographic decision sealing (STP-inspired) |
|
|
212
|
+
| `integrate <tool>` | Epistemic impact analysis before tool integration |
|
|
213
|
+
| `run` | Start AEE-integrated agentic REPL |
|
|
214
|
+
| `agent providers/tools/skills` | Configure agentic client |
|
|
215
|
+
| `validate` | Governance consistency checks |
|
|
216
|
+
| `export` | Compliance report with REQ↔TEST coverage |
|
|
217
|
+
| `architect` | Interactive architecture generation |
|
|
218
|
+
| `credits` | AI credit tracking, analysis, budgets |
|
|
219
|
+
| `exec / ps / abort` | Tracked process execution with timeouts |
|
|
220
|
+
| `commit / push / sync` | Governance-aware VCS operations |
|
|
221
|
+
| `req list/trace/gaps` | Requirement management |
|
|
222
|
+
| `ledger add/list/stats` | Change ledger management |
|
|
223
|
+
|
|
224
|
+
## 33 Project Types
|
|
113
225
|
|
|
114
226
|
**Software:** Python, Rust, Go, C/C++, .NET, JS/TS, mobile, monorepo, microservices, DevOps/IaC, data/ML, browser extensions.
|
|
115
227
|
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
# specsmith
|
|
2
|
+
|
|
3
|
+
[](https://github.com/BitConcepts/specsmith/actions/workflows/ci.yml)
|
|
4
|
+
[](https://specsmith.readthedocs.io/en/stable/)
|
|
5
|
+
[](https://pypi.org/project/specsmith/)
|
|
6
|
+
[](https://pypi.org/project/specsmith/#history)
|
|
7
|
+
[](https://www.python.org/downloads/)
|
|
8
|
+
[](LICENSE)
|
|
9
|
+
|
|
10
|
+
**Applied Epistemic Engineering toolkit for AI-assisted development.**
|
|
11
|
+
|
|
12
|
+
> Intelligence proposes. Constraints decide. The ledger remembers.
|
|
13
|
+
|
|
14
|
+
specsmith treats belief systems like code: codable, testable, and deployable. It scaffolds
|
|
15
|
+
epistemically-governed projects, stress-tests requirements as BeliefArtifacts, runs
|
|
16
|
+
cryptographically-sealed trace vaults, and orchestrates AI agents under formal AEE governance.
|
|
17
|
+
|
|
18
|
+
It also co-installs the standalone `epistemic` Python library for direct use in any project:
|
|
19
|
+
|
|
20
|
+
```python
|
|
21
|
+
from epistemic import AEESession # works in any Python 3.10+ project
|
|
22
|
+
from epistemic import BeliefArtifact, StressTester, CertaintyEngine
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## What is Applied Epistemic Engineering?
|
|
28
|
+
|
|
29
|
+
AEE treats beliefs — requirements, hypotheses, decisions, constraints — like code:
|
|
30
|
+
|
|
31
|
+
- **Codable**: every claim is a `BeliefArtifact` with propositions and boundaries
|
|
32
|
+
- **Testable**: the `StressTester` applies adversarial challenges to surface failure modes
|
|
33
|
+
- **Deployable**: beliefs that survive stress-testing can be sealed with cryptographic proof
|
|
34
|
+
|
|
35
|
+
The 4-step AEE core method: **Frame → Disassemble → Stress-Test → Reconstruct**
|
|
36
|
+
|
|
37
|
+
The 5 foundational axioms:
|
|
38
|
+
1. **Observability** — every belief must be inspectable (hidden assumptions = stop condition)
|
|
39
|
+
2. **Falsifiability** — every belief must be challengeable (unchallenged claims = dogma)
|
|
40
|
+
3. **Irreducibility** — beliefs decompose to atomic primitives (compound claims hide Logic Knots)
|
|
41
|
+
4. **Reconstructability** — every failed belief can be reconstructed (scope may narrow)
|
|
42
|
+
5. **Convergence** — S+R iteration always converges to Equilibrium E
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## The Problem
|
|
47
|
+
|
|
48
|
+
AI coding agents produce knowledge claims (requirements, code, decisions) but have no
|
|
49
|
+
mechanism to assess their epistemic quality. Without governance:
|
|
50
|
+
- Requirements are vague, compound, or untestable
|
|
51
|
+
- Conflicting claims (Logic Knots) silently accumulate
|
|
52
|
+
- Confidence in critical requirements is never measured
|
|
53
|
+
- Decisions lack tamper-evident audit trails
|
|
54
|
+
|
|
55
|
+
specsmith solves this by making the governance layer epistemically aware: requirements
|
|
56
|
+
become BeliefArtifacts, audits run stress-tests, decisions seal to the trace vault.
|
|
57
|
+
|
|
58
|
+
## What specsmith Does
|
|
59
|
+
|
|
60
|
+
**For new projects:** `specsmith init` generates a complete epistemically-governed scaffold
|
|
61
|
+
with governance files, CI/CD, AEE belief registry, and agent integration files.
|
|
62
|
+
|
|
63
|
+
**For existing projects:** `specsmith import` generates governance overlay files without
|
|
64
|
+
modifying source code. Existing files are preserved.
|
|
65
|
+
|
|
66
|
+
**For AEE workflows:** `specsmith stress-test` runs adversarial challenges against
|
|
67
|
+
requirements. `specsmith epistemic-audit` runs the full AEE pipeline. `specsmith trace
|
|
68
|
+
seal` creates tamper-evident decision records.
|
|
69
|
+
|
|
70
|
+
**As a Python library:** `from epistemic import AEESession` — zero specsmith coupling,
|
|
71
|
+
works in any Python 3.10+ project (research, compliance, AI alignment, etc.).
|
|
72
|
+
|
|
73
|
+
**As an agentic client:** `specsmith run` — AEE-integrated REPL supporting Claude,
|
|
74
|
+
GPT, Gemini, and local Ollama models, with skills, hooks, and tool loops.
|
|
75
|
+
|
|
76
|
+
Every governed project follows: **propose → check → execute → verify → record**.
|
|
77
|
+
|
|
78
|
+
## Install
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
pip install specsmith # core + epistemic library
|
|
82
|
+
pip install specsmith[anthropic] # + Claude support (specsmith run)
|
|
83
|
+
pip install specsmith[openai] # + GPT/O-series support
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Quick Start
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# New project
|
|
90
|
+
specsmith init
|
|
91
|
+
|
|
92
|
+
# Adopt an existing project
|
|
93
|
+
specsmith import --project-dir ./my-project
|
|
94
|
+
|
|
95
|
+
# Check governance health
|
|
96
|
+
specsmith audit --project-dir ./my-project
|
|
97
|
+
|
|
98
|
+
# Run AEE stress-test on requirements
|
|
99
|
+
specsmith stress-test --project-dir ./my-project
|
|
100
|
+
|
|
101
|
+
# Run full epistemic audit
|
|
102
|
+
specsmith epistemic-audit --project-dir ./my-project
|
|
103
|
+
|
|
104
|
+
# Start the agentic REPL (requires a provider installed)
|
|
105
|
+
specsmith run --project-dir ./my-project
|
|
106
|
+
|
|
107
|
+
# Run a single task non-interactively
|
|
108
|
+
specsmith run --task "run audit and fix issues"
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Using the epistemic library in any Python project
|
|
112
|
+
|
|
113
|
+
```python
|
|
114
|
+
from epistemic import AEESession
|
|
115
|
+
|
|
116
|
+
session = AEESession("my-project")
|
|
117
|
+
session.add_belief(
|
|
118
|
+
artifact_id="HYP-001",
|
|
119
|
+
propositions=["The API always returns valid JSON"],
|
|
120
|
+
epistemic_boundary=["Valid auth token required"],
|
|
121
|
+
)
|
|
122
|
+
session.accept("HYP-001")
|
|
123
|
+
result = session.run()
|
|
124
|
+
print(result.summary())
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
See [epistemic library documentation](https://specsmith.readthedocs.io/en/stable/epistemic-library/) for full API reference and examples including linguistics research (glossa-lab), compliance pipelines, and AI alignment workflows.
|
|
128
|
+
|
|
129
|
+
### Starting an AI Agent Session
|
|
130
|
+
|
|
131
|
+
The universal pattern for any specsmith-governed project:
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
/agent AGENTS.md
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
This works in Warp, Claude Code, Cursor, and any agent that reads markdown context files. The agent loads AGENTS.md (the governance hub), reads LEDGER.md for session state, and picks up from the last recorded action.
|
|
138
|
+
|
|
139
|
+
## 50+ CLI Commands
|
|
140
|
+
|
|
141
|
+
| Command | Purpose |
|
|
142
|
+
|---------|---------|
|
|
143
|
+
| `init` | Scaffold a new epistemically-governed project |
|
|
144
|
+
| `import` | Adopt an existing project |
|
|
145
|
+
| `audit` | Drift detection and health checks |
|
|
146
|
+
| `stress-test` | AEE adversarial stress-tests on requirements |
|
|
147
|
+
| `epistemic-audit` | Full AEE pipeline (stress-test + certainty + recovery) |
|
|
148
|
+
| `belief-graph` | Render belief artifact dependency graph |
|
|
149
|
+
| `trace seal/verify/log` | Cryptographic decision sealing (STP-inspired) |
|
|
150
|
+
| `integrate <tool>` | Epistemic impact analysis before tool integration |
|
|
151
|
+
| `run` | Start AEE-integrated agentic REPL |
|
|
152
|
+
| `agent providers/tools/skills` | Configure agentic client |
|
|
153
|
+
| `validate` | Governance consistency checks |
|
|
154
|
+
| `export` | Compliance report with REQ↔TEST coverage |
|
|
155
|
+
| `architect` | Interactive architecture generation |
|
|
156
|
+
| `credits` | AI credit tracking, analysis, budgets |
|
|
157
|
+
| `exec / ps / abort` | Tracked process execution with timeouts |
|
|
158
|
+
| `commit / push / sync` | Governance-aware VCS operations |
|
|
159
|
+
| `req list/trace/gaps` | Requirement management |
|
|
160
|
+
| `ledger add/list/stats` | Change ledger management |
|
|
161
|
+
|
|
162
|
+
## 33 Project Types
|
|
163
|
+
|
|
164
|
+
**Software:** Python, Rust, Go, C/C++, .NET, JS/TS, mobile, monorepo, microservices, DevOps/IaC, data/ML, browser extensions.
|
|
165
|
+
|
|
166
|
+
**Hardware:** FPGA/RTL, Yocto BSP, PCB design, embedded systems.
|
|
167
|
+
|
|
168
|
+
**Documents:** Technical specifications, user manuals, research papers, API specifications, requirements management.
|
|
169
|
+
|
|
170
|
+
**Business/Legal:** Business plans, patent applications, legal/compliance frameworks.
|
|
171
|
+
|
|
172
|
+
Each type gets: tool-aware CI (correct lint/test/security/build tools), domain-specific directory structure, governance rules in AGENTS.md, and pre-populated requirements and test stubs.
|
|
173
|
+
|
|
174
|
+
## 40+ CLI Commands
|
|
175
|
+
|
|
176
|
+
| Command | Purpose |
|
|
177
|
+
|---------|---------|
|
|
178
|
+
| `init` | Scaffold a new governed project |
|
|
179
|
+
| `import` | Adopt an existing project (merge mode) |
|
|
180
|
+
| `audit` | Drift detection and health checks (`--fix` to auto-repair) |
|
|
181
|
+
| `architect` | Interactive architecture generation |
|
|
182
|
+
| `validate` | Governance consistency + H11 blocking-loop detection |
|
|
183
|
+
| `compress` | Archive old ledger entries |
|
|
184
|
+
| `upgrade` | Update governance to new spec version |
|
|
185
|
+
| `status` | CI/PR/alert status from VCS platform |
|
|
186
|
+
| `diff` | Compare governance against templates |
|
|
187
|
+
| `export` | Compliance report with REQ↔TEST coverage |
|
|
188
|
+
| `doctor` | Check if verification tools are installed |
|
|
189
|
+
| `self-update` | Update specsmith (channel-aware) |
|
|
190
|
+
| `credits` | AI credit tracking, analysis, budgets, and rate-limit pacing |
|
|
191
|
+
| `exec` / `ps` / `abort` | Tracked process execution with PID tracking and timeout |
|
|
192
|
+
| `commit` / `push` / `sync` | Governance-aware VCS operations |
|
|
193
|
+
| `branch` / `pr` | Strategy-aware branching and PR creation |
|
|
194
|
+
| `ledger` | Structured ledger add/list/stats |
|
|
195
|
+
| `req` | Requirements list/add/trace/gaps/orphans |
|
|
196
|
+
| `session-end` | End-of-session checklist |
|
|
197
|
+
|
|
198
|
+
## 7 Agent Integrations
|
|
199
|
+
|
|
200
|
+
AGENTS.md (cross-platform standard), Warp/Oz, Claude Code, GitHub Copilot, Cursor, Gemini CLI, Windsurf, Aider.
|
|
201
|
+
|
|
202
|
+
## 3 VCS Platforms
|
|
203
|
+
|
|
204
|
+
GitHub Actions, GitLab CI, Bitbucket Pipelines — all with tool-aware CI generated from the verification tool registry. Dependabot/Renovate configured per language ecosystem.
|
|
205
|
+
|
|
206
|
+
## Governance Rules (H1–H12)
|
|
207
|
+
|
|
208
|
+
specsmith-governed projects enforce 12 hard rules. Two were added in v0.2.3 for agentic workflows:
|
|
209
|
+
|
|
210
|
+
- **H11** — Every loop or blocking wait in agent-written scripts must have a deadline, a fallback exit, and a diagnostic message on timeout. `specsmith validate` enforces this automatically.
|
|
211
|
+
- **H12** — On Windows, multi-step automation goes into a `.cmd` file, not inline shell invocations or `.ps1` files.
|
|
212
|
+
|
|
213
|
+
See [Governance Model](https://specsmith.readthedocs.io/en/stable/governance/) for the full rule set.
|
|
214
|
+
|
|
215
|
+
## Proactive Rate Limit Pacing
|
|
216
|
+
|
|
217
|
+
specsmith ships a rolling-window scheduler that paces AI provider requests before dispatch:
|
|
218
|
+
|
|
219
|
+
- Built-in RPM/TPM profiles for OpenAI, Anthropic, and Google models (including wildcard fallbacks)
|
|
220
|
+
- Pre-dispatch budget check: sleeps until the 60-second window refills instead of overshooting
|
|
221
|
+
- Parses OpenAI-style `"Please try again in 10.793s"` messages and obeys them
|
|
222
|
+
- Adaptive concurrency: halved after a 429, gradually restored after consecutive successes
|
|
223
|
+
- Local overrides always take precedence over built-in defaults
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
specsmith credits limits defaults # list built-in profiles
|
|
227
|
+
specsmith credits limits defaults --install # merge into project config
|
|
228
|
+
specsmith credits limits status --provider openai --model gpt-5.4
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
See [Rate Limit Pacing](https://specsmith.readthedocs.io/en/stable/rate-limits/) for full details.
|
|
232
|
+
|
|
233
|
+
## Documentation
|
|
234
|
+
|
|
235
|
+
**[specsmith.readthedocs.io](https://specsmith.readthedocs.io)** — Full user manual with tutorials, command reference, project type details, tool registry, governance model, rate-limit pacing, troubleshooting.
|
|
236
|
+
|
|
237
|
+
## Links
|
|
238
|
+
|
|
239
|
+
- [PyPI](https://pypi.org/project/specsmith/)
|
|
240
|
+
- [Documentation](https://specsmith.readthedocs.io)
|
|
241
|
+
- [Changelog](CHANGELOG.md)
|
|
242
|
+
- [Contributing](CONTRIBUTING.md)
|
|
243
|
+
- [Specification](docs/AGENT-WORKFLOW-SPEC.md)
|
|
244
|
+
- [Security](SECURITY.md)
|
|
245
|
+
|
|
246
|
+
## License
|
|
247
|
+
|
|
248
|
+
MIT — Copyright (c) 2026 BitConcepts, LLC.
|
|
@@ -4,19 +4,24 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "specsmith"
|
|
7
|
-
version = "0.
|
|
8
|
-
description = "
|
|
7
|
+
version = "0.3.0a1.dev8"
|
|
8
|
+
description = "Applied Epistemic Engineering toolkit — forge epistemically-governed scaffolds, stress-test belief systems, and run AEE pipelines."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "MIT"}
|
|
11
11
|
requires-python = ">=3.10"
|
|
12
12
|
authors = [
|
|
13
13
|
{name = "BitConcepts"},
|
|
14
14
|
]
|
|
15
|
-
keywords = [
|
|
15
|
+
keywords = [
|
|
16
|
+
"agentic", "scaffold", "governance", "agents-md", "cli",
|
|
17
|
+
"epistemic-engineering", "belief-artifacts", "stress-testing",
|
|
18
|
+
"certainty", "trace-vault", "aee", "knowledge-engineering",
|
|
19
|
+
]
|
|
16
20
|
classifiers = [
|
|
17
|
-
"Development Status ::
|
|
21
|
+
"Development Status :: 4 - Beta",
|
|
18
22
|
"Environment :: Console",
|
|
19
23
|
"Intended Audience :: Developers",
|
|
24
|
+
"Intended Audience :: Science/Research",
|
|
20
25
|
"License :: OSI Approved :: MIT License",
|
|
21
26
|
"Programming Language :: Python :: 3",
|
|
22
27
|
"Programming Language :: Python :: 3.10",
|
|
@@ -25,6 +30,8 @@ classifiers = [
|
|
|
25
30
|
"Programming Language :: Python :: 3.13",
|
|
26
31
|
"Topic :: Software Development :: Code Generators",
|
|
27
32
|
"Topic :: Software Development :: Build Tools",
|
|
33
|
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
34
|
+
"Topic :: Scientific/Engineering :: Information Analysis",
|
|
28
35
|
]
|
|
29
36
|
|
|
30
37
|
dependencies = [
|
|
@@ -48,6 +55,21 @@ docs = [
|
|
|
48
55
|
"mkdocs>=1.6",
|
|
49
56
|
"mkdocs-material>=9.5",
|
|
50
57
|
]
|
|
58
|
+
# LLM provider extras for specsmith run (agentic client)
|
|
59
|
+
anthopic = ["anthropic>=0.56"]
|
|
60
|
+
openai = ["openai>=1.0"]
|
|
61
|
+
gemini = ["google-generativeai>=0.8"]
|
|
62
|
+
# Install all optional LLM providers
|
|
63
|
+
agent = ["anthropic>=0.56", "openai>=1.0"]
|
|
64
|
+
# Convenience bundle: everything
|
|
65
|
+
all = [
|
|
66
|
+
"anthropic>=0.56",
|
|
67
|
+
"openai>=1.0",
|
|
68
|
+
"pytest>=7.0",
|
|
69
|
+
"pytest-cov>=4.0",
|
|
70
|
+
"ruff>=0.4",
|
|
71
|
+
"mypy>=1.10",
|
|
72
|
+
]
|
|
51
73
|
|
|
52
74
|
[project.scripts]
|
|
53
75
|
specsmith = "specsmith.cli:main"
|
|
@@ -63,7 +85,8 @@ Issues = "https://github.com/BitConcepts/specsmith/issues"
|
|
|
63
85
|
where = ["src"]
|
|
64
86
|
|
|
65
87
|
[tool.setuptools.package-data]
|
|
66
|
-
specsmith = ["templates/**/*.j2"]
|
|
88
|
+
specsmith = ["templates/**/*.j2", "agent/profiles/*.md"]
|
|
89
|
+
epistemic = ["py.typed"]
|
|
67
90
|
|
|
68
91
|
[tool.ruff]
|
|
69
92
|
target-version = "py310"
|