specsmith 0.3.6.dev177__tar.gz → 0.3.6.dev178__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 (166) hide show
  1. {specsmith-0.3.6.dev177/src/specsmith.egg-info → specsmith-0.3.6.dev178}/PKG-INFO +1 -1
  2. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/pyproject.toml +1 -1
  3. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/agent/runner.py +37 -2
  4. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178/src/specsmith.egg-info}/PKG-INFO +1 -1
  5. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/LICENSE +0 -0
  6. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/README.md +0 -0
  7. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/setup.cfg +0 -0
  8. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/epistemic/__init__.py +0 -0
  9. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/epistemic/belief.py +0 -0
  10. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/epistemic/certainty.py +0 -0
  11. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/epistemic/failure_graph.py +0 -0
  12. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/epistemic/py.typed +0 -0
  13. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/epistemic/recovery.py +0 -0
  14. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/epistemic/session.py +0 -0
  15. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/epistemic/stress_tester.py +0 -0
  16. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/epistemic/trace.py +0 -0
  17. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/__init__.py +0 -0
  18. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/__main__.py +0 -0
  19. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/agent/__init__.py +0 -0
  20. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/agent/core.py +0 -0
  21. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/agent/hooks.py +0 -0
  22. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/agent/optimizer.py +0 -0
  23. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/agent/profiles/epistemic-auditor.md +0 -0
  24. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/agent/profiles/planner.md +0 -0
  25. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/agent/profiles/verifier.md +0 -0
  26. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/agent/providers/__init__.py +0 -0
  27. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/agent/providers/anthropic.py +0 -0
  28. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/agent/providers/gemini.py +0 -0
  29. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/agent/providers/mistral.py +0 -0
  30. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/agent/providers/ollama.py +0 -0
  31. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/agent/providers/openai.py +0 -0
  32. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/agent/skills.py +0 -0
  33. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/agent/tools.py +0 -0
  34. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/architect.py +0 -0
  35. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/auditor.py +0 -0
  36. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/auth.py +0 -0
  37. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/cli.py +0 -0
  38. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/commands/__init__.py +0 -0
  39. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/compressor.py +0 -0
  40. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/config.py +0 -0
  41. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/credit_analyzer.py +0 -0
  42. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/credits.py +0 -0
  43. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/differ.py +0 -0
  44. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/doctor.py +0 -0
  45. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/epistemic/__init__.py +0 -0
  46. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/epistemic/belief.py +0 -0
  47. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/epistemic/certainty.py +0 -0
  48. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/epistemic/failure_graph.py +0 -0
  49. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/epistemic/recovery.py +0 -0
  50. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/epistemic/stress_tester.py +0 -0
  51. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/executor.py +0 -0
  52. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/exporter.py +0 -0
  53. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/gui/__init__.py +0 -0
  54. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/gui/app.py +0 -0
  55. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/gui/main_window.py +0 -0
  56. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/gui/session_tab.py +0 -0
  57. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/gui/theme.py +0 -0
  58. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/gui/widgets/__init__.py +0 -0
  59. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/gui/widgets/chat_view.py +0 -0
  60. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/gui/widgets/input_bar.py +0 -0
  61. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/gui/widgets/provider_bar.py +0 -0
  62. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/gui/widgets/token_meter.py +0 -0
  63. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/gui/widgets/tool_panel.py +0 -0
  64. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/gui/widgets/update_checker.py +0 -0
  65. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/gui/worker.py +0 -0
  66. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/importer.py +0 -0
  67. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/integrations/__init__.py +0 -0
  68. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/integrations/aider.py +0 -0
  69. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/integrations/base.py +0 -0
  70. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/integrations/claude_code.py +0 -0
  71. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/integrations/copilot.py +0 -0
  72. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/integrations/cursor.py +0 -0
  73. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/integrations/gemini.py +0 -0
  74. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/integrations/warp.py +0 -0
  75. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/integrations/windsurf.py +0 -0
  76. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/languages.py +0 -0
  77. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/ledger.py +0 -0
  78. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/ollama_cmds.py +0 -0
  79. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/patent.py +0 -0
  80. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/phase.py +0 -0
  81. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/plugins.py +0 -0
  82. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/profiles.py +0 -0
  83. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/rate_limits.py +0 -0
  84. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/releaser.py +0 -0
  85. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/requirements.py +0 -0
  86. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/retrieval.py +0 -0
  87. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/scaffolder.py +0 -0
  88. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/session.py +0 -0
  89. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/agents.md.j2 +0 -0
  90. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/community/bug_report.md.j2 +0 -0
  91. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/community/code_of_conduct.md.j2 +0 -0
  92. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/community/contributing.md.j2 +0 -0
  93. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/community/feature_request.md.j2 +0 -0
  94. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/community/license-Apache-2.0.j2 +0 -0
  95. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/community/license-MIT.j2 +0 -0
  96. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/community/pull_request_template.md.j2 +0 -0
  97. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/community/security.md.j2 +0 -0
  98. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/docs/architecture.md.j2 +0 -0
  99. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/docs/mkdocs.yml.j2 +0 -0
  100. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/docs/readthedocs.yaml.j2 +0 -0
  101. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/docs/requirements.md.j2 +0 -0
  102. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/docs/test-spec.md.j2 +0 -0
  103. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/docs/workflow.md.j2 +0 -0
  104. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/editorconfig.j2 +0 -0
  105. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/gitattributes.j2 +0 -0
  106. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/gitignore.j2 +0 -0
  107. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/go/go.mod.j2 +0 -0
  108. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/go/main.go.j2 +0 -0
  109. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/governance/belief-registry.md.j2 +0 -0
  110. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/governance/context-budget.md.j2 +0 -0
  111. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/governance/drift-metrics.md.j2 +0 -0
  112. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/governance/epistemic-axioms.md.j2 +0 -0
  113. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/governance/failure-modes.md.j2 +0 -0
  114. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/governance/roles.md.j2 +0 -0
  115. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/governance/rules.md.j2 +0 -0
  116. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/governance/uncertainty-map.md.j2 +0 -0
  117. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/governance/verification.md.j2 +0 -0
  118. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/governance/workflow.md.j2 +0 -0
  119. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/js/package.json.j2 +0 -0
  120. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/ledger.md.j2 +0 -0
  121. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/python/cli.py.j2 +0 -0
  122. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/python/init.py.j2 +0 -0
  123. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/python/pyproject.toml.j2 +0 -0
  124. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/readme.md.j2 +0 -0
  125. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/rust/Cargo.toml.j2 +0 -0
  126. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/rust/main.rs.j2 +0 -0
  127. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/scripts/exec.cmd.j2 +0 -0
  128. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/scripts/exec.sh.j2 +0 -0
  129. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/scripts/run.cmd.j2 +0 -0
  130. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/scripts/run.sh.j2 +0 -0
  131. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/scripts/setup.cmd.j2 +0 -0
  132. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/scripts/setup.sh.j2 +0 -0
  133. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/templates/workflows/release.yml.j2 +0 -0
  134. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/tool_installer.py +0 -0
  135. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/toolrules.py +0 -0
  136. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/tools.py +0 -0
  137. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/trace.py +0 -0
  138. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/updater.py +0 -0
  139. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/upgrader.py +0 -0
  140. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/validator.py +0 -0
  141. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/vcs/__init__.py +0 -0
  142. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/vcs/base.py +0 -0
  143. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/vcs/bitbucket.py +0 -0
  144. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/vcs/github.py +0 -0
  145. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/vcs/gitlab.py +0 -0
  146. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/vcs_commands.py +0 -0
  147. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/wireframes.py +0 -0
  148. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith/workspace.py +0 -0
  149. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith.egg-info/SOURCES.txt +0 -0
  150. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith.egg-info/dependency_links.txt +0 -0
  151. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith.egg-info/entry_points.txt +0 -0
  152. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith.egg-info/requires.txt +0 -0
  153. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/src/specsmith.egg-info/top_level.txt +0 -0
  154. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/tests/test_auditor.py +0 -0
  155. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/tests/test_cli.py +0 -0
  156. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/tests/test_compressor.py +0 -0
  157. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/tests/test_epistemic.py +0 -0
  158. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/tests/test_importer.py +0 -0
  159. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/tests/test_integrations.py +0 -0
  160. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/tests/test_optimizer.py +0 -0
  161. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/tests/test_rate_limits.py +0 -0
  162. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/tests/test_scaffolder.py +0 -0
  163. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/tests/test_smoke.py +0 -0
  164. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/tests/test_tools.py +0 -0
  165. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/tests/test_validator.py +0 -0
  166. {specsmith-0.3.6.dev177 → specsmith-0.3.6.dev178}/tests/test_vcs.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: specsmith
