- 00_VISION/MARCO_TEMPORAL.md - Marco conceptual temporal - 01_ARQUITECTURA/aplicaciones/09_APLICACIONES.md - Aplicaciones TZZR - 03_MODELO_DATOS/hst_standards_all.json - Tags HST JSON - 03_MODELO_DATOS/procesos_productivos.md - Procesos productivos - 05_INTEGRACIONES/README_MCP.md - MCP Server README - 05_INTEGRACIONES/SPEC_MCP.md - MCP Especificación técnica - 99_ANEXOS/ANEXO_1_REFERENCIA_TECNICA.md - Referencia técnica
469 lines
16 KiB
Markdown
469 lines
16 KiB
Markdown
# 09_APLICACIONES
|
||
|
||
**Versión:** 10.0
|
||
**Fecha:** 6 Enero 2026
|
||
**Sistema:** TZZR
|
||
|
||
---
|
||
|
||
# Visión General
|
||
|
||
Las aplicaciones son **interfaces especializadas** para interactuar con el sistema TZZR. Cada una resuelve un problema específico y puede integrarse con otras partes del sistema.
|
||
|
||
| App | Propósito | Destino |
|
||
|-----|-----------|---------|
|
||
| **Packet** | Captura de evidencia | Secretaría (Clara) |
|
||
| **Mind Map** | Árboles de milestones y bloques | Feldman (estructuras) |
|
||
| **Mind Flow** | Flujos de trabajo con HST | Producción (Alfred/Jared) |
|
||
| **Mind Link** | Menú de acceso / visualizador | Salida (Usuario) |
|
||
|
||
---
|
||
|
||
# Packet
|
||
|
||
**Tipo:** App Móvil (Flutter)
|
||
**Estado:** APK funcional
|
||
**Destino:** Secretaría (Clara/Margaret)
|
||
|
||
## Propósito
|
||
|
||
Captura de evidencia multimedia con política zero-retention. Todo lo capturado se envía inmediatamente a la Secretaría sin dejar rastro en el dispositivo.
|
||
|
||
## Características
|
||
|
||
| Característica | Descripción |
|
||
|----------------|-------------|
|
||
| Zero-retention | Archivos en RAM, nunca en disco |
|
||
| Hash-first | SHA-256 único por contenedor |
|
||
| Offline-capable | Cola de 20 reintentos en 72h |
|
||
| Multi-destino | DECK, CORP u otros servidores |
|
||
|
||
## Flujo
|
||
|
||
```
|
||
Captura → Etiquetas HST → Enviar → Clara → BCK
|
||
```
|
||
|
||
## Pantallas
|
||
|
||
| Pantalla | Función |
|
||
|----------|---------|
|
||
| Captura | Foto, audio, video, texto, GPS |
|
||
| Etiquetas | Selección de tags HST |
|
||
| Packs | Conjuntos predefinidos |
|
||
| Pendientes | Cola de fallos |
|
||
| Config | Destinos y bibliotecas |
|
||
|
||
## API
|
||
|
||
```http
|
||
POST /ingest
|
||
X-Auth-Key: {h_instancia}
|
||
|
||
{
|
||
"hash": "sha256 del contenedor",
|
||
"titulo": "opcional",
|
||
"etiquetas": ["mrf1", "mrf2"],
|
||
"archivos": [{"nombre", "tipo", "contenido"}]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
# Mind Map
|
||
|
||
**Tipo:** App Web / iPad
|
||
**Estado:** Especificado
|
||
**Destino:** Feldman (estructuras de referencia)
|
||
|
||
## Propósito
|
||
|
||
Crear **árboles de milestones** y **árboles de bloques**, enlazarlos entre ellos. Cada nodo genera un hash único. Las estructuras resultantes sirven como documentación interna para que Feldman reconozca entradas y proponga integraciones.
|
||
|
||
## Problema que Resuelve
|
||
|
||
| Problema | Solución |
|
||
|----------|----------|
|
||
| Vendor lock-in | Formato abierto, exportable |
|
||
| Duplicación de elementos | Elementos únicos por hash |
|
||
| Pérdida de datos | Estructuras separadas de elementos |
|
||
|
||
## Modelo Conceptual
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ ELEMENTOS │
|
||
│ (entidades únicas, cada una con su hash) │
|
||
│ │
|
||
│ [E1: hash-a1b2] [E2: hash-c3d4] [E3: hash-e5f6] │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
│
|
||
│ RELACIONES
|
||
▼
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ ESTRUCTURAS │
|
||
│ │
|
||
│ Árbol A: E1 ──► E2 ──► E3 │
|
||
│ Árbol B: E4 ──► E5 ──► E3 (mismo E3, no duplicado) │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
## Identificación por Hash
|
||
|
||
Cada elemento tiene un **content hash** (SHA-256) calculado sobre su contenido:
|
||
|
||
```python
|
||
def calculate_hash(elemento):
|
||
content = {
|
||
'nombre': elemento['nombre'].strip().lower(),
|
||
'tipo': elemento.get('tipo', 'nodo'),
|
||
}
|
||
content_string = json.dumps(content, sort_keys=True)
|
||
return hashlib.sha256(content_string.encode()).hexdigest()
|
||
```
|
||
|
||
## Estados
|
||
|
||
| Estado | Descripción |
|
||
|--------|-------------|
|
||
| **Borrador** | Editable, puede ser solo local |
|
||
| **Consolidado** | Inmutable, sincronizado |
|
||
|
||
## Tipos de Árbol
|
||
|
||
### Árbol de Milestones (MST)
|
||
|
||
```
|
||
Proyecto Alpha (mrf: a1b2c3...)
|
||
├── Fase 1 (mrf: d4e5f6...)
|
||
│ ├── Diseño (mrf: g7h8i9...)
|
||
│ └── Desarrollo (mrf: j0k1l2...)
|
||
└── Fase 2 (mrf: m3n4o5...)
|
||
└── Testing (mrf: p6q7r8...)
|
||
```
|
||
|
||
### Árbol de Bloques (BCK)
|
||
|
||
```
|
||
Documentación Proyecto (mrf: x1y2z3...)
|
||
├── Especificación técnica (mrf: a9b8c7...)
|
||
├── Manual de usuario (mrf: d6e5f4...)
|
||
└── Guía de despliegue (mrf: g3h2i1...)
|
||
```
|
||
|
||
### Enlaces entre Árboles
|
||
|
||
```
|
||
MST: Fase 1 > Desarrollo
|
||
└── enlaza → BCK: Especificación técnica
|
||
```
|
||
|
||
## Interfaz
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ Mind Map 🔄 Sync ⚙ │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ ┌───────────────┐ ┌─────────────────────────────────────────┐ │
|
||
│ │ MAPAS │ │ Proyecto Alpha │ │
|
||
│ │ │ ├─────────────────────────────────────────┤ │
|
||
│ │ ▼ Trabajo │ │ │ │
|
||
│ │ • Proyecto │ │ ▼ 🔒 Proyecto Alpha │ │
|
||
│ │ Alpha │ │ ▼ 🔒 Fase 1 │ │
|
||
│ │ • Backlog │ │ • Diseño │ │
|
||
│ │ │ │ • Desarrollo [2] │ │
|
||
│ │ ▼ Personal │ │ ▶ 🔒 Fase 2 (3 items) │ │
|
||
│ │ • Ideas │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ + Nuevo mapa │ │ + Añadir elemento... │ │
|
||
│ └───────────────┘ └─────────────────────────────────────────┘ │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ 🔒 = consolidado [2] = aparece en 2 mapas │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
## Atajos de Teclado
|
||
|
||
| Atajo | Acción |
|
||
|-------|--------|
|
||
| `Enter` | Crear hermano debajo |
|
||
| `Tab` | Convertir en hijo |
|
||
| `Shift+Tab` | Subir nivel |
|
||
| `Ctrl+Enter` | Crear hijo |
|
||
| `Space` | Colapsar/expandir |
|
||
| `Ctrl+Shift+C` | Consolidar elemento |
|
||
| `Ctrl+L` | Vincular elemento existente |
|
||
|
||
## Exportación
|
||
|
||
| Formato | Uso |
|
||
|---------|-----|
|
||
| JSON | Estructura completa con hashes |
|
||
| OPML | Compatibilidad con otras apps |
|
||
| Markdown | Lectura humana |
|
||
|
||
---
|
||
|
||
# Mind Flow
|
||
|
||
**Tipo:** App Web / iPad
|
||
**Estado:** Especificado
|
||
**Destino:** Producción (Alfred/Jared)
|
||
|
||
## Propósito
|
||
|
||
Crear **flujos de trabajo** enlazando piezas de la **biblioteca HST**. Interfaz minimalista para bocetado rápido de procesos. Los flujos definidos se usan como plantillas en Producción.
|
||
|
||
## Diferencia con Mind Map
|
||
|
||
| Mind Map | Mind Flow |
|
||
|----------|-----------|
|
||
| Árboles jerárquicos | Grafos direccionales |
|
||
| Estructura estática | Flujo con dirección |
|
||
| Milestones y bloques | Procesos HST enlazados |
|
||
|
||
## Principios de Diseño
|
||
|
||
| Principio | Descripción |
|
||
|-----------|-------------|
|
||
| Minimalismo | Elementos esenciales |
|
||
| Naturalidad | Físicas orgánicas |
|
||
| Portabilidad | Exportable |
|
||
|
||
## Elementos Visuales
|
||
|
||
Cuadrados con esquinas redondeadas (estilo Apple), tamaño 1×1.
|
||
|
||
| Elemento | Marco | Descripción |
|
||
|----------|-------|-------------|
|
||
| Proceso | Amarillo | Paso individual (tag HST) |
|
||
| Flujo | Azul | 2+ procesos conectados |
|
||
|
||
## Biblioteca HST en UI
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────┐
|
||
│ [inv] [cli] [prv] [pgo] [ctr] [doc] [tsk] ... 🔍 Buscar │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ [⭐ frecuentes del usuario] │
|
||
├─────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ LIENZO DE TRABAJO │
|
||
│ │
|
||
│ ┌─────┐ ┌─────┐ ┌─────┐ │
|
||
│ │ cli │────────▶│ inv │────────▶│ pgo │ │
|
||
│ └─────┘ └─────┘ └─────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
## Sistema de Físicas
|
||
|
||
### Gravedad Central
|
||
|
||
Elementos atraídos hacia el centro del lienzo (estilo Apple Watch).
|
||
|
||
### Separación Vertical
|
||
|
||
- Procesos (amarillo): tendencia arriba
|
||
- Flujos (azul): tendencia abajo
|
||
|
||
## Conexiones
|
||
|
||
### Crear
|
||
|
||
1. Arrastrar proceso sobre otro
|
||
2. Colisión genera rebote
|
||
3. Se crea línea de conexión
|
||
4. Ambos pasan a flujo (azul)
|
||
|
||
### Direccionalidad
|
||
|
||
| Acción | Resultado |
|
||
|--------|-----------|
|
||
| Deslizar sobre línea | Flecha en dirección del gesto |
|
||
| Doble tap | Cicla: sin flecha → → → ← |
|
||
|
||
### Elasticidad
|
||
|
||
- Límite: 2 celdas
|
||
- Superar y soltar en vacío: ruptura
|
||
- Superar y soltar sobre otro: unión
|
||
|
||
## Nodo Fantasma
|
||
|
||
Al crear flujo aparece nodo vacío para:
|
||
- Conexiones adicionales
|
||
- Flujos circulares
|
||
|
||
## Exportación a Producción
|
||
|
||
```json
|
||
{
|
||
"mrf": "hash-del-flujo",
|
||
"nombre": "Proceso de facturación",
|
||
"pasos": [
|
||
{"ref": "cli", "mrf": "hash-cliente"},
|
||
{"ref": "inv", "mrf": "hash-factura"},
|
||
{"ref": "pgo", "mrf": "hash-pago"}
|
||
],
|
||
"conexiones": [
|
||
{"from": 0, "to": 1},
|
||
{"from": 1, "to": 2}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
# Mind Link
|
||
|
||
**Tipo:** Componente Web embebible
|
||
**Estado:** Planificado
|
||
**Destino:** Salida al usuario
|
||
|
||
## Propósito
|
||
|
||
**Visualizador y menú de acceso** integrable en cualquier parte del sistema:
|
||
|
||
1. **Menú** - Agrupar herramientas o funcionalidades
|
||
2. **Visualizador** - Enlace de salida de documentos
|
||
3. **Share** - Página pública tipo linktree
|
||
|
||
## Integración con ADI
|
||
|
||
Se integra con ADI para aplicación de acceso a documentos.
|
||
|
||
## Característica Clave
|
||
|
||
**Embebible en cualquier parte del sistema** como componente reutilizable.
|
||
|
||
## Modo Menú
|
||
|
||
```
|
||
┌─────────────────────────────────────────┐
|
||
│ 🏠 TZZR │
|
||
├─────────────────────────────────────────┤
|
||
│ ┌─────────┐ ┌─────────┐ │
|
||
│ │ 📷 │ │ 🗺️ │ │
|
||
│ │ Packet │ │ Mind Map│ │
|
||
│ └─────────┘ └─────────┘ │
|
||
│ ┌─────────┐ ┌─────────┐ │
|
||
│ │ ⚡ │ │ 📊 │ │
|
||
│ │ Flow │ │ Reports │ │
|
||
│ └─────────┘ └─────────┘ │
|
||
└─────────────────────────────────────────┘
|
||
```
|
||
|
||
## Modo Visualizador
|
||
|
||
```
|
||
┌─────────────────────────────────────────┐
|
||
│ Documentación Proyecto │
|
||
├─────────────────────────────────────────┤
|
||
│ [Proyecto] │
|
||
│ │ │
|
||
│ ┌─────────┼─────────┐ │
|
||
│ │ │ │ │
|
||
│ [Spec] [Manual] [API] │
|
||
└─────────────────────────────────────────┘
|
||
```
|
||
|
||
## Modo Share
|
||
|
||
```
|
||
┌─────────────────────────────────────┐
|
||
│ 🖼️ Avatar │
|
||
│ Nombre │
|
||
│ Bio corta │
|
||
├─────────────────────────────────────┤
|
||
│ [🔗 Portfolio] │
|
||
│ [📧 Contacto] │
|
||
│ [📄 CV] │
|
||
└─────────────────────────────────────┘
|
||
```
|
||
|
||
## Tipos de Nodo
|
||
|
||
| Tipo | Acción |
|
||
|------|--------|
|
||
| Link externo | Abre URL |
|
||
| Documento | Abre visualizador |
|
||
| App | Lanza aplicación |
|
||
| Submenú | Expande hijos |
|
||
| Acción | Ejecuta función |
|
||
|
||
## Configuración
|
||
|
||
```json
|
||
{
|
||
"modo": "menu",
|
||
"titulo": "Panel Principal",
|
||
"nodos": [
|
||
{
|
||
"icono": "📷",
|
||
"nombre": "Packet",
|
||
"tipo": "app",
|
||
"destino": "/packet"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
# Matriz de Aplicaciones
|
||
|
||
## Por Destino
|
||
|
||
| App | Secretaría | Producción | Feldman | Salida |
|
||
|-----|------------|------------|---------|--------|
|
||
| Packet | ✅ | - | - | - |
|
||
| Mind Map | - | - | ✅ | - |
|
||
| Mind Flow | - | ✅ | - | - |
|
||
| Mind Link | - | - | - | ✅ |
|
||
|
||
## Por Estado
|
||
|
||
| App | Estado | Próximo paso |
|
||
|-----|--------|--------------|
|
||
| Packet | APK funcional | Enlazar con Clara |
|
||
| Mind Map | Especificado | Prototipo |
|
||
| Mind Flow | Especificado | Prototipo |
|
||
| Mind Link | Planificado | Especificar integración ADI |
|
||
|
||
## Por Plataforma
|
||
|
||
| App | Web | iPad | Móvil |
|
||
|-----|-----|------|-------|
|
||
| Packet | ❌ | ❌ | ✅ |
|
||
| Mind Map | ✅ | ✅ | ❌ |
|
||
| Mind Flow | ✅ | ✅ | ❌ |
|
||
| Mind Link | ✅ | ✅ | ✅ |
|
||
|
||
---
|
||
|
||
# Principios Comunes
|
||
|
||
## Hash como Identificador
|
||
|
||
```python
|
||
mrf = hashlib.sha256(contenido.encode()).hexdigest()
|
||
```
|
||
|
||
## Inmutabilidad
|
||
|
||
Datos consolidados no se modifican. Cambios crean nuevas versiones.
|
||
|
||
## Portabilidad
|
||
|
||
Formatos abiertos, exportables, sin vendor lock-in.
|
||
|
||
## Offline-first
|
||
|
||
Funcionalidad básica sin conexión.
|
||
|
||
---
|
||
|
||
*SKYNET v10 - 09_APLICACIONES - 6 Enero 2026*
|