From 4f2556413264708c0287d345bf70da2c98351bd1 Mon Sep 17 00:00:00 2001 From: Egutierrez Date: Wed, 29 Apr 2026 21:08:47 +0200 Subject: [PATCH] feat(projects): osint_graph project + graph_explorer sub-repo bootstrap MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cierra 0049a. Estructura local en projects/osint_graph/ (gitignored): - project.md con frontmatter (name, description, tags). - vaults/vault.yaml + symlink osint_data → ~/vaults/osint_graph/{raw, processed,exports}. - apps/graph_explorer/ inicializado como sub-repo Gitea (dataforge/graph_explorer, branch master) con commit vacio. Indexado verificado: 4 projects, 2 vaults; fn show osint_graph OK. --- dev/issues/README.md | 2 +- .../completed/0049a-osint-graph-setup.md | 100 ++++++++++++++++++ 2 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 dev/issues/completed/0049a-osint-graph-setup.md diff --git a/dev/issues/README.md b/dev/issues/README.md index 01c771c4..96296180 100644 --- a/dev/issues/README.md +++ b/dev/issues/README.md @@ -55,7 +55,7 @@ | [0047](completed/0047-cpp-tests-foundation.md) | C++ tests foundation (Catch2 + top-20 primitivos) | completado | alta | feature | 0048 | | [0048](completed/0048-cpp-visual-tests-ci-gate.md) | Visual tests via primitives_gallery + CI gate tested:true | completado | media | feature | — | | [0049](0049-osint-graph-viewer.md) | OSINT graph viewer + GPU graph rendering system (multi-issue) | pendiente | alta | feature | — | -| [0049a](0049a-osint-graph-setup.md) | Setup proyecto osint_graph + sub-repo graph_explorer | pendiente | alta | infra | parte de 0049 | +| [0049a](completed/0049a-osint-graph-setup.md) | Setup proyecto osint_graph + sub-repo graph_explorer | completado | alta | infra | parte de 0049 | | [0049b](0049b-cpp-bump-gl-43.md) | Bump OpenGL 3.3 → 4.3 core en cpp/framework | pendiente | alta | infra | parte de 0049 | | [0049c](0049c-graph-renderer-tier1.md) | graph_renderer Tier 1: RGBA8, orphan, frustum cull, auto-pause | pendiente | alta | perf | parte de 0049 | | [0049d](0049d-graph-edges-vertex-pulling.md) | Aristas via vertex pulling con TBO | pendiente | alta | perf | parte de 0049 | diff --git a/dev/issues/completed/0049a-osint-graph-setup.md b/dev/issues/completed/0049a-osint-graph-setup.md new file mode 100644 index 00000000..1c3cd823 --- /dev/null +++ b/dev/issues/completed/0049a-osint-graph-setup.md @@ -0,0 +1,100 @@ +# 0049a — Setup proyecto `osint_graph` + sub-repo `graph_explorer` + +## Metadata + +| Campo | Valor | +|-------|-------| +| **ID** | 0049a | +| **Estado** | pendiente | +| **Prioridad** | alta | +| **Tipo** | infraestructura — parte de [#0049](0049-osint-graph-viewer.md) | + +## Dependencias + +**Bloqueada por:** ninguna. +**Desbloquea:** todos los demas sub-issues de 0049 (la estructura del proyecto debe existir antes). + +--- + +## Objetivo + +Dejar la infraestructura del proyecto `osint_graph` lista: estructura de directorios, `project.md`, vault con symlink, sub-repo Gitea vacio para `graph_explorer`, e indexado en `registry.db`. + +## Contexto + +Sigue las reglas `projects.md` (estructura) y `cpp_apps.md` (sub-repo + ubicacion). El analisis `analysis/ontology_graph` ya existente sera la fuente de datos de pruebas — pero NO se mueve dentro del proyecto en este sub-issue (ortogonal). + +## Arquitectura + +``` +projects/osint_graph/ # NEW +├── project.md # NEW (ver template docs/templates/project.md) +├── apps/ +│ └── graph_explorer/ # NEW dir + .git apuntando a dataforge/graph_explorer +│ └── (vacio — el contenido se anade en 0049k) +├── analysis/ # vacio inicial +└── vaults/ + ├── vault.yaml # NEW + └── osint_data -> ~/vaults/osint_graph/ # symlink + +~/vaults/osint_graph/{raw,processed,exports}/ # NEW dirs reales (fuera del repo) + +dataforge/graph_explorer (en Gitea) # NEW repo vacio, branch master +``` + +## Tareas + +### Fase 1 — Estructura local + +- [ ] **1.1** Crear `projects/osint_graph/{apps,analysis,vaults}/`. +- [ ] **1.2** Crear `projects/osint_graph/project.md` con frontmatter: + ```yaml + --- + name: osint_graph + description: "Visualizacion + recoleccion de datos OSINT con grafos ontologicos. Visor agnostico GPU-accelerated capaz de consumir operations.db de cualquier app del registry." + tags: [osint, graph, visualization, ontology, gpu] + repo_url: "" + --- + ``` +- [ ] **1.3** Crear `~/vaults/osint_graph/{raw,processed,exports}/` y symlink en `projects/osint_graph/vaults/osint_data`. +- [ ] **1.4** Crear `projects/osint_graph/vaults/vault.yaml`: + ```yaml + vaults: + - name: osint_data + description: "Datos OSINT crudos + procesados + exports para graph_explorer" + path: "/home/lucas/vaults/osint_graph" + tags: [osint, graphs] + ``` + +### Fase 2 — Sub-repo Gitea + +- [ ] **2.1** Crear repo Gitea `dataforge/graph_explorer` (vacio, branch `master`). Usar `gitea_create_repo_*` o el flujo de `/full-git-push`. +- [ ] **2.2** En `projects/osint_graph/apps/graph_explorer/`: `git init -b master` + `git remote add origin ` + commit vacio inicial + push. +- [ ] **2.3** Anotar `repo_url` en el futuro `app.md` (creado en 0049k) y, si conviene, en el `project.md` actual. + +### Fase 3 — Indexado + +- [ ] **3.1** `./fn index` desde la raiz. +- [ ] **3.2** Verificar: + ```sql + SELECT id, description FROM projects WHERE id='osint_graph'; + SELECT id, name, path FROM vaults WHERE project_id='osint_graph'; + ``` + +### Fase 4 — Cleanup + +- [ ] Push del repo principal a master con commit `feat(projects): osint_graph project + graph_explorer sub-repo bootstrap`. +- [ ] Verificar con `fn show osint_graph`. + +## Criterio de done + +- [ ] `fn show osint_graph` muestra el proyecto con vault correctamente indexado. +- [ ] `projects/osint_graph/apps/graph_explorer/.git` existe y `git remote -v` apunta a `dataforge/graph_explorer`. +- [ ] El symlink de vault funciona (`ls projects/osint_graph/vaults/osint_data/`). + +## Riesgos + +| Riesgo | Mitigacion | +|---|---| +| Repo Gitea ya existe | Reusar; `git remote set-url origin` | +| Vault path absoluto rompe en otros PCs | Documentar en project.md; cada PC monta `~/vaults/osint_graph/` |