3
- Version: 0.3.6.dev177
3
+ Version: 0.3.6.dev178
4
4
  Summary: Applied Epistemic Engineering toolkit — AEE agent sessions, execution profiles, FPGA/HDL governance, tool installer, 50+ CLI commands.
5
5
  Author: BitConcepts
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "specsmith"
7
- version = "0.3.6.dev177"
7
+ version = "0.3.6.dev178"
8
8
  description = "Applied Epistemic Engineering toolkit — AEE agent sessions, execution profiles, FPGA/HDL governance, tool installer, 50+ CLI commands."
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -153,6 +153,36 @@ H13: All proposals must state their epistemic boundaries. Hidden assumptions are
153
153
  agents_md or f"Spec version: {spec_version}. AGENTS.md not found — run specsmith audit."
154
154
  )
155
155
 
156
+ # Snapshot of VCS state at session start so the agent knows what’s pending
157
+ vcs_section = ""
158
+ try:
159
+ import subprocess as _sp
160
+
161
+ _st = _sp.run(
162
+ ["git", "status", "--short"],
163
+ cwd=project_dir,
164
+ capture_output=True,
165
+ text=True,
166
+ timeout=5,
167
+ )
168
+ _log = _sp.run(
169
+ ["git", "log", "--oneline", "-5"],
170
+ cwd=project_dir,
171
+ capture_output=True,
172
+ text=True,
173
+ timeout=5,
174
+ )
175
+ if _st.returncode == 0:
176
+ status_text = _st.stdout.strip() or "(clean — no uncommitted changes)"
177
+ log_text = _log.stdout.strip() if _log.returncode == 0 else "(no commits yet)"
178
+ vcs_section = (
179
+ "\n## VCS State at Session Start\n"
180
+ f"```\n{status_text}\n```\n"
181
+ f"Recent commits:\n```\n{log_text}\n```\n"
182
+ )
183
+ except Exception: # noqa: BLE001
184
+ pass
185
+
156
186
  # Load tool-specific rules for this project type
