Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trainable logo

Trainable

A local-first training factory for embodied AI: build worlds, validate physical assets,
evaluate robot behavior, produce training evidence, and operate the loop from one control plane.

Python 3.11 React 19 MuJoCo 3.11 OpenTelemetry License MIT

What Trainable does

Trainable joins the physical-AI workflow into a single desktop-ready system:

  • Registers robot embodiments and validates their kinematics, cameras, actuators, and simulation runtime.
  • Builds evidence-backed rigid and articulated assets with explicit physical-validation gates.
  • Authors persistent 3D worlds and resolves natural-language tasks against objects in the active scene.
  • Runs deterministic MuJoCo oracles and learned-policy evaluations with measurable predicates and durable evidence.
  • Exports successful demonstrations as versioned LeRobot datasets and manages bounded policy-training candidates.
  • Exposes approval-aware agent tools without silently replacing a failed model call with fabricated behavior.
  • Correlates browser, API, agent, model, tool, and simulation activity in self-hosted SigNoZ.
  • Projects robots, skills, assets, worlds, evaluations, failures, and training runs into Port.

The deterministic oracle is a privileged validation and demonstration controller. It is not presented as learned-policy performance. Learned-policy runs require an actual configured checkpoint.

System flow

flowchart LR
    UI[Mission Control] --> API[FastAPI control plane]
    API --> AGENT[Governed agent tools]
    AGENT --> WORLD[World and asset compiler]
    WORLD --> SIM[MuJoCo / Isaac adapter]
    SIM --> EVAL[Evaluation evidence]
    EVAL --> DATA[LeRobot datasets]
    DATA --> TRAIN[Policy candidates]
    API --> SIGNOZ[SigNoZ telemetry]
    API --> PORT[Port context lake]
Loading

Main surfaces

Surface Purpose
Mission Control Models, robots, and approval-aware agent operations in one workspace
Worlds Persistent scene authoring, physical asset placement, and live simulation
Assets & Evidence Provenance, geometry, collision, scale, articulation, and validation records
Training Demonstration datasets, training preflight, candidate execution, and promotion gates
Observability In-product telemetry views plus the embedded self-hosted SigNoZ experience
Port Governed workflows and a continuously reconciled operational catalog

Repository layout

backend/          FastAPI, SQLite state, simulation, agents, training, and telemetry
frontend/         React/Vite mission control and Electron desktop packaging
model_services/   Local model gateway contracts and adapters
ops/signoz/       SigNoZ Foundry casting configuration for Docker Compose
docs/             Architecture notes
port.yml          Port service metadata

Prerequisites

  • Windows 11, Linux, or macOS
  • Python 3.11
  • Node.js 22+
  • Docker Engine with Docker Compose v2 and at least 4 GB of memory
  • Optional local model/runtime directories configured in Settings

Default local ports:

Service Address
Trainable UI http://127.0.0.1:3000
Trainable API http://127.0.0.1:8100
SigNoZ UI/API http://127.0.0.1:8010
OTLP gRPC / HTTP 127.0.0.1:4317 / 127.0.0.1:4318
SigNoZ MCP http://127.0.0.1:8001/mcp

Quick start

Clone and configure the repository:

git clone https://github.com/meowshmalloww/Trainable.git
Set-Location Trainable
Copy-Item .env.example .env

py -3.11 -m venv backend\.venv
.\backend\.venv\Scripts\python.exe -m pip install -r backend\requirements-dev.txt

Set-Location frontend
npm.cmd ci
Set-Location ..

Start the API in one PowerShell terminal:

.\backend\.venv\Scripts\python.exe -m uvicorn app.main:app `
  --app-dir backend --host 127.0.0.1 --port 8100

Start the UI in another terminal:

Set-Location frontend
npm.cmd run dev

Open http://127.0.0.1:3000. Check API readiness at http://127.0.0.1:8100/api/health.

Self-hosted SigNoZ

The checked-in Foundry casting installs SigNoZ and its MCP server with Docker Compose. From ops/signoz:

foundryctl cast -f casting.yaml
docker ps
Invoke-RestMethod http://127.0.0.1:8010/api/v1/health
Invoke-RestMethod http://127.0.0.1:8001/livez

Trainable exports browser and backend OpenTelemetry data to the local OTLP receiver. The trace path covers UI requests, FastAPI, agent turns, LLM calls, tool execution, simulation, and persistence. Prompts, credentials, raw tool arguments, and raw tool results are excluded from exported attributes.

To enable SigNoZ query and MCP access, create a service-account key in Settings → Service Accounts and place it in the local SIGNOZ_API_KEY variable. Do not commit .env.

Port integration

Port application publishing and Port MCP authentication are separate:

  • PORT_CLIENT_ID and PORT_CLIENT_SECRET authenticate Trainable's background catalog publisher.
  • Port MCP uses its own OAuth session for AI-driven catalog queries and governed workflow execution.

After application credentials are configured, Trainable's background reconciler detects changed durable records and publishes idempotent merge updates without blocking simulations. It never deletes Port entities.

Invoke-RestMethod http://127.0.0.1:8100/api/integrations/port/status
Invoke-RestMethod -Method Post http://127.0.0.1:8100/api/integrations/port/reconcile

The catalog model includes services, workloads, robots, skills, assets, simulation worlds, scenarios, evaluations, failure events, and training runs. Evaluation entities retain signoz_trace_id when a trace identifier is available.

Verification

Run the automated checks:

Set-Location backend
.\.venv\Scripts\python.exe -m pytest tests -q

Set-Location ..\frontend
npm.cmd run typecheck
npm.cmd run lint
npm.cmd run build

For a release check, also exercise the application in the browser, run a real simulation or governed operation, confirm its durable record, verify telemetry in SigNoZ, and confirm the corresponding Port entity or workflow run.

Documentation

License

Trainable is available under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages