Progressive algorithmization toolchain — from LLM to deterministic code, from proxy to tickets
Project description
algitex
Progressive algorithmization toolchain — from LLM to deterministic code, from proxy to tickets.
The only framework that automates the path from "LLM handles everything" to "most traffic runs deterministically, LLM only for edge cases."
pip install algitex
algitex init ./my-app
algitex go
Why "algitex"?
The name reflects the core cycle: analyze → plan → execute → validate → repeat. Each iteration makes your codebase healthier and your LLM usage cheaper. The progressive algorithmization loop gradually replaces LLM calls with deterministic rules.
Name alternatives considered
| Name | Why it works | Why we picked algitex |
|---|---|---|
| algitex | Core concept: the continuous improvement loop | Clear, memorable, tech-neutral |
| prollama | "progressive" + llama vibes | Ties too much to one model family |
| codefact | Code + factory/fact | Sounds like a trivia app |
| algopact | Algorithm + Propact | Hard to pronounce |
| loopcode | Loop + code | Reverse reads awkward |
| prodev | Progressive + dev | Too generic, SEO nightmare |
Three layers, one command
Layer 1: Code Quality Loop
from algitex import Project
p = Project("./my-app")
p.analyze() # code2llm + vallm + redup → health report
p.plan() # auto-generate tickets from analysis
p.execute() # LLM handles tasks via proxym
p.status() # health + tickets + budget + cost ledger
Layer 2: Progressive Algorithmization
from algitex import Loop
loop = Loop("./my-app")
loop.discover() # Stage 1: collect all LLM traces
loop.extract() # Stage 2: find repeating patterns
loop.generate_rules() # Stage 3: AI writes its own replacement
loop.route() # Stage 4: rules vs LLM by confidence
loop.optimize() # Stage 5: monitor, minimize LLM usage
print(loop.report()) # "42% deterministic, $12.50 saved"
Layer 3: Propact Workflows
from algitex import Workflow
wf = Workflow("./refactor-v1.md")
wf.execute() # runs propact:shell, propact:rest, propact:llm blocks
CLI
# Core loop
algitex init ./my-app # initialize project
algitex analyze # health check
algitex plan --sprints 3 # generate sprint strategy + tickets
algitex go # full pipeline
algitex status # dashboard
# Progressive algorithmization
algitex algo discover # start trace collection
algitex algo extract # find patterns in traces
algitex algo rules # generate deterministic replacements
algitex algo report # show % deterministic vs LLM
# Propact workflows
algitex workflow run fix.md # execute Markdown workflow
algitex workflow validate f.md
# Tickets
algitex ticket add "Fix auth" --priority high
algitex ticket list
algitex ticket board
algitex sync # push to GitHub/Jira
# Quick queries
algitex ask "Explain this race condition" --tier premium
algitex tools # show installed tools
The 5-Stage Progressive Algorithmization
Stage 1: Discovery → LLM handles 100%, collect traces
Stage 2: Extraction → identify hot paths + repeating patterns
Stage 3: Rules → AI generates deterministic replacements
Stage 4: Hybrid → confidence-based: known patterns → rules, unknown → LLM
Stage 5: Optimization → most traffic deterministic, LLM for edge cases only
No existing framework automates this path. DSPy goes LLM→smaller LLM. algitex goes LLM→algorithm.
Propact: Markdown as Workflow
# Fix Authentication Module
Analyze current state:
```propact:shell
code2llm ./src/auth -f toon --json
Ask LLM for a fix plan:
POST http://localhost:4000/v1/chat/completions
{"model": "balanced", "messages": [{"role": "user", "content": "Fix auth"}]}
Validate the result:
vallm batch ./src/auth --recursive
## Planfile-Aware Proxy Headers
Every LLM request through algitex carries context:
X-Planfile-Ref: my-project/current/DLP-0042 X-Workflow-Ref: refactor-v1.md X-Task-Tier: complex X-Inject-Context: true
Proxym logs cost/model/latency **per ticket**. The cost ledger shows exactly what each task costs.
## Installation
```bash
pip install algitex # core
pip install algitex[all] # + all tools
pip install algitex[proxy] # + proxym
pip install algitex[analysis] # + code2llm, vallm, redup
pip install algitex[tickets] # + planfile
pip install algitex[routing] # + llx
Architecture
src/algitex/
├── __init__.py # Project, Loop, Workflow, Config, Pipeline
├── config.py # Unified config (env + YAML)
├── project.py # Main Project class (expanded)
├── cli.py # Typer CLI (all commands)
├── algo/ # Progressive algorithmization
│ ├── __init__.py # Loop, TraceEntry, Pattern, Rule, LoopState
│ └── loop.py # Re-export
├── propact/ # Markdown workflow engine
│ ├── __init__.py # Workflow, WorkflowStep, WorkflowResult
│ └── workflow.py # Re-export
├── tools/
│ ├── __init__.py # Tool discovery
│ ├── proxy.py # proxym wrapper + planfile headers
│ ├── analysis.py # code2llm + vallm + redup
│ └── tickets.py # planfile wrapper + cost ledger
└── workflows/
├── __init__.py # Pipeline (composable steps)
└── pipeline.py # Re-export
How it connects to the ecosystem
┌─────────────────────────────────────────────────────┐
│ algitex │
│ (orchestration layer) │
├─────────────────────────────────────────────────────┤
│ │
│ analyze() plan() execute() algo.discover() │
│ │ │ │ │ │
│ code2llm planfile proxym trace → │
│ vallm tickets llx patterns → │
│ redup strategy models rules → │
│ hybrid routing │
│ │
│ run_workflow("fix.md") │
│ │ │
│ propact:shell → subprocess │
│ propact:rest → httpx │
│ propact:llm → proxym │
│ propact:mcp → MCP tool call │
│ │
└─────────────────────────────────────────────────────┘
Tool Roles
| Tool | What | Install |
|---|---|---|
| proxym | LLM gateway, 10 providers, routing, budget | pip install proxym |
| planfile | Sprint planning, tickets, GitHub/Jira sync | pip install planfile |
| llx | Metric-driven model selection, MCP server | pip install llx |
| code2llm | Static analysis → .toon diagnostics | pip install code2llm |
| vallm | 4-tier code validation | pip install vallm |
| redup | Duplication detection | pip install redup |
License
Licensed under Apache-2.0.
Licensed under Apache-2.0.
Licensed under Apache-2.0.
Apache License 2.0
Author
Tom Sapletta
Tom Sapletta
Tom Sapletta
Created by Tom Sapletta — tom@sapletta.com
Project details
Release history Release notifications | RSS feed
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 algitex-0.1.3.tar.gz.
File metadata
- Download URL: algitex-0.1.3.tar.gz
- Upload date:
- Size: 32.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f538c4aed10fe3d5a246b2ca409fa3aed60cbb51ef5c69f242753e281605078a
|
|
| MD5 |
98ba65d96313df54d2911738b237d3d9
|
|
| BLAKE2b-256 |
e253267a4b258376552b6e00c60d7d15250a3cc9dda3e5fa7558e0c50918f41a
|
File details
Details for the file algitex-0.1.3-py3-none-any.whl.
File metadata
- Download URL: algitex-0.1.3-py3-none-any.whl
- Upload date:
- Size: 30.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4eb15fec653e049cf6c503adc07ecc0e43cf437b8178c6e049129c94c64eddfd
|
|
| MD5 |
eba8253dad4fc185b42c3887be816440
|
|
| BLAKE2b-256 |
8558947ed37d35bf2a9fe57c77eb5116765657ee875b6ace9a9b07701bbc4dca
|