ARQUITECTURA DE SISTEMA: SLAD OS

Diagrama de arquitectura: SLAD OS
Diagrama de arquitectura: SLAD OS
Diagrama de arquitectura: SLAD OS
[ROADMAP:ESTADO_ACTUAL]
Fase Completado Falta Prioridad Próximo Entregable
Fase 1 — Pipeline tipado base
  • ✓ Stages explore → snapshot → plan → run → learn → evolve implementados como comandos de Commander
  • ✓ Schemas Zod en core/types.ts (ExploreOutput, PlanTask, RunOutput, etc.)
  • ✓ JSON extraction fence-aware vía extractJson()
  • ✓ Tests unitarios para plan, explore, chat
  • ○ Tests de integración para learn y evolve
  • ○ Suite E2E que valide el pipeline completo sobre un repo sintético reproducible
  • ○ Smoke test del binario slad
Alta

Suite E2E con fixture de repo controlado que ejecute explore → run y valide artefactos en SessionState

Fase 2 — Multi-provider
  • ✓ ModelProvider interface + factory
  • ✓ Providers anthropic, openai, gemini, cli (codex/claude vía subprocess)
  • ✓ Resolución por .env y CLI flags
  • ✓ ProviderError con flag retryable (429/529/500)
  • ○ Backoff exponencial configurable
  • ○ Fallback automático provider-to-provider
  • ○ Token accounting + cost tracking por sesión
  • ○ Soporte streaming para feedback en vivo
Alta

Token accounting + fallback automático cuando el provider primario devuelve 5xx/429

Fase 3 — Sesiones y HITL
  • ✓ SessionState CRUD con appendArtifact()
  • ✓ Loop HITL awaiting_human + questions[] con @inquirer/prompts
  • ✓ AGENTS.md injection vía core/context.ts
  • ✓ core/inventory.ts para describir proyecto
  • ○ Persistencia de robusta multi-proceso
  • ○ Resumibilidad cross-session (session restore)
  • ○ Diff entre sesiones
  • ○ Branch/fork de sesión para experimentación
Alta

Comando session restore <id> + session diff para comparar runs

Fase 4 — Cache & observabilidad
  • ✓ Cache content-based en ~/.slad-os/cache/v1 (store.ts, keys.ts, invalidation.ts, reusable.ts) con tests
  • ✓ Logger configurable (SLAD_LOG_LEVEL, SLAD_DEBUG)
  • ✓ project-id determinista
  • ○ Métricas de hit rate
  • ○ Instrumentación OTEL
  • ○ Correlation IDs cross-stage
  • ○ Dashboard CLI/web para visualizar runs
  • ○ Export de trazas
Media

Métricas básicas (cache hit, latencia por stage, tokens) emitidas en formato consumible

Fase 5 — Harness de seguridad
  • ✓ Clasificador low/med/high (classifier.ts)
  • ✓ AuditLogger LDJSON append-only (audit.ts)
  • ✓ approval.ts HITL
  • ✓ Modes off / on / strict vía flag --harness
  • ✓ Loader .slad-os/harness.json
  • ○ Sandboxing real (no solo aprobación HITL)
  • ○ DSL de políticas declarativas
  • ○ Allowlist/blocklist por proyecto
  • ○ Integración con firejail o contenedores
  • ○ Tests de evasión
Alta

Sandbox de ejecución (docker o firejail) + DSL de políticas en harness.json

Fase 6 — Evals de calidad
  • ✓ Tests unitarios con node:test en cache, harness, core, commands, project, cli
  • ✓ Template de snapshot
  • ○ Golden outputs por stage
  • ○ Métricas de calidad (plan_completeness, run_success_rate, schema_pass_rate)
  • ○ Regression suite
  • ○ Benchmark dataset reproducible
  • ○ Baseline contra el cual comparar runs
Crítica

Benchmark dataset + script de evals reproducible con baseline versionado

Fase 7 — Distribución y producto
  • ✓ Build TS a dist/
  • ✓ prepublishOnly con typecheck
  • ✓ bin/slad-os.js
  • ✓ Package listo en npm (no publicado aún)
  • ○ CI/CD (GitHub Actions: typecheck + test + build matrix)
  • ○ Changelog automatizado (changesets)
  • ○ README robusto
  • ○ Docs site
  • ○ Primera release en npm
Alta

Pipeline CI/CD + primera release pública slad-os@0.1.0 en npm + README completo

Fase 8 — Extensibilidad
  • ✓ Estructura modular por carpetas (agents/, commands/, models/, harness/) con interfaces claras
  • ○ API de plugins para custom agents/commands
  • ○ Hooks pre/post stage
  • ○ Registry de skills
  • ○ Soporte para lenguajes adicionales (no solo TS)
Media (post-MVP)

API de plugins documentada + un plugin de referencia (e.g. slad-plugin-python)