9b48f1593e653513a5b7cef82759300ec4664b2a
A training loop has numbers worth keeping thousands of steps before it has a result. Node code now imports fluksio and calls log_metric/progress, which sends a line back without ending the call; the engine writes those to run_metric in batches from the run's own driver rather than folding them off the event bus, which drops what it cannot keep up with. Two things fall out. Each event resets the worker deadline, so a node's timeout measures silence rather than duration — which is what lets a two-hour training keep a liveness contract instead of racing it. And the worker pool's _running is now keyed by (run, node), so cancelling one config of a sweep kills that training and leaves the rest alone. Fixes a latent framing bug: read_line returned whatever a read had taken, which was fine while a worker only ever sent one line per request and unparseable as soon as it sent several. It now keeps the remainder. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AD8SfVhzXBG2nAfFcVh3iD
Fluksio App
Fluksio has the goal to build a revolutionary system to tackle any sort of automation challenge.
The core of Fluksio: a node-based, test-driven automation software built to scale. This
repo holds the FastAPI backend, the flow engine, and the dashboard SPA. It is served on
app.${DOMAIN} (SPA) and api.${DOMAIN} (API); the marketing site lives in the sibling
index repo.
Layout
backend/ FastAPI + SQLModel + Alembic + Postgres
app/flow/ the flow engine (nodes, pipeline, state backends, controller)
frontend/ React 19 + TanStack Router + Tailwind 4 + shadcn/ui
docker/ compose.yml → compose.dev.yml → compose.local.yml (+ compose.traefik.yml)
scripts/ generate-client.sh, test.sh
Getting started
Normally driven from the workspace root (make init once, then make dev). Standalone:
make install # uv sync + bun install
make dev-utils # db, adminer, proxy, mailcatcher, prestart only
make dev-backend # FastAPI on :8000, hot reload
make dev-frontend # Vite on :5173
make test # pytest + Playwright
make lint # ruff + mypy + biome
make generate-client # regenerate the frontend SDK from the OpenAPI schema
make help lists every target.
Documentation
ROADMAP.md— strategy and feature recordNOTEPAD.md— deferred work and findingsDESIGN.md— points at the workspace root'sDESIGN-GUIDELINES.mddocs/architecture/in the siblingdocsrepo — the requirement sources
Languages
Python
54%
TypeScript
42.6%
CSS
1.9%
HTML
0.5%
JavaScript
0.5%
Other
0.3%