Files
egutierrez 4c49c1dac2 chore: auto-commit (3 archivos)
- app.md
- appicon.ico
- data_factory.db-shm

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 00:31:31 +02:00

2.9 KiB

name, lang, domain, version, description, tags, uses_functions, uses_types, uses_modules, framework, entry_point, dir_path, repo_url, icon, e2e_checks
name lang domain version description tags uses_functions uses_types uses_modules framework entry_point dir_path repo_url icon e2e_checks
data_factory cpp tools 0.1.0 Factorio-style data pipeline factory: extractors, transformers, databases, sinks. Live updates via WS pubsub.
imgui
dashboard
data-pipeline
factory
http
websocket
empty_state_cpp_core
badge_cpp_core
data_table_cpp
imgui main.cpp apps/data_factory https://gitea.organic-machine.com/dataforge/data_factory
phosphor accent
factory #f97316
id cmd timeout_s severity
build_cmake cmake --build cpp/build -j --target data_factory 300 critical
id cmd timeout_s severity
binary_exists test -x cpp/build/linux/apps/data_factory/data_factory || test -x cpp/build/apps/data_factory/data_factory 5 critical
id cmd timeout_s expect_stdout_contains severity
self_test (cpp/build/linux/apps/data_factory/data_factory --self-test 2>&1 || cpp/build/apps/data_factory/data_factory --self-test 2>&1) | head -20 10 self-test warning
id cmd expect_stdout_contains severity
cpp_apps_conformance ./fn doctor cpp-apps 2>&1 | grep -A1 data_factory || echo 'no issues' no issues critical

data_factory

Factorio-style data pipeline factory: extractors, transformers, databases, sinks. Live updates via WS pubsub.

Build

cd cpp && cmake --build build --target data_factory -j

Run

./cpp/build/data_factory

Paneles

Panel Que muestra
Map Arbol plano agrupado por kind (extractor/transformer/database/sink/validator). Placeholder de futuro grafo.
Extractors Tabla kind=extractor: Name / Function / Schedule / Last Run / Status / Rows-KB.
Transformers Tabla kind=transformer: Name / Function / Last Run / Status / Rows-KB.
Databases Tabla de DBs registradas: Label / Kind / URI / Tables / Size / Last Seen.
Sinks Tabla kind=sink: Name / Function / Last Run / Status / Rows-KB.
Health KPIs: runs_24h / success_rate / failed_24h+pending / throughput rows-KB 24h.
Node Detail Panel lateral con node seleccionado: metadata + FnInfo card + ultimas 10 runs.
Live (WS) Diag de conexion WS al /api/ws/datafactory de sqlite_api.

Backend

Apunta a http://127.0.0.1:8484 (sqlite_api). Endpoints consumidos:

  • GET /api/datafactory/nodes?kind=...
  • GET /api/datafactory/runs?node_id=...&limit=N
  • GET /api/datafactory/databases
  • GET /api/functions/{id} (registry metadata para FnInfo)
  • GET /api/ws/datafactory (snapshot + delta runs cada 250ms)

Capability growth log

Una linea por bump SemVer. Bump-type segun .claude/commands/version.md:

  • major: breaking observable (CLI args, schema BBDD propia, formato wire).

  • minor: feature aditiva (nuevo panel, endpoint, opcion).

  • patch: bugfix sin cambio observable.

  • v0.1.0 (2026-05-18) — baseline.