invar-tools 1.2.0__tar.gz → 1.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 (239) hide show
  1. invar_tools-1.2.0/src/invar/templates/commands/review.md → invar_tools-1.3.0/.claude/commands/audit.md +20 -82
  2. invar_tools-1.3.0/.claude/commands/guard.md +77 -0
  3. invar_tools-1.3.0/.claude/skills/develop/SKILL.md +583 -0
  4. invar_tools-1.3.0/.claude/skills/investigate/SKILL.md +187 -0
  5. invar_tools-1.3.0/.claude/skills/propose/SKILL.md +209 -0
  6. invar_tools-1.3.0/.claude/skills/review/SKILL.md +251 -0
  7. {invar_tools-1.2.0 → invar_tools-1.3.0}/.invar/context.md +110 -11
  8. invar_tools-1.3.0/.invar/examples/conftest.py +3 -0
  9. {invar_tools-1.2.0 → invar_tools-1.3.0}/.invar/examples/contracts.py +5 -5
  10. {invar_tools-1.2.0 → invar_tools-1.3.0}/.invar/examples/core_shell.py +11 -7
  11. {invar_tools-1.2.0 → invar_tools-1.3.0}/.invar/examples/workflow.md +10 -0
  12. invar_tools-1.3.0/.invar/project-additions.md +45 -0
  13. invar_tools-1.3.0/CLAUDE.md +239 -0
  14. {invar_tools-1.2.0/src/invar/templates → invar_tools-1.3.0}/INVAR.md +10 -7
  15. {invar_tools-1.2.0 → invar_tools-1.3.0}/PKG-INFO +108 -118
  16. {invar_tools-1.2.0 → invar_tools-1.3.0}/README.md +105 -117
  17. invar_tools-1.2.0/docs/AGENTS.md → invar_tools-1.3.0/docs/agents.md +18 -8
  18. invar_tools-1.2.0/docs/DESIGN.md → invar_tools-1.3.0/docs/design.md +5 -5
  19. invar_tools-1.2.0/docs/INVAR-GUIDE.md → invar_tools-1.3.0/docs/guide.md +1 -1
  20. invar_tools-1.2.0/docs/feedback/INVAR-COMPLIANCE-ANALYSIS.md → invar_tools-1.3.0/docs/history/feedback/compliance-analysis.md +2 -0
  21. invar_tools-1.2.0/docs/feedback/INVAR_FEEDBACK_MEMO.md → invar_tools-1.3.0/docs/history/feedback/feedback-memo.md +2 -0
  22. invar_tools-1.3.0/docs/history/feedback/index.md +11 -0
  23. invar_tools-1.3.0/docs/history/index.md +22 -0
  24. {invar_tools-1.2.0 → invar_tools-1.3.0}/docs/index.html +32 -14
  25. {invar_tools-1.2.0 → invar_tools-1.3.0}/docs/proposals/DX-23-entry-point-detection.md +2 -2
  26. invar_tools-1.3.0/docs/proposals/DX-37-coverage-integration.md +322 -0
  27. invar_tools-1.3.0/docs/proposals/DX-38-contract-quality-rules.md +285 -0
  28. invar_tools-1.3.0/docs/proposals/DX-39-workflow-efficiency.md +294 -0
  29. invar_tools-1.3.0/docs/proposals/DX-40-smart-tool-redirect-hook.md +147 -0
  30. invar_tools-1.3.0/docs/proposals/DX-41-automatic-review-orchestration.md +212 -0
  31. invar_tools-1.3.0/docs/proposals/DX-42-workflow-auto-routing.md +325 -0
  32. invar_tools-1.3.0/docs/proposals/DX-43-cross-platform-distribution.md +68 -0
  33. invar_tools-1.3.0/docs/proposals/DX-46-documentation-audit.md +142 -0
  34. invar_tools-1.3.0/docs/proposals/DX-48-code-structure-reorganization.md +498 -0
  35. invar_tools-1.3.0/docs/proposals/DX-49-protocol-distribution-unification.md +741 -0
  36. invar_tools-1.3.0/docs/proposals/DX-50-workflow-enforcement.md +119 -0
  37. invar_tools-1.3.0/docs/proposals/DX-51-workflow-phase-visibility.md +250 -0
  38. invar_tools-1.3.0/docs/proposals/DX-52-venv-dependency-injection.md +836 -0
  39. invar_tools-1.3.0/docs/proposals/DX-53-review-loop-effectiveness.md +420 -0
  40. invar_tools-1.3.0/docs/proposals/DX-54-agent-native-context-management.md +214 -0
  41. invar_tools-1.3.0/docs/proposals/DX-55-claude-init-conflict-resolution.md +792 -0
  42. invar_tools-1.3.0/docs/proposals/DX-56-template-sync-unification.md +542 -0
  43. invar_tools-1.3.0/docs/proposals/LX-01-multi-language-feasibility.md +494 -0
  44. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/DX-11-documentation-restructure.md +14 -1
  45. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/DX-16-agent-tool-enforcement.md +16 -1
  46. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/DX-24-mechanism-documentation.md +13 -1
  47. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/DX-27-system-prompt-protocol.md +9 -1
  48. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/DX-28-semantic-verification.md +13 -2
  49. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/DX-31-adversarial-reviewer.md +20 -1
  50. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/DX-32-workflow-iteration.md +17 -1
  51. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/DX-33-verification-blind-spots.md +33 -1
  52. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/DX-34-review-cycle.md +14 -2
  53. invar_tools-1.3.0/docs/proposals/completed/DX-35-workflow-phase-separation.md +1276 -0
  54. invar_tools-1.3.0/docs/proposals/completed/DX-36-documentation-restructuring.md +855 -0
  55. invar_tools-1.3.0/docs/proposals/completed/DX-45-template-consistency.md +282 -0
  56. invar_tools-1.3.0/docs/proposals/completed/DX-47-command-skill-naming.md +210 -0
  57. invar_tools-1.3.0/docs/proposals/index.md +287 -0
  58. invar_tools-1.3.0/docs/reference/contracts/advanced.md +100 -0
  59. invar_tools-1.2.0/docs/mechanisms/contracts/contract-complete.md → invar_tools-1.3.0/docs/reference/contracts/completeness.md +8 -10
  60. invar_tools-1.2.0/docs/mechanisms/contracts/README.md → invar_tools-1.3.0/docs/reference/contracts/index.md +2 -1
  61. {invar_tools-1.2.0/docs/mechanisms → invar_tools-1.3.0/docs/reference}/documentation.md +9 -9
  62. invar_tools-1.2.0/docs/mechanisms/README.md → invar_tools-1.3.0/docs/reference/index.md +1 -0
  63. invar_tools-1.3.0/docs/reference/proposal-workflow.md +229 -0
  64. invar_tools-1.3.0/docs/reference/verification/crosshair-vs-hypothesis.md +147 -0
  65. invar_tools-1.2.0/docs/mechanisms/verification/README.md → invar_tools-1.3.0/docs/reference/verification/index.md +57 -1
  66. invar_tools-1.2.0/docs/mechanisms/workflow/README.md → invar_tools-1.3.0/docs/reference/workflow/index.md +2 -2
  67. invar_tools-1.3.0/docs/reference/workflow/session-start.md +228 -0
  68. invar_tools-1.3.0/docs/test-reports/DX-55-test-report.md +172 -0
  69. invar_tools-1.3.0/docs/test-reports/DX-56-test-report.md +209 -0
  70. {invar_tools-1.2.0 → invar_tools-1.3.0}/pyproject.toml +6 -3
  71. {invar_tools-1.2.0 → invar_tools-1.3.0}/runtime/pyproject.toml +1 -1
  72. {invar_tools-1.2.0 → invar_tools-1.3.0}/runtime/src/invar_runtime/contracts.py +5 -4
  73. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/__init__.py +1 -0
  74. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/contracts.py +10 -10
  75. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/entry_points.py +105 -32
  76. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/extraction.py +5 -6
  77. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/format_specs.py +1 -2
  78. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/formatter.py +6 -7
  79. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/hypothesis_strategies.py +5 -7
  80. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/inspect.py +1 -1
  81. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/lambda_helpers.py +3 -3
  82. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/models.py +7 -1
  83. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/must_use.py +2 -1
  84. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/parser.py +7 -4
  85. invar_tools-1.3.0/src/invar/core/postcondition_scope.py +128 -0
  86. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/property_gen.py +8 -5
  87. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/purity.py +3 -3
  88. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/purity_heuristics.py +5 -9
  89. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/references.py +8 -6
  90. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/review_trigger.py +78 -6
  91. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/rule_meta.py +8 -0
  92. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/rules.py +18 -19
  93. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/shell_analysis.py +5 -10
  94. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/shell_architecture.py +2 -2
  95. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/strategies.py +7 -14
  96. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/suggestions.py +86 -0
  97. invar_tools-1.3.0/src/invar/core/sync_helpers.py +238 -0
  98. invar_tools-1.3.0/src/invar/core/tautology.py +203 -0
  99. invar_tools-1.3.0/src/invar/core/template_parser.py +467 -0
  100. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/timeout_inference.py +4 -7
  101. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/utils.py +13 -15
  102. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/verification_routing.py +4 -7
  103. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/mcp/server.py +100 -17
  104. invar_tools-1.3.0/src/invar/shell/commands/__init__.py +11 -0
  105. invar_tools-1.2.0/src/invar/shell/cli.py → invar_tools-1.3.0/src/invar/shell/commands/guard.py +94 -14
  106. invar_tools-1.2.0/src/invar/shell/init_cmd.py → invar_tools-1.3.0/src/invar/shell/commands/init.py +179 -27
  107. invar_tools-1.3.0/src/invar/shell/commands/merge.py +256 -0
  108. invar_tools-1.3.0/src/invar/shell/commands/sync_self.py +113 -0
  109. invar_tools-1.3.0/src/invar/shell/commands/template_sync.py +366 -0
  110. invar_tools-1.3.0/src/invar/shell/commands/update.py +48 -0
  111. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/shell/config.py +12 -24
  112. invar_tools-1.3.0/src/invar/shell/coverage.py +351 -0
  113. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/shell/guard_helpers.py +38 -17
  114. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/shell/guard_output.py +7 -1
  115. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/shell/property_tests.py +58 -22
  116. invar_tools-1.3.0/src/invar/shell/prove/__init__.py +9 -0
  117. invar_tools-1.2.0/src/invar/shell/prove.py → invar_tools-1.3.0/src/invar/shell/prove/crosshair.py +40 -33
  118. invar_tools-1.2.0/src/invar/shell/prove_fallback.py → invar_tools-1.3.0/src/invar/shell/prove/hypothesis.py +12 -4
  119. invar_tools-1.3.0/src/invar/shell/subprocess_env.py +393 -0
  120. invar_tools-1.3.0/src/invar/shell/template_engine.py +345 -0
  121. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/shell/templates.py +19 -0
  122. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/shell/testing.py +71 -20
  123. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/templates/CLAUDE.md.template +38 -17
  124. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/templates/aider.conf.yml.template +2 -2
  125. invar_tools-1.2.0/.claude/commands/review.md → invar_tools-1.3.0/src/invar/templates/commands/audit.md +20 -82
  126. invar_tools-1.3.0/src/invar/templates/commands/guard.md +77 -0
  127. invar_tools-1.3.0/src/invar/templates/config/CLAUDE.md.jinja +206 -0
  128. invar_tools-1.3.0/src/invar/templates/config/context.md.jinja +92 -0
  129. invar_tools-1.3.0/src/invar/templates/config/pre-commit.yaml.jinja +44 -0
  130. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/templates/context.md.template +33 -0
  131. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/templates/cursorrules.template +7 -4
  132. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/templates/examples/README.md +2 -0
  133. invar_tools-1.3.0/src/invar/templates/examples/conftest.py +3 -0
  134. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/templates/examples/contracts.py +5 -5
  135. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/templates/examples/core_shell.py +11 -7
  136. invar_tools-1.3.0/src/invar/templates/examples/workflow.md +81 -0
  137. invar_tools-1.3.0/src/invar/templates/manifest.toml +137 -0
  138. invar_tools-1.3.0/src/invar/templates/protocol/INVAR.md +210 -0
  139. invar_tools-1.3.0/src/invar/templates/skills/develop/SKILL.md.jinja +318 -0
  140. invar_tools-1.3.0/src/invar/templates/skills/investigate/SKILL.md.jinja +106 -0
  141. invar_tools-1.3.0/src/invar/templates/skills/propose/SKILL.md.jinja +104 -0
  142. invar_tools-1.3.0/src/invar/templates/skills/review/SKILL.md.jinja +125 -0
  143. {invar_tools-1.2.0 → invar_tools-1.3.0}/tests/integration/test_cli_flags.py +6 -4
  144. invar_tools-1.3.0/tests/integration/test_dx55_regression.py +404 -0
  145. invar_tools-1.3.0/tests/integration/test_dx56_sync.py +229 -0
  146. invar_tools-1.3.0/tests/test_subprocess_env.py +290 -0
  147. invar_tools-1.2.0/.serena/cache/python/document_symbols.pkl +0 -0
  148. invar_tools-1.2.0/.serena/cache/python/raw_document_symbols.pkl +0 -0
  149. invar_tools-1.2.0/CLAUDE.md +0 -260
  150. invar_tools-1.2.0/INVAR.md +0 -464
  151. invar_tools-1.2.0/RELEASE_NOTES_v0.1.0.md +0 -102
  152. invar_tools-1.2.0/deprecated/python-invar/README.md +0 -61
  153. invar_tools-1.2.0/deprecated/python-invar/pyproject.toml +0 -34
  154. invar_tools-1.2.0/deprecated/python-invar/src/python_invar/__init__.py +0 -29
  155. invar_tools-1.2.0/docs/archive/FIRST_PRINCIPLES_REVIEW.md +0 -307
  156. invar_tools-1.2.0/docs/archive/INVAR-DETAILED-v3.16.md +0 -1296
  157. invar_tools-1.2.0/docs/archive/PHASE3_REVIEW.md +0 -347
  158. invar_tools-1.2.0/docs/archive/proposals-P15-P23-2025.md +0 -1573
  159. invar_tools-1.2.0/docs/archive/proposals-phase9-reflection-2025.md +0 -523
  160. invar_tools-1.2.0/docs/mechanisms/workflow/session-start.md +0 -265
  161. invar_tools-1.2.0/docs/proposals/README.md +0 -78
  162. invar_tools-1.2.0/src/invar/contracts.py +0 -152
  163. invar_tools-1.2.0/src/invar/core/tautology.py +0 -138
  164. invar_tools-1.2.0/src/invar/decorators.py +0 -94
  165. invar_tools-1.2.0/src/invar/invariant.py +0 -58
  166. invar_tools-1.2.0/src/invar/resource.py +0 -99
  167. invar_tools-1.2.0/src/invar/shell/update_cmd.py +0 -193
  168. {invar_tools-1.2.0 → invar_tools-1.3.0}/.aider.conf.yml +0 -0
  169. {invar_tools-1.2.0 → invar_tools-1.3.0}/.cursorrules +0 -0
  170. {invar_tools-1.2.0 → invar_tools-1.3.0}/.github/workflows/ci.yml +0 -0
  171. {invar_tools-1.2.0 → invar_tools-1.3.0}/.github/workflows/publish.yml +0 -0
  172. {invar_tools-1.2.0 → invar_tools-1.3.0}/.gitignore +0 -0
  173. {invar_tools-1.2.0 → invar_tools-1.3.0}/.invar/examples/README.md +0 -0
  174. {invar_tools-1.2.0 → invar_tools-1.3.0}/.invar/proposals/TEMPLATE.md +0 -0
  175. {invar_tools-1.2.0 → invar_tools-1.3.0}/.mcp.json +0 -0
  176. {invar_tools-1.2.0 → invar_tools-1.3.0}/.pre-commit-config.yaml +0 -0
  177. {invar_tools-1.2.0 → invar_tools-1.3.0}/.serena/.gitignore +0 -0
  178. {invar_tools-1.2.0 → invar_tools-1.3.0}/.serena/project.yml +0 -0
  179. {invar_tools-1.2.0 → invar_tools-1.3.0}/LICENSE +0 -0
  180. {invar_tools-1.2.0 → invar_tools-1.3.0}/LICENSE-GPL +0 -0
  181. {invar_tools-1.2.0 → invar_tools-1.3.0}/NOTICE +0 -0
  182. {invar_tools-1.2.0/docs/archive → invar_tools-1.3.0/docs/history}/decisions-2024.md +0 -0
  183. /invar_tools-1.2.0/docs/archive/VISION-ORIGINAL.md → /invar_tools-1.3.0/docs/history/original-vision.md +0 -0
  184. /invar_tools-1.2.0/docs/archive/PROTOCOL_EVOLUTION.md → /invar_tools-1.3.0/docs/history/protocol-evolution.md +0 -0
  185. {invar_tools-1.2.0/docs → invar_tools-1.3.0/docs/history}/research/cruxeval-quick-validation.md +0 -0
  186. {invar_tools-1.2.0 → invar_tools-1.3.0}/docs/proposals/DX-25-functional-patterns.md +0 -0
  187. {invar_tools-1.2.0 → invar_tools-1.3.0}/docs/proposals/DX-29-pure-content-detection.md +0 -0
  188. {invar_tools-1.2.0/docs/proposals/archive → invar_tools-1.3.0/docs/proposals/completed}/2024-12-21-guard-enhancements.md +0 -0
  189. {invar_tools-1.2.0/docs/proposals/archive → invar_tools-1.3.0/docs/proposals/completed}/2024-12-21-language-inspired-enhancements.md +0 -0
  190. {invar_tools-1.2.0/docs/proposals/archive → invar_tools-1.3.0/docs/proposals/completed}/2024-12-21-test-first-enhancement.md +0 -0
  191. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/2025-12-21-dx-improvements.md +0 -0
  192. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/2025-12-23-dx-20-property-testing-enhancements.md +0 -0
  193. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/2025-12-23-dx-21-package-and-init.md +0 -0
  194. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/AGENT-IMPROVEMENTS.md +0 -0
  195. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/DX-12-hypothesis-fallback.md +0 -0
  196. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/DX-13-incremental-prove.md +0 -0
  197. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/DX-14-expanded-prove-usage.md +0 -0
  198. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/DX-17-workflow-enforcement.md +0 -0
  199. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/DX-22-verification-strategy.md +0 -0
  200. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/DX-26-guard-simplification.md +0 -0
  201. {invar_tools-1.2.0/docs/proposals → invar_tools-1.3.0/docs/proposals/completed}/DX-30-visible-workflow.md +0 -0
  202. /invar_tools-1.2.0/docs/mechanisms/architecture/README.md → /invar_tools-1.3.0/docs/reference/architecture/index.md +0 -0
  203. {invar_tools-1.2.0/docs/mechanisms → invar_tools-1.3.0/docs/reference}/contracts/doctests.md +0 -0
  204. {invar_tools-1.2.0/docs/mechanisms → invar_tools-1.3.0/docs/reference}/contracts/pre-post.md +0 -0
  205. /invar_tools-1.2.0/docs/mechanisms/rules/README.md → /invar_tools-1.3.0/docs/reference/rules/index.md +0 -0
  206. /invar_tools-1.2.0/docs/mechanisms/rules/severity-design.md → /invar_tools-1.3.0/docs/reference/rules/severity.md +0 -0
  207. {invar_tools-1.2.0/docs/mechanisms → invar_tools-1.3.0/docs/reference}/verification/smart-routing.md +0 -0
  208. {invar_tools-1.2.0/docs/mechanisms → invar_tools-1.3.0/docs/reference}/workflow/usbv.md +0 -0
  209. /invar_tools-1.2.0/docs/VISION.md → /invar_tools-1.3.0/docs/vision.md +0 -0
  210. {invar_tools-1.2.0 → invar_tools-1.3.0}/runtime/LICENSE +0 -0
  211. {invar_tools-1.2.0 → invar_tools-1.3.0}/runtime/README.md +0 -0
  212. {invar_tools-1.2.0 → invar_tools-1.3.0}/runtime/src/invar_runtime/__init__.py +0 -0
  213. {invar_tools-1.2.0 → invar_tools-1.3.0}/runtime/src/invar_runtime/decorators.py +0 -0
  214. {invar_tools-1.2.0 → invar_tools-1.3.0}/runtime/src/invar_runtime/invariant.py +0 -0
  215. {invar_tools-1.2.0 → invar_tools-1.3.0}/runtime/src/invar_runtime/relations.py +0 -0
  216. {invar_tools-1.2.0 → invar_tools-1.3.0}/runtime/src/invar_runtime/resource.py +0 -0
  217. {invar_tools-1.2.0 → invar_tools-1.3.0}/scripts/smart-guard.sh +0 -0
  218. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/__init__.py +0 -0
  219. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/core/format_strategies.py +0 -0
  220. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/mcp/__init__.py +0 -0
  221. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/mcp/__main__.py +0 -0
  222. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/py.typed +0 -0
  223. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/shell/__init__.py +0 -0
  224. /invar_tools-1.2.0/src/invar/shell/mutate_cmd.py → /invar_tools-1.3.0/src/invar/shell/commands/mutate.py +0 -0
  225. {invar_tools-1.2.0/src/invar/shell → invar_tools-1.3.0/src/invar/shell/commands}/perception.py +0 -0
  226. /invar_tools-1.2.0/src/invar/shell/test_cmd.py → /invar_tools-1.3.0/src/invar/shell/commands/test.py +0 -0
  227. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/shell/fs.py +0 -0
  228. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/shell/git.py +0 -0
  229. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/shell/mcp_config.py +0 -0
  230. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/shell/mutation.py +0 -0
  231. /invar_tools-1.2.0/src/invar/shell/prove_accept.py → /invar_tools-1.3.0/src/invar/shell/prove/accept.py +0 -0
  232. /invar_tools-1.2.0/src/invar/shell/prove_cache.py → /invar_tools-1.3.0/src/invar/shell/prove/cache.py +0 -0
  233. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/templates/__init__.py +0 -0
  234. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/templates/pre-commit-config.yaml.template +0 -0
  235. {invar_tools-1.2.0 → invar_tools-1.3.0}/src/invar/templates/proposal.md.template +0 -0
  236. {invar_tools-1.2.0 → invar_tools-1.3.0}/tests/__init__.py +0 -0
  237. {invar_tools-1.2.0 → invar_tools-1.3.0}/tests/conftest.py +0 -0
  238. {invar_tools-1.2.0 → invar_tools-1.3.0}/tests/integration/__init__.py +0 -0
  239. {invar_tools-1.2.0 → invar_tools-1.3.0}/uv.lock +0 -0
