fad4006f60
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
117 lines
4.0 KiB
Markdown
117 lines
4.0 KiB
Markdown
---
|
|
id: "0049a"
|
|
title: "Setup proyecto `osint_graph` + sub-repo `graph_explorer`"
|
|
status: completado
|
|
type: feature
|
|
domain:
|
|
- osint
|
|
scope: multi-app
|
|
priority: alta
|
|
depends: []
|
|
blocks: []
|
|
related: []
|
|
created: 2026-05-17
|
|
updated: 2026-05-17
|
|
tags: []
|
|
---
|
|
# 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 <url>` + 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/` |
|