3M-parameter neural pre-reasoning engine for grounding LLMs before they answer.
Project description
Pre-Reasoning
Pre-Reasoning is a Mia Labs structural analysis engine that grounds an LLM before it answers. It uses a 3M-parameter neural perception model plus a bundled tiny derive expert to surface dependencies, derived assumptions, root blockers, unlock order, parallel work, cycles, and conflicts from problem text.
The engine ships with bundled weights and declares its torch dependency -- install and run, no model download needed.
What It Does
Given natural-language problem text, the engine returns:
- ROOT BLOCKERS: what must be resolved first
- UNLOCK SEQUENCE: a dependency-aware resolution order
- PARALLEL WORK: independent items that can proceed now
- CYCLES: circular dependencies that cannot be solved sequentially
- CONFLICTS: competing positions or incompatible entities
- REQUIREMENTS: numeric or threshold requirements
- DERIVED ASSUMPTIONS: transitive dependency assumptions inferred by the tiny derive expert
- BLOCK OUTPUT: direct and derived structural blocks used by the graph reasoner
Install
pip install pre-reasoning
For local development from this repo:
pip install -e .
Python Usage
from pre_reasoning import analyze, pulse
result = analyze("Frontend depends on API. API depends on Auth.")
print(result["trace"])
print(result["derived_assumptions"])
check = pulse(
"Frontend depends on API. API depends on Auth.",
"Fix Auth first, then verify the API before frontend work."
)
print(check["status"])
CLI Usage
pre-reasoning "A depends on B. B depends on C."
pre-reasoning --json "CTO conflicts with senior dev."
pre-reasoning --info
To use a different weights file, set PRE_REASONING_CHECKPOINT=/path/to/weights.safetensors or pass --checkpoint.
Results
Early comparison table, illustrative, n=5 architectural decision problems:
| Comparison | Illustrative result, n=5 |
|---|---|
| 9B + trace vs 32B baseline | 3W 2T 0L |
| 9B + trace vs 120B baseline | 4W 1T 0L |
| 120B + trace vs 120B baseline | 3W 2T 0L |
These are product-research notes, not benchmark claims.
Architecture
User text
-> neural perception (3M params, safetensors)
-> neural findings converted to structural blocks
-> tiny derive expert infers transitive assumptions
-> derived assumptions appended as dependency blocks
-> graph reasoning
-> structural trace
File Map
| Path | Purpose |
|---|---|
pre_reasoning/ |
Installable Python package and CLI entry point |
pre_reasoning/inference.py |
3M-parameter neural perception layer |
pre_reasoning/heuristic.py |
Graph-reasoning core |
pre_reasoning/pre_reasoning_v2_5_2.py |
Default v2.5.4 engine: neural perception + derive expert + graph reasoning |
pre_reasoning/pre_reasoning_v2_5.py |
Legacy v2.5 engine: neural perception + graph reasoning |
pre_reasoning/checkpoints/pre-reasoning-3m-v2.5.safetensors |
Bundled model weights (11MB) |
derive_expert/ |
Tiny derive expert used for transitive-closure enrichment |
derive_expert/weights/thin_expert_d128L3.safetensors |
Bundled derive expert weights (2.5MB) |
examples/ |
Runnable usage examples |
tests/ |
Pytest suite |
skill/SKILL.md |
Agent skill descriptor for model adoption |
hooks/ |
Claude Code before/after hooks for enforced pre-reasoning |
INSTALL.md |
Manual install and hook setup guide |
CLAUDE.md |
Claude Code adoption and grounding-hook guide |
WHY_TRACES_WORK.md |
Literature connection, 9 cited papers |
Weights Policy
The raw training checkpoint is not part of the release. The package bundles pre_reasoning/checkpoints/pre-reasoning-3m-v2.5.safetensors for neural perception and derive_expert/weights/thin_expert_d128L3.safetensors for the tiny derive expert. These are inference artifacts. They ship no optimizer state, LR schedules, step counters, RNG state, training config, or raw checkpoint provenance.
License
MIT License. See LICENSE.
Authors
Luis Lozano and Dr. Shannon, Mia Labs' AI co-researcher, 2026.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pre_reasoning-2.5.4.tar.gz.
File metadata
- Download URL: pre_reasoning-2.5.4.tar.gz
- Upload date:
- Size: 13.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f601e5c3e103f25bb3d16d558d405977d1cb7640cf0ddea514b2d8735f13f8e9
|
|
| MD5 |
984ed99af53b850339e842c1422654dd
|
|
| BLAKE2b-256 |
29a8b1580d57453e1411394d4aa6606cb0b5d7b44095938229a3c34b49d70e09
|
File details
Details for the file pre_reasoning-2.5.4-py3-none-any.whl.
File metadata
- Download URL: pre_reasoning-2.5.4-py3-none-any.whl
- Upload date:
- Size: 13.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e368443b4bbf725bc93affd258275e725a81eb8c7a9b1cd5c36656c0d775a156
|
|
| MD5 |
8b940d6bfafc4dad7cb1ebbfbe581329
|
|
| BLAKE2b-256 |
fb68761f8209265b628f7d6648cf076a041261c0d2c155b2d19b45eadb941644
|