@@ -1,73 +1,14 @@
1
- # Code Review (Reviewer Role)
1
+ # Audit
2
2
 
3
- ## Mode Detection (Required First Step)
4
-
5
- Before reviewing, determine the appropriate mode:
6
-
7
- ### Check for `review_suggested`
8
-
9
- Look at your conversation history for recent `invar guard` output, or run:
10
- ```bash
11
- invar guard --changed
12
- ```
13
-
14
- Check if `review_suggested` warning is present:
15
- ```
16
- WARNING: review_suggested - High escape hatch count: N @invar:allow markers
17
- WARNING: review_suggested - Security-sensitive path detected
18
- WARNING: review_suggested - Low contract coverage
19
- ```
20
-
21
- ### Select Mode
22
-
23
- | Condition | Mode | Why |
24
- |-----------|------|-----|
25
- | `review_suggested` present | **Isolated** | Eliminates confirmation bias |
26
- | No trigger | **Quick** | Faster, context preserved |
27
- | User requests `--isolated` | **Isolated** | Explicit override |
28
- | User requests `--quick` | **Quick** | Explicit override |
29
-
30
- ---
31
-
32
- ## Isolated Mode
33
-
34
- **Use when:** `review_suggested` triggered, or user explicitly requests isolation.
35
-
36
- Spawn an independent reviewer with fresh context using Task tool:
37
-
38
- ```
39
- I'll spawn an independent reviewer to eliminate confirmation bias...
40
-
41
- [Task tool call]
42
- prompt: |
43
- You are an adversarial code reviewer. Your job is to FIND PROBLEMS.
44
-
45
- Review these files: {files_to_review}
46
-
47
- Read .claude/commands/review.md for the full checklist, then:
48
- 1. Check contract semantic value (not just syntax)
49
- 2. Audit all escape hatches (@invar:allow)
50
- 3. Look for logic errors and edge cases
51
- 4. Check security if applicable
52
-
53
- Report issues as CRITICAL/MAJOR/MINOR with file:line locations.
54
-
55
- Your success is measured by problems found, not code approved.
56
-
57
- subagent_type: "general-purpose"
58
- ```
59
-
60
- After receiving the sub-agent's report, summarize findings for the user.
61
-
62
- **Key:** The sub-agent has NO conversation history. It only sees the code.
3
+ Read-only code review. Reports issues without fixing them.
63
4
 
