@orchestrator-claude/cli 3.11.0 → 3.12.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 (33) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +1 -1
  3. package/dist/templates/base/CLAUDE.md.hbs +35 -332
  4. package/dist/templates/base/claude/hooks/dangling-workflow-guard.sh +33 -41
  5. package/dist/templates/base/claude/hooks/gate-guardian.sh +42 -43
  6. package/dist/templates/base/claude/hooks/orch-helpers.sh +25 -20
  7. package/dist/templates/base/claude/hooks/ping-pong-enforcer.sh +26 -40
  8. package/dist/templates/base/claude/hooks/prompt-orchestrator.sh +41 -0
  9. package/dist/templates/base/claude/hooks/session-orchestrator.sh +54 -0
  10. package/dist/templates/base/claude/hooks/workflow-guard.sh +53 -0
  11. package/dist/templates/base/claude/settings.json +37 -0
  12. package/dist/templates/base/claude/skills/workflow-status/SKILL.md +59 -291
  13. package/dist/templates/base/docker-compose.yml.hbs +2 -1
  14. package/package.json +1 -1
  15. package/templates/base/CLAUDE.md.hbs +35 -332
  16. package/templates/base/claude/hooks/dangling-workflow-guard.sh +33 -41
  17. package/templates/base/claude/hooks/gate-guardian.sh +42 -43
  18. package/templates/base/claude/hooks/orch-helpers.sh +25 -20
  19. package/templates/base/claude/hooks/ping-pong-enforcer.sh +26 -40
  20. package/templates/base/claude/hooks/prompt-orchestrator.sh +41 -0
  21. package/templates/base/claude/hooks/session-orchestrator.sh +54 -0
  22. package/templates/base/claude/hooks/workflow-guard.sh +53 -0
  23. package/templates/base/claude/settings.json +37 -0
  24. package/templates/base/claude/skills/workflow-status/SKILL.md +59 -291
  25. package/templates/base/docker-compose.yml.hbs +2 -1
  26. package/dist/templates/base/claude/hooks/post-artifact-generate.sh +0 -39
  27. package/dist/templates/base/claude/hooks/post-implement-validate.sh +0 -139
  28. package/dist/templates/base/claude/hooks/pre-agent-invoke.sh +0 -34
  29. package/dist/templates/base/claude/hooks/pre-phase-advance.sh +0 -40
  30. package/templates/base/claude/hooks/post-artifact-generate.sh +0 -39
  31. package/templates/base/claude/hooks/post-implement-validate.sh +0 -139
  32. package/templates/base/claude/hooks/pre-agent-invoke.sh +0 -34
  33. package/templates/base/claude/hooks/pre-phase-advance.sh +0 -40
@@ -1,322 +1,90 @@
1
1
  ---
2
2
  name: workflow-status
3
3
  description: Consulta status detalhado do workflow atual incluindo fase, artefatos, gates e proximos passos. Use para verificar progresso ou diagnosticar problemas.
4
- allowed-tools: Read, Grep, Glob
5
4
  ---
6
5
 
7
6
  # Workflow Status Skill
8
7
 
9
- ## Descricao
8
+ ## Data Source
10
9
 
11
- Esta skill fornece informacoes detalhadas sobre o status atual do workflow de orquestracao, incluindo fase atual, artefatos gerados, gates avaliados e proximos passos.
10
+ All workflow state is in **PostgreSQL** via MCP tools. NEVER read `.orchestrator/orchestrator-index.json`.
12
11
 
13
- ## Quando Usar
12
+ ### MCP Tools for Status Queries
14
13
 
15
- Use esta skill quando:
16
- - Precisar saber o status atual do workflow
17
- - Verificar quais artefatos foram gerados
18
- - Consultar progresso por fase
19
- - Identificar proximos passos
20
- - Verificar checkpoints disponiveis
21
- - Diagnosticar problemas no fluxo
22
-
23
- ## Invocacao
24
-
25
- Exemplos de como invocar esta skill:
14
+ | Tool | What it returns |
15
+ |------|----------------|
16
+ | `getStatus` | Current workflow: phase, status, pending action |
17
+ | `getWorkflows` | All workflows with phase configs |
18
+ | `getNextAction` | Next pending action (agent + status) |
19
+ | `getInvocations` | Agent invocation history |
20
+ | `getMetrics` | Workflow metrics (duration, counts) |
21
+ | `listCheckpoints` | Checkpoint history |
26
22
 
