f5f14ccd53
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4.5 KiB
4.5 KiB
2026-05-04
01:26 — Auditoria FP de apps C++, estandarizacion de mds y extension del indexer a <lang>/apps/
Sesion para verificar que las 5 apps C++ del registry usan programacion funcional limpia y que las funciones que enlazan estan correctamente registradas para que apps nuevas puedan reusar todo. Tres hallazgos: 3 .cpp huerfanos sin .md (rompen reuso), drift entre CMakeLists.txt y app.md en las 2 apps con app.md, y 2 apps sin app.md (chart_demo, shaders_lab).
- Hecho: auditoria FP de los 5 mains C++. Resultado:
chart_demo,text_editor_smoke,registry_dashboardlimpios;shaders_labborderline (16 globales, justificado por retained-mode);graph_explorerfuera de convencion (2471 lineas, 24 globales, 23 helpers enmain.cpp— split parcial peromainsigue siendo saco). Helpers candidatos a extraer al registry documentados pero no extraidos en esta sesion. - Hecho: 3
.mdnuevos para TUs huerfanos del registry —cpp/functions/viz/{graph_labels_select,graph_viewport_selection,graph_types}.md. Todospurity: pure.graph_labels.mdygraph_viewport.mdrecortan susignaturey declaran las nuevas entradas enuses_functions. - Hecho:
cpp/apps/chart_demo/app.mdcreado (chart_demo_cpp_viz, 4 deps). - Hecho:
cpp/apps/shaders_lab/app.mdcreado (shaders_lab_cpp_gfx, 19 deps). Antes habia entrada legacy en BD sin.mden disco. - Hecho:
projects/osint_graph/apps/graph_explorer/app.mduses_functionssincronizado conCMakeLists.txt. De 15 a 23 deps. Añadidas:graph_viewport_selection,graph_labels_select,graph_types,graph_spatial_hash,button,icon_button,badge,empty_state. - Hecho:
projects/fn_monitoring/apps/registry_dashboard/app.mduses_functionssincronizado. De 9 a 21 deps. Removidofps_overlay(vive enfn_framework). - Bug + fix:
./fn indexno recogiachart_demonishaders_labaunque tenianapp.mdcorrecto. Raiz:registry/indexer.gosolo escaneabaapps/*/app.mdyprojects/*/apps/*/app.md, NO<lang>/apps/. Fix: añadir loop sobre<lang>/apps/*/app.mdreusando el mismoentriesdeos.ReadDir(root)que ya usa para<lang>/functions/y<lang>/types/. Diff ~12 lineas../fn indexpasa de 15 a 17 apps. - Bug + fix:
chart_demo/app.mddeclaraba inicialmentelogger_cpp_coreenuses_functionsaunqueCMakeLists.txtno lo enlaza directo. Raiz:logger.cppesta bundled enfn_frameworkstatic lib (junto contokens,app_menubar,fps_overlay, etc.). Fix: removido delapp.mdcon comentario explicito. Convencion documentada en.claude/rules/uses_functions.md. - Decision: ADR 0003 (
docs/adr/0003-orphan-tu-as-separate-function-entry.md) — TUs adicionales de un parent function se registran como entrada propia con su.md. El parent declara la nueva entrada enuses_functions. Alternativas descartadas:file_pathmulti-path (rompe convencion),notes:con instruccion (frágil), macro con flags (acopla tests a ImGui). - Hecho:
.claude/rules/uses_functions.mdampliada — lista explicita de funciones bundled enfn_framework(no se declaran en apps), comportamiento de TUs split (ADR 0003), apps como leaves del grafo. - Hecho:
.claude/CLAUDE.mdraiz añadecpp/apps/a la seccion Estructura como ubicacion valida tras la extension del indexer. - Hecho:
CHANGELOG.mdentrada 2026-05-04 con 3 nuevas funciones, 2 apps registradas, 2 apps sincronizadas, indexer extendido, ADR 0003. - Hecho: build
cppverde para los 4 targets (chart_demo,shaders_lab,registry_dashboard,graph_explorer)../fn indexreporta 952 functions / 17 apps / 8 analyses. - Hecho: cross-check final
CMakeLists.txt↔app.mdcon script Python — los 4 apps a 0 missing / 0 extra. - Pendiente: extraer helpers de
graph_explorer/main.cppal registry (algoritmos de layoutlayout_no_collision,find_collision_free_slot,place_orphans_near_neighbors; persistenciapanel_state_*; utilitiesdetect_wsl_distro,resolve_registry_root,json_escape_str). - Pendiente:
primitives_galleryno tieneapp.md. Decidir si registrarla (showcase visual estable) o dejarla como scaffolding/demo (etiqueta del ruleuses_functions.md). - Pendiente: commit + push de los cambios (binary
fnrebuilt no commiteado, .md yregistry/indexer.gomodificados).
Refs: ADR 0003, funciones graph_labels_select_cpp_viz, graph_viewport_selection_cpp_viz, graph_types_cpp_viz, apps chart_demo_cpp_viz, shaders_lab_cpp_gfx. Cambio en indexer: registry/indexer.go lineas ~87-122.