ARCHITECTURE_CANONICAL-22a905fa
Fuente original incluida en el paquete de arquitectura entregado para publicación.
sha256: 22A905FAE2636B1F497CC681E89B65A99C2FDF1A19FBE3A8AF230B44131DBCA7
# ::::bastion::universalis::citoyen:::: - arquitectura canonica
::::terra::sls::::
Fecha de registro en repo: 2026-06-13
Estado: **canonico / brazo ciudadano**
Repositorio: `terrauniversalis/bastion-grp`
Ruta: `architecture/citoyen/ARCHITECTURE_CANONICAL.md`
## 1. Decision
`::::bastion::universalis::citoyen::::` queda registrado como el brazo ciudadano de Bastion Universalis.
No debe llamarse ni tratarse como:
- ERP ciudadano;
- dashboard ciudadano;
- formulario de tramites;
- CRM publico;
- extension menor de GRP.
Puede usar capacidades ERP, CRM, expedientes, workflows o Frappe como sustrato tecnico, pero su identidad arquitectonica es ciudadana, comunitaria, formativa y de bienestar.
## 2. Posicion en la arquitectura
```text
::::bastion::universalis::grp::::
|
v
::::bastion::universalis::citoyen::::
|
v
::::bastion::universalis::orp::kukulkan::::
```
GRP administra recursos e instituciones.
citoyen conecta con personas y comunidades.
Kukulkan activa potencial regenerativo.
## 3. Responsabilidad de citoyen
citoyen debe organizar:
- identidad ciudadana;
- expedientes vivos;
- tramites y solicitudes;
- formacion;
- oficios;
- bienestar;
- participacion;
- senales comunitarias;
- vinculacion con programas;
- comunicacion con GRP;
- transicion hacia celulas de potencial de Kukulkan.
## 4. Modelo de datos conceptual
| Entidad | Funcion |
|---|---|
| `CitizenProfile` | Identidad civil, contacto, preferencias y consentimiento. |
| `CitizenCase` | Expediente vivo de tramite, apoyo, servicio o situacion. |
| `CitizenSignal` | Senal de necesidad, aspiracion, habilidad, riesgo o oportunidad. |
| `LearningPath` | Ruta de formacion, oficio o mejora de capacidades. |
| `ServiceRequest` | Solicitud dirigida a GRP, programa, unidad o autoridad. |
| `CommunityLink` | Relacion con comunidad, cooperativa, barrio, proyecto o enjambre. |
| `ConsentRecord` | Consentimiento, revocacion y alcance de uso de datos. |
## 5. Relacion con Shield
citoyen maneja datos sensibles. Por eso Shield debe aplicar con mas cuidado que en una pantalla administrativa comun.
Reglas:
- consentimiento explicito para datos sensibles;
- minimizacion de biometria y senales conductuales;
- trazabilidad de acceso a expediente;
- hash de evidencias criticas;
- separacion entre datos identificables y metricas agregadas;
- autorizacion por rol y contexto;
- exportacion de evidencia cuando exista controversia.
## 6. Relacion con Kukulkan
Kukulkan no recibe ciudadanos como registros administrativos. Recibe celulas de potencial.
citoyen prepara esa transicion:
```text
CitizenProfile
+ CitizenSignal
+ LearningPath
+ CommunityLink
↓
PotentialCell
↓
ORP Kukulkan
```
## 7. Relacion con GRP
GRP sigue siendo la capa de gestion, autorizacion y recursos.
citoyen no decide solo. citoyen:
- recibe;
- orienta;
- registra;
- acompana;
- comunica;
- escala a GRP cuando una accion requiere recurso, autorizacion, programa, presupuesto o acto institucional.
## 8. Relacion con unicornd
Las capacidades ciudadanas deben entrar por el gateway unico cuando pasen a operacion publica.
No se deben abrir puertos publicos sueltos para citoyen. Cada servicio ciudadano debe registrarse como capability y exponer healthcheck.
## 9. Estado final
```text
estado_arquitectonico: canonico
estado_codigo: pendiente_de_implementacion
estado_integracion: depende_de_grp_shield_y_kukulkan
documento_superior: architecture/bastion-universalis/ARCHITECTURE_CANONICAL.md
documento_siguiente: architecture/orp-kukulkan/ARCHITECTURE_CANONICAL.md
```