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.
- witsoc/__init__.py +13 -0
- witsoc/__main__.py +10 -0
- witsoc/cli.py +129 -0
- witsoc/legacy.py +46 -0
- witsoc/references/core/algorithmic_strategy.md +149 -0
- witsoc/references/core/architecture.md +70 -0
- witsoc/references/core/artifact_policy.md +42 -0
- witsoc/references/core/capability_catalog.md +172 -0
- witsoc/references/core/claim_acceptance.md +64 -0
- witsoc/references/core/exploration_strategy.md +417 -0
- witsoc/references/core/failure_recovery.md +59 -0
- witsoc/references/core/generator_gate.md +41 -0
- witsoc/references/core/generator_harness.md +22 -0
- witsoc/references/core/goal_cache.md +29 -0
- witsoc/references/core/handoff.md +144 -0
- witsoc/references/core/harness_discipline.md +55 -0
- witsoc/references/core/intelligence_bus.md +82 -0
- witsoc/references/core/interactive_intake.md +158 -0
- witsoc/references/core/lean_verification.md +46 -0
- witsoc/references/core/open_problem.md +91 -0
- witsoc/references/core/orchestrator_fit.md +127 -0
- witsoc/references/core/plugin_integration.md +41 -0
- witsoc/references/core/production_gates.md +68 -0
- witsoc/references/core/repair.md +54 -0
- witsoc/references/core/research_machinery.md +227 -0
- witsoc/references/core/routing.md +63 -0
- witsoc/references/core/routing_tests.md +138 -0
- witsoc/references/core/safeverify.md +46 -0
- witsoc/references/core/services.md +110 -0
- witsoc/references/core/status.md +38 -0
- witsoc/references/core/strategy_doctrine.md +69 -0
- witsoc/references/core/target_freeze.md +71 -0
- witsoc/references/core/technique_discovery.md +148 -0
- witsoc/references/core/tooling.md +103 -0
- witsoc/references/examples/compactness_disjoint_union_reduction.wit +24 -0
- witsoc/references/examples/composite_block.wit +25 -0
- witsoc/references/examples/finite_chi_bounding_compactness_template.wit +25 -0
- witsoc/references/examples/grover_constant.wit +66 -0
- witsoc/references/examples/handoff_open_problem.json +283 -0
- witsoc/references/examples/handoff_solved_problem.json +244 -0
- witsoc/references/examples/handoff_v1_blueprint.json +65 -0
- witsoc/references/examples/sat_reduction.wit +39 -0
- witsoc/references/knowledge-stores.md +87 -0
- witsoc/references/schemas/handoff.schema.json +881 -0
- witsoc/references/schemas/lovasz-spawn-worker.schema.json +86 -0
- witsoc/references/schemas/lovasz-worker-result.schema.json +98 -0
- witsoc/references/schemas/route-spec.schema.json +33 -0
- witsoc/references/schemas/witsoc-handoff-schema.json +137 -0
- witsoc/references/soc.md +212 -0
- witsoc/references/wit.md +414 -0
- witsoc/registry.py +96 -0
- witsoc/scripts/.flywheel/closures.jsonl_dir.json +4604 -0
- witsoc/scripts/.flywheel/policy.json +268 -0
- witsoc/scripts/_common.sh +152 -0
- witsoc/scripts/allocate_portfolio.py +96 -0
- witsoc/scripts/analogical_transfer.py +223 -0
- witsoc/scripts/artifacts.py +194 -0
- witsoc/scripts/asymptotic_analyzer.py +140 -0
- witsoc/scripts/attackability.py +165 -0
- witsoc/scripts/audit.sh +66 -0
- witsoc/scripts/autonomous_campaign.py +177 -0
- witsoc/scripts/barrier_attack.py +406 -0
- witsoc/scripts/blueprint_campaign.py +358 -0
- witsoc/scripts/build_mathlib_atlas.py +142 -0
- witsoc/scripts/bus_apply_replies.py +804 -0
- witsoc/scripts/campaign_driver.py +456 -0
- witsoc/scripts/check.sh +38 -0
- witsoc/scripts/close_obligation.py +576 -0
- witsoc/scripts/cluster_campaign.py +166 -0
- witsoc/scripts/concept_generator.py +210 -0
- witsoc/scripts/conjecture_miner.py +185 -0
- witsoc/scripts/conjecture_to_lemma_pipeline.py +505 -0
- witsoc/scripts/construction_search.py +133 -0
- witsoc/scripts/context.sh +77 -0
- witsoc/scripts/core_lemma_atlas.json +25 -0
- witsoc/scripts/counterexample_search.py +229 -0
- witsoc/scripts/curriculum.py +132 -0
- witsoc/scripts/curriculum_portfolio.py +81 -0
- witsoc/scripts/cycle.sh +90 -0
- witsoc/scripts/decision_ledger.py +302 -0
- witsoc/scripts/decompose_problem.py +194 -0
- witsoc/scripts/definition_synthesis.py +304 -0
- witsoc/scripts/dialectic.py +150 -0
- witsoc/scripts/discovery_engine.py +555 -0
- witsoc/scripts/discovery_evaluators.py +629 -0
- witsoc/scripts/discovery_ledger.py +164 -0
- witsoc/scripts/discovery_lift.py +159 -0
- witsoc/scripts/discovery_sampler_example.py +79 -0
- witsoc/scripts/domain_barrier_lemmas.py +409 -0
- witsoc/scripts/empirical_miner.py +264 -0
- witsoc/scripts/engine_dispatch.py +425 -0
- witsoc/scripts/explorer_approach_tournament.py +68 -0
- witsoc/scripts/explorer_return_packet.py +119 -0
- witsoc/scripts/finite_graph_backend.py +239 -0
- witsoc/scripts/flag_algebra_backend.py +199 -0
- witsoc/scripts/flywheel.py +158 -0
- witsoc/scripts/formal_conjectures_ingest.py +204 -0
- witsoc/scripts/formalization_feasibility.py +186 -0
- witsoc/scripts/formalization_obligations.json +484 -0
- witsoc/scripts/formula_synthesis.py +132 -0
- witsoc/scripts/generator_manifest.py +92 -0
- witsoc/scripts/generator_package.py +235 -0
- witsoc/scripts/generator_preflight.py +97 -0
- witsoc/scripts/generator_receipt_gate.py +75 -0
- witsoc/scripts/generator_repair_packet.py +68 -0
- witsoc/scripts/goal_structure.py +212 -0
- witsoc/scripts/grade_witsoc_report.py +189 -0
- witsoc/scripts/ideate.py +471 -0
- witsoc/scripts/ideation.json +163 -0
- witsoc/scripts/informal_proof.py +200 -0
- witsoc/scripts/init.sh +96 -0
- witsoc/scripts/init_lovasz_run.py +180 -0
- witsoc/scripts/interestingness.py +138 -0
- witsoc/scripts/kernel_tools.py +152 -0
- witsoc/scripts/knowledge_store.py +342 -0
- witsoc/scripts/lean_check.py +183 -0
- witsoc/scripts/lean_tactic_scan.py +137 -0
- witsoc/scripts/lemma_library.py +240 -0
- witsoc/scripts/lemma_pool.py +239 -0
- witsoc/scripts/lemma_repair.py +291 -0
- witsoc/scripts/lint_wit_quality.py +107 -0
- witsoc/scripts/literature_atlas.py +128 -0
- witsoc/scripts/lovasz_agent_packets.py +132 -0
- witsoc/scripts/lovasz_campaign_template.py +374 -0
- witsoc/scripts/lovasz_mutation_ranker.py +11 -0
- witsoc/scripts/lovasz_next_action.py +98 -0
- witsoc/scripts/lovasz_orchestrator_packet.py +81 -0
- witsoc/scripts/lovasz_prover_dispatch.py +373 -0
- witsoc/scripts/lovasz_run_manifest.py +180 -0
- witsoc/scripts/lovasz_score.py +177 -0
- witsoc/scripts/lovasz_soc_memory.py +265 -0
- witsoc/scripts/lovasz_top_tier.py +315 -0
- witsoc/scripts/lovasz_worker_dispatch.py +93 -0
- witsoc/scripts/mathlib_atlas.py +167 -0
- witsoc/scripts/mathlib_autopsy.py +164 -0
- witsoc/scripts/mcts_lean.py +174 -0
- witsoc/scripts/next_action.py +128 -0
- witsoc/scripts/nexus_loop.py +238 -0
- witsoc/scripts/novelty_triage.py +155 -0
- witsoc/scripts/number_theory_backend.py +258 -0
- witsoc/scripts/olympiad.py +206 -0
- witsoc/scripts/ontology_pivot.py +263 -0
- witsoc/scripts/open_frontier.py +281 -0
- witsoc/scripts/open_problem_report.py +147 -0
- witsoc/scripts/open_rungs.py +156 -0
- witsoc/scripts/opt_backend.py +219 -0
- witsoc/scripts/orchestrator_plan.py +144 -0
- witsoc/scripts/portfolio.py +187 -0
- witsoc/scripts/predicate_registry.py +163 -0
- witsoc/scripts/premise_retrieval.py +118 -0
- witsoc/scripts/problem_theory.py +295 -0
- witsoc/scripts/program_evolve.py +346 -0
- witsoc/scripts/proof_autopsy.py +260 -0
- witsoc/scripts/proof_bank.py +143 -0
- witsoc/scripts/proof_gap_to_barrier_feedback.py +257 -0
- witsoc/scripts/proof_policy.py +147 -0
- witsoc/scripts/proof_search.py +925 -0
- witsoc/scripts/prover_battery.py +189 -0
- witsoc/scripts/prover_tiers.py +134 -0
- witsoc/scripts/rank_lovasz_dag.py +105 -0
- witsoc/scripts/rank_lovasz_results.py +97 -0
- witsoc/scripts/rank_mission_menu.py +81 -0
- witsoc/scripts/receipt.sh +88 -0
- witsoc/scripts/recheck_certificates.py +354 -0
- witsoc/scripts/rediscovery_benchmark.py +183 -0
- witsoc/scripts/reduction_hunt.py +236 -0
- witsoc/scripts/reduction_ledger.py +661 -0
- witsoc/scripts/refute_deterministic.py +120 -0
- witsoc/scripts/request_bus.py +470 -0
- witsoc/scripts/research_campaign.py +309 -0
- witsoc/scripts/research_search.py +114 -0
- witsoc/scripts/research_state.py +291 -0
- witsoc/scripts/result_ladder.py +123 -0
- witsoc/scripts/retrieval_v2.py +352 -0
- witsoc/scripts/route.py +558 -0
- witsoc/scripts/route.sh +5 -0
- witsoc/scripts/run_ledger.py +412 -0
- witsoc/scripts/run_tests.sh +22 -0
- witsoc/scripts/rung_saturation.py +226 -0
- witsoc/scripts/sampler_fleet.py +149 -0
- witsoc/scripts/sat_backend.py +544 -0
- witsoc/scripts/score_lovasz_results.py +99 -0
- witsoc/scripts/select_barrier.py +97 -0
- witsoc/scripts/select_best_product.py +123 -0
- witsoc/scripts/select_lovasz_mutation.py +115 -0
- witsoc/scripts/self_play.py +202 -0
- witsoc/scripts/setup_kernels.sh +44 -0
- witsoc/scripts/sketch_population.py +497 -0
- witsoc/scripts/sketch_tournament.py +501 -0
- witsoc/scripts/smt_synthesizer.py +125 -0
- witsoc/scripts/solve_claim_protocol.py +240 -0
- witsoc/scripts/spawn_workers_from_dag.py +104 -0
- witsoc/scripts/speculative_arena.py +176 -0
- witsoc/scripts/status.sh +88 -0
- witsoc/scripts/status_lattice.py +144 -0
- witsoc/scripts/status_vocab.py +71 -0
- witsoc/scripts/stop_continue.py +87 -0
- witsoc/scripts/strategy_score.py +195 -0
- witsoc/scripts/summarize_lovasz_run.py +98 -0
- witsoc/scripts/synthesize_open_ledgers.py +144 -0
- witsoc/scripts/tactic_ngrams.py +192 -0
- witsoc/scripts/test_analogical_transfer.py +70 -0
- witsoc/scripts/test_apex.py +173 -0
- witsoc/scripts/test_auto_discharge.py +86 -0
- witsoc/scripts/test_autonomous_campaign.py +91 -0
- witsoc/scripts/test_barrier_fixes.py +103 -0
- witsoc/scripts/test_blueprint_campaign.py +141 -0
- witsoc/scripts/test_bus_apply_replies.py +217 -0
- witsoc/scripts/test_compounding_reach.py +73 -0
- witsoc/scripts/test_concept_generator.py +98 -0
- witsoc/scripts/test_conjecture_mining_arm.py +60 -0
- witsoc/scripts/test_conjecture_to_lemma_pipeline.py +119 -0
- witsoc/scripts/test_construction_search.py +69 -0
- witsoc/scripts/test_controller_and_receipts.py +327 -0
- witsoc/scripts/test_curriculum_portfolio.py +73 -0
- witsoc/scripts/test_decide_options_quality.py +152 -0
- witsoc/scripts/test_decision_ledger.py +163 -0
- witsoc/scripts/test_decompose.py +56 -0
- witsoc/scripts/test_definition_synthesis.py +117 -0
- witsoc/scripts/test_discovery.py +141 -0
- witsoc/scripts/test_discovery_ledger.py +118 -0
- witsoc/scripts/test_dispatch_split_skeptic.py +151 -0
- witsoc/scripts/test_doctrine_invariants.py +99 -0
- witsoc/scripts/test_domain_barrier_lemmas.py +144 -0
- witsoc/scripts/test_domain_inference.py +81 -0
- witsoc/scripts/test_empirical_miner_depth.py +111 -0
- witsoc/scripts/test_engine_dispatch.py +95 -0
- witsoc/scripts/test_env_blocker.py +163 -0
- witsoc/scripts/test_error_guided_repair.py +113 -0
- witsoc/scripts/test_eval_trust.py +41 -0
- witsoc/scripts/test_explorer_packet_reduction.py +69 -0
- witsoc/scripts/test_faithfulness_gate.py +69 -0
- witsoc/scripts/test_fixtures.py +69 -0
- witsoc/scripts/test_flywheel_wiring.py +113 -0
- witsoc/scripts/test_formula_synthesis.py +70 -0
- witsoc/scripts/test_gap_feedback.py +147 -0
- witsoc/scripts/test_generalization_search.py +68 -0
- witsoc/scripts/test_generator_package.py +119 -0
- witsoc/scripts/test_goal_minimization.py +133 -0
- witsoc/scripts/test_grade_progress.py +145 -0
- witsoc/scripts/test_ideate.py +149 -0
- witsoc/scripts/test_knowledge_store.py +158 -0
- witsoc/scripts/test_lake_env.py +77 -0
- witsoc/scripts/test_lazy_cli.py +66 -0
- witsoc/scripts/test_lemma_repair.py +109 -0
- witsoc/scripts/test_literature_atlas.py +100 -0
- witsoc/scripts/test_literature_bootstrap.py +104 -0
- witsoc/scripts/test_literature_engine.py +205 -0
- witsoc/scripts/test_lovasz_algorithms.py +149 -0
- witsoc/scripts/test_lovasz_barrier_attack.py +116 -0
- witsoc/scripts/test_lovasz_drastic_gates.py +105 -0
- witsoc/scripts/test_lovasz_prover_dispatch.py +97 -0
- witsoc/scripts/test_lovasz_top_tier.py +76 -0
- witsoc/scripts/test_mathlib_atlas_wiring.py +118 -0
- witsoc/scripts/test_mcts_lean.py +77 -0
- witsoc/scripts/test_memory_and_driver.py +161 -0
- witsoc/scripts/test_next_action.py +79 -0
- witsoc/scripts/test_olympiad_fast_lane.py +61 -0
- witsoc/scripts/test_omega.py +240 -0
- witsoc/scripts/test_ontology_pivot.py +74 -0
- witsoc/scripts/test_open_frontier.py +123 -0
- witsoc/scripts/test_open_problem_corpus.py +107 -0
- witsoc/scripts/test_open_problem_rigor.py +174 -0
- witsoc/scripts/test_open_rungs_gate.py +73 -0
- witsoc/scripts/test_orchestrator_plan.py +68 -0
- witsoc/scripts/test_p3_constructor.py +125 -0
- witsoc/scripts/test_p4_compounding.py +149 -0
- witsoc/scripts/test_phase01.py +104 -0
- witsoc/scripts/test_phase24.py +69 -0
- witsoc/scripts/test_portfolio.py +84 -0
- witsoc/scripts/test_pose_variants.py +106 -0
- witsoc/scripts/test_premise_retrieval.py +85 -0
- witsoc/scripts/test_premise_retrieval_packet.py +63 -0
- witsoc/scripts/test_proof_autopsy.py +117 -0
- witsoc/scripts/test_proof_search_induction.py +97 -0
- witsoc/scripts/test_prover.py +75 -0
- witsoc/scripts/test_reach_unlock_lemma_premise.py +102 -0
- witsoc/scripts/test_reduction_ledger.py +182 -0
- witsoc/scripts/test_reduction_phase1.py +149 -0
- witsoc/scripts/test_refute_deterministic.py +61 -0
- witsoc/scripts/test_request_bus.py +190 -0
- witsoc/scripts/test_research_campaign.py +159 -0
- witsoc/scripts/test_research_state.py +105 -0
- witsoc/scripts/test_retrieval_and_pool.py +185 -0
- witsoc/scripts/test_route.py +181 -0
- witsoc/scripts/test_run_ledger.py +195 -0
- witsoc/scripts/test_sampler_fleet.py +178 -0
- witsoc/scripts/test_sat_backend.py +182 -0
- witsoc/scripts/test_search_frontier.py +167 -0
- witsoc/scripts/test_seed_lemmas_bus.py +152 -0
- witsoc/scripts/test_skeptic_bus.py +123 -0
- witsoc/scripts/test_sketch_tournament.py +261 -0
- witsoc/scripts/test_solve_claim.py +215 -0
- witsoc/scripts/test_speculative_arena.py +86 -0
- witsoc/scripts/test_strategy_algorithms.py +163 -0
- witsoc/scripts/test_structural_induction.py +65 -0
- witsoc/scripts/test_theorem_extract.py +146 -0
- witsoc/scripts/test_theory_and_nexus.py +168 -0
- witsoc/scripts/test_validate_generator_handoff.py +89 -0
- witsoc/scripts/test_validate_premises.py +50 -0
- witsoc/scripts/test_value_function.py +95 -0
- witsoc/scripts/test_w3_w4.py +107 -0
- witsoc/scripts/test_wit_to_lean_obligation.py +83 -0
- witsoc/scripts/theorem_atlas.py +388 -0
- witsoc/scripts/toolchain_check.py +93 -0
- witsoc/scripts/trace_harvester.py +200 -0
- witsoc/scripts/validate_explorer_review.py +183 -0
- witsoc/scripts/validate_generator_handoff.py +113 -0
- witsoc/scripts/validate_handoff.py +728 -0
- witsoc/scripts/validate_lean_receipt.py +141 -0
- witsoc/scripts/validate_lovasz_phase.py +56 -0
- witsoc/scripts/validate_lovasz_run.py +184 -0
- witsoc/scripts/validate_open_problem_run.py +292 -0
- witsoc/scripts/validate_premises.py +84 -0
- witsoc/scripts/validate_proof_dag_integrity.py +108 -0
- witsoc/scripts/validate_prover_result.py +159 -0
- witsoc/scripts/validate_route_state.py +95 -0
- witsoc/scripts/validate_spawn_packet.py +99 -0
- witsoc/scripts/value_function.py +191 -0
- witsoc/scripts/verify.sh +51 -0
- witsoc/scripts/wit_to_lean_obligation.py +266 -0
- witsoc/scripts/witsoc.py +20 -0
- witsoc/scripts/witsoc_controller.py +304 -0
- witsoc/scripts/witsoc_narrate.py +606 -0
- witsoc/scripts/witsoc_ui.py +156 -0
- witsoc/witsoc-explorer/SKILL.md +769 -0
- witsoc/witsoc-explorer/references/examples/composite_block.wit +25 -0
- witsoc/witsoc-explorer/references/examples/grover_constant.wit +66 -0
- witsoc/witsoc-explorer/references/examples/sat_reduction.wit +39 -0
- witsoc/witsoc-explorer/references/open_problems.md +186 -0
- witsoc/witsoc-generator/SKILL.md +761 -0
- witsoc/witsoc-generator/references/examples/compactness_disjoint_union_reduction.wit +24 -0
- witsoc/witsoc-generator/references/examples/composite_block.wit +25 -0
- witsoc/witsoc-generator/references/examples/finite_chi_bounding_compactness_template.wit +25 -0
- witsoc/witsoc-generator/references/examples/grover_constant.wit +66 -0
- witsoc/witsoc-generator/references/examples/sat_reduction.wit +39 -0
- witsoc/witsoc-generator/scripts/_common.sh +152 -0
- witsoc/witsoc-generator/scripts/audit.sh +66 -0
- witsoc/witsoc-generator/scripts/check.sh +38 -0
- witsoc/witsoc-generator/scripts/context.sh +77 -0
- witsoc/witsoc-generator/scripts/cycle.sh +90 -0
- witsoc/witsoc-generator/scripts/init.sh +96 -0
- witsoc/witsoc-generator/scripts/receipt.sh +88 -0
- witsoc/witsoc-generator/scripts/status.sh +88 -0
- witsoc/witsoc-generator/scripts/verify.sh +51 -0
- witsoc/witsoc-research-lovasz/SKILL.md +548 -0
- witsoc/witsoc-research-lovasz/agents/openai.yaml +4 -0
- witsoc/witsoc-research-lovasz/references/algorithmic_research.md +114 -0
- witsoc/witsoc-research-lovasz/references/barrier_taxonomy.md +86 -0
- witsoc/witsoc-research-lovasz/references/claim_demotion.md +49 -0
- witsoc/witsoc-research-lovasz/references/computation_backends.md +33 -0
- witsoc/witsoc-research-lovasz/references/conjecture_mining.md +59 -0
- witsoc/witsoc-research-lovasz/references/conjecture_to_lemma_pipeline.md +37 -0
- witsoc/witsoc-research-lovasz/references/counterexample_certificate.md +51 -0
- witsoc/witsoc-research-lovasz/references/counterexample_search_library.md +64 -0
- witsoc/witsoc-research-lovasz/references/cross_run_memory.md +51 -0
- witsoc/witsoc-research-lovasz/references/disproof_first_protocol.md +36 -0
- witsoc/witsoc-research-lovasz/references/domain_additive_combinatorics.md +46 -0
- witsoc/witsoc-research-lovasz/references/domain_extremal_graph_theory.md +122 -0
- witsoc/witsoc-research-lovasz/references/domain_multiplicative_number_theory.md +50 -0
- witsoc/witsoc-research-lovasz/references/domain_playbooks.md +35 -0
- witsoc/witsoc-research-lovasz/references/domain_ramsey_theory.md +48 -0
- witsoc/witsoc-research-lovasz/references/erdos_level_playbook.md +122 -0
- witsoc/witsoc-research-lovasz/references/experiment_design.md +67 -0
- witsoc/witsoc-research-lovasz/references/full_proof_campaign.md +56 -0
- witsoc/witsoc-research-lovasz/references/full_proof_escalation.md +44 -0
- witsoc/witsoc-research-lovasz/references/historical_benchmark_suite.md +68 -0
- witsoc/witsoc-research-lovasz/references/lean_mathlib_integration.md +36 -0
- witsoc/witsoc-research-lovasz/references/literature_triage.md +38 -0
- witsoc/witsoc-research-lovasz/references/problem_selection.md +64 -0
- witsoc/witsoc-research-lovasz/references/proof_gap_ledger.md +43 -0
- witsoc/witsoc-research-lovasz/references/proof_strategy_agents.md +58 -0
- witsoc/witsoc-research-lovasz/references/research_protocol.md +374 -0
- witsoc/witsoc-research-lovasz/references/skeptic_pass.md +42 -0
- witsoc/witsoc-research-lovasz/references/soc_memory.md +119 -0
- witsoc/witsoc-research-lovasz/references/theorem_retrieval_engine.md +42 -0
- witsoc/witsoc-research-lovasz/scripts/experiments/finite_model_search.py +110 -0
- witsoc/witsoc-research-lovasz/scripts/experiments/graph_search.py +73 -0
- witsoc/witsoc-research-lovasz/scripts/experiments/number_theory_search.py +87 -0
- witsoc-0.1.0.dist-info/METADATA +114 -0
- witsoc-0.1.0.dist-info/RECORD +383 -0
- witsoc-0.1.0.dist-info/WHEEL +4 -0
- 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
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.
|