sistema-multiagente-sdlc 1.4.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/CHANGELOG.md +57 -1
  2. package/README.md +238 -108
  3. package/migrations/1.5.0/README.md +3 -0
  4. package/migrations/1.5.0/up.mjs +14 -0
  5. package/migrations/1.6.0/README.md +7 -0
  6. package/migrations/1.6.0/up.mjs +14 -0
  7. package/package.json +20 -6
  8. package/phase-contract.yaml +194 -0
  9. package/profiles/full-harness.yaml +30 -0
  10. package/schemas/phase-evidence.schema.json +73 -0
  11. package/schemas/skill-eval.schema.json +73 -0
  12. package/scripts/validate-mustache-references-exist.mjs +1 -0
  13. package/src/cli.js +37 -1
  14. package/src/eval-runner.js +272 -0
  15. package/src/harness.js +557 -0
  16. package/src/migrations.js +5 -1
  17. package/src/render.js +77 -4
  18. package/src/runtime.js +9 -2
  19. package/templates/.claude/skills/contexto-proyecto/SKILL.md +9 -4
  20. package/templates/.claude/skills/enrich-us/SKILL.md +12 -8
  21. package/templates/.github/AGENTS.md +4 -0
  22. package/templates/.github/agents/README.md +7 -1
  23. package/templates/.github/agents/ownership-matrix.md +5 -0
  24. package/templates/.github/agents/product-owner-agent.agent.md +25 -0
  25. package/templates/.github/agents/project-manager-agent.agent.md +25 -0
  26. package/templates/.github/agents/qa-test-architect-agent.agent.md +25 -0
  27. package/templates/.github/agents/tech-writer-agent.agent.md +25 -0
  28. package/templates/.github/agents/ux-designer-agent.agent.md +25 -0
  29. package/templates/.github/copilot-instructions-greenfield.md +4 -0
  30. package/templates/.github/copilot-instructions-legacy.md +11 -5
  31. package/templates/.github/copilot-instructions.md +26 -1
  32. package/templates/.github/skills/contexto-proyecto/SKILL.md +9 -4
  33. package/templates/.github/skills/enrich-us/SKILL.md +12 -8
  34. package/templates/.github/skills/party-mode/SKILL.md +31 -0
  35. package/templates/AGENTS.md +2 -0
  36. package/templates/CLAUDE.md +7 -3
  37. package/templates/docs/agents/catalogo-comandos-proyecto.md +3 -3
  38. package/templates/docs/agents/external-tools-matrix.md +83 -16
  39. package/templates/docs/guides/memoria-persistente-multiagente.md +14 -8
  40. package/templates/docs/guides/tool-hierarchy-and-profiles.md +141 -0
  41. package/templates/indice-operativo.md +1 -0
  42. package/templates/manifest.yaml +18 -0
  43. package/templates/phases/F0-bootstrap/README.md +12 -0
  44. package/templates/phases/F0-bootstrap/evidence.template.yaml +14 -0
  45. package/templates/phases/F0-bootstrap/inputs.template.md +6 -0
  46. package/templates/phases/F0-bootstrap/outputs.template.md +6 -0
  47. package/templates/phases/F1-requirements-analysis/README.md +12 -0
  48. package/templates/phases/F1-requirements-analysis/evidence.template.yaml +14 -0
  49. package/templates/phases/F1-requirements-analysis/inputs.template.md +6 -0
  50. package/templates/phases/F1-requirements-analysis/outputs.template.md +6 -0
  51. package/templates/phases/F10-security/README.md +12 -0
  52. package/templates/phases/F10-security/evidence.template.yaml +14 -0
  53. package/templates/phases/F10-security/inputs.template.md +6 -0
  54. package/templates/phases/F10-security/outputs.template.md +6 -0
  55. package/templates/phases/F11-commit/README.md +12 -0
  56. package/templates/phases/F11-commit/evidence.template.yaml +14 -0
  57. package/templates/phases/F11-commit/inputs.template.md +6 -0
  58. package/templates/phases/F11-commit/outputs.template.md +6 -0
  59. package/templates/phases/F12-pr/README.md +12 -0
  60. package/templates/phases/F12-pr/evidence.template.yaml +14 -0
  61. package/templates/phases/F12-pr/inputs.template.md +6 -0
  62. package/templates/phases/F12-pr/outputs.template.md +6 -0
  63. package/templates/phases/F13-human-gate/README.md +12 -0
  64. package/templates/phases/F13-human-gate/evidence.template.yaml +14 -0
  65. package/templates/phases/F13-human-gate/inputs.template.md +6 -0
  66. package/templates/phases/F13-human-gate/outputs.template.md +6 -0
  67. package/templates/phases/F14-merge/README.md +12 -0
  68. package/templates/phases/F14-merge/evidence.template.yaml +14 -0
  69. package/templates/phases/F14-merge/inputs.template.md +6 -0
  70. package/templates/phases/F14-merge/outputs.template.md +6 -0
  71. package/templates/phases/F15-post-merge/README.md +12 -0
  72. package/templates/phases/F15-post-merge/evidence.template.yaml +14 -0
  73. package/templates/phases/F15-post-merge/inputs.template.md +6 -0
  74. package/templates/phases/F15-post-merge/outputs.template.md +6 -0
  75. package/templates/phases/F16-archive/README.md +12 -0
  76. package/templates/phases/F16-archive/evidence.template.yaml +14 -0
  77. package/templates/phases/F16-archive/inputs.template.md +6 -0
  78. package/templates/phases/F16-archive/outputs.template.md +6 -0
  79. package/templates/phases/F17-living-docs/README.md +12 -0
  80. package/templates/phases/F17-living-docs/evidence.template.yaml +14 -0
  81. package/templates/phases/F17-living-docs/inputs.template.md +6 -0
  82. package/templates/phases/F17-living-docs/outputs.template.md +6 -0
  83. package/templates/phases/F2-human-draft-review/README.md +12 -0
  84. package/templates/phases/F2-human-draft-review/evidence.template.yaml +14 -0
  85. package/templates/phases/F2-human-draft-review/inputs.template.md +6 -0
  86. package/templates/phases/F2-human-draft-review/outputs.template.md +6 -0
  87. package/templates/phases/F3-local-issue-validation/README.md +12 -0
  88. package/templates/phases/F3-local-issue-validation/evidence.template.yaml +14 -0
  89. package/templates/phases/F3-local-issue-validation/inputs.template.md +6 -0
  90. package/templates/phases/F3-local-issue-validation/outputs.template.md +6 -0
  91. package/templates/phases/F3_5-branch/README.md +12 -0
  92. package/templates/phases/F3_5-branch/evidence.template.yaml +14 -0
  93. package/templates/phases/F3_5-branch/inputs.template.md +6 -0
  94. package/templates/phases/F3_5-branch/outputs.template.md +6 -0
  95. package/templates/phases/F4-readiness/README.md +12 -0
  96. package/templates/phases/F4-readiness/evidence.template.yaml +14 -0
  97. package/templates/phases/F4-readiness/inputs.template.md +6 -0
  98. package/templates/phases/F4-readiness/outputs.template.md +6 -0
  99. package/templates/phases/F5-sdd-planning/README.md +12 -0
  100. package/templates/phases/F5-sdd-planning/evidence.template.yaml +14 -0
  101. package/templates/phases/F5-sdd-planning/inputs.template.md +6 -0
  102. package/templates/phases/F5-sdd-planning/outputs.template.md +6 -0
  103. package/templates/phases/F6-handoff/README.md +12 -0
  104. package/templates/phases/F6-handoff/evidence.template.yaml +14 -0
  105. package/templates/phases/F6-handoff/inputs.template.md +6 -0
  106. package/templates/phases/F6-handoff/outputs.template.md +6 -0
  107. package/templates/phases/F7-orchestration/README.md +12 -0
  108. package/templates/phases/F7-orchestration/evidence.template.yaml +14 -0
  109. package/templates/phases/F7-orchestration/inputs.template.md +6 -0
  110. package/templates/phases/F7-orchestration/outputs.template.md +6 -0
  111. package/templates/phases/F8-implementation/README.md +12 -0
  112. package/templates/phases/F8-implementation/evidence.template.yaml +14 -0
  113. package/templates/phases/F8-implementation/inputs.template.md +6 -0
  114. package/templates/phases/F8-implementation/outputs.template.md +6 -0
  115. package/templates/phases/F9-qa/README.md +12 -0
  116. package/templates/phases/F9-qa/evidence.template.yaml +14 -0
  117. package/templates/phases/F9-qa/inputs.template.md +6 -0
  118. package/templates/phases/F9-qa/outputs.template.md +6 -0
  119. package/templates/scripts/agent-skills.manifest.json +4 -1
  120. package/templates/scripts/bootstrap-agent-skills.ps1 +65 -1
  121. package/templates/scripts/validate-local-gate.mjs +41 -0
  122. package/templates/scripts/validate-local-gate.ps1 +195 -0
