Skip to content

Plataforma técnica · Glosario

Glosario Técnico

Desarrollo Glosario

Definiciones de arquitectura, infraestructura y desarrollo del ecosistema Nostromo. Los términos contables, tributarios y de remuneraciones están en el Glosario Contable. Los términos específicos de cada sistema vivirán en glosarios propios (mother/glosario, orchestrator/glosario, sevastopol/glosario).

TérminoDefinición
NostromoNombre del ecosistema completo y también del monorepo en GitHub (ChrisTkm/Nostromo).
MotherServicio de base de datos PostgreSQL 16. Aloja nostromo_common, nostromo_command y las bases por empresa.
OrchestratorBackend Node.js · Express · TypeScript. Expone la API REST y orquesta lógica de dominio.
SevastopolFrontend Astro + SolidJS. Renderiza la UI y consume el Orchestrator vía BFF.
Nostromo (ETL)Sistema ETL en Python ubicado en accounting_system/. Alimenta Mother con datos de Banco Central, Previred y SII.
Jean d’ArcEste sitio de documentación (Astro + Starlight). Sirve también como corpus RAG que consume Sevastopol.
accounting_systemCarpeta del monorepo donde vive el ETL Python (loaders, scrapers SII, cargas masivas). Conceptualmente es “Nostromo”.

TérminoDefinición
TenantEmpresa-cliente del sistema. Cada tenant vive en su propia base de datos PostgreSQL.
Database-per-tenantPatrón de aislamiento donde cada empresa tiene una base completa (nostromo_<rut_sin_dv>), no solo un schema.
nostromo_commonBase de datos compartida: monedas, indicadores, AFP, ISAPRE, tablas IUSC y otros parámetros transversales.
nostromo_commandBase de control central: usuarios, sesiones, tenants registrados y monitoreo del sistema.
accunting_templatePlantilla PostgreSQL a partir de la cual se crean las bases por empresa. La falta de ortografía es intencional.
Tenant ResolverLógica del Orchestrator (getDatabaseNameForUser) que decide a qué base apunta cada petición autenticada.
PoolConjunto cacheado de conexiones PostgreSQL. Hay tres: centralPool, commonPool y un TenantPool por empresa.

TérminoDefinición
BFFBackend-for-Frontend. Sevastopol nunca habla con Mother directamente: pasa por el Orchestrator, que actúa como proxy.
HexagonalArquitectura de puertos y adaptadores. El dominio vive aislado de Express, PostgreSQL y SolidJS.
DDDDomain-Driven Design. El Orchestrator organiza el código en domain/<contexto>/ (payroll, contracts, finiquitos, …).
Hybrid CorePatrón propio: la lógica compleja (cálculos, validaciones) corre en TypeScript; las lecturas masivas en vistas SQL.
Smart ViewVista PostgreSQL pre-computada con joins y agregaciones, optimizada para lectura desde el Repository.
Island ArchitecturePatrón de Astro: el HTML se sirve estático y solo las “islas” interactivas se hidratan en el cliente.
ViewIslandComponente SolidJS que lee datos del Orchestrator y los muestra (solo lectura).
AdminIslandViewIsland con capacidades CRUD: además de leer, modifica el estado vía endpoints de mutación.
Capas (R · S · E · R)Route → Service → Engine → Repository. Convención del Orchestrator para separar HTTP, orquestación, cálculo y datos.

TérminoDefinición
JWTJSON Web Token. Firma la sesión del usuario; el Orchestrator lo lee desde la cookie sid.
RBACRole-Based Access Control. Cada usuario tiene un rol (admin, tenant_user, …) que define qué rutas resuelve.
CORSCross-Origin Resource Sharing. El Orchestrator solo acepta orígenes listados en CORS_ORIGINS.
CSPContent Security Policy. Headers de helmet() que limitan los orígenes desde donde se cargan scripts y estilos.

TérminoDefinición
AstroFramework SSR/SSG que sirve el shell de página de Sevastopol y Jean d’Arc.
SolidJSLibrería reactiva fine-grained usada en las islands de Sevastopol.
StarlightTema de documentación Astro que da estructura a Jean d’Arc.
ExpressFramework HTTP del Orchestrator.
HelmetMiddleware Express que aplica headers de seguridad (CSP, HSTS, XSS).
pnpmGestor de paquetes de todo el ecosistema. El monorepo Accounting/ (Orchestrator + Sevastopol) lo pinea en packageManager; Jean d’Arc lo activa vía corepack.
CorepackActiva la versión de pnpm pinneada en package.json → packageManager.
MermaidSintaxis para diagramas embebidos en MDX. Renderizada por astro-mermaid en Jean d’Arc.

TérminoDefinición
ETLExtract, Transform, Load. Pipeline de carga de datos externos hacia Mother.
LoaderScript Python del ETL Nostromo (bc_loader.py, previred_loader.py, sii_loader.py).
SeederScript que puebla datos de prueba en una base local; no se usa en producción.
ADRArchitecture Decision Record. Documento que justifica una decisión arquitectónica y su contexto.
RunbookProcedimiento operativo paso a paso. En este sitio, las páginas kind: runbook.
SkillArchivo de instrucciones para agentes AI (Claude). Las skills de Jean d’Arc viven en C:\dev\ai-skills\.
RAGRetrieval-Augmented Generation. Sevastopol indexa Jean d’Arc para responder preguntas con contexto.

TérminoDefinición
audienceFrontmatter que clasifica la página para el RAG. Valores: dev, auditor, both.
domainDominio funcional al que pertenece la página (ej. remuneraciones, activo-fijo, arquitectura).
layerCapa técnica (mother, orchestrator, sevastopol, nostromo, infraestructura, seguridad, accounting).
kindModo de lectura: reference, concept, service, ui, runbook o standard.
relatedB-tree de relaciones: upstream (padre directo), downstream (hijos directos), references (cruces).