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)