package/CHANGELOG.md CHANGED
@@ -4,6 +4,62 @@
4
4
 
5
5
  _No hay cambios pendientes._
6
6
 
7
+ ## [1.7.0] — 2026-05-29
8
+
9
+ ### Added
10
+
11
+ - ADR `0006-engine-harness-verdict-eval.md`: extensiones para Governance Engineering (P2–P4 del plan).
12
+ - `sdlc verdict`: veredicto único READY/NOT-READY con validators en orden fail-fast, clasificación BLOCKING/WARNING, exit 0/2. Opcional `--write --slice --phase` para artefacto en evidence/.
13
+ - `sdlc status`: snapshot go/no-go agregado (governance-check + tools-doctor + phase-gate). Flags `--markdown --write` (genera `status.md`) y `--exit-code` para CI hard-block.
14
+ - `sdlc phase-gate --exit-code`: flag que hace el chequeo bloqueante (exit 2 cuando "blocked"), con scoping correcto; sin el flag mantiene comportamiento informativo (exit 0) para compatibilidad P0.
15
+ - `src/eval-runner.js`: eval-runner determinístico para el loop de skills vivas (ADR-025 P4).
16
+ - `sdlc skill-eval --skill <nombre>`: evalúa golden tasks de `.github/skills/<skill>/evals/*.yaml`; emite score y detalles por task.
17
+ - `sdlc skill-propose --skill <nombre> --change <change> --intent "..."`: genera propuesta de edición de skill solo bajo `openspec/changes/<change>/`; nunca muta `.github/skills/` directamente.
18
+ - `schemas/skill-eval.schema.json`: schema JSON Schema draft-07 para sets de golden tasks.
19
+
20
+ ### Changed
21
+
22
+ - `src/harness.js`: `commandPhaseGate` acepta `--exit-code` opt-in (retrocompatible).
23
+ - `src/cli.js`: despacha los nuevos comandos `verdict`, `status`, `skill-eval`, `skill-propose`; help string actualizado.
24
+
25
+ ## [1.6.0] — 2026-05-26
26
+
27
+ ### Added
28
+
29
+ - ADR `0005-tool-hierarchy-and-operational-profiles.md`: jerarquía de retrieval y perfiles `LEAN` / `ANALYSIS` / `ORCHESTRATION`.
30
+ - Guía `docs/guides/tool-hierarchy-and-profiles.md` y template instalable equivalente.
31
+ - Migración `1.6.0` con marcador `.sdlc/migrations/1.6.0-applied.txt`.
32
+ - Script template `scripts/validate-local-gate.ps1` para reproducir el control plane antes de push/PR.
33
+
34
+ ### Changed
35
+
36
+ - `SDLC_SHARED_RULES` ahora incluye reglas 7-9 para jerarquía de retrieval, perfiles operativos y gate local pre-push/pre-PR.
37
+ - Skills `contexto-proyecto`, `enrich-us` y `party-mode` aplican selección de perfil y límites de herramienta.
38
+ - External tools matrix documenta perfil elegible y cuándo no usar cada herramienta.
39
+ - Workflows de GitHub Actions optan a Node 24 para evitar warnings de acciones JavaScript sobre Node 20.
40
+
41
+ ## [1.5.0] — 2026-05-24
42
+
43
+ ### Added
44
+
45
+ - Harness ejecutable F0-F17 con `phase-contract.yaml`, `schemas/phase-evidence.schema.json` y `templates/phases/F0...F17`.
46
+ - Comandos CLI nuevos: `sdlc phase-gate`, `sdlc governance-check`, `sdlc tools-doctor` y `sdlc pr-body-check`.
47
+ - Bloque `SDLC_SHARED_RULES` con hash para paridad entre `AGENTS.md`, `CLAUDE.md`, `.github/AGENTS.md` y `.github/copilot-instructions.md`.
48
+ - Roles upstream: `product-owner-agent`, `project-manager-agent`, `qa-test-architect-agent`, `tech-writer-agent` y `ux-designer-agent`.
49
+ - Skill `party-mode` anclada a F1/F2/F5 y separación entre QA temprana y `qa-security-review` para F9/F10.
50
+ - Perfil `full-harness` para reportar OpenSpec, Graphify, CodeGraph, Obsidian, Headroom, Caveman, autoskills, Vercel skills, party-mode y pnpm.
51
+ - Migración `1.5.0` con marcador `.sdlc/migrations/1.5.0-applied.txt`.
52
+
53
+ ### Changed
54
+
55
+ - Migración del desarrollo y workflows del framework a `pnpm@11.3.0`.
56
+ - `resume` y `continua` incorporan lectura del contrato de fase y reportan bloqueos por evidencia faltante.
57
+ - `buildManagedFiles` genera mirrors cross-IDE desde `.github/skills/` para evitar drift entre Claude Code, Codex, Copilot y Windsurf.
58
+
59
+ ### Tests
60
+
61
+ - Regresión extendida con smoke tests de `phase-gate`, `governance-check` y `tools-doctor`.
62
+
7
63
  ## [1.4.0] — 2026-05-24