64
5
  ---
65
6
 
66
- ## Quick Mode
67
-
68
- **Use when:** No `review_suggested` trigger, routine review needed.
7
+ ## Behavior
69
8
 
70
- Proceed with same-context review below.
9
+ 1. Analyze code for issues (style, bugs, security, architecture)
10
+ 2. Report findings with file:line references
11
+ 3. **Do NOT make any changes** - report only
71
12
 
72
13
  ---
73
14
 
@@ -149,7 +90,7 @@ You ARE here to:
149
90
 
150
91
  ---
151
92
 
152
- ## Excluded (Covered by Tools)
93
+ ## Excluded (Covered by Guard)
153
94
 
154
95
  These are checked by Guard or linters - don't duplicate:
155
96
  - Core/Shell separation → Guard (forbidden_import, impure_call)
@@ -157,7 +98,6 @@ These are checked by Guard or linters - don't duplicate:
157
98
  - Missing contracts → Guard (missing_contract)
158
99
  - File/function size limits → Guard (file_size, function_size)
159
100
  - Entry point thickness → Guard (entry_point_too_thick)
160
- - Magic numbers → Linters (ruff)
161
101
  - Escape hatch count → Guard (review_suggested)
162
102
 
163
103
  ---
@@ -166,11 +106,11 @@ These are checked by Guard or linters - don't duplicate:
166
106
 