23
+ Load tools via ToolSearch before first use:
27
24
  ```
28
- "Qual o status atual do workflow?"
29
-
30
- "Mostre o progresso da implementacao"
31
-
32
- "Quais artefatos ja foram gerados?"
33
-
34
- "Em qual fase estamos?"
35
-
36
- "Quais sao os proximos passos?"
37
-
38
- "Liste os checkpoints disponiveis"
25
+ ToolSearch("select:mcp__orchestrator-tools__getStatus")
39
26
  ```
40
27
 
41
- ## Parametros
42
-
43
- | Parametro | Tipo | Obrigatorio | Descricao |
44
- |-----------|------|-------------|-----------|
45
- | `workflowId` | string | Nao | ID do workflow (usa atual se omitido) |
46
- | `detail_level` | enum | Nao | summary, standard, detailed |
47
- | `include_artifacts` | boolean | Nao | Incluir lista de artefatos |
48
- | `include_checkpoints` | boolean | Nao | Incluir lista de checkpoints |
49
- | `include_gates` | boolean | Nao | Incluir status dos gates |
50
-
51
- ### Valores de detail_level
52
-
53
- - **summary**: Apenas fase atual e status geral
54
- - **standard** (default): Fase, status, ultimos artefatos, proximo passo
55
- - **detailed**: Tudo incluindo historico completo
56
-
57
- ## Output
58
-
59
- A skill retorna informacoes estruturadas:
60
-
61
- ```json
62
- {
63
- "success": true,
64
- "workflow": {
65
- "id": "wf-123",
66
- "type": "feature_development",
67
- "feature": "OAuth2 Authentication",
68
- "status": "in_progress",
69
- "startedAt": "2025-12-09T10:00:00Z",
70
- "updatedAt": "2025-12-09T14:30:00Z"
71
- },
28
+ ## When to Use
72
29
 
73
- "currentPhase": {
74
- "name": "implement",
75
- "status": "in_progress",
76
- "startedAt": "2025-12-09T14:00:00Z",
77
- "progress": {
78
- "totalTasks": 10,
79
- "completedTasks": 6,
80
- "percentage": 60
81
- }
82
- },
30
+ - Check current workflow phase and progress
31
+ - Verify which artifacts have been generated
32
+ - Diagnose why a workflow is stuck
33
+ - List available checkpoints
34
+ - Review agent invocation history
83
35
 
84
- "phases": [
85
- {
86
- "name": "research",
87
- "status": "completed",
88
- "duration": "45m",
89
- "artifacts": ["research-context.md"]
90
- },
91
- {
92
- "name": "specify",
93
- "status": "completed",
94
- "duration": "1h",
95
- "artifacts": ["spec.md"]
96
- },
97
- {
98
- "name": "plan",
99
- "status": "completed",
100
- "duration": "1h 30m",
101
- "artifacts": ["plan.md"]
102
- },
103
- {
104
- "name": "tasks",
105
- "status": "completed",
106
- "duration": "45m",
107
- "artifacts": ["tasks.md"]
108
- },
109
- {
110
- "name": "implement",
111
- "status": "in_progress",
112
- "duration": "2h (ongoing)",
113
- "artifacts": ["impl-001.md", "impl-002.md"]
114
- }
115
- ],
36
+ ## How to Report Status
116
37
 
117
- "artifacts": [
118
- {
119
- "id": "art-001",
120
- "type": "research",
121
- "path": ".orchestrator/artifacts/research/research-context.md",
122
- "status": "validated",
123
- "createdAt": "2025-12-09T10:45:00Z"
124
- },
125
- {
126
- "id": "art-002",
127
- "type": "specification",
128
- "path": ".orchestrator/artifacts/specify/spec.md",
129
- "status": "validated",
130
- "createdAt": "2025-12-09T11:45:00Z"
131
- }
132
- ],
133
-
134
- "gates": {
135
- "research": { "passed": true, "evaluatedAt": "2025-12-09T10:50:00Z" },
136
- "specify": { "passed": true, "evaluatedAt": "2025-12-09T11:50:00Z" },
137
- "plan": { "passed": true, "evaluatedAt": "2025-12-09T13:20:00Z" },
138
- "tasks": { "passed": true, "evaluatedAt": "2025-12-09T14:00:00Z" },
139
- "implement": { "passed": false, "pending": true }
140
- },
141
-
142
- "checkpoints": [
143
- {
144
- "id": "chk-001",
145
- "phase": "specify",
146
- "message": "[orchestrator] specify: specification validated",
147
- "gitRef": "abc123",
148
- "createdAt": "2025-12-09T11:50:00Z"
149
- },
150
- {
151
- "id": "chk-002",
152
- "phase": "plan",
153
- "message": "[orchestrator] plan: technical plan approved",
154
- "gitRef": "def456",
155
- "createdAt": "2025-12-09T13:20:00Z"
156
- }
157
- ],
158
-
159
- "nextSteps": [
160
- "Completar TASK-007: Implementar middleware de autenticacao",
161
- "Executar testes de integracao",
162
- "Avaliar gate de implement para concluir workflow"
163
- ],
164
-
165
- "metrics": {
166
- "totalDuration": "4h 30m",
167
- "estimatedRemaining": "2h",
168
- "artifactsGenerated": 6,
169
- "gatesPassed": 4,
170
- "checkpointsCreated": 4
171
- }
172
- }
173
- ```
174
-
175
- ## Formato de Output para Usuario
176
-
177
- Quando invocada, a skill formata output amigavel:
38
+ ### Quick Status (default)
178
39
 
