witsoc 0.1.0__py3-none-any.whl

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 (383) hide show
  1. witsoc/__init__.py +13 -0
  2. witsoc/__main__.py +10 -0
  3. witsoc/cli.py +129 -0
  4. witsoc/legacy.py +46 -0
  5. witsoc/references/core/algorithmic_strategy.md +149 -0
  6. witsoc/references/core/architecture.md +70 -0
  7. witsoc/references/core/artifact_policy.md +42 -0
  8. witsoc/references/core/capability_catalog.md +172 -0
  9. witsoc/references/core/claim_acceptance.md +64 -0
  10. witsoc/references/core/exploration_strategy.md +417 -0
  11. witsoc/references/core/failure_recovery.md +59 -0
  12. witsoc/references/core/generator_gate.md +41 -0
  13. witsoc/references/core/generator_harness.md +22 -0
  14. witsoc/references/core/goal_cache.md +29 -0
  15. witsoc/references/core/handoff.md +144 -0
  16. witsoc/references/core/harness_discipline.md +55 -0
  17. witsoc/references/core/intelligence_bus.md +82 -0
  18. witsoc/references/core/interactive_intake.md +158 -0
  19. witsoc/references/core/lean_verification.md +46 -0
  20. witsoc/references/core/open_problem.md +91 -0
  21. witsoc/references/core/orchestrator_fit.md +127 -0
  22. witsoc/references/core/plugin_integration.md +41 -0
  23. witsoc/references/core/production_gates.md +68 -0
  24. witsoc/references/core/repair.md +54 -0
  25. witsoc/references/core/research_machinery.md +227 -0
  26. witsoc/references/core/routing.md +63 -0
  27. witsoc/references/core/routing_tests.md +138 -0
  28. witsoc/references/core/safeverify.md +46 -0
  29. witsoc/references/core/services.md +110 -0
  30. witsoc/references/core/status.md +38 -0
  31. witsoc/references/core/strategy_doctrine.md +69 -0
  32. witsoc/references/core/target_freeze.md +71 -0
  33. witsoc/references/core/technique_discovery.md +148 -0
  34. witsoc/references/core/tooling.md +103 -0
  35. witsoc/references/examples/compactness_disjoint_union_reduction.wit +24 -0
  36. witsoc/references/examples/composite_block.wit +25 -0
  37. witsoc/references/examples/finite_chi_bounding_compactness_template.wit +25 -0
  38. witsoc/references/examples/grover_constant.wit +66 -0
  39. witsoc/references/examples/handoff_open_problem.json +283 -0
  40. witsoc/references/examples/handoff_solved_problem.json +244 -0
  41. witsoc/references/examples/handoff_v1_blueprint.json +65 -0
  42. witsoc/references/examples/sat_reduction.wit +39 -0
  43. witsoc/references/knowledge-stores.md +87 -0
  44. witsoc/references/schemas/handoff.schema.json +881 -0
  45. witsoc/references/schemas/lovasz-spawn-worker.schema.json +86 -0
  46. witsoc/references/schemas/lovasz-worker-result.schema.json +98 -0
  47. witsoc/references/schemas/route-spec.schema.json +33 -0
  48. witsoc/references/schemas/witsoc-handoff-schema.json +137 -0
  49. witsoc/references/soc.md +212 -0
  50. witsoc/references/wit.md +414 -0
  51. witsoc/registry.py +96 -0
  52. witsoc/scripts/.flywheel/closures.jsonl_dir.json +4604 -0
  53. witsoc/scripts/.flywheel/policy.json +268 -0
  54. witsoc/scripts/_common.sh +152 -0
  55. witsoc/scripts/allocate_portfolio.py +96 -0
  56. witsoc/scripts/analogical_transfer.py +223 -0
  57. witsoc/scripts/artifacts.py +194 -0
  58. witsoc/scripts/asymptotic_analyzer.py +140 -0
  59. witsoc/scripts/attackability.py +165 -0
  60. witsoc/scripts/audit.sh +66 -0
  61. witsoc/scripts/autonomous_campaign.py +177 -0
  62. witsoc/scripts/barrier_attack.py +406 -0
  63. witsoc/scripts/blueprint_campaign.py +358 -0
  64. witsoc/scripts/build_mathlib_atlas.py +142 -0
  65. witsoc/scripts/bus_apply_replies.py +804 -0
  66. witsoc/scripts/campaign_driver.py +456 -0
  67. witsoc/scripts/check.sh +38 -0
  68. witsoc/scripts/close_obligation.py +576 -0
  69. witsoc/scripts/cluster_campaign.py +166 -0
  70. witsoc/scripts/concept_generator.py +210 -0
  71. witsoc/scripts/conjecture_miner.py +185 -0
  72. witsoc/scripts/conjecture_to_lemma_pipeline.py +505 -0
  73. witsoc/scripts/construction_search.py +133 -0
  74. witsoc/scripts/context.sh +77 -0
  75. witsoc/scripts/core_lemma_atlas.json +25 -0
  76. witsoc/scripts/counterexample_search.py +229 -0
  77. witsoc/scripts/curriculum.py +132 -0
  78. witsoc/scripts/curriculum_portfolio.py +81 -0
  79. witsoc/scripts/cycle.sh +90 -0
  80. witsoc/scripts/decision_ledger.py +302 -0
  81. witsoc/scripts/decompose_problem.py +194 -0
  82. witsoc/scripts/definition_synthesis.py +304 -0
  83. witsoc/scripts/dialectic.py +150 -0
  84. witsoc/scripts/discovery_engine.py +555 -0
  85. witsoc/scripts/discovery_evaluators.py +629 -0
  86. witsoc/scripts/discovery_ledger.py +164 -0
  87. witsoc/scripts/discovery_lift.py +159 -0
  88. witsoc/scripts/discovery_sampler_example.py +79 -0
  89. witsoc/scripts/domain_barrier_lemmas.py +409 -0
  90. witsoc/scripts/empirical_miner.py +264 -0
  91. witsoc/scripts/engine_dispatch.py +425 -0
  92. witsoc/scripts/explorer_approach_tournament.py +68 -0
  93. witsoc/scripts/explorer_return_packet.py +119 -0
  94. witsoc/scripts/finite_graph_backend.py +239 -0
  95. witsoc/scripts/flag_algebra_backend.py +199 -0
  96. witsoc/scripts/flywheel.py +158 -0
  97. witsoc/scripts/formal_conjectures_ingest.py +204 -0
  98. witsoc/scripts/formalization_feasibility.py +186 -0
  99. witsoc/scripts/formalization_obligations.json +484 -0
  100. witsoc/scripts/formula_synthesis.py +132 -0
  101. witsoc/scripts/generator_manifest.py +92 -0
  102. witsoc/scripts/generator_package.py +235 -0
  103. witsoc/scripts/generator_preflight.py +97 -0
  104. witsoc/scripts/generator_receipt_gate.py +75 -0
  105. witsoc/scripts/generator_repair_packet.py +68 -0
  106. witsoc/scripts/goal_structure.py +212 -0
  107. witsoc/scripts/grade_witsoc_report.py +189 -0
  108. witsoc/scripts/ideate.py +471 -0
  109. witsoc/scripts/ideation.json +163 -0
  110. witsoc/scripts/informal_proof.py +200 -0
  111. witsoc/scripts/init.sh +96 -0
  112. witsoc/scripts/init_lovasz_run.py +180 -0
  113. witsoc/scripts/interestingness.py +138 -0
  114. witsoc/scripts/kernel_tools.py +152 -0
  115. witsoc/scripts/knowledge_store.py +342 -0
  116. witsoc/scripts/lean_check.py +183 -0
  117. witsoc/scripts/lean_tactic_scan.py +137 -0
  118. witsoc/scripts/lemma_library.py +240 -0
  119. witsoc/scripts/lemma_pool.py +239 -0
  120. witsoc/scripts/lemma_repair.py +291 -0
  121. witsoc/scripts/lint_wit_quality.py +107 -0
  122. witsoc/scripts/literature_atlas.py +128 -0
  123. witsoc/scripts/lovasz_agent_packets.py +132 -0
  124. witsoc/scripts/lovasz_campaign_template.py +374 -0
  125. witsoc/scripts/lovasz_mutation_ranker.py +11 -0
  126. witsoc/scripts/lovasz_next_action.py +98 -0
  127. witsoc/scripts/lovasz_orchestrator_packet.py +81 -0
  128. witsoc/scripts/lovasz_prover_dispatch.py +373 -0
  129. witsoc/scripts/lovasz_run_manifest.py +180 -0
  130. witsoc/scripts/lovasz_score.py +177 -0
  131. witsoc/scripts/lovasz_soc_memory.py +265 -0
  132. witsoc/scripts/lovasz_top_tier.py +315 -0
  133. witsoc/scripts/lovasz_worker_dispatch.py +93 -0
  134. witsoc/scripts/mathlib_atlas.py +167 -0
  135. witsoc/scripts/mathlib_autopsy.py +164 -0
  136. witsoc/scripts/mcts_lean.py +174 -0
  137. witsoc/scripts/next_action.py +128 -0
  138. witsoc/scripts/nexus_loop.py +238 -0
  139. witsoc/scripts/novelty_triage.py +155 -0
  140. witsoc/scripts/number_theory_backend.py +258 -0
  141. witsoc/scripts/olympiad.py +206 -0
  142. witsoc/scripts/ontology_pivot.py +263 -0
  143. witsoc/scripts/open_frontier.py +281 -0
  144. witsoc/scripts/open_problem_report.py +147 -0
  145. witsoc/scripts/open_rungs.py +156 -0
  146. witsoc/scripts/opt_backend.py +219 -0
  147. witsoc/scripts/orchestrator_plan.py +144 -0
  148. witsoc/scripts/portfolio.py +187 -0
  149. witsoc/scripts/predicate_registry.py +163 -0
  150. witsoc/scripts/premise_retrieval.py +118 -0
  151. witsoc/scripts/problem_theory.py +295 -0
  152. witsoc/scripts/program_evolve.py +346 -0
  153. witsoc/scripts/proof_autopsy.py +260 -0
  154. witsoc/scripts/proof_bank.py +143 -0
  155. witsoc/scripts/proof_gap_to_barrier_feedback.py +257 -0
  156. witsoc/scripts/proof_policy.py +147 -0
  157. witsoc/scripts/proof_search.py +925 -0
  158. witsoc/scripts/prover_battery.py +189 -0
  159. witsoc/scripts/prover_tiers.py +134 -0
  160. witsoc/scripts/rank_lovasz_dag.py +105 -0
  161. witsoc/scripts/rank_lovasz_results.py +97 -0
  162. witsoc/scripts/rank_mission_menu.py +81 -0
  163. witsoc/scripts/receipt.sh +88 -0
  164. witsoc/scripts/recheck_certificates.py +354 -0
  165. witsoc/scripts/rediscovery_benchmark.py +183 -0
  166. witsoc/scripts/reduction_hunt.py +236 -0
  167. witsoc/scripts/reduction_ledger.py +661 -0
  168. witsoc/scripts/refute_deterministic.py +120 -0
  169. witsoc/scripts/request_bus.py +470 -0
  170. witsoc/scripts/research_campaign.py +309 -0
  171. witsoc/scripts/research_search.py +114 -0
  172. witsoc/scripts/research_state.py +291 -0
  173. witsoc/scripts/result_ladder.py +123 -0
  174. witsoc/scripts/retrieval_v2.py +352 -0
  175. witsoc/scripts/route.py +558 -0
  176. witsoc/scripts/route.sh +5 -0
  177. witsoc/scripts/run_ledger.py +412 -0
  178. witsoc/scripts/run_tests.sh +22 -0
  179. witsoc/scripts/rung_saturation.py +226 -0
  180. witsoc/scripts/sampler_fleet.py +149 -0
  181. witsoc/scripts/sat_backend.py +544 -0
  182. witsoc/scripts/score_lovasz_results.py +99 -0
  183. witsoc/scripts/select_barrier.py +97 -0
  184. witsoc/scripts/select_best_product.py +123 -0
  185. witsoc/scripts/select_lovasz_mutation.py +115 -0
  186. witsoc/scripts/self_play.py +202 -0
  187. witsoc/scripts/setup_kernels.sh +44 -0
  188. witsoc/scripts/sketch_population.py +497 -0
  189. witsoc/scripts/sketch_tournament.py +501 -0
  190. witsoc/scripts/smt_synthesizer.py +125 -0
  191. witsoc/scripts/solve_claim_protocol.py +240 -0
  192. witsoc/scripts/spawn_workers_from_dag.py +104 -0
  193. witsoc/scripts/speculative_arena.py +176 -0
  194. witsoc/scripts/status.sh +88 -0
  195. witsoc/scripts/status_lattice.py +144 -0
  196. witsoc/scripts/status_vocab.py +71 -0
  197. witsoc/scripts/stop_continue.py +87 -0
  198. witsoc/scripts/strategy_score.py +195 -0
  199. witsoc/scripts/summarize_lovasz_run.py +98 -0
  200. witsoc/scripts/synthesize_open_ledgers.py +144 -0
  201. witsoc/scripts/tactic_ngrams.py +192 -0
  202. witsoc/scripts/test_analogical_transfer.py +70 -0
  203. witsoc/scripts/test_apex.py +173 -0
  204. witsoc/scripts/test_auto_discharge.py +86 -0
  205. witsoc/scripts/test_autonomous_campaign.py +91 -0
  206. witsoc/scripts/test_barrier_fixes.py +103 -0
  207. witsoc/scripts/test_blueprint_campaign.py +141 -0
  208. witsoc/scripts/test_bus_apply_replies.py +217 -0
  209. witsoc/scripts/test_compounding_reach.py +73 -0
  210. witsoc/scripts/test_concept_generator.py +98 -0
  211. witsoc/scripts/test_conjecture_mining_arm.py +60 -0
  212. witsoc/scripts/test_conjecture_to_lemma_pipeline.py +119 -0
  213. witsoc/scripts/test_construction_search.py +69 -0
  214. witsoc/scripts/test_controller_and_receipts.py +327 -0
  215. witsoc/scripts/test_curriculum_portfolio.py +73 -0
  216. witsoc/scripts/test_decide_options_quality.py +152 -0
  217. witsoc/scripts/test_decision_ledger.py +163 -0
  218. witsoc/scripts/test_decompose.py +56 -0
  219. witsoc/scripts/test_definition_synthesis.py +117 -0
  220. witsoc/scripts/test_discovery.py +141 -0
  221. witsoc/scripts/test_discovery_ledger.py +118 -0
  222. witsoc/scripts/test_dispatch_split_skeptic.py +151 -0
  223. witsoc/scripts/test_doctrine_invariants.py +99 -0
  224. witsoc/scripts/test_domain_barrier_lemmas.py +144 -0
  225. witsoc/scripts/test_domain_inference.py +81 -0
  226. witsoc/scripts/test_empirical_miner_depth.py +111 -0
  227. witsoc/scripts/test_engine_dispatch.py +95 -0
  228. witsoc/scripts/test_env_blocker.py +163 -0
  229. witsoc/scripts/test_error_guided_repair.py +113 -0
  230. witsoc/scripts/test_eval_trust.py +41 -0
  231. witsoc/scripts/test_explorer_packet_reduction.py +69 -0
  232. witsoc/scripts/test_faithfulness_gate.py +69 -0
  233. witsoc/scripts/test_fixtures.py +69 -0
  234. witsoc/scripts/test_flywheel_wiring.py +113 -0
  235. witsoc/scripts/test_formula_synthesis.py +70 -0
  236. witsoc/scripts/test_gap_feedback.py +147 -0
  237. witsoc/scripts/test_generalization_search.py +68 -0
  238. witsoc/scripts/test_generator_package.py +119 -0
  239. witsoc/scripts/test_goal_minimization.py +133 -0
  240. witsoc/scripts/test_grade_progress.py +145 -0
  241. witsoc/scripts/test_ideate.py +149 -0
  242. witsoc/scripts/test_knowledge_store.py +158 -0
  243. witsoc/scripts/test_lake_env.py +77 -0
  244. witsoc/scripts/test_lazy_cli.py +66 -0
  245. witsoc/scripts/test_lemma_repair.py +109 -0
  246. witsoc/scripts/test_literature_atlas.py +100 -0
  247. witsoc/scripts/test_literature_bootstrap.py +104 -0
  248. witsoc/scripts/test_literature_engine.py +205 -0
  249. witsoc/scripts/test_lovasz_algorithms.py +149 -0
  250. witsoc/scripts/test_lovasz_barrier_attack.py +116 -0
  251. witsoc/scripts/test_lovasz_drastic_gates.py +105 -0
  252. witsoc/scripts/test_lovasz_prover_dispatch.py +97 -0
  253. witsoc/scripts/test_lovasz_top_tier.py +76 -0
  254. witsoc/scripts/test_mathlib_atlas_wiring.py +118 -0
  255. witsoc/scripts/test_mcts_lean.py +77 -0
  256. witsoc/scripts/test_memory_and_driver.py +161 -0
  257. witsoc/scripts/test_next_action.py +79 -0
  258. witsoc/scripts/test_olympiad_fast_lane.py +61 -0
  259. witsoc/scripts/test_omega.py +240 -0
  260. witsoc/scripts/test_ontology_pivot.py +74 -0
  261. witsoc/scripts/test_open_frontier.py +123 -0
  262. witsoc/scripts/test_open_problem_corpus.py +107 -0
  263. witsoc/scripts/test_open_problem_rigor.py +174 -0
  264. witsoc/scripts/test_open_rungs_gate.py +73 -0
  265. witsoc/scripts/test_orchestrator_plan.py +68 -0
  266. witsoc/scripts/test_p3_constructor.py +125 -0
  267. witsoc/scripts/test_p4_compounding.py +149 -0
  268. witsoc/scripts/test_phase01.py +104 -0
  269. witsoc/scripts/test_phase24.py +69 -0
  270. witsoc/scripts/test_portfolio.py +84 -0
  271. witsoc/scripts/test_pose_variants.py +106 -0
  272. witsoc/scripts/test_premise_retrieval.py +85 -0
  273. witsoc/scripts/test_premise_retrieval_packet.py +63 -0
  274. witsoc/scripts/test_proof_autopsy.py +117 -0
  275. witsoc/scripts/test_proof_search_induction.py +97 -0
  276. witsoc/scripts/test_prover.py +75 -0
  277. witsoc/scripts/test_reach_unlock_lemma_premise.py +102 -0
  278. witsoc/scripts/test_reduction_ledger.py +182 -0
  279. witsoc/scripts/test_reduction_phase1.py +149 -0
  280. witsoc/scripts/test_refute_deterministic.py +61 -0
  281. witsoc/scripts/test_request_bus.py +190 -0
  282. witsoc/scripts/test_research_campaign.py +159 -0
  283. witsoc/scripts/test_research_state.py +105 -0
  284. witsoc/scripts/test_retrieval_and_pool.py +185 -0
  285. witsoc/scripts/test_route.py +181 -0
  286. witsoc/scripts/test_run_ledger.py +195 -0
  287. witsoc/scripts/test_sampler_fleet.py +178 -0
  288. witsoc/scripts/test_sat_backend.py +182 -0
  289. witsoc/scripts/test_search_frontier.py +167 -0
  290. witsoc/scripts/test_seed_lemmas_bus.py +152 -0
  291. witsoc/scripts/test_skeptic_bus.py +123 -0
  292. witsoc/scripts/test_sketch_tournament.py +261 -0
  293. witsoc/scripts/test_solve_claim.py +215 -0
  294. witsoc/scripts/test_speculative_arena.py +86 -0
  295. witsoc/scripts/test_strategy_algorithms.py +163 -0
  296. witsoc/scripts/test_structural_induction.py +65 -0
  297. witsoc/scripts/test_theorem_extract.py +146 -0
  298. witsoc/scripts/test_theory_and_nexus.py +168 -0
  299. witsoc/scripts/test_validate_generator_handoff.py +89 -0
  300. witsoc/scripts/test_validate_premises.py +50 -0
  301. witsoc/scripts/test_value_function.py +95 -0
  302. witsoc/scripts/test_w3_w4.py +107 -0
  303. witsoc/scripts/test_wit_to_lean_obligation.py +83 -0
  304. witsoc/scripts/theorem_atlas.py +388 -0
  305. witsoc/scripts/toolchain_check.py +93 -0
  306. witsoc/scripts/trace_harvester.py +200 -0
  307. witsoc/scripts/validate_explorer_review.py +183 -0
  308. witsoc/scripts/validate_generator_handoff.py +113 -0
  309. witsoc/scripts/validate_handoff.py +728 -0
  310. witsoc/scripts/validate_lean_receipt.py +141 -0
  311. witsoc/scripts/validate_lovasz_phase.py +56 -0
  312. witsoc/scripts/validate_lovasz_run.py +184 -0
  313. witsoc/scripts/validate_open_problem_run.py +292 -0
  314. witsoc/scripts/validate_premises.py +84 -0
  315. witsoc/scripts/validate_proof_dag_integrity.py +108 -0
  316. witsoc/scripts/validate_prover_result.py +159 -0
  317. witsoc/scripts/validate_route_state.py +95 -0
  318. witsoc/scripts/validate_spawn_packet.py +99 -0
  319. witsoc/scripts/value_function.py +191 -0
  320. witsoc/scripts/verify.sh +51 -0
  321. witsoc/scripts/wit_to_lean_obligation.py +266 -0
  322. witsoc/scripts/witsoc.py +20 -0
  323. witsoc/scripts/witsoc_controller.py +304 -0
  324. witsoc/scripts/witsoc_narrate.py +606 -0
  325. witsoc/scripts/witsoc_ui.py +156 -0
  326. witsoc/witsoc-explorer/SKILL.md +769 -0
  327. witsoc/witsoc-explorer/references/examples/composite_block.wit +25 -0
  328. witsoc/witsoc-explorer/references/examples/grover_constant.wit +66 -0
  329. witsoc/witsoc-explorer/references/examples/sat_reduction.wit +39 -0
  330. witsoc/witsoc-explorer/references/open_problems.md +186 -0
  331. witsoc/witsoc-generator/SKILL.md +761 -0
  332. witsoc/witsoc-generator/references/examples/compactness_disjoint_union_reduction.wit +24 -0
  333. witsoc/witsoc-generator/references/examples/composite_block.wit +25 -0
  334. witsoc/witsoc-generator/references/examples/finite_chi_bounding_compactness_template.wit +25 -0
  335. witsoc/witsoc-generator/references/examples/grover_constant.wit +66 -0
  336. witsoc/witsoc-generator/references/examples/sat_reduction.wit +39 -0
  337. witsoc/witsoc-generator/scripts/_common.sh +152 -0
  338. witsoc/witsoc-generator/scripts/audit.sh +66 -0
  339. witsoc/witsoc-generator/scripts/check.sh +38 -0
  340. witsoc/witsoc-generator/scripts/context.sh +77 -0
  341. witsoc/witsoc-generator/scripts/cycle.sh +90 -0
  342. witsoc/witsoc-generator/scripts/init.sh +96 -0
  343. witsoc/witsoc-generator/scripts/receipt.sh +88 -0
  344. witsoc/witsoc-generator/scripts/status.sh +88 -0
  345. witsoc/witsoc-generator/scripts/verify.sh +51 -0
  346. witsoc/witsoc-research-lovasz/SKILL.md +548 -0
  347. witsoc/witsoc-research-lovasz/agents/openai.yaml +4 -0
  348. witsoc/witsoc-research-lovasz/references/algorithmic_research.md +114 -0
  349. witsoc/witsoc-research-lovasz/references/barrier_taxonomy.md +86 -0
  350. witsoc/witsoc-research-lovasz/references/claim_demotion.md +49 -0
  351. witsoc/witsoc-research-lovasz/references/computation_backends.md +33 -0
  352. witsoc/witsoc-research-lovasz/references/conjecture_mining.md +59 -0
  353. witsoc/witsoc-research-lovasz/references/conjecture_to_lemma_pipeline.md +37 -0
  354. witsoc/witsoc-research-lovasz/references/counterexample_certificate.md +51 -0
  355. witsoc/witsoc-research-lovasz/references/counterexample_search_library.md +64 -0
  356. witsoc/witsoc-research-lovasz/references/cross_run_memory.md +51 -0
  357. witsoc/witsoc-research-lovasz/references/disproof_first_protocol.md +36 -0
  358. witsoc/witsoc-research-lovasz/references/domain_additive_combinatorics.md +46 -0
  359. witsoc/witsoc-research-lovasz/references/domain_extremal_graph_theory.md +122 -0
  360. witsoc/witsoc-research-lovasz/references/domain_multiplicative_number_theory.md +50 -0
  361. witsoc/witsoc-research-lovasz/references/domain_playbooks.md +35 -0
  362. witsoc/witsoc-research-lovasz/references/domain_ramsey_theory.md +48 -0
  363. witsoc/witsoc-research-lovasz/references/erdos_level_playbook.md +122 -0
  364. witsoc/witsoc-research-lovasz/references/experiment_design.md +67 -0
  365. witsoc/witsoc-research-lovasz/references/full_proof_campaign.md +56 -0
  366. witsoc/witsoc-research-lovasz/references/full_proof_escalation.md +44 -0
  367. witsoc/witsoc-research-lovasz/references/historical_benchmark_suite.md +68 -0
  368. witsoc/witsoc-research-lovasz/references/lean_mathlib_integration.md +36 -0
  369. witsoc/witsoc-research-lovasz/references/literature_triage.md +38 -0
  370. witsoc/witsoc-research-lovasz/references/problem_selection.md +64 -0
  371. witsoc/witsoc-research-lovasz/references/proof_gap_ledger.md +43 -0
  372. witsoc/witsoc-research-lovasz/references/proof_strategy_agents.md +58 -0
  373. witsoc/witsoc-research-lovasz/references/research_protocol.md +374 -0
  374. witsoc/witsoc-research-lovasz/references/skeptic_pass.md +42 -0
  375. witsoc/witsoc-research-lovasz/references/soc_memory.md +119 -0
  376. witsoc/witsoc-research-lovasz/references/theorem_retrieval_engine.md +42 -0
  377. witsoc/witsoc-research-lovasz/scripts/experiments/finite_model_search.py +110 -0
  378. witsoc/witsoc-research-lovasz/scripts/experiments/graph_search.py +73 -0
  379. witsoc/witsoc-research-lovasz/scripts/experiments/number_theory_search.py +87 -0
  380. witsoc-0.1.0.dist-info/METADATA +114 -0
  381. witsoc-0.1.0.dist-info/RECORD +383 -0
  382. witsoc-0.1.0.dist-info/WHEEL +4 -0
  383. witsoc-0.1.0.dist-info/entry_points.txt +2 -0
