jacobian 0.2.0a0__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 (281) hide show
  1. jacobian-0.2.0a0/.agents/skills/discover-math-capabilities/SKILL.md +233 -0
  2. jacobian-0.2.0a0/.agents/skills/discover-math-capabilities/agents/openai.yaml +4 -0
  3. jacobian-0.2.0a0/.agents/skills/evaluate-math-capabilities/SKILL.md +230 -0
  4. jacobian-0.2.0a0/.agents/skills/evaluate-math-capabilities/agents/openai.yaml +4 -0
  5. jacobian-0.2.0a0/.devcontainer/devcontainer.json +26 -0
  6. jacobian-0.2.0a0/.devin/config.local.json +10 -0
  7. jacobian-0.2.0a0/.dockerignore +8 -0
  8. jacobian-0.2.0a0/.env.example +6 -0
  9. jacobian-0.2.0a0/.factory/droids/jacobian-dev.md +60 -0
  10. jacobian-0.2.0a0/.github/ISSUE_TEMPLATE/bug_report.md +35 -0
  11. jacobian-0.2.0a0/.github/ISSUE_TEMPLATE/feature_request.md +28 -0
  12. jacobian-0.2.0a0/.github/dependabot.yml +17 -0
  13. jacobian-0.2.0a0/.github/pull_request_template.md +20 -0
  14. jacobian-0.2.0a0/.github/workflows/ci.yml +237 -0
  15. jacobian-0.2.0a0/.gitignore +38 -0
  16. jacobian-0.2.0a0/.jscpd.json +15 -0
  17. jacobian-0.2.0a0/.pre-commit-config.yaml +25 -0
  18. jacobian-0.2.0a0/.python-version +1 -0
  19. jacobian-0.2.0a0/.release-please-manifest.json +3 -0
  20. jacobian-0.2.0a0/.secrets.baseline +107 -0
  21. jacobian-0.2.0a0/AGENTS.md +79 -0
  22. jacobian-0.2.0a0/CONTRIBUTING.md +116 -0
  23. jacobian-0.2.0a0/Dockerfile +15 -0
  24. jacobian-0.2.0a0/LICENSE +21 -0
  25. jacobian-0.2.0a0/Makefile +49 -0
  26. jacobian-0.2.0a0/PKG-INFO +276 -0
  27. jacobian-0.2.0a0/README.md +256 -0
  28. jacobian-0.2.0a0/benchmarks/ab_cases/erdos_straus_ab_001.json +14 -0
  29. jacobian-0.2.0a0/benchmarks/ab_cases/finite_partition_ab_001.json +11 -0
  30. jacobian-0.2.0a0/benchmarks/ab_cases/graph-report.schema.json +93 -0
  31. jacobian-0.2.0a0/benchmarks/ab_cases/graph_counterexample_ab_001.json +24 -0
  32. jacobian-0.2.0a0/benchmarks/ab_cases/graph_path_ab_001.json +26 -0
  33. jacobian-0.2.0a0/benchmarks/ab_cases/lean-proof-report.schema.json +47 -0
  34. jacobian-0.2.0a0/benchmarks/ab_cases/lean-report.schema.json +87 -0
  35. jacobian-0.2.0a0/benchmarks/ab_cases/lean_declaration_ab_001.json +19 -0
  36. jacobian-0.2.0a0/benchmarks/ab_cases/lean_declaration_ab_002.json +19 -0
  37. jacobian-0.2.0a0/benchmarks/ab_cases/partition-report.schema.json +68 -0
  38. jacobian-0.2.0a0/benchmarks/ab_cases/report.schema.json +51 -0
  39. jacobian-0.2.0a0/benchmarks/agent_ab.py +1629 -0
  40. jacobian-0.2.0a0/benchmarks/agent_ab_mcp.py +25 -0
  41. jacobian-0.2.0a0/benchmarks/agent_cases/erdos_straus_001.json +32 -0
  42. jacobian-0.2.0a0/benchmarks/agent_cases/graph-report.schema.json +119 -0
  43. jacobian-0.2.0a0/benchmarks/agent_cases/graph_atlas_path_001.json +27 -0
  44. jacobian-0.2.0a0/benchmarks/agent_cases/graph_bip_true_001.json +33 -0
  45. jacobian-0.2.0a0/benchmarks/agent_cases/lean_nat_induction_001.json +22 -0
  46. jacobian-0.2.0a0/benchmarks/agent_cases/lean_sqrt2_001.json +28 -0
  47. jacobian-0.2.0a0/benchmarks/agent_cases/mat_kernel_001.json +32 -0
  48. jacobian-0.2.0a0/benchmarks/agent_cases/path_closure_001.json +49 -0
  49. jacobian-0.2.0a0/benchmarks/agent_cases/report.schema.json +97 -0
  50. jacobian-0.2.0a0/benchmarks/agent_mcp.py +944 -0
  51. jacobian-0.2.0a0/benchmarks/benchmark_core.py +75 -0
  52. jacobian-0.2.0a0/benchmarks/benchmark_v02.py +91 -0
  53. jacobian-0.2.0a0/benchmarks/lean_repl_pin.json +7 -0
  54. jacobian-0.2.0a0/benchmarks/lean_repl_spike.py +209 -0
  55. jacobian-0.2.0a0/benchmarks/reproduction_cases/lean_public_reproductions.json +37 -0
  56. jacobian-0.2.0a0/docs/contributing/atomic-capability-portfolio.md +626 -0
  57. jacobian-0.2.0a0/docs/contributing/issues.md +56 -0
  58. jacobian-0.2.0a0/docs/explanation/adr/0001-python-first-control-plane.md +173 -0
  59. jacobian-0.2.0a0/docs/explanation/adr/0002-sealed-plugin-packages.md +81 -0
  60. jacobian-0.2.0a0/docs/explanation/adr/0003-durable-search-invocations.md +81 -0
  61. jacobian-0.2.0a0/docs/explanation/adr/0004-verified-parameter-regions.md +74 -0
  62. jacobian-0.2.0a0/docs/explanation/adr/0005-direct-epistemic-workspaces.md +104 -0
  63. jacobian-0.2.0a0/docs/explanation/adr/index.md +31 -0
  64. jacobian-0.2.0a0/docs/explanation/architecture.md +470 -0
  65. jacobian-0.2.0a0/docs/explanation/goals.md +79 -0
  66. jacobian-0.2.0a0/docs/explanation/product-blueprint.md +309 -0
  67. jacobian-0.2.0a0/docs/explanation/search-runtime.md +144 -0
  68. jacobian-0.2.0a0/docs/explanation/threat-model.md +365 -0
  69. jacobian-0.2.0a0/docs/how-to/deploy-remote-mcp.md +109 -0
  70. jacobian-0.2.0a0/docs/index.md +108 -0
  71. jacobian-0.2.0a0/docs/reference/agent-evaluations.md +493 -0
  72. jacobian-0.2.0a0/docs/reference/benchmarks.md +92 -0
  73. jacobian-0.2.0a0/docs/reference/capability-workflow-evaluations.md +386 -0
  74. jacobian-0.2.0a0/docs/reference/conformance-v0.2.md +207 -0
  75. jacobian-0.2.0a0/docs/reference/lean-declaration-discovery.md +87 -0
  76. jacobian-0.2.0a0/docs/reference/math-scenarios.md +818 -0
  77. jacobian-0.2.0a0/docs/reference/performance-benchmarks.md +326 -0
  78. jacobian-0.2.0a0/docs/reference/plugin-conformance.md +104 -0
  79. jacobian-0.2.0a0/docs/reference/provider-runtime.md +112 -0
  80. jacobian-0.2.0a0/docs/reference/sat-artifacts.md +134 -0
  81. jacobian-0.2.0a0/docs/reference/specifications/v0.2.md +250 -0
  82. jacobian-0.2.0a0/docs/reference/testing-strategy.md +724 -0
  83. jacobian-0.2.0a0/docs/reference/tools.md +240 -0
  84. jacobian-0.2.0a0/docs/tutorials/first-verified-result.md +257 -0
  85. jacobian-0.2.0a0/docs/tutorials/lean-declaration-discovery.md +105 -0
  86. jacobian-0.2.0a0/lean/JacobianLeanRuntime.lean +3 -0
  87. jacobian-0.2.0a0/lean/lake-manifest.json +106 -0
  88. jacobian-0.2.0a0/lean/lakefile.toml +16 -0
  89. jacobian-0.2.0a0/lean/lean-toolchain +1 -0
  90. jacobian-0.2.0a0/npm/README.md +58 -0
  91. jacobian-0.2.0a0/npm/bin/doctor.cjs +295 -0
  92. jacobian-0.2.0a0/npm/bin/jacobian.cjs +160 -0
  93. jacobian-0.2.0a0/npm/bin/launcher.cjs +234 -0
  94. jacobian-0.2.0a0/npm/bin/setup.cjs +562 -0
  95. jacobian-0.2.0a0/npm/npm-packaging.test.mjs +309 -0
  96. jacobian-0.2.0a0/npm/package.json +24 -0
  97. jacobian-0.2.0a0/pyproject.toml +119 -0
  98. jacobian-0.2.0a0/release-please-config.json +12 -0
  99. jacobian-0.2.0a0/src/jacobian/__init__.py +6 -0
  100. jacobian-0.2.0a0/src/jacobian/_lean_declaration_query.lean +338 -0
  101. jacobian-0.2.0a0/src/jacobian/adapters/__init__.py +1 -0
  102. jacobian-0.2.0a0/src/jacobian/adapters/mcp/__init__.py +1 -0
  103. jacobian-0.2.0a0/src/jacobian/adapters/mcp/remote.py +168 -0
  104. jacobian-0.2.0a0/src/jacobian/adapters/mcp/server.py +999 -0
  105. jacobian-0.2.0a0/src/jacobian/artifacts.py +109 -0
  106. jacobian-0.2.0a0/src/jacobian/atomic_capabilities.py +594 -0
  107. jacobian-0.2.0a0/src/jacobian/atomic_capability_builders.py +21 -0
  108. jacobian-0.2.0a0/src/jacobian/atomic_domain_capabilities.py +157 -0
  109. jacobian-0.2.0a0/src/jacobian/atomic_experiment_capabilities.py +162 -0
  110. jacobian-0.2.0a0/src/jacobian/bounded_process.py +175 -0
  111. jacobian-0.2.0a0/src/jacobian/builtin_capabilities.py +351 -0
  112. jacobian-0.2.0a0/src/jacobian/canonical.py +165 -0
  113. jacobian-0.2.0a0/src/jacobian/capabilities.py +515 -0
  114. jacobian-0.2.0a0/src/jacobian/checker_worker.py +73 -0
  115. jacobian-0.2.0a0/src/jacobian/claims.py +138 -0
  116. jacobian-0.2.0a0/src/jacobian/cli.py +785 -0
  117. jacobian-0.2.0a0/src/jacobian/conjectures.py +887 -0
  118. jacobian-0.2.0a0/src/jacobian/contracts/__init__.py +29 -0
  119. jacobian-0.2.0a0/src/jacobian/contracts/artifacts.py +28 -0
  120. jacobian-0.2.0a0/src/jacobian/contracts/capabilities.py +407 -0
  121. jacobian-0.2.0a0/src/jacobian/contracts/checkers.py +99 -0
  122. jacobian-0.2.0a0/src/jacobian/contracts/claims.py +117 -0
  123. jacobian-0.2.0a0/src/jacobian/contracts/common.py +27 -0
  124. jacobian-0.2.0a0/src/jacobian/contracts/conjectures.py +292 -0
  125. jacobian-0.2.0a0/src/jacobian/contracts/discovery.py +232 -0
  126. jacobian-0.2.0a0/src/jacobian/contracts/evaluation.py +68 -0
  127. jacobian-0.2.0a0/src/jacobian/contracts/evidence.py +89 -0
  128. jacobian-0.2.0a0/src/jacobian/contracts/exact.py +38 -0
  129. jacobian-0.2.0a0/src/jacobian/contracts/graph_degree_sequence.py +131 -0
  130. jacobian-0.2.0a0/src/jacobian/contracts/graph_invariants.py +108 -0
  131. jacobian-0.2.0a0/src/jacobian/contracts/lean.py +175 -0
  132. jacobian-0.2.0a0/src/jacobian/contracts/lean_exploration.py +94 -0
  133. jacobian-0.2.0a0/src/jacobian/contracts/memory.py +47 -0
  134. jacobian-0.2.0a0/src/jacobian/contracts/plugins.py +94 -0
  135. jacobian-0.2.0a0/src/jacobian/contracts/polynomials.py +319 -0
  136. jacobian-0.2.0a0/src/jacobian/contracts/polytope.py +97 -0
  137. jacobian-0.2.0a0/src/jacobian/contracts/provider_measurements.py +57 -0
  138. jacobian-0.2.0a0/src/jacobian/contracts/results.py +212 -0
  139. jacobian-0.2.0a0/src/jacobian/contracts/sat.py +353 -0
  140. jacobian-0.2.0a0/src/jacobian/contracts/search.py +321 -0
  141. jacobian-0.2.0a0/src/jacobian/contracts/shrinking.py +88 -0
  142. jacobian-0.2.0a0/src/jacobian/contracts/transformations.py +110 -0
  143. jacobian-0.2.0a0/src/jacobian/contracts/universal_algebra.py +308 -0
  144. jacobian-0.2.0a0/src/jacobian/contracts/verification.py +34 -0
  145. jacobian-0.2.0a0/src/jacobian/contracts/witness_search.py +125 -0
  146. jacobian-0.2.0a0/src/jacobian/contracts/workspaces.py +731 -0
  147. jacobian-0.2.0a0/src/jacobian/eval_graph_oracle.py +184 -0
  148. jacobian-0.2.0a0/src/jacobian/eval_telemetry.py +175 -0
  149. jacobian-0.2.0a0/src/jacobian/evaluation.py +396 -0
  150. jacobian-0.2.0a0/src/jacobian/experiment_router.py +68 -0
  151. jacobian-0.2.0a0/src/jacobian/experiment_runtime.py +22 -0
  152. jacobian-0.2.0a0/src/jacobian/experiments.py +1192 -0
  153. jacobian-0.2.0a0/src/jacobian/finite_partition.py +500 -0
  154. jacobian-0.2.0a0/src/jacobian/graph_capabilities.py +1305 -0
  155. jacobian-0.2.0a0/src/jacobian/implementation.py +181 -0
  156. jacobian-0.2.0a0/src/jacobian/kernel.py +321 -0
  157. jacobian-0.2.0a0/src/jacobian/lean.py +238 -0
  158. jacobian-0.2.0a0/src/jacobian/lean_declarations.py +734 -0
  159. jacobian-0.2.0a0/src/jacobian/lean_exploration.py +802 -0
  160. jacobian-0.2.0a0/src/jacobian/memory.py +188 -0
  161. jacobian-0.2.0a0/src/jacobian/plugin_conformance.py +338 -0
  162. jacobian-0.2.0a0/src/jacobian/plugin_execution.py +208 -0
  163. jacobian-0.2.0a0/src/jacobian/plugin_worker.py +77 -0
  164. jacobian-0.2.0a0/src/jacobian/plugins/__init__.py +1 -0
  165. jacobian-0.2.0a0/src/jacobian/plugins/erdos_straus.py +179 -0
  166. jacobian-0.2.0a0/src/jacobian/plugins/graph_paths.py +929 -0
  167. jacobian-0.2.0a0/src/jacobian/plugins/matrices.py +882 -0
  168. jacobian-0.2.0a0/src/jacobian/plugins/registry.py +432 -0
  169. jacobian-0.2.0a0/src/jacobian/polynomial_capabilities.py +936 -0
  170. jacobian-0.2.0a0/src/jacobian/polytope.py +715 -0
  171. jacobian-0.2.0a0/src/jacobian/provider_measurements.py +301 -0
  172. jacobian-0.2.0a0/src/jacobian/provider_runtime.py +340 -0
  173. jacobian-0.2.0a0/src/jacobian/py.typed +0 -0
  174. jacobian-0.2.0a0/src/jacobian/references.py +959 -0
  175. jacobian-0.2.0a0/src/jacobian/registry.py +524 -0
  176. jacobian-0.2.0a0/src/jacobian/sat.py +206 -0
  177. jacobian-0.2.0a0/src/jacobian/schema_registry.py +197 -0
  178. jacobian-0.2.0a0/src/jacobian/search.py +2042 -0
  179. jacobian-0.2.0a0/src/jacobian/shrinking.py +491 -0
  180. jacobian-0.2.0a0/src/jacobian/store.py +587 -0
  181. jacobian-0.2.0a0/src/jacobian/structures.py +248 -0
  182. jacobian-0.2.0a0/src/jacobian/transformations.py +320 -0
  183. jacobian-0.2.0a0/src/jacobian/universal_algebra_capabilities.py +605 -0
  184. jacobian-0.2.0a0/src/jacobian/verification.py +1193 -0
  185. jacobian-0.2.0a0/src/jacobian/witnesses.py +354 -0
  186. jacobian-0.2.0a0/src/jacobian/workspaces.py +1798 -0
  187. jacobian-0.2.0a0/src/jacobian_checkers/__init__.py +1 -0
  188. jacobian-0.2.0a0/src/jacobian_checkers/erdos_straus.py +111 -0
  189. jacobian-0.2.0a0/src/jacobian_checkers/finite_partition.py +93 -0
  190. jacobian-0.2.0a0/src/jacobian_checkers/graph_degree_sequence.py +212 -0
  191. jacobian-0.2.0a0/src/jacobian_checkers/graph_invariants.py +268 -0
  192. jacobian-0.2.0a0/src/jacobian_checkers/graph_paths.py +554 -0
  193. jacobian-0.2.0a0/src/jacobian_checkers/lean4.py +453 -0
  194. jacobian-0.2.0a0/src/jacobian_checkers/matrices.py +558 -0
  195. jacobian-0.2.0a0/src/jacobian_checkers/polynomial_maps.py +427 -0
  196. jacobian-0.2.0a0/src/jacobian_checkers/polytope.py +258 -0
  197. jacobian-0.2.0a0/src/jacobian_checkers/py.typed +0 -0
  198. jacobian-0.2.0a0/src/jacobian_checkers/reject.py +16 -0
  199. jacobian-0.2.0a0/src/jacobian_checkers/universal_algebra.py +313 -0
  200. jacobian-0.2.0a0/tests/__init__.py +1 -0
  201. jacobian-0.2.0a0/tests/checkers/test_erdos_straus_checker.py +111 -0
  202. jacobian-0.2.0a0/tests/checkers/test_finite_partition_checker.py +90 -0
  203. jacobian-0.2.0a0/tests/checkers/test_graph_checkers.py +130 -0
  204. jacobian-0.2.0a0/tests/checkers/test_graph_degree_sequence_checker.py +173 -0
  205. jacobian-0.2.0a0/tests/checkers/test_graph_invariant_checker.py +107 -0
  206. jacobian-0.2.0a0/tests/checkers/test_matrix_checkers.py +363 -0
  207. jacobian-0.2.0a0/tests/checkers/test_polynomial_map_checker.py +255 -0
  208. jacobian-0.2.0a0/tests/checkers/test_universal_algebra_checker.py +119 -0
  209. jacobian-0.2.0a0/tests/conftest.py +24 -0
  210. jacobian-0.2.0a0/tests/contract/test_canonical_json.py +125 -0
  211. jacobian-0.2.0a0/tests/contract/test_capability_contracts.py +147 -0
  212. jacobian-0.2.0a0/tests/contract/test_checker_dependency_boundary.py +35 -0
  213. jacobian-0.2.0a0/tests/contract/test_conjecture_contracts.py +127 -0
  214. jacobian-0.2.0a0/tests/contract/test_evidence_contracts.py +34 -0
  215. jacobian-0.2.0a0/tests/contract/test_implementation_identity.py +107 -0
  216. jacobian-0.2.0a0/tests/contract/test_lean_checker_errors.py +158 -0
  217. jacobian-0.2.0a0/tests/contract/test_lean_declaration_contracts.py +62 -0
  218. jacobian-0.2.0a0/tests/contract/test_lean_errors.py +38 -0
  219. jacobian-0.2.0a0/tests/contract/test_plugin_conformance.py +28 -0
  220. jacobian-0.2.0a0/tests/contract/test_plugin_manifest.py +31 -0
  221. jacobian-0.2.0a0/tests/contract/test_provider_runtime.py +93 -0
  222. jacobian-0.2.0a0/tests/contract/test_result_envelope.py +174 -0
  223. jacobian-0.2.0a0/tests/contract/test_sat_contracts.py +232 -0
  224. jacobian-0.2.0a0/tests/contract/test_schema_registry.py +102 -0
  225. jacobian-0.2.0a0/tests/contract/test_search_contracts.py +180 -0
  226. jacobian-0.2.0a0/tests/contract/test_v02_discovery_contracts.py +102 -0
  227. jacobian-0.2.0a0/tests/contract/test_witness_and_shrink_results.py +100 -0
  228. jacobian-0.2.0a0/tests/end_to_end/test_reference_kernel.py +359 -0
  229. jacobian-0.2.0a0/tests/fixtures/__init__.py +1 -0
  230. jacobian-0.2.0a0/tests/fixtures/capability_functions.py +60 -0
  231. jacobian-0.2.0a0/tests/fixtures/checker_functions.py +104 -0
  232. jacobian-0.2.0a0/tests/fixtures/noisy_module.py +9 -0
  233. jacobian-0.2.0a0/tests/fixtures/plugin_functions.py +384 -0
  234. jacobian-0.2.0a0/tests/integration/test_agent_ab_benchmark.py +1125 -0
  235. jacobian-0.2.0a0/tests/integration/test_agent_benchmark.py +660 -0
  236. jacobian-0.2.0a0/tests/integration/test_artifact_service.py +94 -0
  237. jacobian-0.2.0a0/tests/integration/test_artifact_store.py +376 -0
  238. jacobian-0.2.0a0/tests/integration/test_capability_service.py +501 -0
  239. jacobian-0.2.0a0/tests/integration/test_certificate_verification.py +133 -0
  240. jacobian-0.2.0a0/tests/integration/test_checker_registry.py +176 -0
  241. jacobian-0.2.0a0/tests/integration/test_claim_validation.py +100 -0
  242. jacobian-0.2.0a0/tests/integration/test_cli.py +262 -0
  243. jacobian-0.2.0a0/tests/integration/test_conjecture_workflows.py +574 -0
  244. jacobian-0.2.0a0/tests/integration/test_enumeration_experiments.py +864 -0
  245. jacobian-0.2.0a0/tests/integration/test_evaluation.py +140 -0
  246. jacobian-0.2.0a0/tests/integration/test_finite_partition_capability.py +78 -0
  247. jacobian-0.2.0a0/tests/integration/test_graph_capabilities.py +214 -0
  248. jacobian-0.2.0a0/tests/integration/test_graph_degree_sequence.py +75 -0
  249. jacobian-0.2.0a0/tests/integration/test_graph_neighborhood_independence.py +92 -0
  250. jacobian-0.2.0a0/tests/integration/test_lean.py +359 -0
  251. jacobian-0.2.0a0/tests/integration/test_lean_exploration_capabilities.py +126 -0
  252. jacobian-0.2.0a0/tests/integration/test_mcp_adapter.py +528 -0
  253. jacobian-0.2.0a0/tests/integration/test_plugin_execution.py +209 -0
  254. jacobian-0.2.0a0/tests/integration/test_plugin_registry_snapshots.py +326 -0
  255. jacobian-0.2.0a0/tests/integration/test_polynomial_capabilities.py +671 -0
  256. jacobian-0.2.0a0/tests/integration/test_polytope_separation.py +244 -0
  257. jacobian-0.2.0a0/tests/integration/test_provider_runtime_integration.py +185 -0
  258. jacobian-0.2.0a0/tests/integration/test_remote_mcp.py +337 -0
  259. jacobian-0.2.0a0/tests/integration/test_sat_artifacts.py +157 -0
  260. jacobian-0.2.0a0/tests/integration/test_search_orchestration.py +1029 -0
  261. jacobian-0.2.0a0/tests/integration/test_shrinking.py +268 -0
  262. jacobian-0.2.0a0/tests/integration/test_structure_canonicalization.py +79 -0
  263. jacobian-0.2.0a0/tests/integration/test_transformations.py +172 -0
  264. jacobian-0.2.0a0/tests/integration/test_universal_algebra_capabilities.py +253 -0
  265. jacobian-0.2.0a0/tests/integration/test_verification_workflow.py +200 -0
  266. jacobian-0.2.0a0/tests/integration/test_witness_search.py +237 -0
  267. jacobian-0.2.0a0/tests/integration/test_witness_verification.py +468 -0
  268. jacobian-0.2.0a0/tests/integration/test_worker_error_protocol.py +92 -0
  269. jacobian-0.2.0a0/tests/integration/test_workspaces.py +1560 -0
  270. jacobian-0.2.0a0/tests/reference/test_erdos_straus_plugin.py +87 -0
  271. jacobian-0.2.0a0/tests/reference/test_graph_paths_plugin.py +286 -0
  272. jacobian-0.2.0a0/tests/reference/test_matrix_plugin.py +279 -0
  273. jacobian-0.2.0a0/tests/reference/test_reference_claim_schemas.py +101 -0
  274. jacobian-0.2.0a0/tests/unit/test_atomic_capabilities.py +61 -0
  275. jacobian-0.2.0a0/tests/unit/test_experiment_router.py +62 -0
  276. jacobian-0.2.0a0/tests/unit/test_graph_oracle.py +52 -0
  277. jacobian-0.2.0a0/tests/unit/test_lean_declarations.py +462 -0
  278. jacobian-0.2.0a0/tests/unit/test_lean_repl_runtime.py +119 -0
  279. jacobian-0.2.0a0/tests/unit/test_lean_repl_spike.py +24 -0
  280. jacobian-0.2.0a0/tests/unit/test_polynomial_contracts.py +134 -0
  281. jacobian-0.2.0a0/uv.lock +1266 -0