179
40
  ```markdown
180
- ## Status do Workflow
181
-
182
- **ID**: wf-123
183
- **Tipo**: feature_development
184
- **Feature**: OAuth2 Authentication
185
- **Status**: 🟡 Em Progresso
186
-
187
- ### Fase Atual: IMPLEMENT
188
-
189
- ```
190
- [████████░░░░░░░░░░░░] 60% (6/10 tasks)
191
- ```
41
+ ## Workflow Status
192
42
 
193
- ### Progresso por Fase
43
+ **ID**: wf-123 | **Type**: feature_development | **Status**: in_progress
44
+ **Phase**: IMPLEMENT (6/10 tasks)
194
45
 
195
- | Fase | Status | Duracao | Artefatos |
196
- |------|--------|---------|-----------|
197
- | research | ✅ Completo | 45m | 1 |
198
- | specify | Completo | 1h | 1 |
199
- | plan | Completo | 1h 30m | 1 |
200
- | tasks | Completo | 45m | 1 |
201
- | implement | 🟡 Em Progresso | 2h | 2 |
46
+ ### Phase Progress
47
+ | Phase | Status | Gate |
48
+ |-------|--------|------|
49
+ | specify | completed | passed |
50
+ | plan | completed | passed |
51
+ | tasks | completed | passed |
52
+ | implement | in_progress | pending |
202
53
 
203
- ### Gates
204
-
205
- - [x] research-complete
206
- - [x] specification-complete
207
- - [x] plan-complete
208
- - [x] tasks-complete
209
- - [ ] implementation-complete (pendente)
210
-
211
- ### Proximos Passos
212
-
213
- 1. Completar TASK-007: Implementar middleware de autenticacao
214
- 2. Executar testes de integracao
215
- 3. Avaliar gate de implement para concluir workflow
216
-
217
- ### Metricas
218
-
219
- - **Tempo Total**: 4h 30m
220
- - **Estimativa Restante**: 2h
221
- - **Artefatos**: 6
222
- - **Checkpoints**: 4
54
+ ### Next Action
55
+ Agent: implementer | Status: awaiting_agent
223
56
  ```
224
57
 
225
- ## Integracao com TypeScript
226
-
227
- Esta skill invoca o handler TypeScript:
58
+ ### Detailed Status (when user asks for details)
228
59
 
229
- ```typescript
230
- // src/presentation/skills/WorkflowStatusSkill.ts
60
+ Add to quick status:
61
+ - **Artifacts**: List with type, status (draft/validated), storage location
62
+ - **Checkpoints**: List with phase, git ref, timestamp
63
+ - **Invocations**: Agent history with duration and result
64
+ - **Metrics**: Total duration, artifacts generated, gates passed
231
65
 
232
- export class WorkflowStatusSkillHandler extends SkillHandler {
233
- name = 'workflow-status';
234
- description = 'Consulta status detalhado do workflow';
66
+ ## Diagnosing Common Problems
235
67
 
236
- async execute(input: WorkflowStatusInput): Promise<SkillResult> {
237
- // 1. Obtem workflow atual ou por ID
238
- // 2. Carrega orchestrator-index.json
239
- // 3. Coleta informacoes de fases
240
- // 4. Coleta status de gates
241
- // 5. Lista artefatos e checkpoints
242
- // 6. Calcula metricas
243
- // 7. Formata output
244
- }
245
- }
246
- ```
68
+ ### Workflow stuck no pending action
69
+ 1. Call `getStatus` to check current phase
70
+ 2. Call `getNextAction` — if `hasAction: false`:
71
+ - In implement phase call `completeWorkflow`
72
+ - In other phases orchestrator needs to set next pendingAction
247
73
 