witsoc/__init__.py ADDED
@@ -0,0 +1,13 @@
1
+ """Installable Witsoc package.
2
+
3
+ The first package release keeps the existing script tree as the compatibility
4
+ surface and exposes a stable console entrypoint. New code should prefer
5
+ importable modules under this package as scripts are migrated.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ __all__ = ["__version__"]
11
+
12
+ __version__ = "0.1.0"
13
+
witsoc/__main__.py ADDED
@@ -0,0 +1,10 @@
1
+ """Run `python -m witsoc`."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from .cli import main
6
+
7
+
8
+ if __name__ == "__main__":
9
+ raise SystemExit(main())
10
+
witsoc/cli.py ADDED
@@ -0,0 +1,129 @@
1
+ """Console entrypoint for the installable Witsoc package."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import argparse
6
+ import json
7
+ import sys
8
+
9
+ from .legacy import PASSTHROUGH, run_script
10
+ from .registry import BY_TIER, command_rows
11
+
12
+
13
+ def main(argv: list[str] | None = None) -> int:
14
+ argv = list(sys.argv[1:] if argv is None else argv)
15
+ if argv and argv[0] in PASSTHROUGH:
16
+ return run_script(PASSTHROUGH[argv[0]], argv[1:])
17
+ if len(argv) >= 2 and argv[0] == "strategy":
18
+ aliases = {
19
+ "rank-lanes": "strategy-rank-lanes",
20
+ "select-barrier": "strategy-select-barrier",
21
+ "select-product": "strategy-select-product",
22
+ "stop": "strategy-stop",
23
+ "allocate": "strategy-allocate",
24
+ }
25
+ if argv[1] in aliases:
26
+ return run_script(PASSTHROUGH[aliases[argv[1]]], argv[2:])
27
+ if len(argv) >= 2 and argv[0] == "lovasz":
28
+ aliases = {
29
+ "rank-dag": "lovasz-rank-dag",
30
+ "select-mutation": "lovasz-select-mutation",
31
+ "rank-results": "lovasz-rank-results",
32
+ "next-action": "lovasz-next-action",
33
+ "packet": "lovasz-packet",
34
+ }
35
+ if argv[1] in aliases:
36
+ return run_script(PASSTHROUGH[aliases[argv[1]]], argv[2:])
37
+ if argv and argv[0] == "commands":
38
+ return _commands(argv[1:])
39
+
40
+ parser = argparse.ArgumentParser(prog="witsoc")
41
+ sub = parser.add_subparsers(dest="cmd", required=True)
42
+
43
+ p_route = sub.add_parser("route")
44
+ p_route.add_argument("prompt", nargs="*")
45
+ p_route.add_argument("--field", choices=["route", "announcement", "reason", "chain", "confidence", "state", "json"], default="json")
46
+ p_route.add_argument("--state-out", default=None)
47
+ p_route.add_argument("--no-state", action="store_true")
48
+
49
+ p_strategy = sub.add_parser("strategy")
50
+ strategy_sub = p_strategy.add_subparsers(dest="strategy_cmd", required=True)
51
+ strategy_sub.add_parser("rank-lanes").add_argument("args", nargs=argparse.REMAINDER)
52
+ strategy_sub.add_parser("select-barrier").add_argument("args", nargs=argparse.REMAINDER)
53
+ strategy_sub.add_parser("select-product").add_argument("args", nargs=argparse.REMAINDER)
54
+ strategy_sub.add_parser("stop").add_argument("args", nargs=argparse.REMAINDER)
55
+ strategy_sub.add_parser("allocate").add_argument("args", nargs=argparse.REMAINDER)
56
+
57
+ p_lovasz = sub.add_parser("lovasz")
58
+ lovasz_sub = p_lovasz.add_subparsers(dest="lovasz_cmd", required=True)
59
+ lovasz_sub.add_parser("rank-dag").add_argument("args", nargs=argparse.REMAINDER)
60
+ lovasz_sub.add_parser("select-mutation").add_argument("args", nargs=argparse.REMAINDER)
61
+ lovasz_sub.add_parser("rank-results").add_argument("args", nargs=argparse.REMAINDER)
62
+ lovasz_sub.add_parser("next-action").add_argument("args", nargs=argparse.REMAINDER)
63
+ lovasz_sub.add_parser("packet").add_argument("args", nargs=argparse.REMAINDER)
64
+
65
+ p_commands = sub.add_parser("commands", help="list lazy command tiers")
66
+ p_commands.add_argument("--tier", choices=sorted(BY_TIER), default=None)
67
+ p_commands.add_argument("--json", action="store_true")
68
+
69
+ args = parser.parse_args(argv)
70
+
71
+ if args.cmd == "route":
72
+ route_args = ["--field", args.field]
73
+ if args.state_out:
74
+ route_args += ["--state-out", args.state_out]
75
+ if args.no_state:
76
+ route_args += ["--no-state"]
77
+ route_args += args.prompt
78
+ return run_script("route.py", route_args)
79
+
80
+ if args.cmd == "strategy":
81
+ aliases = {
82
+ "rank-lanes": "strategy-rank-lanes",
83
+ "select-barrier": "strategy-select-barrier",
84
+ "select-product": "strategy-select-product",
85
+ "stop": "strategy-stop",
86
+ "allocate": "strategy-allocate",
87
+ }
88
+ return run_script(PASSTHROUGH[aliases[args.strategy_cmd]], args.args)
89
+
90
+ if args.cmd == "lovasz":
91
+ aliases = {
92
+ "rank-dag": "lovasz-rank-dag",
93
+ "select-mutation": "lovasz-select-mutation",
94
+ "rank-results": "lovasz-rank-results",
95
+ "next-action": "lovasz-next-action",
96
+ "packet": "lovasz-packet",
97
+ }
98
+ return run_script(PASSTHROUGH[aliases[args.lovasz_cmd]], args.args)
99
+
100
+ if args.cmd == "commands":
101
+ rows = command_rows(tier=args.tier)
102
+ if args.json:
103
+ print(json.dumps({"schema": "witsoc.command_registry.v1", "commands": rows}, indent=2))
104
+ else:
105
+ _print_rows(rows)
106
+ return 0
107
+ return 2
108
+
109
+
110
+ def _commands(argv: list[str]) -> int:
111
+ parser = argparse.ArgumentParser(prog="witsoc commands")
112
+ parser.add_argument("--tier", choices=sorted(BY_TIER), default=None)
113
+ parser.add_argument("--json", action="store_true")
114
+ args = parser.parse_args(argv)
115
+ rows = command_rows(tier=args.tier)
116
+ if args.json:
117
+ print(json.dumps({"schema": "witsoc.command_registry.v1", "commands": rows}, indent=2))
118
+ else:
119
+ _print_rows(rows)
120
+ return 0
121
+
122
+
123
+ def _print_rows(rows: list[dict[str, str]]) -> None:
124
+ for row in rows:
125
+ print(f"{row['name']:<28} {row['tier']:<10} {row['cost']:<6} {row['description']}")
126
+
127
+
128
+ if __name__ == "__main__":
129
+ raise SystemExit(main())
witsoc/legacy.py ADDED
@@ -0,0 +1,46 @@
1
+ """Compatibility helpers for running the legacy Witsoc script tree."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import subprocess
6
+ import sys
7
+ from contextlib import contextmanager
8
+ from importlib import resources
9
+ from pathlib import Path
10
+ from typing import Iterator
11
+
12
+ from .registry import PASSTHROUGH
13
+
14
+
15
+ def source_skill_root() -> Path | None:
16
+ """Return the source-tree skill root when running from a checkout."""
17
+
18
+ here = Path(__file__).resolve()
19
+ for parent in here.parents:
20
+ candidate = parent.parent / "scripts" / "route.py"
21
+ if parent.name == "src" and candidate.exists():
22
+ return parent.parent
23
+ return None
24
+
25
+
26
+ @contextmanager
27
+ def script_path(script: str) -> Iterator[Path]:
28
+ """Yield a filesystem path for a packaged or source-tree legacy script."""
29
+
30
+ root = source_skill_root()
31
+ if root is not None:
32
+ yield root / "scripts" / script
33
+ return
34
+
35
+ traversable = resources.files("witsoc").joinpath("scripts", script)
36
+ with resources.as_file(traversable) as path:
37
+ yield path
38
+
39
+
40
+ def run_script(script: str, args: list[str]) -> int:
41
+ with script_path(script) as path:
42
+ if script.endswith(".py"):
43
+ cmd = [sys.executable, str(path), *args]
44
+ else:
45
+ cmd = ["bash", str(path), *args]
46
+ return subprocess.call(cmd)
@@ -0,0 +1,149 @@
1
+ # Algorithmic Strategy
2
+
3
+ Witsoc algorithms provide decision support. They rank lanes, barriers,
4
+ products, mutations, and stop/continue options. They never decide mathematical
5
+ truth and never override the orchestrator's strategy authority.
6
+
7
+ ## Boundary
8
+
9
+ Algorithms may:
10
+
11
+ - score candidate actions;
12
+ - explain why an option is promising or risky;
13
+ - surface alternatives;
14
+ - recommend validators;
15
+ - penalize repeated failures;
16
+ - identify the best reportable product.
17
+
18
+ Algorithms must not:
19
+
20
+ - emit `SOLVED`, `VERIFIED`, or `CHECKED` unless copying an existing validated
21
+ ledger status with its evidence;
22
+ - authorize Generator;
23
+ - claim a full solution;
24
+ - block the orchestrator from trying a creative route;
25
+ - turn an advisory ranking into a hard workflow.
26
+
27
+ Validators decide trust. The orchestrator decides strategy.
28
+
29
+ ## Shared Scoring Dimensions
30
+
31
+ Scores are normalized to `[0, 1]` and should include reasons.
32
+
33
+ - `target_relevance`: how directly the option connects to the frozen target.
34
+ - `evidence_potential`: chance of producing checkable evidence.
35
+ - `verifier_friendliness`: how likely the result can be checked/formalized.
36
+ - `uncertainty_reduction`: how much the option clarifies the open core.
37
+ - `novelty_potential`: chance of producing nontrivial progress.
38
+ - `dependency_centrality`: how much a DAG node blocks the target.
39
+ - `cost`: rough runtime/human/agent cost.
40
+ - `repeat_risk`: chance this repeats a known failed approach.
41
+ - `user_value`: usefulness for the requested deliverable.
42
+
43
+ ## Core Algorithms
44
+
45
+ ### Attackability
46
+
47
+ Estimate whether the target should be attacked by formalization, computation,
48
+ counterexample pressure, barrier decomposition, or creative ideation.
49
+
50
+ ```text
51
+ attackability =
52
+ 0.25 * formalization_readiness
53
+ + 0.20 * counterexample_searchability
54
+ + 0.20 * known_theorem_connectivity
55
+ + 0.15 * decomposition_potential
56
+ + 0.10 * computational_tractability
57
+ + 0.10 * novelty_or_user_value
58
+ - 0.20 * repeat_failure_risk
59
+ - 0.15 * foundation_or_status_risk
60
+ ```
61
+
62
+ ### Lane Ranking
63
+
64
+ Rank a deep-run mission menu.
65
+
66
+ ```text
67
+ lane_score =
68
+ 0.30 * expected_evidence_gain
69
+ + 0.20 * target_relevance
70
+ + 0.15 * verifier_friendliness
71
+ + 0.15 * uncertainty_reduction
72
+ + 0.10 * novelty_potential
73
+ + 0.10 * cheapness
74
+ - 0.25 * repeat_risk
75
+ ```
76
+
77
+ ### Barrier Selection
78
+
79
+ Choose which barrier or DAG node is worth attacking next.
80
+
81
+ ```text
82
+ node_score =
83
+ 0.35 * dependency_centrality
84
+ + 0.25 * unlock_value
85
+ + 0.15 * formalization_readiness
86
+ + 0.15 * evidence_available
87
+ + 0.10 * theorem_connectivity
88
+ - 0.25 * repeat_failure_risk
89
+ ```
90
+
91
+ ### Mutation Selection
92
+
93
+ Select a one-axis mutation from the current gap class.
94
+
95
+ ```text
96
+ mutation_score =
97
+ 0.30 * gap_match
98
+ + 0.20 * novelty_against_failure_memory
99
+ + 0.20 * verification_friendliness
100
+ + 0.15 * expected_unlock
101
+ + 0.15 * cheapness
102
+ ```
103
+
104
+ ### Best Product Selection
105
+
106
+ Rank the current products for reportability.
107
+
108
+ ```text
109
+ product_score =
110
+ 0.35 * evidence_strength
111
+ + 0.25 * target_fidelity
112
+ + 0.15 * dependency_path_quality
113
+ + 0.10 * novelty
114
+ + 0.10 * formalization_readiness
115
+ + 0.05 * user_value
116
+ - 0.30 * remaining_gap_penalty
117
+ ```
118
+
119
+ ### Stop/Continue
120
+
121
+ Decide whether the run needs repair, bus fulfillment, continuation, honest stop,
122
+ or user input.
123
+
124
+ ```text
125
+ failed_gate -> repair_gate
126
+ bus_pending -> continue_after_bus
127
+ reviewed verified/checkable product -> stop_honestly_with_product
128
+ open barrier and next mutation -> continue
129
+ all lanes failed with failure classes -> stop_honestly_with_barrier_report
130
+ target unclear -> ask_user
131
+ otherwise -> continue_lowest_cost_uncertainty_reduction
132
+ ```
133
+
134
+ ### Portfolio Allocation
135
+
136
+ Suggest worker allocation from ranked lanes.
137
+
138
+ ```text
139
+ workers_i = round(total_workers * lane_score_i / sum(lane_scores))
140
+ ```
141
+
142
+ Constraints:
143
+
144
+ - at least one skeptic lane when promoting a product;
145
+ - at least one counterexample lane for open-style targets when available;
146
+ - at most 40% idea-generation unless no formalizable rung exists;
147
+ - at least one formalization lane if WIT/Lean is requested and available.
148
+
149
+ Every allocation is advisory.
@@ -0,0 +1,70 @@
1
+ # Witsoc Architecture (R0/R1)
2
+
3
+ The structural map of the system. `python3 scripts/witsoc.py map` prints the
4
+ machine-readable version; this file explains it.
5
+
6
+ ## Layout rule
7
+
8
+ Files stay **flat on disk** under `scripts/` — the external
9
+ `skill-which witsoc/scripts/<name>.py` resolution contract (orchestrators,
10
+ SKILL.md command blocks) depends on stable flat paths. The *logical* structure
11
+ is the `GROUPS` registry in `witsoc.py`: every tool belongs to exactly one
12
+ group, the flat CLI is derived from the registry (a collision is a startup
13
+ error), and `witsoc <group> <cmd>` / `witsoc <group>` / `witsoc map` expose
14
+ the grouping.
15
+
16
+ ## The five groups
17
+
18
+ | Group | Role | Boundary rule |
19
+ |---|---|---|
20
+ | `engines` | Strategy-free services: input in, certificate/result out | Never assign trust, never choose the next move |
21
+ | `campaign` | Lovasz-owned candidate machinery: loops, dispatch, evolution, scheduling | Campaign entry points need a run context or explicit `--standalone`; gates decide trust |
22
+ | `knowledge` | The stores: atlases, libraries, ledgers, registries | Trust tiers + provenance mandatory; metadata never upgrades a claim |
23
+ | `gates` | Honesty: validators, skeptics, audits, claim protocols | Demote-only; a gate never upgrades |
24
+ | `core` | Run substrate: WIT cycle, routing, artifacts, the run ledger | Deterministic; no LLM |
25
+
26
+ `witsoc services` remains the boundary-contract registry (a curated subset of
27
+ the map with per-service contracts).
28
+
29
+ ## R1: the unified run ledger
30
+
31
+ The historical design scattered one run's state across ~15 JSON ledgers
32
+ (`proof_dependency_dag.json`, `worker_results.json`, `gap_feedback.json`,
33
+ `blueprint.json`, `actual_lemma_queue.json`, `skeptic_reviews.json`, handoffs,
34
+ `lovasz.soc`, failure/retry/mutation ledgers…), with the same fact stored in
35
+ several files and a fleet of validators checking cross-file consistency.
36
+
37
+ `run_ledger.py` (`witsoc ledger`) is the replacement substrate: **one
38
+ `run.sqlite3` per run, the DAG node as the single entity.** Worker results,
39
+ gap feedback, blueprint obligations, and skeptic reviews are records attached
40
+ to nodes; "blueprint status" and "gap class" are computed views, not files.
41
+
42
+ - `ingest <run>` — read every legacy JSON ledger into the database
43
+ (idempotent upserts; safe to re-run after any tool writes).
44
+ - `status <run>` — the single-pane view that previously required reading ten
45
+ files: phase, escalation, node counts, ready frontier, gaps, attempts.
46
+ - `consistency <run>` — the cross-ledger validators as QUERIES: accepted
47
+ nodes need reviews and evidence, dependencies resolve to accepted nodes,
48
+ no cycles, failed nodes carry gap feedback, statuses legal.
49
+ - `export <run>` — regenerate the legacy JSON ledgers from the database, so
50
+ current consumers keep working during migration.
51
+ - `nodes <run>` — the node-centric joined view (node + attempts + reviews +
52
+ gaps + blueprint state in one record).
53
+
54
+ ### Migration path
55
+
56
+ 1. **Now (R1):** the ledger is a derived index — tools keep writing JSON;
57
+ `ingest` after each phase gives the unified view and query-based
58
+ consistency. The E2E and validators run on either representation.
59
+ 2. **Next (R1.5):** high-traffic readers (reports, return packets, manifests)
60
+ read from the ledger; writers dual-write through a small witcore API.
61
+ 3. **Then (R2):** the ledger is the only store; `export` exists solely for
62
+ archival/interop; the redundant per-fact files and their cross-file
63
+ validators are retired.
64
+
65
+ ## Deferred (explicitly)
66
+
67
+ - Physical file moves into package directories — blocked on the skill-which
68
+ flat-path contract; revisit only with a coordinated orchestrator change.
69
+ - `witcore.py` split into submodules — cosmetic until R3's batch/session
70
+ engine room work, where it pays for itself.
@@ -0,0 +1,42 @@
1
+ # Artifact Policy
2
+
3
+ Use this protocol for every WIT, Lean, receipt, SOC, log, proof worktree, report, and generated JSON packet.
4
+
5
+ ## Registry First
6
+
7
+ Every artifact should be registered in `witsoc_artifacts.json` with:
8
+
9
+ - path,
10
+ - type,
11
+ - owner phase,
12
+ - target hash,
13
+ - status,
14
+ - worktree path and cleanup status when applicable.
15
+
16
+ The plugin and final report should read the registry first and use filesystem scanning only as fallback.
17
+
18
+ ## Required Artifact Metadata
19
+
20
+ Artifacts tied to proof claims must record:
21
+
22
+ ```json
23
+ {
24
+ "artifact_id": "",
25
+ "type": "wit | lean | receipt | log | report | soc | proof_worktree | json",
26
+ "path": "",
27
+ "target_hash": "",
28
+ "claim_id": "",
29
+ "owner_phase": "witsoc-explorer | witsoc-research-lovasz | witsoc-generator",
30
+ "status": "created | checked | verified | failed | stale",
31
+ "created_by": "",
32
+ "worktree_status": ""
33
+ }
34
+ ```
35
+
36
+ ## Stale Artifact Rule
37
+
38
+ An artifact is stale if its target hash differs from the frozen target hash and no target mutation record explains the difference. Stale artifacts may be cited as failed attempts or historical context, not as evidence.
39
+
40
+ ## Worktree Rule
41
+
42
+ WIT/Lean proof artifacts for nontrivial claims must be generated in a session-scoped proof worktree. Preserve proof files, logs, receipts, SafeVerify records, and reports. Clean temporary Lean projects when allowed, but keep evidence artifacts.
@@ -0,0 +1,172 @@
1
+ # Primitive Capability Catalog
2
+
3
+ Advisory (strategy layer), except where a row is marked **contract**. This
4
+ catalog presents Witsoc's deterministic machinery as general, composable
5
+ primitives — organized by *what each one does*, not by which phase
6
+ traditionally calls it. Any composition that respects the contract layer is
7
+ legitimate, including ones no protocol file anticipates; record the
8
+ composition chosen and why. Exact invocations live in `tooling.md` and the
9
+ per-script `--help`.
10
+
11
+ Reading a row: **Primitive** (entry point) — what it does; *applies when*;
12
+ *output grade* (the ceiling of what its result can claim); *composes with*.
13
+
14
+ ## Search & Retrieval
15
+
16
+ - **Lemma library** (`lemma_library.py`) — semantic search over persistent
17
+ lemmas, trust-tiered WIT_STRUCTURE → WIT_RECEIPT → LEAN_VERIFIED. *Applies*:
18
+ before re-deriving anything. *Grade*: as tiered. *Composes*: seeds provers,
19
+ handoffs, the lemma pool; `verify-lean` upgrades tiers.
20
+ - **Proof bank** (`proof_bank.py`) — archive of successful proofs by goal
21
+ shape. *Applies*: prompt/example seeding for provers and narrative agents.
22
+ *Grade*: examples only. *Composes*: nexus, tiered-prove.
23
+ - **Mathlib atlas** (`mathlib_atlas.py`) — formal availability + module path
24
+ lookup. *Applies*: before any Mathlib dependency enters a plan (contract:
25
+ no match → availability `UNKNOWN`, search target only). *Grade*:
26
+ availability fact. *Composes*: handoffs, external-fact records.
27
+ - **Literature engine** (`literature_engine.py`) — dated source ledgers for
28
+ status claims; 90-day staleness gate. *Applies*: solved/open status, best
29
+ known results. *Grade*: sourced status. *Composes*: barrier packets,
30
+ novelty triage.
31
+ - **Knowledge stores** (`witsoc atlas` / `witsoc library` / `witsoc memory`)
32
+ — curated reference atlas (read-only) + live global library + cross-run
33
+ memory. *Applies*: start and end of every serious run. *Composes*:
34
+ everything; promote = the only live→reference path.
35
+ - **Technique atlas** (`analogical-transfer`, fed by `proof-autopsy`,
36
+ `mathlib-autopsy`) — techniques indexed by applicability fingerprint.
37
+ *Applies*: stuck steps, transfer checklist. *Grade*: candidate technique.
38
+ - **Goal cache** (`goal_cache.md` machinery) — prior attempts on a goal hash.
39
+ *Applies*: before any prover dispatch. *Composes*: retry discipline.
40
+
41
+ ## Enumeration, Mining & Falsification
42
+
43
+ - **Research search** (`research_search.py`) — bounded falsification and
44
+ witness search across number theory / graphs / finite models; `--inflate`
45
+ grows a counterexample into an obstruction-family candidate. *Grade*:
46
+ CHECKED at most, bounded scope. *Composes*: falsification passes, enemy
47
+ profile, obstruction ledgers.
48
+ - **Empirical miner** (`empirical_miner.py`) — pattern mining over
49
+ enumerated families. *Grade*: CONJECTURE/CHECKED bounded evidence.
50
+ *Composes*: conjecture pipeline.
51
+ - **Finite graph backend** (`finite_graph_backend.py`) — exact bounded graph
52
+ checks (nauty when present). *Grade*: CHECKED on the enumerated scope.
53
+ - **Number theory backend** (`number_theory_backend.py`) — verified
54
+ arithmetic certificates (factorization with product check, Miller–Rabin,
55
+ sigma classes, witness checks). *Grade*: CHECKED certificate.
56
+ - **Asymptotic analyzer** (`asymptotic_analyzer.py`) — deterministic
57
+ asymptotic claim screening. *Applies*: every asymptotic claim before it
58
+ becomes a proof path. *Grade*: rejection is REJECTED; unavailability is a
59
+ precondition gap, never evidence.
60
+ - **Counterexample search** (`counterexample_search.py`) — front-end over
61
+ the engine + evaluators for targeted refutation. *Composes*: dialectic,
62
+ disproof-first.
63
+
64
+ ## Construction & Synthesis
65
+
66
+ - **Discovery engine** (`discovery_engine.py` + `discovery_evaluators.py`) —
67
+ island-model evolutionary search; generation cheap and untrusted, the exact
68
+ evaluator is the moat; optional LLM-as-mutation-operator sampler. *Applies*:
69
+ extremal/existence targets with a finite witness. *Grade*: CHECKED witness.
70
+ *Composes*: program-evolve, lemma promotion to WIT/Lean.
71
+ - **Program evolution** (`witsoc evolve`) — FunSearch/AlphaEvolve-style
72
+ evolution of `construct(n)` programs against exploit-hardened evaluators
73
+ with independent re-verification. *Grade*: CHECKED records.
74
+ - **Formula synthesis** (`formula-synthesis`) — parametric witness-formula
75
+ families (e.g. residue-class witness triples), whole-class statements via
76
+ exact substitution, then kernel gating. *Grade*: CONJECTURE until the
77
+ whole-class proof passes the kernel.
78
+ - **Definition synthesis** (`definition-synthesis`) — grammar search for
79
+ separating invariants; the Invention Mode primitive (never invent a concept
80
+ by prose). *Grade*: candidate definition, OPEN_UNFALSIFIED.
81
+ - **SAT / reduction hunt** (`sat`, `reduction-hunt`, `smt_synthesizer.py`) —
82
+ encode finite instance families; CDCL with DRAT-checked UNSAT
83
+ (RECEIPT_ACCEPTED certificates); `sat` = candidate gadget, `unsat`+core =
84
+ obstruction evidence. *Applies*: rediscovery brackets, covering systems,
85
+ Ramsey-type bounds, finite gadgets. *Composes*: computational_certificate
86
+ DAG nodes.
87
+ - **Construction search** (`construction_search.py`) — direct search drivers
88
+ for known construction shapes.
89
+
90
+ ## Conjecture Machinery
91
+
92
+ - **Ideation** (`ideate.py`) — move-class divergence, sampler-fleet widened;
93
+ generation unfiltered, the kernel stack filters. (Gate floor for open
94
+ targets: ≥15 ideas, ≥4 move classes.)
95
+ - **Conjecture pipeline** (`conjecture_miner.py`, `conjecture-pipeline`) —
96
+ mine → rank (`interestingness`, ordering only) → formalize via predicate
97
+ registry → dispatch. *Grade*: CONJECTURE.
98
+ - **Speculative arena** (`speculative-arena`) — kernel-proved
99
+ hypothesis→target bridges, leverage-ranked. *Grade*: bridge is VERIFIED
100
+ conditional; hypothesis stays open.
101
+ - **Lemma repair** (`lemma-repair`) — counterexample-guided one-axis repair
102
+ of refuted conjectures; survivors are CONJECTURE.
103
+ - **Variant posing** (`pose-variants`, `discovery-lift`) — self-play
104
+ curriculum around a target; `cluster` attacks target + variants under one
105
+ shared theory so rungs and refutations transfer.
106
+
107
+ ## Proving & Formalization
108
+
109
+ - **Tiered prover** (`witsoc tiered-prove --tier light|medium|heavy`) —
110
+ deterministic saturation → external prover fleet (kernel-replayed) → Nexus.
111
+ *Grade*: kernel-passing closures only.
112
+ - **Nexus loop** (`witsoc nexus prove|formalize`) — fleet proposals iterating
113
+ against real Lean compiler diagnostics with proof-bank examples embedded.
114
+ - **Dual narrative agent** (`witsoc narrative compose|ground`) — informal
115
+ proof first, then step-by-step formal grounding; gaps feed the lemma pool.
116
+ *Applies*: whole informal arguments.
117
+ - **Lemma pool** (`pool`, `witsoc retrieve build-corpus`) — bridging lemmas
118
+ mined from real residual diagnostics; proved ones reused everywhere.
119
+ - **Decomposition** (`decompose_problem.py`, `sketch_tournament.py`,
120
+ `sketch_population.py`, `result_ladder.py`) — competing decompositions and
121
+ EV-ranked sketch populations; effort allocation only, never status.
122
+ - **Proof search** (`proof_search.py`), **structural induction** drivers,
123
+ **wit→lean obligation** (`wit_to_lean_obligation.py`) — the kernel-facing
124
+ floor.
125
+ - **Ontology pivot** (`ontology-pivot`) — functorial transfer to an
126
+ orthogonal domain; new subgoals still point at the original target. (Gate
127
+ floor: mandatory after two failed native-domain attacks on a barrier
128
+ lemma.)
129
+
130
+ ## Verification & Audit — **contract layer**
131
+
132
+ Not optional once a claim is made, and never LLM-substitutable: `wit check`
133
+ and structural checks, receipt parsing, `lake build` + SafeVerify
134
+ (`lean_verification.md`, `safeverify.md`), target-freeze checks, the
135
+ `validate_*` family (route state, handoffs, Lovasz phases/runs, proof-DAG
136
+ integrity, open-problem runs, mathematical solve), `solve_claim_protocol.py`,
137
+ report grading (`grade_witsoc_report.py`), status legality
138
+ (`status_lattice`), and the rediscovery benchmark (`witsoc rediscovery`) as
139
+ the only honest meaning of "top tier".
140
+
141
+ ## Orchestration & Memory
142
+
143
+ - **Campaign driver** (`campaign_driver.py`) — one crank of the loop:
144
+ preflight, dispatch, skeptic, gap feedback, theory update,
145
+ dialectic, re-ideation, ledgers; `--finalize` for the production-gate
146
+ sequence. *Applies*: sustained campaigns where turn discipline, not math,
147
+ is the historical failure mode.
148
+ - **Problem theory** (`problem_theory.py`) — the living causal model:
149
+ equivalent formulations, example zoo, enemy profile, failure mechanisms,
150
+ main attack + stall point; embedded in every fleet prompt.
151
+ - **Gap feedback** (`proof_gap_to_barrier_feedback.py`) — **contract** floor
152
+ for mutation-before-retry.
153
+ - **Barrier machinery** (`barrier_attack.py`, `rung_saturation`,
154
+ `lovasz_top_tier.py`) — depth spine + breadth ladder + readiness audit.
155
+ - **Run ledger** (`run_ledger.py`, `run.sqlite3`), **trace harvester**
156
+ (`trace_harvester.py`) — unified state and the machine-checkable reward
157
+ record `(problem → solution, reward)` for expert iteration.
158
+ - **Self-play** (`witsoc self-play frontier-round`) — keeps the curriculum at
159
+ the prover's frontier between campaigns.
160
+
161
+ ## Composition Notes
162
+
163
+ - A primitive's output grade caps every downstream claim: a CHECKED witness
164
+ piped into a prover does not make the general theorem CHECKED; a
165
+ CONJECTURE-grade family kernel-verified for its whole class becomes
166
+ VERIFIED for exactly that class.
167
+ - Prefer a pipeline of two general primitives over one narrow wrapper when
168
+ both exist; prefer the wrapper when it carries a gate you would otherwise
169
+ have to re-implement.
170
+ - When a needed primitive is missing, say so explicitly (`backend_pending`
171
+ is honest) rather than simulating it in prose — and check sibling skills
172
+ and plugins before concluding it doesn't exist.