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