248
- ## Casos de Uso
249
-
250
- ### Verificar Status Rapido
251
- ```
252
- User: "Status do workflow?"
253
- Skill: workflow-status com detail_level=summary
254
- Output: Fase atual, status, progresso percentual
255
- ```
256
-
257
- ### Relatorio Detalhado
258
- ```
259
- User: "Me de um relatorio completo do progresso"
260
- Skill: workflow-status com detail_level=detailed, todos includes=true
261
- Output: Relatorio completo com historico
262
- ```
74
+ ### Gate not passing
75
+ 1. Call `getStatus` to see which phase is current
76
+ 2. Check artifact exists for that phase via `artifactRetrieve`
77
+ 3. Check artifact status (draft vs validated)
78
+ 4. If draft → artifact-validator hook may not have fired
263
79
 
264
- ### Verificar Artefatos
265
- ```
266
- User: "Quais artefatos ja temos?"
267
- Skill: workflow-status com include_artifacts=true
268
- Output: Lista de artefatos com status e paths
269
- ```
270
-
271
- ### Diagnostico de Problema
272
- ```
273
- User: "Por que o workflow esta travado?"
274
- Skill: workflow-status com include_gates=true
275
- Output: Status detalhado mostrando gate pendente
276
- ```
277
-
278
- ## Comportamento em Casos Especiais
279
-
280
- ### Nenhum Workflow Ativo
281
- ```json
282
- {
283
- "success": false,
284
- "error": {
285
- "code": "NO_ACTIVE_WORKFLOW",
286
- "message": "Nenhum workflow ativo encontrado",
287
- "suggestion": "Use 'orchestrate start' para iniciar um novo workflow"
288
- }
289
- }
290
- ```
291
-
292
- ### Workflow Nao Encontrado
293
- ```json
294
- {
295
- "success": false,
296
- "error": {
297
- "code": "WORKFLOW_NOT_FOUND",
298
- "message": "Workflow 'wf-xyz' nao encontrado",
299
- "suggestion": "Verifique o ID ou use sem parametro para workflow atual"
300
- }
301
- }
302
- ```
303
-
304
- ### Index Corrompido
305
- ```json
306
- {
307
- "success": false,
308
- "error": {
309
- "code": "INDEX_CORRUPTED",
310
- "message": "orchestrator-index.json esta corrompido ou invalido",
311
- "suggestion": "Execute 'orchestrator config validate' para diagnosticar"
312
- }
313
- }
314
- ```
80
+ ### Phase stuck in in_progress
81
+ 1. Check if agent invocation completed (`getInvocations`)
82
+ 2. Check if `completeAgentInvocation` was called
83
+ 3. If not → pending action may be stale
315
84
 
316
- ## Notas Importantes
85
+ ## Important Notes
317
86
 
318
- 1. Esta skill e **read-only** - apenas consulta, nao modifica estado
319
- 2. Dados vem de `orchestrator-index.json` e artefatos
320
- 3. Metricas de tempo sao calculadas a partir de timestamps
321
- 4. Progresso de tarefas requer leitura de tasks.md
322
- 5. Cache de 30 segundos para evitar leituras repetidas
87
+ 1. This skill is **read-only** it queries state, never modifies it
88
+ 2. All data comes from PostgreSQL via MCP tools
89
+ 3. Artifacts content is in MinIO use `artifactRetrieve` to read
90
+ 4. The `ping-pong-enforcer` hook auto-injects getNextAction after Agent calls
@@ -154,7 +154,8 @@ services:
154
154
  POSTGRES_PORT: "5432"
155
155
  DATABASE_URL: postgresql://${POSTGRES_USER:-orchestrator}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB:-orchestrator}
156
156
  # MinIO object storage (requires --profile object-storage or --profile full)
157
- ENABLE_OBJECT_STORAGE: "${ENABLE_OBJECT_STORAGE:-true}"
157
+ # ADR-013 Phase 4 (F-07): Default false — set true in .env when using object-storage profile
158
+ ENABLE_OBJECT_STORAGE: "${ENABLE_OBJECT_STORAGE:-false}"
158
159
  OBJECT_STORAGE_PROVIDER: minio
159
160
  OBJECT_STORAGE_ENDPOINT: "http://minio:9000"
160
161
  OBJECT_STORAGE_REGION: us-east-1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orchestrator-claude/cli",
3
- "version": "3.11.0",
3
+ "version": "3.12.0",
4
4
  "description": "Orchestrator CLI - Project scaffolding, migration and management",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",