8
64
 
9
65
  ### Added
@@ -101,7 +157,7 @@ _No hay cambios pendientes._
101
157
  ### Phase 7 — Validators
102
158
 
103
159
  - Agrega 9 validators nuevos: placeholder scripts, politica de herramientas externas, precedencia de gobierno, consistencia de skills, schema de personas, links docs, OpenSpec, Mustache y `models.yaml`.
104
- - `npm run validate` ahora ejecuta 14 validators en cadena.
160
+ - `pnpm run validate` ahora ejecuta 14 validators en cadena.
105
161
 
106
162
  ### Phase 8 — Doctor
107
163
 
package/README.md CHANGED
@@ -1,55 +1,56 @@
1
1
  # SistemaMultiagente_SDLC
2
2
 
3
- AI-assisted SDLC framework con governance enterprise, SDD y enfoque brownfield-first.
3
+ Framework SDLC asistido por IA con governance enterprise, SDD y enfoque brownfield-first.
4
4
 
5
5
  > BMAD orquesta; SistemaMultiagente_SDLC orquesta y verifica.
6
6
 
7
- ## Why
7
+ ## Por qué
8
8
 
9
- This project installs a governed multi-agent SDLC into greenfield or legacy repos. It combines reusable agent personas, OpenSpec/SDD workflows, phase gates, migrations, validators, rollback and optional persistent memory.
9
+ Este proyecto instala un SDLC multi-agente gobernado en repos greenfield o legacy. Combina personas de agente reutilizables, flujos OpenSpec/SDD, phase gates, migraciones, validadores, rollback y memoria persistente opcional.
10
10
 
11
- The operating model is SDD waterfall by slice and agile by release: each slice has explicit requirements, readiness, design, implementation, verification and archive gates, while releases can stay iterative.
11
+ El modelo operativo es SDD waterfall por slice y ágil por release: cada slice tiene gates explícitos de requisitos, readiness, diseño, implementación, verificación y archivo, mientras los releases permanecen iterativos.
12
12
 
13
- ## Quick Start
13
+ ## Inicio rápido
14
14
 
15
- Published package flow (>=1.2.1):
15
+ Flujo con paquete publicado (>=1.2.1):
16
16
 
17
17
  ```powershell
18
18
  # Desde la raíz del repo destino (cwd = repo).
19
19
  # --target es opcional desde v1.2.1: si se omite, se usa el directorio actual.
20
- npx sistema-multiagente-sdlc init --mode greenfield --project-name "My Project"
20
+ npx sistema-multiagente-sdlc init --mode greenfield --project-name "Mi Proyecto"
21
21
 
22
22
  # Smoke previo sin escribir nada:
23
- npx sistema-multiagente-sdlc init --mode greenfield --project-name "My Project" --dry-run --json
23
+ npx sistema-multiagente-sdlc init --mode greenfield --project-name "Mi Proyecto" --dry-run --json
24
24
  ```
25
25
 
26
26
  Para v1.2.0 (compatibilidad), el comando equivalente requería `--target` explícito:
27
27
 
28
28
  ```powershell
29
- npx sistema-multiagente-sdlc@1.2.0 init --target . --mode greenfield --project-name "My Project"
29
+ npx sistema-multiagente-sdlc@1.2.0 init --target . --mode greenfield --project-name "Mi Proyecto"
30
30
  ```
31
31
 
32
- Local development flow:
32
+ Flujo de desarrollo local:
33
33
 
34
34
  ```powershell
35
35
  git clone https://github.com/JuanCastrejon/SistemaMultiagente_SDLC.git
36
36
  cd SistemaMultiagente_SDLC
37
- npm install
38
- npm run validate
39
- npm test
40
- node ./bin/sdlc.js install --target ../my-project --mode greenfield --project-name "My Project"
37
+ corepack prepare pnpm@11.3.0 --activate
38
+ pnpm install --frozen-lockfile
39
+ pnpm run validate
40
+ pnpm test
41
+ node ./bin/sdlc.js install --target ../mi-proyecto --mode greenfield --project-name "Mi Proyecto"
41
42
  ```
42
43
 
43
44
  Legacy/brownfield:
44
45
 
45
46
  ```powershell
46
- node ./bin/sdlc.js install --target ../legacy-project --mode legacy --project-name "Legacy Project"
47
- node ./bin/sdlc.js doctor --target ../legacy-project --json
47
+ node ./bin/sdlc.js install --target ../proyecto-legacy --mode legacy --project-name "Proyecto Legacy"
48
+ node ./bin/sdlc.js doctor --target ../proyecto-legacy --json
48
49
  ```