@@ -0,0 +1,233 @@
1
+ ---
2
+ name: discover-math-capabilities
3
+ description: Mine row-level mathematical datasets, known solutions, formal artifacts, research cases, agent traces, and maintained backends for recurring mathematical moves that justify additions or changes to Jacobian's capability portfolio. Use when asked what mathematical tools Jacobian should add, expand, split, consolidate, improve, or retire; when extracting tool ideas from proofs, counterexamples, transcripts, datasets, or failed attempts; or when turning public cases into typed capability proposals and reproduction cases. This skill performs open workflow mining with answers visible; use evaluate-math-capabilities for held-out comparative evaluation.
4
+ ---
5
+
6
+ # Discover Math Capabilities
7
+
8
+ Determine what Jacobian should expose by reconstructing mathematical work from
9
+ source evidence. Keep answers, successful methods, failures, and review
10
+ artifacts visible during discovery. The objective is to find reusable
11
+ mathematical operations and trust boundaries, not to measure autonomous model
12
+ performance.
13
+
14
+ ## Establish the source bundle
15
+
16
+ Declare the scope and inputs before proposing changes. Distinguish:
17
+
18
+ - problem statements, known solutions, counterexamples, and formal proofs;
19
+ - agent transcripts, tool calls, failed attempts, and user corrections;
20
+ - public datasets and historical mathematical cases;
21
+ - the current capability catalog, source, descriptors, and tests;
22
+ - maintained external systems and their documented contracts; and
23
+ - hypotheses unsupported by repeated workflow evidence.
24
+
25
+ Treat machine-checkable proofs, replayable certificates, and explicit objects
26
+ as the strongest process evidence. Treat expert discussions and curated
27
+ databases as useful context. Treat blogs, news, social posts, and shared chats
28
+ as leads until their primary artifacts are inspected.
29
+
30
+ Record dataset revision, license, redistribution constraints, and contamination
31
+ risk when material. Do not copy a large dataset into the repository merely to
32
+ mine it.
33
+
34
+ ## Inspect rows and primary artifacts
35
+
36
+ Use landing pages, indexes, social posts, and dataset cards to map the source
37
+ bundle, not as substitutes for its mathematical contents. Inspect enough
38
+ primary examples to see variation across:
39
+
40
+ - successful proofs, counterexamples, constructions, and formal checks;
41
+ - failed attempts, false premises, rejected proofs, and reviewer corrections;
42
+ - easy and hard cases, domains, labels, and source families; and
43
+ - natural-language, executable, and machine-checkable artifacts.
44
+
45
+ For datasets, inspect the schema and identifiable rows at a pinned revision.
46
+ For repositories and pull requests, inspect the exact statement, decisive
47
+ object or proof, computation, checker, and review corrections. For transcripts,
48
+ extract tool-visible actions, artifacts, failures, and user corrections; do not
49
+ treat hidden reasoning or persuasive narration as mathematical evidence. Follow
50
+ papers, forums, blogs, and social claims to their primary objects before
51
+ crediting a method.
52
+
53
+ Keep downloaded corpora, source-bundle inventories, scratch ledgers, and dated
54
+ investigations in temporary or ignored storage unless a durable research record
55
+ is explicitly requested. Commit generalized process guidance, stable
56
+ reproduction fixtures, benchmark cases, contracts, and implementation—not a
57
+ one-off URL inventory.
58
+
59
+ ## Inspect Jacobian first
60
+
61
+ Read `AGENTS.md`, then consult these files as needed:
62
+
63
+ - `docs/explanation/goals.md`
64
+ - `docs/reference/tools.md`
65
+ - `docs/reference/capability-workflow-evaluations.md`
66
+
67
+ Inspect `capability://catalog`, `capability.describe`, source, and tests before
68
+ calling an operation missing. Classify each observed problem as one of:
69
+
70
+ - capability exists and works;
71
+ - capability exists but was unavailable or hard to discover;
72
+ - capability was selected or parameterized poorly;
73
+ - capability lacks a needed operation or contract field;
74
+ - verification or artifact handoff is missing;
75
+ - environment, budget, or authorization prevented use; or
76
+ - mathematical reasoning, rather than tooling, was the bottleneck.
77
+
78
+ Prefer better examples, errors, payloads, batching, or discovery when those
79
+ address the observed problem. Do not create a new ID for every backend function
80
+ or friction event.
81
+
82
+ ## Reconstruct the mathematical process
83
+
84
+ For each representative case, inspect the statement, successful resolution,
85
+ failed routes, intermediate artifacts, and verification method. Build a compact
86
+ move ledger:
87
+
88
+ | Case or row | Inputs before move | Mathematical operation | Output or artifact | Downstream use | Failure or alternative | Verification |
89
+ | --- | --- | --- | --- | --- | --- | --- |
90
+
91
+ Treat each consequential transition as a move episode:
92
+
93
+ ```text
94
+ available mathematical state
95
+ → operation performed
96
+ → inspectable mathematical output
97
+ → changed downstream decision
98
+ → independent check, open obligation, or failure
99
+ ```
100
+
101
+ Do not summarize a whole proof or transcript as one move. Split exact
102
+ evaluation, transformation, construction, search, comparison, reduction, and
103
+ replay when their outputs remain independently useful to an agent.
104
+
105
+ Identify the smallest agent-visible mathematical outcome that would have
106
+ changed a consequential step. Examples include retrieving a premise,
107
+ constructing an object, computing an invariant, transforming a claim,
108
+ enumerating a finite family, finding a witness, comparing candidates, or
109
+ checking a certificate. These are prompts, not a closed taxonomy.
110
+
111
+ For each proposed outcome, state:
112
+
113
+ - the exact supporting episodes and source locators;
114
+ - the input available at that point;
115
+ - the typed output and inline summary;
116
+ - durable intermediate artifacts and relationships;
117
+ - exactness, scope, completeness, and determinism;
118
+ - the provider and version requirements;
119
+ - the independent verification boundary; and
120
+ - the counterfactual reason the outcome would help an agent; and
121
+ - what the operation still cannot establish.
122
+
123
+ Cluster repeated moves by mathematical outcome, not by dataset name or backend
124
+ API call. Prefer domain-owned IDs such as `graph.enumerate.nonisomorphic` or
125
+ `polynomial.compute.groebner_basis` over universal object or solver schemas.
126
+ Normally require the move to recur in at least two independent cases or source
127
+ families. Admit a single-source exception only for a fundamental primitive with
128
+ clear reuse, a maintained backend, and a strong verification boundary.
129
+
130
+ Distinguish a missing operation from a strategy gap. If current capabilities
131
+ already expose the necessary intermediate outcomes, improve discovery,
132
+ descriptors, examples, or a reusable agent skill instead of adding another
133
+ capability.
134
+
135
+ ## Research existing systems
136
+
137
+ Before recommending custom mathematics, inspect maintained proof assistants,
138
+ CAS systems, solvers, optimization tools, databases, and domain libraries that
139
+ already implement the outcome. Verify behavior against current source and
140
+ official documentation. Prefer a thin pinned adapter over reimplementation.
141
+
142
+ Record backend readiness, deployment and license constraints, reproducibility
143
+ requirements, and whether it emits a replayable certificate. Search,
144
+ retrieval, generation, and computation produce evidence; they do not verify
145
+ their own conclusions.
146
+
147
+ ## Define the trust boundary
148
+
149
+ For exact conclusions, identify an independent checker bound to the exact
150
+ claim, domain semantics, candidate, scope, certificate format, and checker
151
+ identity. If independent replay is unavailable, label the attainable assurance
152
+ and open obligation instead of treating provider output as verified.
153
+
154
+ Preserve useful intermediate objects, failures, transformations, and
155
+ obligations. Do not replace them with an opaque `solve_conjecture` workflow.
156
+ Agent-visible mathematical atomicity matters; backend-call atomicity does not.
157
+
158
+ ## Apply the candidate gate
159
+
160
+ Create a candidate record before implementation:
161
+
162
+ | Gate | Required evidence |
163
+ | --- | --- |
164
+ | Recurrence | Independent move episodes or a justified fundamental-primitive exception |
165
+ | Leverage | The output changes a consequential downstream mathematical decision |
166
+ | Atomicity | One coherent agent-visible outcome with useful intermediate artifacts |
167
+ | Portfolio fit | A real gap, split, consolidation, or improvement rather than a duplicate |
168
+ | Backend readiness | Maintained implementation, versioning, deployment, and license understood |
169
+ | Contract honesty | Typed input/output with explicit exactness, scope, completeness, and determinism |
170
+ | Trust boundary | Independent replay path or an explicit unverified obligation |
171
+ | Reproduction | At least one primary public case can exercise the proposed contract |
172
+ | Evaluation hypothesis | A held-out comparison could distinguish value from persuasive replay |
173
+
174
+ Reject or defer candidates that are dataset-specific wrappers, opaque
175
+ multi-stage workflows, mechanical backend-function mirrors, answer generators,
176
+ self-verifying searches, or operations whose failure state could be mistaken
177
+ for a theorem. Record the failed gate and evidence; a rejection ledger prevents
178
+ the same weak idea from being repeatedly rediscovered.
179
+
180
+ ## Reproduce known cases
181
+
182
+ Use a small selection of public cases to test whether a proposed contract can
183
+ reproduce known work:
184
+
185
+ - the capability accepts the available source artifacts;
186
+ - its output exposes the mathematically useful intermediate state;
187
+ - scope and completeness are truthful;
188
+ - failures remain non-conclusions; and
189
+ - independent replay works when claimed.
190
+
191
+ These are public reproduction and regression cases. They show contract fitness,
192
+ not general portfolio value. Do not call a capability beneficial merely because
193
+ it replays the examples that inspired it.
194
+
195
+ ## Hand off comparative questions
196
+
197
+ When the proposal is concrete enough to ask whether it improves autonomous
198
+ performance, hand it to `evaluate-math-capabilities`. Supply:
199
+
200
+ - the complete candidate record and supporting move episodes;
201
+ - the capability hypothesis and counterfactual benefit;
202
+ - public reproduction cases;
203
+ - plausible wrong paths and false-certification risks;
204
+ - current portfolio overlap and the proposed control ablation;
205
+ - candidate backends and checker boundaries;
206
+ - applicable datasets and contamination notes; and
207
+ - the metrics that could distinguish success from a persuasive replay.
208
+
209
+ Do not construct hidden oracles during open workflow mining unless the user also
210
+ asks for an evaluation.
211
+
212
+ ## Report
213
+
214
+ Lead with the repeated process evidence and the resulting portfolio decisions.
215
+ Use a compact table:
216
+
217
+ | Evidence | Mathematical move | Current support or gap | Proposed change | Backend | Verification boundary | Public reproduction | Decision |
218
+ | --- | --- | --- | --- | --- | --- | --- | --- |
219
+
220
+ Separate:
221
+
222
+ - capabilities already covering apparent gaps;
223
+ - additions, expansions, splits, consolidation, or retirement;
224
+ - research-only hypotheses;
225
+ - rejected candidates and the gates they failed;
226
+ - limitations and unresolved proof gaps; and
227
+ - proposals ready for comparative evaluation.
228
+
229
+ Continue until the remaining ideas lack repeated workflow evidence, meaningful
230
+ leverage, agent-visible atomicity, backend readiness, an honest contract,
231
+ trustworthy verification boundaries, portfolio distinctness, or a testable
232
+ value hypothesis. “No more good candidates” is a supported portfolio decision,
233
+ not a requirement to manufacture another capability.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Discover Math Capabilities"
3
+ short_description: "Mine recurring mathematical moves into tool proposals"
4
+ default_prompt: "Use $discover-math-capabilities to mine these source rows and artifacts for recurring mathematical moves that justify Jacobian capability changes."
@@ -0,0 +1,230 @@
1
+ ---
2
+ name: evaluate-math-capabilities
3
+ description: Consume evidence-backed capability candidates and design, implement, run, and interpret Jacobian-specific model-in-the-loop evaluations that measure whether a mathematical operation or portfolio change improves autonomous agent outcomes. Use when asked to benchmark a Jacobian capability, compare baseline and treatment portfolios, create held-out mathematical cases or independent oracles, detect workflow leakage, measure correctness or false certification, evaluate retrieval or tool composition, or decide whether to keep, expand, split, consolidate, rank, or retire a capability. Use discover-math-capabilities first when the question is what to build rather than whether a concrete proposal helps.
4
+ ---
5
+
6
+ # Evaluate Math Capabilities
7
+
8
+ Determine whether a concrete Jacobian capability or portfolio change helps
9
+ agents on new mathematical work. Keep the strategy agent-owned and score
10
+ outcomes and evidence, not a preferred sequence of calls.
11
+
12
+ ## Confirm evaluation readiness
13
+
14
+ Start from a concrete intervention:
15
+
16
+ - a capability or portfolio delta;
17
+ - a discovery candidate record with supporting move episodes;
18
+ - one expected counterfactual benefit;
19
+ - a runnable baseline and treatment;
20
+ - public reproduction evidence or a stable contract;
21
+ - an independently judgeable mathematical outcome; and
22
+ - at least one plausible wrong or falsely certified path.
23
+
24
+ If the operation, contract, backend, or intended mathematical outcome is still
25
+ unclear, return the question to `discover-math-capabilities`. Evaluation should
26
+ not invent the product hypothesis it is meant to test.
27
+
28
+ ## Audit the discovery handoff
29
+
30
+ Confirm that the handoff identifies:
31
+
32
+ - exact source rows, traces, proofs, or counterexamples that motivated the move;
33
+ - the before-state, operation, output artifact, downstream use, and verification
34
+ boundary for each supporting episode;
35
+ - current portfolio overlap and why composition does not already close the gap;
36
+ - public reproduction cases separated from held-out scored cases;
37
+ - candidate backend, contract, failure semantics, and checker boundary;
38
+ - contamination risks and plausible falsely persuasive paths; and
39
+ - the predicted autonomous behavior that should change under treatment.
40
+
41
+ Use missing handoff evidence as a reason to return the candidate to discovery,
42
+ not as an invitation to fill the gap with evaluation fixtures.
43
+
44
+ ## Inspect the repository harness
45
+
46
+ Read `AGENTS.md` and inspect:
47
+
48
+ - `docs/reference/capability-workflow-evaluations.md`
49
+ - `benchmarks/agent_ab.py`
50
+ - `benchmarks/ab_cases/`
51
+ - `src/jacobian/eval_telemetry.py`
52
+ - `tests/integration/test_agent_ab_benchmark.py`
53
+ - the relevant capability descriptors, checkers, and contracts.
54
+
55
+ Extend the established case schemas and runner when practical. Do not create a
56
+ parallel benchmark framework for one experiment.
57
+
58
+ ## State the comparison
59
+
60
+ Freeze the evaluation question before running either condition. Define:
61
+
62
+ - **control**: current portfolio or a targeted ablation;
63
+ - **treatment**: the same portfolio plus the intervention;
64
+ - the same model, reasoning effort, prompt, budget, environment, and visible
65
+ artifacts;
66
+ - randomized condition order and recorded fixture/order seeds;
67
+ - multiple repetitions when making comparative claims; and
68
+ - the exact capability-availability snapshot for each condition.
69
+
70
+ Prescribed-tool cases measure contract usability and conformance. Autonomous
71
+ portfolio cases let the agent choose operations and measure portfolio value.
72
+ Do not confuse the two. If the agent is told the successful sequence mined from
73
+ the source cases, report contract replay rather than autonomous portfolio value.
74
+
75
+ Change one intervention dimension at a time. Evaluate a capability delta,
76
+ descriptor change, example, ranking policy, or reusable strategy skill as
77
+ separate treatments when the question is which one caused the improvement.
78
+
79
+ ## Build the held-out case
80
+
81
+ Give the agent the smallest natural task and source bundle available before the
82
+ answer. Keep the answer, scoring discriminator, and checker-only data outside
83
+ the evaluated workspace.
84
+
85
+ A hidden oracle means inaccessible to the agent during the run, not necessarily
86
+ secret forever. It may be an independently generated object, a checker,
87
+ withheld dataset fields, or a public answer used with an explicit contamination
88
+ warning.
89
+
90
+ For every case, freeze:
91
+
92
+ - visible input bundle and output schema;
93
+ - oracle version and provenance;
94
+ - accepted conclusions and alternative valid strategies;
95
+ - exact evidence bindings required for stronger assurance;
96
+ - one tempting incomplete, misbound, or semantically mismatched route;
97
+ - facts that must remain uncertain; and
98
+ - source lineage, cutoff date, and contamination risk.
99
+
100
+ Prefer generated or transformed variants for scored claims. Public solved
101
+ problems are valuable regressions but weak evidence of generalization.
102
+ Prefer held-out source families when practical. If a scored case descends from
103
+ the discovery corpus, record the lineage and transform it enough that success
104
+ requires using the mathematical operation rather than recalling the mined
105
+ answer or workflow.
106
+
107
+ ## Keep the oracle independent
108
+
109
+ Use an implementation independent of the capability being evaluated. The
110
+ oracle must bind its judgment to the exact claim, semantics, candidate, scope,
111
+ and certificate where applicable. It must reject:
112
+
113
+ - provider output treated as self-verification;
114
+ - bounded failure to find a witness treated as proof;
115
+ - incomplete enumeration reported as exhaustive;
116
+ - an isomorphic or altered object substituted without provenance;
117
+ - a proof of a mismatched formal statement; and
118
+ - timeout, cancellation, or execution failure converted into a conclusion.
119
+
120
+ Place hidden oracle material where the evaluated agent cannot read it. Avoid
121
+ answer leakage through filenames, comments, caches, neighboring artifacts, or
122
+ transcript instructions.
123
+
124
+ ## Score outcomes before efficiency
125
+
126
+ Make these primary:
127
+
128
+ - oracle correctness;
129
+ - false certification;
130
+ - execution and completion state;
131
+ - scope and completeness accuracy;
132
+ - evidence and verification-record bindings; and
133
+ - acceptance of mathematically valid alternative strategies.
134
+
135
+ Among semantically correct runs, measure:
136
+
137
+ - wall time;
138
+ - input and output tokens;
139
+ - total and successful tool calls;
140
+ - tool and parameter errors;
141
+ - repeated or irrelevant calls; and
142
+ - infrastructure work reported by the agent.
143
+
144
+ A faster wrong answer loses. A verifier-backed bounded result must not be
145
+ scored as a proof outside its checked scope.
146
+
147
+ ## Validate the evaluation
148
+
149
+ Before trusting a comparison:
150
+
151
+ 1. Confirm a capable agent has enough visible information to solve the task.
152
+ 2. Run or reason through one known-good report.
153
+ 3. Run or reason through at least one tempting bad report.
154
+ 4. Confirm the bad path fails for the intended mathematical reason.
155
+ 5. Confirm alternate correct strategies can pass.
156
+ 6. Test the case loader, scorer, telemetry parsing, and checker replay.
157
+ 7. Version the case whenever its source, oracle, contract, or environment
158
+ changes.
159
+
160
+ Do not weaken a case to make the treatment pass. Record an unavailable backend,
161
+ tool failure, or insufficient prompt as its own failure class.
162
+
163
+ ## Run and preserve evidence
164
+
165
+ Use the repository runner and keep generated results under its ignored results
166
+ directory. Record:
167
+
168
+ - repository tree and capability/provider versions;
169
+ - model and reasoning settings;
170
+ - order and fixture seeds;
171
+ - prompts and capability availability;
172
+ - raw transcripts and structured reports;
173
+ - oracle and scorer outcomes; and
174
+ - validation actually run.
175
+
176
+ Never expose hidden oracle contents in the treatment prompt or model workspace.
177
+ Do not report provider sampling as deterministic when no generation seed is
178
+ available.
179
+
180
+ ## Interpret the result
181
+
182
+ Separate:
183
+
184
+ - capability value;
185
+ - discovery or descriptor quality;
186
+ - parameterization and contract usability;
187
+ - workflow or answer leakage;
188
+ - backend reliability;
189
+ - verification and provenance behavior; and
190
+ - mathematical reasoning limits.
191
+
192
+ Choose a portfolio action supported by the transcripts:
193
+
194
+ - keep or expand;
195
+ - improve discovery, examples, defaults, or errors;
196
+ - split useful intermediate outcomes;
197
+ - consolidate redundant outcomes;
198
+ - add independent verification;
199
+ - rerun with more repetitions;
200
+ - defer; or
201
+ - retire.
202
+
203
+ Experimental availability need not wait for evaluation. Use results to guide
204
+ recommendations, defaults, consolidation, and retirement rather than turning
205
+ evaluation into an access gate.
206
+
207
+ Feed failures back to discovery with the failed candidate gate. A capability
208
+ that is unused because its outcome has no leverage is different from one that
209
+ is valuable but undiscoverable, difficult to parameterize, unavailable in the
210
+ environment, or missing an independent checker. Do not respond to a strategy,
211
+ descriptor, or evaluation-design failure by manufacturing another operation.
212
+
213
+ ## Report
214
+
215
+ Return:
216
+
217
+ - the discovery candidate and supporting evidence lineage;
218
+ - the frozen question and intervention;
219
+ - case and oracle provenance;
220
+ - baseline and treatment definitions;
221
+ - correctness and false-certification results;
222
+ - cost and tool-use metrics for correct runs;
223
+ - transcript-derived failure classes;
224
+ - contamination and proof gaps;
225
+ - the justified portfolio action; and
226
+ - exact reproduction commands.
227
+
228
+ State whether the result is a harness validation, public regression, pilot, or
229
+ comparative performance claim. Do not promote a single pair to a statistically
230
+ powered conclusion.
@@ -0,0 +1,4 @@
1
+ interface:
2
+ display_name: "Evaluate Math Capabilities"
3
+ short_description: "Test candidate operations with leakage-resistant evals"
4
+ default_prompt: "Use $evaluate-math-capabilities to turn this discovery candidate into a held-out Jacobian portfolio evaluation."
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "Jacobian Development",
3
+ "image": "mcr.microsoft.com/devcontainers/python:3.12",
4
+ "features": {
5
+ "ghcr.io/astral-sh/setup-uv:1": {}
6
+ },
7
+ "customizations": {
8
+ "vscode": {
9
+ "extensions": [
10
+ "charliermarsh.ruff",
11
+ "ms-python.mypy-type-checker",
12
+ "ms-python.python"
13
+ ],
14
+ "settings": {
15
+ "python.defaultInterpreterPath": ".venv/bin/python",
16
+ "editor.formatOnSave": true,
17
+ "editor.codeActionsOnSave": {
18
+ "source.fixAll.ruff": "explicit",
19
+ "source.organizeImports.ruff": "explicit"
20
+ }
21
+ }
22
+ }
23
+ },
24
+ "postCreateCommand": "make setup",
25
+ "remoteUser": "vscode"
26
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Exec(ls)",
5
+ "Exec(git diff)",
6
+ "Exec(git log)",
7
+ "Exec(git status)"
8
+ ]
9
+ }
10
+ }
@@ -0,0 +1,8 @@
1
+ .git
2
+ .jacobian
3
+ .venv
4
+ benchmarks/results
5
+ build
6
+ dist
7
+ lean/.lake
8
+ __pycache__
@@ -0,0 +1,6 @@
1
+ # Jacobian local state directory for artifact store and metadata.
2
+ # Default: .jacobian (relative to working directory)
3
+ JACOBIAN_STATE_DIR=.jacobian
4
+
5
+ # Remote hosts should pass the token file and public URL as jacobian-mcp
6
+ # arguments. Do not put bearer tokens in this environment file.
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: jacobian-dev
3
+ description: >
4
+ Development agent for Jacobian's composable mathematical capability toolbox.
5
+ Use when implementing features, fixing bugs, or refactoring code
6
+ within the jacobian and jacobian_checkers packages.
7
+ model: inherit
8
+ ---
9
+
10
+ # Jacobian Development Droid
11
+
12
+ You are a development agent for Jacobian, an MCP server, CLI, and Python
13
+ library that exposes composable mathematical capabilities to AI agents.
14
+ Jacobian supplies mathematical operations and trust boundaries; agents own
15
+ the research strategy.
16
+
17
+ ## Core Principles
18
+
19
+ 1. **Fail-Closed Verification**: Never convert TIMEOUT, CANCELLED, ERROR, or
20
+ incomplete enumeration into a mathematical conclusion. Keep execution status,
21
+ input validity, mathematical conclusion, assurance, and evidence type separate.
22
+
23
+ 2. **Trust Boundaries**: Untrusted plugins and search code must not authorize
24
+ checkers or alter trust policy. Independent checkers must not depend on the
25
+ search implementation whose output they certify.
26
+
27
+ 3. **Mathematical Atomicity**: Each agent-visible capability should produce one
28
+ coherent mathematical outcome. Keep useful intermediate artifacts and proof
29
+ obligations visible instead of hiding them inside opaque workflows.
30
+
31
+ 4. **Agent-Owned Composition**: Put higher-level strategies in agent skills and
32
+ workflows. Capability recommendations are routing hints, not restrictions.
33
+
34
+ 5. **Domain Separation**: Domain plugins own mathematical schemas, transforms,
35
+ invariants, and witness meanings. The kernel owns artifact identity, execution
36
+ status, assurance, budgets, provenance, and checker authorization.
37
+
38
+ ## Development Workflow
39
+
40
+ ```sh
41
+ make setup
42
+ make test-fast
43
+ make validate
44
+ ```
45
+
46
+ ## Package Structure
47
+
48
+ - `src/jacobian/` -- Kernel, contracts, adapters, and domain capabilities
49
+ - `src/jacobian_checkers/` -- Independent checkers for domain plugins
50
+ - `tests/` -- pytest suite with contract, integration, property, and end_to_end tests
51
+ - `docs/` -- Specifications, ADRs, architecture, and threat model
52
+ - `benchmarks/` -- Agent evaluations and performance benchmarks
53
+
54
+ ## Key Constraints
55
+
56
+ - Python 3.12+ only, typed with mypy strict mode
57
+ - Ruff linting with extensive rule selection (A, B, C4, C90, E, F, I, N, PIE, PTH, RUF, SIM, TD, UP)
58
+ - Coverage threshold: 50% minimum
59
+ - All TODO comments must reference an issue: `TODO(#123): description`
60
+ - Pre-commit hooks enforce formatting, syntax checks, and secret scanning
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: Bug report
3
+ about: Report a defect in the Jacobian kernel, checker, or CLI
4
+ title: "[Bug]: "
5
+ labels: ["bug"]
6
+ assignees: []
7
+ ---
8
+
9
+ **Priority**
10
+ <!-- Select one: P0 (critical), P1 (high), P2 (medium), P3 (low) -->
11
+
12
+ **Area**
13
+ <!-- Which area is affected? kernel, checker, cli, mcp, docs, ci, deps, security -->
14
+
15
+ **Component**
16
+ <!-- Which part of Jacobian is affected? (e.g., artifact store, CLI, MCP adapter, checker, plugin) -->
17
+
18
+ **Observed behavior**
19
+ <!-- What happened? Include exact error messages or unexpected output. -->
20
+
21
+ **Expected behavior**
22
+ <!-- What should have happened instead? -->
23
+
24
+ **Steps to reproduce**
25
+ 1.
26
+ 2.
27
+ 3.
28
+
29
+ **Environment**
30
+ - Jacobian version:
31
+ - Python version:
32
+ - OS:
33
+
34
+ **Additional context**
35
+ <!-- Screenshots, logs, or other relevant information. -->
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: Feature request
3
+ about: Propose or improve a mathematical capability
4
+ title: "[Feature]: "
5
+ labels: ["feature"]
6
+ assignees: []
7
+ ---
8
+
9
+ **Area**
10
+ <!-- Which mathematical domain, capability family, adapter, or shared surface is affected? -->
11
+
12
+ **Observed need**
13
+ <!-- Which agent trace, evaluation, dataset, research case, or user workflow exposes the gap? -->
14
+
15
+ **Mathematical outcome**
16
+ <!-- What single agent-visible result should the capability produce? Include representative inputs and outputs when possible. -->
17
+
18
+ **Existing tools and backends**
19
+ <!-- Which current Jacobian capabilities, maintained libraries, proof assistants, CASs, solvers, or databases were considered? -->
20
+
21
+ **Evidence and verification boundary**
22
+ <!-- Is the result heuristic, approximate, bounded, exhaustive, exact, or independently checkable? What certificate or checker can verify it? -->
23
+
24
+ **Evaluation**
25
+ <!-- How would we tell whether this improves agent correctness, coverage, efficiency, or tool composition? Note any held-out cases or independent oracle. -->
26
+
27
+ **Compatibility and additional context**
28
+ <!-- Note public contract impact and link relevant issues, specifications, transcripts, benchmarks, or mathematical scenarios. -->
@@ -0,0 +1,17 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "pip"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ day: "monday"
8
+ time: "09:00"
9
+ timezone: "UTC"
10
+ allow:
11
+ - dependency-type: "all"
12
+ labels:
13
+ - "dependencies"
14
+ commit-message:
15
+ prefix: "deps"
16
+ include: "scope"
17
+ open-pull-requests-limit: 5