167
107
  For each issue found, use severity levels:
168
108
 
169
- | Severity | Meaning | Enforcement |
170
- |----------|---------|-------------|
171
- | **CRITICAL** | Must fix before completion | Blocking |
172
- | **MAJOR** | Fix or provide written justification | Strong |
173
- | **MINOR** | Optional, can defer | Advisory |
109
+ | Severity | Meaning |
110
+ |----------|---------|
111
+ | **CRITICAL** | Must fix before completion |
112
+ | **MAJOR** | Fix or provide written justification |
113
+ | **MINOR** | Optional, can defer |
174
114
 
175
115
  ```markdown
176
116
  ### [CRITICAL/MAJOR/MINOR] Issue Title
@@ -178,22 +118,20 @@ For each issue found, use severity levels:
178
118
  **Location:** file.py:line_number
179
119
  **Category:** contract_quality | logic_error | security | escape_hatch | code_smell
180
120
  **Problem:** What's wrong
181
- **Suggestion:** How to fix (if applicable)
121
+ **Suggestion:** How to fix (but don't implement)
182
122
  ```
183
123
 
184
124
  ---
185
125
 
186
- ## Instructions Summary
126
+ ## Instructions
187
127
 
188
- 1. **Mode Detection:** Check for `review_suggested` in guard output
189
- 2. **If Isolated Mode:** Spawn Task sub-agent (fresh context)
190
- 3. **If Quick Mode:** Proceed with same-context adversarial review
191
- 4. Go through each checklist category
192
- 5. For each issue, determine severity (CRITICAL/MAJOR/MINOR)
193
- 6. Report with structured format above
194
- 7. Be thorough and adversarial
128
+ 1. Run `invar guard --changed` to see current state
129
+ 2. Go through each checklist category
130
+ 3. For each issue, determine severity (CRITICAL/MAJOR/MINOR)
131
+ 4. Report with structured format above
132
+ 5. Be thorough and adversarial
195
133
 