49
50
 
50
51
  ## Runtime Multiagente
51
52
 
52
- Desde `1.4.0`, `sdlc` incluye comandos ejecutables para continuidad cross-IDE. El runtime primario es Node; los wrappers PowerShell solo existen para ergonomia Windows.
53
+ Desde `1.4.0`, `sdlc` incluye comandos ejecutables para continuidad cross-IDE. El runtime primario es Node; los wrappers PowerShell solo existen para ergonomía Windows.
53
54
 
54
55
  ```powershell
55
56
  sdlc session-start --target . --json
@@ -64,141 +65,270 @@ sdlc hooks install --target . --post-merge-checkpoint --json
64
65
  Reglas base:
65
66
 
66
67
  - `session-start` crea `.sdlc/session.json` con healthcheck de Headroom, CodeGraph, Graphify, caveman, vault y slice actual.
67
- - `resume` es solo lectura y recompone contexto en orden repo -> CodeGraph -> Graphify -> vault.
68
+ - `resume` es solo lectura y recompone contexto en orden repo CodeGraph Graphify vault.
68
69
  - `save` escribe checkpoints locales en el vault; no promueve GitHub Issues, OpenSpec ni PRs sin gate humano.
69
70
  - `hooks install --post-merge-checkpoint` instala un hook local `post-merge` que ejecuta `sdlc save --event post-merge`.
70
- - `memory-sync --mode nightly --apply` importa chats y exporta Graphify al vault; no crea checkpoints automaticos.
71
+ - `memory-sync --mode nightly --apply` importa chats y exporta Graphify al vault; no crea checkpoints automáticos.
71
72
 
72
- ## Modes
73
+ ## Harness Ejecutable F0-F17
73
74
 
74
- | Mode | Use when | Adds |
75
+ Desde `1.5.0`, el flujo F0-F17 tiene contrato ejecutable y evidencia por fase.
76
+
77
+ ```powershell
78
+ sdlc phase-gate --target . --phase F5 --slice <slice> --json
79
+ sdlc governance-check --target . --json
80
+ sdlc tools-doctor --target . --profile full --json
81
+ sdlc pr-body-check --repo . --pr <number> --json
82
+ ```
83
+
84
+ Reglas base:
85
+
86
+ - `phase-contract.yaml` declara owner, participantes, entradas, salidas, gate humano y siguiente fase.
87
+ - `.github/agent-state/evidence/<slice>/<phase>.yaml` registra evidencia trazable cuando la fase lo exige.
88
+ - `governance-check` compara el bloque `SDLC_SHARED_RULES` entre IDEs y valida mirrors de skills.
89
+ - `tools-doctor --profile full` reporta el stack de harness completo: OpenSpec, Graphify, CodeGraph, Obsidian, Headroom, Caveman, autoskills, Vercel skills, party-mode y pnpm.
90
+
91
+ ## Modos
92
+
93
+ | Modo | Cuándo usar | Qué agrega |
75
94
  | --- | --- | --- |
76
- | `greenfield` | new repo or clean product start | greenfield SDD templates and governance |
77
- | `legacy` | existing repo, migration or brownfield modernization | mandatory research templates and legacy discovery gates |
95
+ | `greenfield` | repo nuevo o inicio limpio de producto | plantillas SDD greenfield y governance |
96
+ | `legacy` | repo existente, migración o modernización brownfield | plantillas de research obligatorio y gates de descubrimiento legacy |
78
97
 
79
- ## Agents
98
+ ## Agentes
80
99
 
81
- | Plane | Personas |
100
+ | Plano | Personas |
82
101
  | --- | --- |
83
102
  | Control | `planificador-opus`, `orquestador-opus` |
84
- | Definition | `analista-requisitos`, `arquitecto-modular-clean` |
85
- | Specialist | `api-nestjs`, `web-admin`, `mobile-sync` |
103
+ | Producto/coordinación | `product-owner-agent`, `project-manager-agent` |
104
+ | Definición | `analista-requisitos`, `arquitecto-modular-clean`, `qa-test-architect-agent` |
105
+ | Especialista | `api-nestjs`, `web-admin`, `mobile-sync`, `ux-designer-agent`, `tech-writer-agent` |
86
106
  | Gate | `qa-security-review` |
87
107
 
88
- ## Phase Flow
108
+ ## Flujo de Fases
89
109
 
90
110
  ```mermaid
91
111
  flowchart LR
92
- F0["F0 Bootstrap"] --> F1["F1 Requirements"]
93
- F1 --> F2["F2 Human draft review"]
94
- F2 --> F3["F3 Local issue"]
95
- F3 --> F35["F3.5 Branch"]
96
- F35 --> F4["F4 Readiness handoff"]
97
- F4 --> F5["F5 SDD planning"]
98
- F5 --> F6["F6 Planner handoff"]
99
- F6 --> F7["F7 Orchestration"]
100
- F7 --> F8["F8 Implementation"]
112
+ F0["F0 Bootstrap"] --> F1["F1 Requisitos"]
113
+ F1 --> F2["F2 Revisión humana borrador"]
114
+ F2 --> F3["F3 Issue local"]
115
+ F3 --> F35["F3.5 Rama"]
116
+ F35 --> F4["F4 Handoff readiness"]
117
+ F4 --> F5["F5 Planificación SDD"]
118
+ F5 --> F6["F6 Handoff planificador"]
119
+ F6 --> F7["F7 Orquestación"]
120
+ F7 --> F8["F8 Implementación"]
101
121
  F8 --> F9["F9 QA"]
102
- F9 --> F10["F10 Security"]
122
+ F9 --> F10["F10 Seguridad"]
103
123
  F10 --> F11["F11 Commit"]
104
124
  F11 --> F12["F12 PR"]
105
- F12 --> F13["F13 Human gate"]
125
+ F12 --> F13["F13 Gate humano"]
106
126
  F13 --> F14["F14 Merge"]
