trackops 2.0.3 → 2.0.5

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 (103) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +695 -402
  3. package/bin/trackops.js +116 -116
  4. package/lib/config.js +326 -326
  5. package/lib/control.js +208 -208
  6. package/lib/env.js +244 -244
  7. package/lib/init.js +325 -325
  8. package/lib/locale.js +24 -0
  9. package/lib/opera-bootstrap.js +941 -874
  10. package/lib/opera.js +494 -477
  11. package/lib/preferences.js +74 -74
  12. package/lib/registry.js +214 -196
  13. package/lib/release.js +56 -56
  14. package/lib/runtime-state.js +144 -144
  15. package/lib/server.js +312 -207
  16. package/lib/skills.js +74 -57
  17. package/lib/workspace.js +260 -260
  18. package/locales/en.json +192 -166
  19. package/locales/es.json +192 -166
  20. package/package.json +61 -58
  21. package/scripts/postinstall-locale.js +21 -21
  22. package/scripts/skills-marketplace-smoke.js +124 -124
  23. package/scripts/smoke-tests.js +558 -554
  24. package/scripts/sync-skill-version.js +21 -21
  25. package/scripts/validate-skill.js +103 -103
  26. package/skills/trackops/SKILL.md +126 -122
  27. package/skills/trackops/agents/openai.yaml +7 -7
  28. package/skills/trackops/locales/en/SKILL.md +126 -122
  29. package/skills/trackops/locales/en/references/activation.md +94 -75
  30. package/skills/trackops/locales/en/references/troubleshooting.md +73 -55
  31. package/skills/trackops/locales/en/references/workflow.md +55 -32
  32. package/skills/trackops/references/activation.md +94 -75
  33. package/skills/trackops/references/troubleshooting.md +73 -55
  34. package/skills/trackops/references/workflow.md +55 -32
  35. package/skills/trackops/skill.json +29 -29
  36. package/templates/hooks/post-checkout +2 -2
  37. package/templates/hooks/post-commit +2 -2
  38. package/templates/hooks/post-merge +2 -2
  39. package/templates/opera/agent.md +28 -27
  40. package/templates/opera/architecture/dependency-graph.md +24 -24
  41. package/templates/opera/architecture/runtime-automation.md +24 -24
  42. package/templates/opera/architecture/runtime-operations.md +34 -34
  43. package/templates/opera/en/agent.md +22 -21
  44. package/templates/opera/en/architecture/dependency-graph.md +24 -24
  45. package/templates/opera/en/architecture/runtime-automation.md +24 -24
  46. package/templates/opera/en/architecture/runtime-operations.md +34 -34
  47. package/templates/opera/en/reviews/delivery-audit.md +18 -18
  48. package/templates/opera/en/reviews/integration-audit.md +18 -18
  49. package/templates/opera/en/router.md +24 -19
  50. package/templates/opera/references/autonomy-and-recovery.md +117 -117
  51. package/templates/opera/references/opera-cycle.md +193 -193
  52. package/templates/opera/registry.md +28 -28
  53. package/templates/opera/reviews/delivery-audit.md +18 -18
  54. package/templates/opera/reviews/integration-audit.md +18 -18
  55. package/templates/opera/router.md +54 -49
  56. package/templates/skills/changelog-updater/SKILL.md +69 -69
  57. package/templates/skills/commiter/SKILL.md +99 -99
  58. package/templates/skills/opera-contract-auditor/SKILL.md +38 -38
  59. package/templates/skills/opera-contract-auditor/locales/en/SKILL.md +38 -38
  60. package/templates/skills/opera-policy-guard/SKILL.md +26 -26
  61. package/templates/skills/opera-policy-guard/locales/en/SKILL.md +26 -26
  62. package/templates/skills/opera-skill/SKILL.md +279 -0
  63. package/templates/skills/opera-skill/locales/en/SKILL.md +279 -0
  64. package/templates/skills/opera-skill/locales/en/references/phase-dod.md +138 -0
  65. package/templates/skills/opera-skill/references/phase-dod.md +138 -0
  66. package/templates/skills/project-starter-skill/SKILL.md +150 -131
  67. package/templates/skills/project-starter-skill/locales/en/SKILL.md +143 -105
  68. package/templates/skills/project-starter-skill/references/opera-cycle.md +195 -193
  69. package/ui/css/base.css +284 -266
  70. package/ui/css/charts.css +425 -327
  71. package/ui/css/components.css +1107 -570
  72. package/ui/css/onboarding.css +133 -0
  73. package/ui/css/panels.css +345 -406
  74. package/ui/css/terminal.css +125 -0
  75. package/ui/css/timeline.css +58 -0
  76. package/ui/css/tokens.css +284 -227
  77. package/ui/favicon.svg +5 -5
  78. package/ui/index.html +99 -96
  79. package/ui/js/api.js +49 -13
  80. package/ui/js/app.js +28 -32
  81. package/ui/js/charts.js +526 -0
  82. package/ui/js/console-logger.js +172 -172
  83. package/ui/js/filters.js +247 -0
  84. package/ui/js/icons.js +129 -104
  85. package/ui/js/keyboard.js +229 -0
  86. package/ui/js/onboarding.js +33 -42
  87. package/ui/js/router.js +142 -125
  88. package/ui/js/theme.js +100 -100
  89. package/ui/js/time-tracker.js +248 -248
  90. package/ui/js/views/board.js +84 -114
  91. package/ui/js/views/dashboard.js +870 -0
  92. package/ui/js/views/flash.js +47 -47
  93. package/ui/js/views/projects.js +745 -0
  94. package/ui/js/views/scrum.js +476 -0
  95. package/ui/js/views/settings.js +153 -203
  96. package/ui/js/views/sidebar.js +37 -31
  97. package/ui/js/views/tasks.js +218 -101
  98. package/ui/js/views/timeline.js +265 -0
  99. package/ui/js/views/topbar.js +94 -107
  100. package/ui/app.js +0 -950
  101. package/ui/js/views/insights.js +0 -340
  102. package/ui/js/views/overview.js +0 -369
  103. package/ui/styles.css +0 -688
