close issue 0081: tables promoted to registry + fn doctor cpp-apps BeginTable check

- docs/TQL.md: añadidas secciones joins, views, main_source, 24 viz tokens completos
  (extraidos de tql_helpers.cpp), color_rules, fn.* builtins completos (20 funciones),
  funciones bloqueadas del sandbox, tabla de estado de implementacion actualizada.
  Nota al pie referencia los 129 checks roundtrip (41 emit + 88 apply).

- functions/infra/audit_cpp_apps.go: añadida AuditCppTableMigration() que escanea
  .cpp de cada app imgui buscando ImGui::BeginTable; status CANDIDATE/MIXED/clean
  segun si usa data_table_cpp_viz en uses_functions.

- cmd/fn/doctor.go: fn doctor cpp-apps ahora incluye seccion BeginTable migration
  con tabwriter CANDIDATE/MIXED; --json produce {conformance, table_migration}.
  doctorAll incluye cpp_table_migration en el mapa JSON.

- .claude/rules/fn_doctor.md: tabla de subcomandos y acciones complementarias
  actualizadas con el nuevo check.

- dev/issues/0081 movido a completed/ con status done y notas de deuda documentadas.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-15 14:49:56 +02:00
parent fad7b2fccc
commit acecbbc821
5 changed files with 470 additions and 26 deletions
@@ -1,16 +1,22 @@
---
id: 0081
title: tables playground — promote a registry + migrar apps C++ (fase 12)
status: partial
status: done
priority: high
created: 2026-05-12
updated: 2026-05-13
updated: 2026-05-15
notes: |
0081-A DONE: 20 types extraidos a cpp/functions/core/data_table_types.h con .md por type
(17 core + 3 viz). Playground includes via "core/data_table_types.h", no duplicacion.
603 tests pass, e2e linux+windows OK.
0081-B..L PENDING: extraer functions (compute_stage, tql_emit/apply, lua_engine, tql_to_sql,
join_tables, viz_render, data_table) + fn_table_viz lib + migrar 5 apps.
0081-B..L DONE (2026-05-15): 10 funciones registry (8 core + 2 viz), 1 lib fn_table_viz,
3 apps migradas (chart_demo no aplica, graph_explorer parcial 1/9, registry_dashboard parcial 8/12),
fn doctor cpp-apps check anadido (BeginTable inline detection: CANDIDATE/MIXED),
docs/TQL.md actualizado con joins, views, main_source, 24 viz tokens, color_rules,
derived columns, fn.* sandbox completo (20 builtins), funciones bloqueadas.
Deuda: sqlite_api + deploy_server NO migrados (Go apps, requieren TS table system aparte);
graph_explorer + registry_dashboard + otras apps C++ marcadas CANDIDATE por fn doctor
(migrar en waves futuras con rama TBD dedicada por app).
related_components: [cpp/apps/primitives_gallery/playground/tables, cpp/functions, fn_framework]
---