107
- F14 --> F15["F15 Verify"]
108
- F15 --> F16["F16 Archive"]
109
- F16 --> F17["F17 Docs + trace"]
127
+ F14 --> F15["F15 Verificación"]
128
+ F15 --> F16["F16 Archivo"]
129
+ F16 --> F17["F17 Docs + trazabilidad"]
110
130
  ```
111
131
 
112
- ## Validators
132
+ ## Validadores
113
133
 
114
- `npm run validate` runs 14 validators:
134
+ `pnpm run validate` ejecuta los validadores del framework:
115
135
 
116
- - config schema
117
- - no personal paths
118
- - template sanitization
119
- - no inline managed content
120
- - manifest integrity
121
- - no placeholder scripts
122
- - external tools policy
123
- - governance precedence
124
- - skill manifest consistency
125
- - agent persona schema
126
- - docs links exist
127
- - OpenSpec consistency
128
- - Mustache references exist
129
- - models schema
136
+ - schema de config
137
+ - sin rutas personales
138
+ - sanitización de plantillas
139
+ - sin contenido gestionado inline
140
+ - integridad del manifiesto
141
+ - sin scripts placeholder
142
+ - política de herramientas externas
143
+ - precedencia de governance
144
+ - consistencia del manifiesto de skills
145
+ - schema de persona de agente
146
+ - existencia de links en docs
147
+ - consistencia de OpenSpec
148
+ - existencia de referencias Mustache
149
+ - schema de modelos
130
150
 
131
- ## Optional External Tools
151
+ ## Herramientas Externas — Guía de Instalación para el Agente
132
152
 
133
- See `templates/docs/agents/external-tools-matrix.md` for setup details.
153
+ Las herramientas externas son opt-in. El framework funciona sin ellas; al activarlas reducen reconstrucción de contexto, mejoran trazabilidad y ahorran tokens de forma significativa. Esta sección está dirigida al **agente que trabaja en el repo consumidor** para que pueda guiar al desarrollador correctamente.
134
154
 
135
- | Tool | Required | Purpose |
155
+ Ver detalles completos en `templates/docs/agents/external-tools-matrix.md`.
156
+
157
+ | Herramienta | Requerida | Propósito |
136
158
  | --- | --- | --- |
137
- | OpenSpec | yes | SDD specs, changes and archive |
138
- | Graphify | no | structural graph for fast orientation |
139
- | Obsidian | no | local persistent memory vault |
140
- | caveman | no | token-saving communication mode |
141
- | gh CLI | yes for GitHub publish | issues, PRs and releases |
159
+ | OpenSpec | | SDD: specs, changes y archivo |
160
+ | gh CLI | para GitHub | issues, PRs y releases |
161
+ | headroom | no | proxy de contexto + ahorro de tokens en llamadas Anthropic |
162
+ | Graphify | no | grafo semántico de docs para exploración cross-módulo |
163
+ | CodeGraph | no | grafo estructural AST para navegación de código |
164
+ | Obsidian | no | vault local para checkpoints y continuidad multi-sesión |
165
+ | caveman | no | compresión de tokens en comunicación operativa |
166
+ | autoskills | no | discovery de skills externas curadas |
167
+ | vercel-labs/agent-skills | no | skills UI/deploy opcionales |
168
+
169
+ ### headroom (proxy de contexto)
170
+
171
+ headroom actúa como proxy entre el agente y la API de Anthropic. Comprime payloads, aplica presupuestos de contexto y reduce costos en sesiones largas.
172
+
173
+ **Instalación:**
174
+
175
+ ```powershell
176
+ npm install -g headroom
177
+ # o con npx sin instalar globalmente
178
+ npx headroom proxy --no-telemetry
179
+ ```
180
+
181
+ **Configuración en Claude Code** (`~/.claude/settings.json`):
182
+
183
+ ```json
184
+ {
185
+ "env": {
186
+ "ANTHROPIC_BASE_URL": "http://127.0.0.1:8787"
187
+ }
188
+ }
189
+ ```
190
+
191
+ **Arranque del proxy** (script incluido en `templates/scripts/`):
192
+
193
+ ```powershell
194
+ pwsh -NonInteractive -File scripts/headroom-start.ps1
195
+ ```
196
+
197
+ **Autoarranque en Windows** (una sola vez por máquina — acción del usuario, no automatizable por el agente):
198
+
199
+ ```powershell
200
+ pwsh -ExecutionPolicy Bypass -File scripts/register-headroom-task.ps1
201
+ Get-ScheduledTask -TaskName "<ProjectSlug>-Headroom-Autostart"
202
+ ```
203
+
204
+ Sin esta tarea registrada, Codex y VS Code/Copilot no arrancan headroom automáticamente; Claude Code sí (via hook SessionStart en `~/.claude/settings.json`).
205
+
206
+ **Regla crítica:** si el proxy falla tras los reintentos, **no limpiar `ANTHROPIC_BASE_URL`**. Eso causaría que el agente llame directamente a Anthropic sin que el usuario lo sepa. El script registra el fallo en `%APPDATA%\headroom\health-last-fail.txt` y termina con `exit 1` para que el error sea visible.
207
+
208
+ ### Graphify (grafo semántico de documentación)
209
+
210
+ Graphify indexa `docs/`, `openspec/`, `.github/agents/`, `.github/skills/` y raíz como knowledge graph semántico. **No indexa código de producto** (`apps/`, `packages/`).
142
211
 
143
- All external installs are opt-in. Scripts default to dry-run or local-only behavior unless `-Apply` or another explicit install flag is provided.
212
+ ```powershell
213
+ pip install --user graphifyy
214
+ graphify update . # re-extracción AST local, sin costo LLM
215
+ graphify query "<tema>" # búsqueda semántica
216
+ graphify path "<A>" "<B>" # relaciones entre nodos
217
+ graphify explain "<nodo>" # descripción expandida
218
+ ```
219
+
220
+ Cuándo usar: onboarding al proyecto, análisis de arquitectura cross-módulo, research de prior art en paso 4.5 de `enrich-us`. **No usar en loops normales de implementación.**
221
+
222
+ ### CodeGraph (grafo estructural de código)
223
+
224
+ CodeGraph construye un índice AST de todo el código de producto. Responde preguntas estructurales sub-milisegundo sin grep.
225
+
226
+ ```powershell
227
+ codegraph init -i # construir índice
228
+ codegraph status # verificar salud
229
+ ```
230
+
231
+ Cuándo usar: "¿dónde está definida X?", "¿qué llama a Y?", "¿qué rompería si cambio Z?", firma de un símbolo, navegación cross-module en `apps/` y `packages/`. **No usar para docs ni semántica.**
232
+
233
+ ### Regla de ahorro de tokens: CodeGraph vs Graphify vs Grep
234
+
235
+ Esta regla es crítica. Violarla duplica contexto y eleva costos 3x–8x en sesiones largas.
236
+
237
+ | Pregunta | Herramienta correcta |
238
+ |---|---|
239
+ | Estructura de código (callers, callees, impacto, firma) | CodeGraph — siempre primero, sin fallback a grep |
240
+ | Semántica cross-doc (docs, ADRs, specs, guides, agents) | Graphify si el grafo existe, sino docs raw |
241
+ | Texto literal (strings de log, comentarios, contenido sin estructura) | Grep — solo si no aplican los anteriores |
242
+
243
+ **Nunca ejecutar CodeGraph y Graphify para la misma consulta.** Son capas distintas con distinto scope.
244
+
245
+ ### caveman (compresión de tokens en conversación)
246
+
247
+ caveman comprime solo los tokens de **output** del agente, no el razonamiento ni los payloads MCP. Útil para coordinación operativa entre agentes.
248
+
249
+ ```text
250
+ /caveman lite → modo conversacional comprimido (sin artículos, fragmentos OK)
251
+ /caveman full → máxima compresión (solo para coordinación interna)
252
+ ```
253
+
254
+ Regla: caveman **solo en conversación operativa**. Off en documentación, commits, PRs y artefactos finales. Las decisiones durables van a OpenSpec, docs o `.github/agent-state/`.
255
+
256
+ **party-mode** solo en fases F2 (Análisis), F3 (Diseño) y F4 (Validación). El costo multiagente (3x–8x tokens) solo se justifica en decisiones de diseño con trade-offs reales.
257
+
258
+ ### Skills multi-entorno (bootstrap)
259
+
260
+ Después de instalar el framework, sincronizar las skills a todos los agentes:
261
+
262
+ ```powershell
263
+ pwsh -ExecutionPolicy Bypass -File scripts/bootstrap-agent-skills.ps1
264
+ ```
265
+
266
+ Esto copia las skills gobernadas desde `.github/skills/` a `.claude/skills/`, `.agents/skills/` y `.windsurf/skills/`. Si el manifiesto tiene entradas `crossMirrorSkills`, también copia skills entre carpetas de agente (por ejemplo, caveman ecosystem a Claude Code).
267
+
268
+ Verificar con:
269
+
270
+ ```powershell
271
+ pwsh -ExecutionPolicy Bypass -File scripts/bootstrap-agent-skills.ps1 -Json
272
+ sdlc tools-doctor --target . --profile full --json
273
+ ```
144
274
 
145
- ## BMAD Comparison
275
+ ## Comparativa BMAD
146
276
 
147
- Side-by-side de los dos frameworks. La intención no es competir sino aclarar dónde se solapan y dónde cada uno se especializa. Datos de BMAD tomados de su README oficial v6 (`bmad-code-org/BMAD-METHOD`, npm `bmad-method`).
277
+ Comparativa lado a lado de los dos frameworks. La intención no es competir sino aclarar dónde se solapan y dónde cada uno se especializa. Datos de BMAD tomados de su README oficial v6 (`bmad-code-org/BMAD-METHOD`, npm `bmad-method`).
148
278
 
149
- | Feature | BMAD-METHOD v6 | SistemaMultiagente_SDLC v1.4.0 |
279
+ | Característica | BMAD-METHOD v6 | SistemaMultiagente_SDLC v1.5.0 |
150
280
  | --- | --- | --- |
151
- | License | MIT | MIT |
152
- | Runtime requisitos | Node ≥20.12, Python ≥3.10, `uv` | Node ≥18, PowerShell (pwsh/powershell), Git |
153
- | Install command | `npx bmad-method install` (interactive) o `--yes --modules --tools` (CI) | `npx sistema-multiagente-sdlc init` (cwd default desde v1.2.1) |
154
- | Scope principal | AI-driven agile development | AI-assisted SDLC con governance enterprise y SDD |
155
- | Workflows | 34+ agile workflows (BMM core) | SDD waterfall por slice + agile por release (F0-F17 phases) |
281
+ | Licencia | MIT | MIT |
282
+ | Runtime requisitos | Node ≥20.12, Python ≥3.10, `uv` | Node ≥22.13, PowerShell (pwsh/powershell), Git |
283
+ | Comando de instalación | `npx bmad-method install` (interactivo) o `--yes --modules --tools` (CI) | `npx sistema-multiagente-sdlc init` (cwd default desde v1.2.1) |
284
+ | Scope principal | Desarrollo ágil asistido por IA | SDLC asistido por IA con governance enterprise y SDD |
285
+ | Flujos de trabajo | 34+ flujos ágiles (BMM core) | SDD waterfall por slice + ágil por release (fases F0-F17) |
156
286
  | Scale-adaptive | sí, automático (bug → enterprise) | scale hint activo desde v1.3.0 |
157
- | Agentes/personas | 12+ personas (PM, Architect, Dev, UX, …) | 8 personas activas + roadmap extensible |
158
- | Party / collaboration mode | yes (multiple personas en sesión) | roundtable opt-in planned v1.3.0 |
159
- | Help CLI / next-step coach | `bmad-help` skill | `sdlc doctor` (state checks); `sdlc next` planned v1.3.0 |
160
- | Modules / ecosystem | BMM (core) + BMB (builder) + TEA (test architect) + BMGD (game dev) + CIS (creative) | mode-based (`greenfield` / `legacy`) + extensible packs planned v2.0.0 |
161
- | Skills architecture | sí (V6 + Sub-Agent inclusion + Cross-Platform Agent Team) | skills mirroring across `.claude/`, `.agents/`, `.windsurf/` (`bootstrap-agent-skills.ps1`) |
162
- | Custom agent/workflow builder | BMad Builder v1 | personas `.agent.md` + validators (`validate-agent-persona-schema`) |
163
- | Dev Loop automation | en roadmap V6 | `phase-graph.yaml` + rework label-driven + lock TTL |
164
- | Brownfield-first | no | sí (legacy mode con research obligatorio antes de proposal) |
165
- | Governance validators | not core | 14 validators (config, personal-paths, template-sanitization, manifest-integrity, governance-precedence, …) |
166
- | OpenSpec / SDD | not core | integrated (capacidades canónicas en `openspec/specs/`) |
167
- | Readiness L1/L2/L3 + matriz NFR | not core | integrated (`business-production-readiness` spec) |
168
- | Migration system + rollback | not core | backup automático + `sdlc upgrade --to-version` + `sdlc rollback --to <id>` |
169
- | Multi-agent lock | not core | TTL `platform-context.json` lock |
170
- | Sanitization de paths/templates | not core | `validate:no-personal-paths` + `validate:template-sanitization` |
171
- | Provenance (SLSA) | n/d explícito | sí, SLSA v1 + signatures vía OIDC GitHub (workflow `publish.yml`) |
172
- | Community | Discord abierto, YouTube, X | GitHub Issues + Discussions (Discord no necesario) |
173
- | Trademark | BMad / BMAD-METHOD trademarks of BMad Code, LLC | sin restricción explícita más allá de MIT |
174
-
175
- Lectura corta: BMAD lidera en agile breadth y community (12+ personas, 34+ workflows, 5 módulos, Discord activo, Skills Architecture V6). SistemaMultiagente_SDLC lidera en governance + brownfield + SDD + validators (14) + migration system + readiness L1/L2/L3 + sanitization. Ambos pueden coexistir: BMAD orquesta; SistemaMultiagente_SDLC orquesta **y verifica**.
287
+ | Agentes/personas | 12+ personas (PM, Arquitecto, Dev, UX, …) | 8 personas activas + roadmap extensible |
288
+ | Modo party / colaboración | (múltiples personas en sesión) | roundtable opt-in planificado v1.3.0 |
289
+ | CLI de ayuda / coach de siguiente paso | skill `bmad-help` | `sdlc doctor` (verificaciones de estado); `sdlc next` planificado v1.3.0 |
290
+ | Módulos / ecosistema | BMM (core) + BMB (builder) + TEA (test architect) + BMGD (game dev) + CIS (creative) | basado en modos (`greenfield` / `legacy`) + packs extensibles planificados v2.0.0 |
291
+ | Arquitectura de skills | sí (V6 + Sub-Agent inclusion + Cross-Platform Agent Team) | mirroring de skills a `.claude/`, `.agents/`, `.windsurf/` (`bootstrap-agent-skills.ps1`) con soporte `crossMirrorSkills` |
292
+ | Constructor de agentes/flujos personalizados | BMad Builder v1 | personas `.agent.md` + validadores (`validate-agent-persona-schema`) |
293
+ | Automatización del loop de desarrollo | en roadmap V6 | `phase-graph.yaml` + rework label-driven + lock TTL |
294
+ | Brownfield-first | no | sí (modo legacy con research obligatorio antes de proposal) |
295
+ | Validadores de governance | no es core | 14 validadores (config, personal-paths, template-sanitization, manifest-integrity, governance-precedence, …) |
296
+ | OpenSpec / SDD | no es core | integrado (capacidades canónicas en `openspec/specs/`) |
297
+ | Readiness L1/L2/L3 + matriz NFR | no es core | integrado (spec `business-production-readiness`) |
298
+ | Sistema de migración + rollback | no es core | backup automático + `sdlc upgrade --to-version` + `sdlc rollback --to <id>` |
299
+ | Lock multi-agente | no es core | TTL `platform-context.json` lock |
300
+ | Sanitización de paths/plantillas | no es core | `validate:no-personal-paths` + `validate:template-sanitization` |
301
+ | Provenance (SLSA) | n/d explícito | sí, SLSA v1 + firmas vía OIDC GitHub (workflow `publish.yml`) |
302
+ | Comunidad | Discord abierto, YouTube, X | GitHub Issues + Discussions (Discord no necesario) |
303
+ | Marca registrada | BMad / BMAD-METHOD trademarks of BMad Code, LLC | sin restricción explícita más allá de MIT |
304
+
305
+ Lectura corta: BMAD lidera en amplitud ágil y comunidad (12+ personas, 34+ flujos, 5 módulos, Discord activo, Skills Architecture V6). SistemaMultiagente_SDLC lidera en governance + brownfield + SDD + validadores (14) + sistema de migración + readiness L1/L2/L3 + sanitización. Ambos pueden coexistir: BMAD orquesta; SistemaMultiagente_SDLC orquesta **y verifica**.
176
306
 
177
307
  ## Roadmap
178
308
 
179
309
  v1.3.0:
180
310
 
181
- - bash parity for critical scripts
311
+ - paridad bash para scripts críticos
182
312
  - `sdlc next`
183
- - adaptive scale: bug, feature, epic, platform
184
- - calibration extensions
313
+ - scale adaptativo: bug, feature, epic, platform
314
+ - extensiones de calibración
185
315
  - roundtable opt-in
186
- - docs site
187
- - regression-install matrix: agregar `macos-latest` (triple coverage ubuntu + windows + macos)
188
- - bump `actions/checkout@v5` + `actions/setup-node@v5` con `node-version: 24`; deadline GitHub: Node 20 deprecated jun 2026, removed sep 2026
316
+ - sitio de documentación
317
+ - matriz de instalación de regresión: agregar `macos-latest` (cobertura triple ubuntu + windows + macos)
318
+ - bump `actions/checkout@v5` + `actions/setup-node@v5` con `node-version: 24`; deadline GitHub: Node 20 deprecated jun 2026, removido sep 2026
189
319
 
190
320
  v2.0.0:
191
321
 
192
- - extensible packs
193
- - plugin API
194
- - marketplace registry
195
- - English i18n
196
- - interactive contextual help
322
+ - packs extensibles
323
+ - API de plugins
324
+ - registro marketplace
325
+ - internacionalización en inglés
326
+ - ayuda contextual interactiva
197
327
 
198
- ## Contributing
328
+ ## Contribución
199
329
 
200
- Read `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md` and `SECURITY.md`.
330
+ Leer `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md` y `SECURITY.md`.
201
331
 
202
- ## License
332
+ ## Licencia
203
333
 
204
334
  MIT.
@@ -0,0 +1,3 @@
1
+ # Migration 1.5.0
2
+
3
+ Adds the executable F0-F17 harness contract, phase evidence schema and cross-IDE governance checks.
@@ -0,0 +1,14 @@
1
+ export function up(files = {}) {
2
+ const extra = {
3
+ ".sdlc/migrations/1.5.0-applied.txt": "Migration 1.5.0 applied by SistemaMultiagente_SDLC.\ngenerated-by-sdlc\n"
4
+ };
5
+
6
+ const configPath = ".sdlc/config.json";
7
+ if (typeof files[configPath] === "string") {
8
+ const config = JSON.parse(files[configPath]);
9
+ config.frameworkVersion = "1.5.0";
10
+ extra[configPath] = `${JSON.stringify(config, null, 2)}\n`;
11
+ }
12
+
13
+ return extra;
14
+ }
@@ -0,0 +1,7 @@
1
+ # Migration 1.6.0
2
+
3
+ Actualiza el contrato instalado a la doctrina de jerarquia de retrieval y perfiles operativos.
4
+
5
+ - Recalcula `frameworkVersion` a `1.6.0`.
6
+ - Registra marcador local `.sdlc/migrations/1.6.0-applied.txt`.
7
+ - Los archivos gobernados se regeneran desde templates durante `sdlc upgrade`; no publica npm ni toca configs locales.
@@ -0,0 +1,14 @@
1
+ export function up(files = {}) {
2
+ const extra = {
3
+ ".sdlc/migrations/1.6.0-applied.txt": "Migration 1.6.0 applied by SistemaMultiagente_SDLC.\ngenerated-by-sdlc\n"
4
+ };
5
+
6
+ const configPath = ".sdlc/config.json";
7
+ if (typeof files[configPath] === "string") {
8
+ const config = JSON.parse(files[configPath]);
9
+ config.frameworkVersion = "1.6.0";
10
+ extra[configPath] = `${JSON.stringify(config, null, 2)}\n`;
11
+ }
12
+
13
+ return extra;
14
+ }
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "sistema-multiagente-sdlc",
3
- "version": "1.4.0",
3
+ "version": "1.7.0",
4
4
  "description": "Framework reusable para instalar un SDLC multiagente gobernado en repos greenfield o legacy.",
5
5
  "type": "module",
6
6
  "bin": {
7
- "sdlc": "./bin/sdlc.js"
7
+ "sdlc": "bin/sdlc.js"
8
8
  },
9
9
  "publishConfig": {
10
10
  "access": "public"
@@ -15,6 +15,7 @@
15
15
  "schemas/",
16
16
  "templates/",
17
17
  "profiles/",
18
+ "phase-contract.yaml",
18
19
  "migrations/",
19
20
  "scripts/",
20
21
  "README.md",
@@ -32,13 +33,16 @@
32
33
  "brownfield",
33
34
  "sdd"
34
35
  ],
35
- "repository": "github:JuanCastrejon/SistemaMultiagente_SDLC",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "git+https://github.com/JuanCastrejon/SistemaMultiagente_SDLC.git"
39
+ },
36
40
  "bugs": "https://github.com/JuanCastrejon/SistemaMultiagente_SDLC/issues",
37
41
  "homepage": "https://github.com/JuanCastrejon/SistemaMultiagente_SDLC#readme",
38
42
  "scripts": {
39
43
  "sdlc": "node ./bin/sdlc.js",
40
44
  "test": "node ./tests/run-regression.mjs",
41
- "validate": "npm run validate:config-schema && npm run validate:no-personal-paths && npm run validate:template-sanitization && npm run validate:no-inline-managed-content && npm run validate:manifest-integrity && npm run validate:no-placeholder-scripts && npm run validate:external-tools-policy && npm run validate:governance-precedence && npm run validate:skill-manifest-consistency && npm run validate:agent-persona-schema && npm run validate:docs-links-exist && npm run validate:openspec-consistency && npm run validate:mustache-references-exist && npm run validate:models-schema",
45
+ "validate": "corepack pnpm run validate:config-schema && corepack pnpm run validate:no-personal-paths && corepack pnpm run validate:template-sanitization && corepack pnpm run validate:no-inline-managed-content && corepack pnpm run validate:manifest-integrity && corepack pnpm run validate:no-placeholder-scripts && corepack pnpm run validate:external-tools-policy && corepack pnpm run validate:governance-precedence && corepack pnpm run validate:skill-manifest-consistency && corepack pnpm run validate:agent-persona-schema && corepack pnpm run validate:docs-links-exist && corepack pnpm run validate:openspec-consistency && corepack pnpm run validate:mustache-references-exist && corepack pnpm run validate:models-schema",
42
46
  "validate:config-schema": "node ./scripts/validate-config-schema.mjs",
43
47
  "validate:no-personal-paths": "node ./scripts/validate-no-personal-paths.mjs",
44
48
  "validate:template-sanitization": "node ./scripts/validate-template-sanitization.mjs",
@@ -55,9 +59,19 @@
55
59
  "validate:models-schema": "node ./scripts/validate-models-schema.mjs"
56
60
  },
57
61
  "engines": {
58
- "node": ">=18"
62
+ "node": ">=22.13"
63
+ },
64
+ "packageManager": "pnpm@11.3.0",
65
+ "pnpm": {
66
+ "minimumReleaseAge": 1440,
67
+ "minimumReleaseAgeStrict": true,
68
+ "minimumReleaseAgeIgnoreMissingTime": false,
69
+ "trustPolicy": "no-downgrade",
70
+ "blockExoticSubdeps": true,
71
+ "nodeLinker": "isolated"
59
72
  },
60
73
  "dependencies": {
61
- "ajv": "^8.20.0"
74
+ "ajv": "^8.20.0",
75
+ "yaml": "^2.9.0"
62
76
  }
63
77
  }