157
187
  tool_rules_section = ""
158
188
  if project_type:
@@ -166,6 +196,7 @@ H13: All proposals must state their epistemic boundaries. Hidden assumptions are
166
196
  pass
167
197
 
168
198
  prompt = f"""SYSTEM LANGUAGE DIRECTIVE — ABSOLUTE HARD RULE — HIGHEST PRIORITY:
199
+ {vcs_section}
169
200
  You MUST respond in English ONLY. This overrides all other instructions.
170
201
  Never output Thai, Chinese, Japanese, Korean, Arabic, French, German, Spanish,
171
202
  or ANY non-English language — not even a single character or word.
@@ -257,8 +288,12 @@ class AgentRunner:
257
288
  QUICK_COMMANDS = {
258
289
  "start": (
259
290
  "[RESPOND IN ENGLISH ONLY] "
260
- "Run session start protocol: sync, load AGENTS.md, read last LEDGER.md entries. "
261
- "Translate any non-English context internally if needed, but respond only in English."
291
+ "Run the session start protocol in this order:\n"
292
+ "1. Run: git status (report staged, modified, and untracked files)\n"
293
+ "2. Run: git log --oneline -5 (report the 5 most recent commits)\n"
294
+ "3. Read AGENTS.md (confirm your role and governance rules)\n"
295
+ "4. Read the last 10 lines of LEDGER.md (confirm current project state)\n"
296
+ "Summarize findings in 3-4 plain sentences, then propose the most logical next action."
262
297
  ),
263
298
  "resume": (
264
299
  "[RESPOND IN ENGLISH ONLY] Resume from last LEDGER.md entry"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: specsmith
3
- Version: 0.3.6.dev177
3
+ Version: 0.3.6.dev178
4
4
  Summary: Applied Epistemic Engineering toolkit — AEE agent sessions, execution profiles, FPGA/HDL governance, tool installer, 50+ CLI commands.
5
5
  Author: BitConcepts
6
6
  License-Expression: MIT