196
- **Remember:** You are READ-ONLY. Report issues, don't fix them directly.
134
+ **Remember:** You are READ-ONLY. Report issues, don't fix them.
197
135
 
198
136
  ---
199
137
 
@@ -0,0 +1,77 @@
1
+ # Guard
2
+
3
+ Run Invar verification on the project and report results.
4
+
5
+ ---
6
+
7
+ ## Behavior
8
+
9
+ Execute `invar_guard()` and report:
10
+ - Pass/fail status
11
+ - Error count with details
12
+ - Warning count with details
13
+
14
+ **Do NOT fix issues** - just report verification results.
15
+
16
+ ---
17
+
18
+ ## When to Use
19
+
20
+ - Quick verification check
21
+ - Before committing changes
22
+ - After pulling changes
23
+ - To see current project health
24
+
25
+ ---
26
+
27
+ ## Execution
28
+
29
+ Run verification:
30
+
31
+ ```
32
+ invar_guard(changed=true)
33
+ ```
34
+
35
+ Or for full project verification:
36
+
37
+ ```
38
+ invar_guard()
39
+ ```
40
+
41
+ ---
42
+
43
+ ## Report Format
44
+
45
+ ```
46
+ ## Guard Results
47
+
48
+ **Status:** PASS / FAIL
49
+ **Errors:** N
50
+ **Warnings:** N
51
+
52
+ ### Errors (if any)
53
+
54
+ | Rule | File | Line | Message |
55
+ |------|------|------|---------|
56
+ | missing_contract | src/foo.py | 42 | Function 'bar' has no @pre/@post |
57
+
58
+ ### Warnings (if any)
59
+
60
+ | Rule | File | Line | Message |
61
+ |------|------|------|---------|
62
+ | function_size | src/baz.py | 15 | Function exceeds 50 lines |
63
+ ```
64
+
65
+ ---
66
+
67
+ ## Next Steps
68
+
69
+ After reporting results:
70
+ - If PASS: No action needed
71
+ - If FAIL: User decides whether to fix issues
72
+
73
+ **Remember:** You are READ-ONLY. Report results, don't fix them.
74
+
75
+ ---
76
+
77
+ Now run verification on the current project.