@@ -1,193 +1,193 @@
1
- # El Ciclo O.P.E.R.A. — Referencia Completa
2
-
3
- Este documento detalla cada fase del ciclo con sus reglas, procedimientos y Definitions of Done.
4
-
5
- ---
6
-
7
- ## 1️⃣ O — Orquestar (Visión y Lógica)
8
-
9
- ### Descubrimiento
10
-
11
- Haz al usuario las 5 preguntas clave:
12
-
13
- 1. **Directriz Principal**: ¿Cuál es el resultado singular deseado?
14
- 2. **Integraciones**: ¿Qué servicios externos necesitamos? ¿Están listas las claves?
15
- 3. **Fuente de la Verdad**: ¿Dónde viven los datos primarios?
16
- 4. **Carga Útil (Payload)**: ¿Cómo y dónde debe entregarse el resultado final?
17
- 5. **Reglas de Comportamiento**: Restricciones o tono específico.
18
-
19
- ### Regla "Datos-Primero"
20
-
21
- Antes de pasar a la siguiente fase, DEBES definir el **Esquema de Datos JSON** (Input/Output) en `genesis.md`.
22
-
23
- Ejemplo de schema en genesis.md:
24
-
25
- ```json
26
- {
27
- "input": {
28
- "source": "API externa",
29
- "schema": {
30
- "id": "string (UUID)",
31
- "timestamp": "ISO 8601",
32
- "data": "object"
33
- }
34
- },
35
- "output": {
36
- "destination": "webhook POST",
37
- "schema": {
38
- "processed_id": "string (UUID)",
39
- "result": "object",
40
- "status": "enum: success|error"
41
- }
42
- }
43
- }
44
- ```
45
-
46
- ### Definition of Done — Fase O
47
-
48
- - [ ] Las 5 preguntas de descubrimiento están respondidas.
49
- - [ ] Esquema JSON de Input/Output definido en `genesis.md`.
50
- - [ ] Reglas de comportamiento documentadas en `genesis.md`.
51
- - [ ] `task_plan.md` tiene plano aprobado por el usuario.
52
-
53
- ---
54
-
55
- ## 2️⃣ P — Probar (Conectividad)
56
-
57
- Verifica las tuberías antes de pasar el agua. El objetivo es confirmar que todos los servicios externos responden y devuelven datos con la forma esperada.
58
-
59
- ### Procedimiento
60
-
61
- 1. **Verificación de credenciales**: Lee `.env` y confirma que todas las claves necesarias existen y no están vacías.
62
- 2. **Handshake**: Construye scripts mínimos en `tools/` (ej: `test_api.py`) para verificar cada servicio.
63
- 3. **Validación de Shape**: No basta con un HTTP 200. Verifica que la respuesta coincide con el schema definido en `genesis.md`. Compara campos, tipos de datos y estructura.
64
- 4. **Bloqueo**: Si algún test falla, NO procedas a la fase de Estructurar. Documenta el fallo en `findings.md`.
65
-
66
- ### Ejemplo de test mínimo
67
-
68
- ```python
69
- # tools/test_api.py
70
- import os
71
- import requests
72
-
73
- API_KEY = os.getenv("API_KEY")
74
- BASE_URL = os.getenv("API_BASE_URL")
75
-
76
- def test_connection():
77
- """Verifica conexión y shape de respuesta."""
78
- response = requests.get(f"{BASE_URL}/health", headers={"Authorization": f"Bearer {API_KEY}"})
79
- assert response.status_code == 200, f"Expected 200, got {response.status_code}"
80
- data = response.json()
81
- assert "id" in data, "Missing 'id' field in response"
82
- assert "status" in data, "Missing 'status' field in response"
83
- print("✅ API connection and shape validated")
84
-
85
- if __name__ == "__main__":
86
- test_connection()
87
- ```
88
-
89
- ### Definition of Done — Fase P
90
-
91
- - [ ] Todas las credenciales `.env` verificadas (existen y no están vacías).
92
- - [ ] Scripts `test_*.py` ejecutados y pasando.
93
- - [ ] Respuestas de APIs validadas contra el schema de `genesis.md`.
94
- - [ ] Resultados documentados en `findings.md`.
95
-
96
- ---
97
-
98
- ## 3️⃣ E — Estructurar (La Construcción de 3 Capas)
99
-
100
- ### Capa 1: Arquitectura (`architecture/`)
101
-
102
- SOPs (Standard Operating Procedures) técnicos en Markdown. Cada SOP define:
103
-
104
- - Propósito del script.
105
- - Entradas esperadas (con referencia al schema en `genesis.md`).
106
- - Salidas producidas.
107
- - Casos extremos y cómo manejarlos.
108
- - Dependencias con otras herramientas.
109
-
110
- **Regla**: Si la lógica cambia, actualiza el SOP **antes** que el código.
111
-
112
- ### Capa 2: Navegación (El Agente)
113
-
114
- Capa de razonamiento. Enruta datos entre SOPs y herramientas. No ejecuta lógica de negocio directamente; delega a los scripts.
115
-
116
- ### Capa 3: Herramientas (`tools/`)
117
-
118
- - Scripts atómicos y deterministas.
119
- - Las variables de entorno van en `.env`.
120
- - Usa `.tmp/` para todas las operaciones intermedias.
121
- - Cada script hace UNA cosa bien.
122
-
123
- ### Regla de Idempotencia
124
-
125
- Toda herramienta DEBE ser idempotente. Herramientas con side-effects irreversibles se marcan:
126
-
127
- ```python
128
- # META: side-effect: true
129
- # META: idempotent: false
130
- # META: requires-confirmation: true
131
- ```
132
-
133
- ### Grafo de Dependencias
134
-
135
- Si una herramienta produce output que consume otra, documéntalo en `genesis.md` bajo `## Pipeline`:
136
-
137
- ```markdown
138
- ## Pipeline
139
- ### tool_fetch.py → tool_transform.py
140
- - Output: `.tmp/raw_data.json`
141
- - Formato: JSON array según schema X
142
- ```
143
-
144
- ### Definition of Done — Fase E
145
-
146
- - [ ] SOPs escritos en `architecture/` para cada herramienta.
147
- - [ ] Scripts implementados en `tools/`.
148
- - [ ] Grafo de dependencias documentado en `genesis.md`.
149
- - [ ] Tests de integración entre herramientas pasando.
150
- - [ ] Herramientas con side-effects marcadas con META tags.
151
-
152
- ---
153
-
154
- ## 4️⃣ R — Refinar (Refinamiento)
155
-
156
- ### Templates de Output
157
-
158
- Toda salida del sistema se valida contra una plantilla definida en `templates/`. Las plantillas se referencian desde `genesis.md` bajo `## Templates`.
159
-
160
- El refinamiento no es subjetivo; es verificable contra una plantilla. Si el output no coincide con el template, no pasa.
161
-
162
- ### Refinamiento de Carga Útil
163
-
164
- Formatea todas las salidas (Markdown, HTML, JSON limpio) para entrega profesional según lo definido en `genesis.md`.
165
-
166
- ### UX/UI
167
-
168
- Si el proyecto tiene interfaz, aplica diseños limpios e intuitivos según las especificaciones.
169
-
170
- ### Definition of Done — Fase R
171
-
172
- - [ ] Todas las salidas validadas contra sus templates en `templates/`.
173
- - [ ] Formatos de entrega (Markdown, HTML, JSON) verificados.
174
- - [ ] Si hay interfaz: revisión visual completada.
175
-
176
- ---
177
-
178
- ## 5️⃣ A — Automatizar (Despliegue)
179
-
180
- ### Procedimiento
181
-
182
- 1. **Limpieza**: Elimina residuos de `.tmp/`.
183
- 2. **Transferencia**: Mueve la lógica finalizada a producción/nube.
184
- 3. **Configuración**: Establece los disparadores (Cron, Webhooks).
185
- 4. **Smoke Test**: Verificación mínima en el entorno de producción.
186
-
187
- ### Definition of Done — Fase A
188
-
189
- - [ ] `.tmp/` limpio (sin archivos residuales).
190
- - [ ] Código desplegado en destino final.
191
- - [ ] Triggers configurados y verificados.
192
- - [ ] Smoke test en producción pasando.
193
- - [ ] `progress.md` actualizado con estado final.
1
+ # El Ciclo O.P.E.R.A. — Referencia Completa
2
+
3
+ Este documento detalla cada fase del ciclo con sus reglas, procedimientos y Definitions of Done.
4
+
5
+ ---
6
+
7
+ ## 1️⃣ O — Orquestar (Visión y Lógica)
8
+
9
+ ### Descubrimiento
10
+
11
+ Haz al usuario las 5 preguntas clave:
12
+
13
+ 1. **Directriz Principal**: ¿Cuál es el resultado singular deseado?
14
+ 2. **Integraciones**: ¿Qué servicios externos necesitamos? ¿Están listas las claves?
15
+ 3. **Fuente de la Verdad**: ¿Dónde viven los datos primarios?
16
+ 4. **Carga Útil (Payload)**: ¿Cómo y dónde debe entregarse el resultado final?
17
+ 5. **Reglas de Comportamiento**: Restricciones o tono específico.
18
+
19
+ ### Regla "Datos-Primero"
20
+
21
+ Antes de pasar a la siguiente fase, DEBES definir el **Esquema de Datos JSON** (Input/Output) en `genesis.md`.
22
+
23
+ Ejemplo de schema en genesis.md:
24
+
25
+ ```json
26
+ {
27
+ "input": {
28
+ "source": "API externa",
29
+ "schema": {
30
+ "id": "string (UUID)",
31
+ "timestamp": "ISO 8601",
32
+ "data": "object"
33
+ }
34
+ },
35
+ "output": {
36
+ "destination": "webhook POST",
37
+ "schema": {
38
+ "processed_id": "string (UUID)",
39
+ "result": "object",
40
+ "status": "enum: success|error"
41
+ }
42
+ }
43
+ }
44
+ ```
45
+
46
+ ### Definition of Done — Fase O
47
+
48
+ - [ ] Las 5 preguntas de descubrimiento están respondidas.
49
+ - [ ] Esquema JSON de Input/Output definido en `genesis.md`.
50
+ - [ ] Reglas de comportamiento documentadas en `genesis.md`.
51
+ - [ ] `task_plan.md` tiene plano aprobado por el usuario.
52
+
53
+ ---
54
+
55
+ ## 2️⃣ P — Probar (Conectividad)
56
+
57
+ Verifica las tuberías antes de pasar el agua. El objetivo es confirmar que todos los servicios externos responden y devuelven datos con la forma esperada.
58
+
59
+ ### Procedimiento
60
+
61
+ 1. **Verificación de credenciales**: Lee `.env` y confirma que todas las claves necesarias existen y no están vacías.
62
+ 2. **Handshake**: Construye scripts mínimos en `tools/` (ej: `test_api.py`) para verificar cada servicio.
63
+ 3. **Validación de Shape**: No basta con un HTTP 200. Verifica que la respuesta coincide con el schema definido en `genesis.md`. Compara campos, tipos de datos y estructura.
64
+ 4. **Bloqueo**: Si algún test falla, NO procedas a la fase de Estructurar. Documenta el fallo en `findings.md`.
65
+
66
+ ### Ejemplo de test mínimo
67
+
68
+ ```python
69
+ # tools/test_api.py
70
+ import os
71
+ import requests
72
+
73
+ API_KEY = os.getenv("API_KEY")
74
+ BASE_URL = os.getenv("API_BASE_URL")
75
+
76
+ def test_connection():
77
+ """Verifica conexión y shape de respuesta."""
78
+ response = requests.get(f"{BASE_URL}/health", headers={"Authorization": f"Bearer {API_KEY}"})
79
+ assert response.status_code == 200, f"Expected 200, got {response.status_code}"
80
+ data = response.json()
81
+ assert "id" in data, "Missing 'id' field in response"
82
+ assert "status" in data, "Missing 'status' field in response"
83
+ print("✅ API connection and shape validated")
84
+
85
+ if __name__ == "__main__":
86
+ test_connection()
87
+ ```
88
+
89
+ ### Definition of Done — Fase P
90
+
91
+ - [ ] Todas las credenciales `.env` verificadas (existen y no están vacías).
92
+ - [ ] Scripts `test_*.py` ejecutados y pasando.
93
+ - [ ] Respuestas de APIs validadas contra el schema de `genesis.md`.
94
+ - [ ] Resultados documentados en `findings.md`.
95
+
96
+ ---
97
+
98
+ ## 3️⃣ E — Estructurar (La Construcción de 3 Capas)
99
+
100
+ ### Capa 1: Arquitectura (`architecture/`)
101
+
102
+ SOPs (Standard Operating Procedures) técnicos en Markdown. Cada SOP define:
103
+
104
+ - Propósito del script.
105
+ - Entradas esperadas (con referencia al schema en `genesis.md`).
106
+ - Salidas producidas.
107
+ - Casos extremos y cómo manejarlos.
108
+ - Dependencias con otras herramientas.
109
+
110
+ **Regla**: Si la lógica cambia, actualiza el SOP **antes** que el código.
111
+
112
+ ### Capa 2: Navegación (El Agente)
113
+
114
+ Capa de razonamiento. Enruta datos entre SOPs y herramientas. No ejecuta lógica de negocio directamente; delega a los scripts.
115
+
116
+ ### Capa 3: Herramientas (`tools/`)
117
+
118
+ - Scripts atómicos y deterministas.
119
+ - Las variables de entorno van en `.env`.
120
+ - Usa `.tmp/` para todas las operaciones intermedias.
121
+ - Cada script hace UNA cosa bien.
122
+
123
+ ### Regla de Idempotencia
124
+
125
+ Toda herramienta DEBE ser idempotente. Herramientas con side-effects irreversibles se marcan:
126
+
127
+ ```python
128
+ # META: side-effect: true
129
+ # META: idempotent: false
130
+ # META: requires-confirmation: true
131
+ ```
132
+
133
+ ### Grafo de Dependencias
134
+
135
+ Si una herramienta produce output que consume otra, documéntalo en `genesis.md` bajo `## Pipeline`:
136
+
137
+ ```markdown
138
+ ## Pipeline
139
+ ### tool_fetch.py → tool_transform.py
140
+ - Output: `.tmp/raw_data.json`
141
+ - Formato: JSON array según schema X
142
+ ```
143
+
144
+ ### Definition of Done — Fase E
145
+
146
+ - [ ] SOPs escritos en `architecture/` para cada herramienta.
147
+ - [ ] Scripts implementados en `tools/`.
148
+ - [ ] Grafo de dependencias documentado en `genesis.md`.
149
+ - [ ] Tests de integración entre herramientas pasando.
150
+ - [ ] Herramientas con side-effects marcadas con META tags.
151
+
152
+ ---
153
+
154
+ ## 4️⃣ R — Refinar (Refinamiento)
155
+
156
+ ### Templates de Output
157
+
158
+ Toda salida del sistema se valida contra una plantilla definida en `templates/`. Las plantillas se referencian desde `genesis.md` bajo `## Templates`.
159
+
160
+ El refinamiento no es subjetivo; es verificable contra una plantilla. Si el output no coincide con el template, no pasa.
161
+
162
+ ### Refinamiento de Carga Útil
163
+
164
+ Formatea todas las salidas (Markdown, HTML, JSON limpio) para entrega profesional según lo definido en `genesis.md`.
165
+
166
+ ### UX/UI
167
+
168
+ Si el proyecto tiene interfaz, aplica diseños limpios e intuitivos según las especificaciones.
169
+
170
+ ### Definition of Done — Fase R
171
+
172
+ - [ ] Todas las salidas validadas contra sus templates en `templates/`.
173
+ - [ ] Formatos de entrega (Markdown, HTML, JSON) verificados.
174
+ - [ ] Si hay interfaz: revisión visual completada.
175
+
176
+ ---
177
+
178
+ ## 5️⃣ A — Automatizar (Despliegue)
179
+
180
+ ### Procedimiento
181
+
182
+ 1. **Limpieza**: Elimina residuos de `.tmp/`.
183
+ 2. **Transferencia**: Mueve la lógica finalizada a producción/nube.
184
+ 3. **Configuración**: Establece los disparadores (Cron, Webhooks).
185
+ 4. **Smoke Test**: Verificación mínima en el entorno de producción.
186
+
187
+ ### Definition of Done — Fase A
188
+
189
+ - [ ] `.tmp/` limpio (sin archivos residuales).
190
+ - [ ] Código desplegado en destino final.
191
+ - [ ] Triggers configurados y verificados.
192
+ - [ ] Smoke test en producción pasando.
193
+ - [ ] `progress.md` actualizado con estado final.
@@ -1,28 +1,28 @@
1
- # Skills Registry — {{PROJECT_NAME}}
2
-
3
- > Índice de skills instaladas en este proyecto. Gestionado automáticamente por `trackops skill`.
4
-
5
- ---
6
-
7
- ## Skills Instaladas
8
-
9
- _Sin skills instaladas. Usa `trackops skill install <nombre>` para añadir una._
10
-
11
- ---
12
-
13
- ## Cómo Usar una Skill
14
-
15
- 1. Identifica el contexto en `.agent/hub/router.md`.
16
- 2. Abre el archivo `SKILL.md` de la skill correspondiente.
17
- 3. Sigue las instrucciones del protocolo definido en la skill.
18
-
19
- ---
20
-
21
- ## Gestión
22
-
23
- ```bash
24
- trackops skill list # Ver skills instaladas
25
- trackops skill catalog # Ver skills disponibles
26
- trackops skill install <n> # Instalar una skill
27
- trackops skill remove <n> # Desinstalar una skill
28
- ```
1
+ # Skills Registry — {{PROJECT_NAME}}
2
+
3
+ > Índice de skills instaladas en este proyecto. Gestionado automáticamente por `trackops skill`.
4
+
5
+ ---
6
+
7
+ ## Skills Instaladas
8
+
9
+ _Sin skills instaladas. Usa `trackops skill install <nombre>` para añadir una._
10
+
11
+ ---
12
+
13
+ ## Cómo Usar una Skill
14
+
15
+ 1. Identifica el contexto en `.agent/hub/router.md`.
16
+ 2. Abre el archivo `SKILL.md` de la skill correspondiente.
17
+ 3. Sigue las instrucciones del protocolo definido en la skill.
18
+
19
+ ---
20
+
21
+ ## Gestión
22
+
23
+ ```bash
24
+ trackops skill list # Ver skills instaladas
25
+ trackops skill catalog # Ver skills disponibles
26
+ trackops skill install <n> # Instalar una skill
27
+ trackops skill remove <n> # Desinstalar una skill
28
+ ```
@@ -1,18 +1,18 @@
1
- # Delivery Audit
2
-
3
- ## Scope
4
-
5
- Review the final output shape against the active templates and compiled contract.
6
-
7
- ## Checklist
8
-
9
- - `ops/genesis.md` matches the current contract.
10
- - `ops/task_plan.md`, `ops/progress.md` and `ops/findings.md` are synchronized.
11
- - Public copy matches runtime behavior.
12
- - API and dashboard reflect the same operational state.
13
- - Visual review completed when a UI change exists.
14
-
15
- ## Result
16
-
17
- - Status: pending review
18
- - Notes: replace this section with project-specific evidence.
1
+ # Delivery Audit
2
+
3
+ ## Scope
4
+
5
+ Review the final output shape against the active templates and compiled contract.
6
+
7
+ ## Checklist
8
+
9
+ - `ops/genesis.md` matches the current contract.
10
+ - `ops/task_plan.md`, `ops/progress.md` and `ops/findings.md` are synchronized.
11
+ - Public copy matches runtime behavior.
12
+ - API and dashboard reflect the same operational state.
13
+ - Visual review completed when a UI change exists.
14
+
15
+ ## Result
16
+
17
+ - Status: pending review
18
+ - Notes: replace this section with project-specific evidence.
@@ -1,18 +1,18 @@
1
- # Integration Audit
2
-
3
- ## Scope
4
-
5
- Review credentials, connectivity assumptions and external response shapes before expanding delivery.
6
-
7
- ## Checklist
8
-
9
- - Required keys identified from the contract and environment contract.
10
- - Missing keys documented without exposing secret values.
11
- - External services listed in the contract.
12
- - Response shapes aligned with `ops/contract/operating-contract.json`.
13
- - Findings recorded in `ops/findings.md` when applicable.
14
-
15
- ## Result
16
-
17
- - Status: pending review
18
- - Notes: replace this section with project-specific evidence.
1
+ # Integration Audit
2
+
3
+ ## Scope
4
+
5
+ Review credentials, connectivity assumptions and external response shapes before expanding delivery.
6
+
7
+ ## Checklist
8
+
9
+ - Required keys identified from the contract and environment contract.
10
+ - Missing keys documented without exposing secret values.
11
+ - External services listed in the contract.
12
+ - Response shapes aligned with `ops/contract/operating-contract.json`.
13
+ - Findings recorded in `ops/findings.md` when applicable.
14
+
15
+ ## Result
16
+
17
+ - Status: pending review
18
+ - Notes: replace this section with project-specific evidence.
@@ -1,49 +1,54 @@
1
- # Router de Skills
2
-
3
- ## Propósito
4
- Este archivo define las reglas de enrutamiento entre el agente principal y las skills disponibles. Cuando el agente detecta un contexto específico, consulta estas reglas para decidir qué skill invocar.
5
-
6
- ## Reglas de Enrutamiento
7
-
8
- ### Contexto: Commit de código
9
- - **Trigger**: El usuario pide hacer un commit o se completa un cambio de código.
10
- - **Skill**: `commiter`
11
- - **Acción**: Consulta la skill para formatear el mensaje de commit.
12
-
13
- ### Contexto: Post-commit
14
- - **Trigger**: Se acaba de realizar un commit exitoso.
15
- - **Skill**: `changelog-updater`
16
- - **Acción**: Ejecuta el script de actualización del changelog.
17
-
18
- ### Contexto: Arranque asistido del proyecto
19
- - **Trigger**: El usuario tiene una idea, una especificación parcial o TrackOps ha generado `ops/bootstrap/agent-handoff.md`.
20
- - **Skill**: `project-starter-skill`
21
- - **Acción**: Convertir el contexto del usuario en `ops/bootstrap/intake.json`, `ops/bootstrap/spec-dossier.md` y `ops/bootstrap/open-questions.md` cuando haga falta.
22
-
23
- ### Contexto: Auditoria del contrato
24
- - **Trigger**: Existe `ops/contract/operating-contract.json` o `ops/bootstrap/quality-report.json` y hay dudas sobre huecos o contradicciones.
25
- - **Skill**: `opera-contract-auditor`
26
- - **Acción**: Auditar consistencia, huecos y pseudoprecision antes de seguir ejecutando.
27
-
28
- ### Contexto: Riesgo operativo
29
- - **Trigger**: La accion afecta datos persistentes, despliegues, efectos externos o permisos sensibles.
30
- - **Skill**: `opera-policy-guard`
31
- - **Acción**: Consultar `ops/policy/autonomy.json` y decidir si hace falta aprobacion explicita.
32
-
33
- ### Contexto: Seguimiento operativo
34
- - **Trigger**: Se va a empezar, retomar o cerrar un bloque de trabajo.
35
- - **Skill**: No aplica skill externa.
36
- - **Acción**: Ejecutar `trackops status`, tomar la siguiente tarea con `trackops next`, usar `ops/contract/operating-contract.json` como contrato de maquina y mantener `ops/project_control.json` como fuente de verdad operativa del backlog.
37
-
38
- ## Cómo Añadir Nuevas Reglas
39
-
40
- Cada regla sigue este formato:
41
-
42
- ```markdown
43
- ### Contexto: [descripción]
44
- - **Trigger**: [qué activa la regla]
45
- - **Skill**: [nombre de la skill]
46
- - **Acción**: [qué debe hacer el agente]
47
- ```
48
-
49
- Al instalar una nueva skill con `trackops skill install <nombre>`, añade su regla de enrutamiento aquí.
1
+ # Router de Skills
2
+
3
+ ## Propósito
4
+ Este archivo define las reglas de enrutamiento entre el agente principal y las skills disponibles. Cuando el agente detecta un contexto específico, consulta estas reglas para decidir qué skill invocar.
5
+
6
+ ## Reglas de Enrutamiento
7
+
8
+ ### Contexto: Coordinacion operativa de OPERA
9
+ - **Trigger**: El proyecto tiene OPERA instalado y el usuario pregunta que hacer ahora, en que fase esta, si puede avanzar, que comando usar o si debe delegar.
10
+ - **Skill**: `opera-skill`
11
+ - **Accion**: Consultarla primero para decidir fase, estado, bloqueo, comandos y skills delegables. Si `opera-skill` esta instalada, tratar como coordinadora por defecto antes de elegir otras skills.
12
+
13
+ ### Contexto: Commit de código
14
+ - **Trigger**: El usuario pide hacer un commit o se completa un cambio de código.
15
+ - **Skill**: `commiter`
16
+ - **Acción**: Consulta la skill para formatear el mensaje de commit.
17
+
18
+ ### Contexto: Post-commit
19
+ - **Trigger**: Se acaba de realizar un commit exitoso.
20
+ - **Skill**: `changelog-updater`
21
+ - **Acción**: Ejecuta el script de actualización del changelog.
22
+
23
+ ### Contexto: Arranque asistido del proyecto
24
+ - **Trigger**: El usuario tiene una idea, una especificación parcial o TrackOps ha generado `ops/bootstrap/agent-handoff.md`.
25
+ - **Skill**: `project-starter-skill`
26
+ - **Acción**: Convertir el contexto del usuario en `ops/bootstrap/intake.json`, `ops/bootstrap/spec-dossier.md` y `ops/bootstrap/open-questions.md` cuando haga falta.
27
+
28
+ ### Contexto: Auditoria del contrato
29
+ - **Trigger**: Existe `ops/contract/operating-contract.json` o `ops/bootstrap/quality-report.json` y hay dudas sobre huecos o contradicciones.
30
+ - **Skill**: `opera-contract-auditor`
31
+ - **Acción**: Auditar consistencia, huecos y pseudoprecision antes de seguir ejecutando.
32
+
33
+ ### Contexto: Riesgo operativo
34
+ - **Trigger**: La accion afecta datos persistentes, despliegues, efectos externos o permisos sensibles.
35
+ - **Skill**: `opera-policy-guard`
36
+ - **Acción**: Consultar `ops/policy/autonomy.json` y decidir si hace falta aprobacion explicita.
37
+
38
+ ### Contexto: Seguimiento operativo
39
+ - **Trigger**: Se va a empezar, retomar o cerrar un bloque de trabajo.
40
+ - **Skill**: No aplica skill externa.
41
+ - **Acción**: Ejecutar `trackops status`, tomar la siguiente tarea con `trackops next`, usar `ops/contract/operating-contract.json` como contrato de maquina y mantener `ops/project_control.json` como fuente de verdad operativa del backlog.
42
+
43
+ ## Cómo Añadir Nuevas Reglas
44
+
45
+ Cada regla sigue este formato:
46
+
47
+ ```markdown
48
+ ### Contexto: [descripción]
49
+ - **Trigger**: [qué activa la regla]
50
+ - **Skill**: [nombre de la skill]
51
+ - **Acción**: [qué debe hacer el agente]
52
+ ```
53
+
54
+ Al instalar una nueva skill con `trackops skill install <nombre>`, añade su regla de enrutamiento aquí.