LimitGraph Documentation
Overview
The LimitGraph AGI system exposes a lightweight HTTP API via FastAPI, allowing users to inject reasoning tasks, trigger symbolic processing, inspect learned modules, and visualize the evolving functional reasoning graph.
This API is suitable for:
·Research and experimentation with modular AGI
·Programmatic generation of symbolic tasks
·Integration with benchmarking and analysis tools
This API is suitable for:
·Research and experimentation with modular AGI
·Programmatic generation of symbolic tasks
·Integration with benchmarking and analysis tools
Base URL
http://api.limitgraph.com:8000/docs
Authentication
·Status: Open access (for local/sandbox use)
·For production use, secure endpoints appropriately
·For production use, secure endpoints appropriately
Endpoints
Reasoning Control
POST /add_task
Add a reasoning task:
{
"task_id": "combo-1",
"description": "multiply by 2 then by 5",
"inputs": {"x": 3},
"expected_output": 30
}
"task_id": "combo-1",
"description": "multiply by 2 then by 5",
"inputs": {"x": 3},
"expected_output": 30
}
POST /process
Run reasoning over all pending tasks.
POST /process_and_show_learned
Run processing and return names of newly learned modules.
Task Management
GET /tasks
Returns all current tasks (solved and unsolved).
POST /load_tasks_file
Load tasks from a JSON file inside the server’s data directory:
{
"path": "data/npc_demo.json"
}
{
"path": "data/npc_demo.json"
}
Reasoning Modules
GET /modules
List all known reasoning modules.
GET /history
Show reasoning module creation history (with source and justification).
GET /meta_graph
View the module derivation graph and task coverage.
Graph Visualization
GET /graph_image
Returns a static PNG of the current reasoning graph.
GET /graph_data
Returns the graph structure in JSON format (nodes and edges).
GET /graph — Interactive Reasoning Graph Viewer
Serves an interactive vis.js-based interface to inspect the current state of the reasoning graph.
URL:
http://api.limitgraph.com:8000/graph
What it shows:
·All modules as nodes (e.g., rule_if_enemy_near_eq_True_run)
·Reasoning links as edges (e.g., double → square)
·Learned, induced, and abstracted modules
·Spring-layout visualization for clarity
Best for:
·Visual debugging of reasoning structure
·Demonstrating logic growth over time
·Tracking symbolic chains and module interactions
No input required — just open in browser.
URL:
http://api.limitgraph.com:8000/graph
What it shows:
·All modules as nodes (e.g., rule_if_enemy_near_eq_True_run)
·Reasoning links as edges (e.g., double → square)
·Learned, induced, and abstracted modules
·Spring-layout visualization for clarity
Best for:
·Visual debugging of reasoning structure
·Demonstrating logic growth over time
·Tracking symbolic chains and module interactions
No input required — just open in browser.
Server Status
GET /status
Check if the server is online:
{
"status": "ok",
"version": "LimitGraph AGI v0.1.0"
}
{
"status": "ok",
"version": "LimitGraph AGI v0.1.0"
}
Example Usage (cURL)
# Add a task
curl -X POST http://api.limitgraph.com:8000/add_task \
-H "Content-Type: application/json" \
-d '{
"task_id": "npc-1",
"description": "if enemy_near and health < 30 then run",
"inputs": {"enemy_near": true, "health": 25},
"expected_output": "run"
}'
# Trigger processing
curl -X POST http://api.limitgraph.com:8000/process
# View modules
curl http://api.limitgraph.com:8000/modules
# View meta-graph
curl http://api.limitgraph.com:8000/meta_graph
curl -X POST http://api.limitgraph.com:8000/add_task \
-H "Content-Type: application/json" \
-d '{
"task_id": "npc-1",
"description": "if enemy_near and health < 30 then run",
"inputs": {"enemy_near": true, "health": 25},
"expected_output": "run"
}'
# Trigger processing
curl -X POST http://api.limitgraph.com:8000/process
# View modules
curl http://api.limitgraph.com:8000/modules
# View meta-graph
curl http://api.limitgraph.com:8000/meta_graph
Notes
·Symbolic reasoning is performed via compositional module chains.
·New hypothesis modules can be generated from task I/O examples.
·Conflicts between modules are resolved via meta-reasoning and abstraction.
·New hypothesis modules can be generated from task I/O examples.
·Conflicts between modules are resolved via meta-reasoning and abstraction.