Symbolic_Reasoning_Subsystem - ric-massey/orrin_v3 GitHub Wiki
Symbolic Reasoning Subsystem
brain/symbolic/ is the LLM-free reasoning core: world/causal/knowledge models plus a full rule
lifecycle. Everything here runs in symbolic-only mode.
Module map
Reasoning and models
inference.py— description-logic-style inheritance and queries over the world model.causal_graph.py— Pearl-style causal edges, structural updates, and intervention reasoning. The causal graph is a self-model: frontier goals derived from it point inward (search Orrin's own code and state), not at generic web research.prediction_engine.py— predictive-processing layer; prediction errors feed control signals.concept_formation.py/analogy_engine.py— forms new concepts, draws analogies across domains.reasoning_router.py— routes a question to the engine that can answer it.
The rule lifecycle
rule_engine.py— evaluates rules each cycle; firings are logged.rule_synthesis.py— proposes new rules from observed regularities.rule_abstraction.py/rule_compressor.py— generalizes and compresses the rule base.rule_verifier.py— validates rules before they take effect.rule_forgetting.py— decays rules that stop earning their keep.meta_rules.py— rules about rules (seeded frombrain/data/meta_rules.json).crystallization.py— hardens repeatedly successful reasoning into reusable skills.
Autonomy and measurement
autonomous_experiment.py— designs and runs experiments to test its own hypotheses.intrinsic_motivation.py/progress_tracker.py/pattern_scorer.py— learning-progress signals that make reasoning self-directed.ground_truth.py/benchmark.py— checks conclusions against known facts; scores reasoning.self_improvement.py— turns recurring reasoning failures into improvement goals.llm_gate.py— the one place symbolic code may consult the LLM, subject to the global tool-only gate (see LLM Integration).
Production is visible
Symbolic productions — synthesized principles, crystallized skills, resolved experiments,
established causal edges — are recorded as symbolic_artifact effects on the effect ledger via
brain/symbolic/symbolic_effects.py, so symbolic work earns production reward the same way file
outputs do (see Production and the Effect Ledger).
Persistence
World and causal models persist as JSON under brain/data/ and survive restarts; rule firings are
logged to rule_firings.jsonl (capped).