@orchestrator-claude/definitions 3.31.0 → 3.31.1
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.
- package/agents/adversarial-reviewer.md +1 -1
- package/agents/reviewer.md +3 -1
- package/manifest.json +6 -6
- package/package.json +1 -1
- package/skills/orchestrator/SKILL.md +17 -0
- package/skills/release/SKILL.md +41 -0
|
@@ -54,7 +54,7 @@ MUST follow these steps in order. Do not skip steps.
|
|
|
54
54
|
|
|
55
55
|
7. **Store critique artifact** — call `artifactStore` with:
|
|
56
56
|
- `artifact_kind: adversarial_review`
|
|
57
|
-
- `phase
|
|
57
|
+
- `phase: "adversarial_review"` — **always use this literal string, regardless of the phase of the artifact under review** (S188 fix: OQ-1 Option B; S185 artifacts stored at `phase='research'` are NOT migrated — applies from S186 onward)
|
|
58
58
|
- `content`: the full structured critique (see Output Format)
|
|
59
59
|
- `metadata.persona_id`: the persona used
|
|
60
60
|
- `metadata.iteration`: iteration number
|
package/agents/reviewer.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: reviewer
|
|
3
3
|
description: Agente Revisor que valida artefatos e codigo produzidos por outros agentes. Use para code review, validacao de specs/plans/tasks, e aprovacao de gates.
|
|
4
|
-
tools: Read, Grep, Glob, Bash, Write, Edit, mcp__orchestrator-extended__artifactRetrieve
|
|
4
|
+
tools: Read, Grep, Glob, Bash, Write, Edit, mcp__orchestrator-extended__artifactRetrieve, mcp__orchestrator-extended__artifactStore
|
|
5
5
|
model: sonnet
|
|
6
6
|
color: yellow
|
|
7
7
|
permissionMode: default
|
|
@@ -29,6 +29,8 @@ Sua funcao e revisar e validar artefatos e codigo produzidos por outros agentes.
|
|
|
29
29
|
## Ferramentas Disponiveis
|
|
30
30
|
|
|
31
31
|
### MCP Tools
|
|
32
|
+
- `artifactRetrieve(artifactId)`: Retrieve artifact under review from MinIO
|
|
33
|
+
- `artifactStore(workflowId, phase, content, ...)`: **Store review artifact directly** — your own review output (review.md, findings, verdict). Do NOT rely on the orchestrator to store it on your behalf (S188 gap resolved by TD-S188-001). Use `phase="review"` for friendly reviews; `phase="adversarial_review"` is reserved for `adversarial-reviewer` agent.
|
|
32
34
|
- `validateArtifact(path, type)`: Validacao automatizada
|
|
33
35
|
- `lookupKnowledgeBase(topic)`: Busca padroes e convencoes
|
|
34
36
|
|
package/manifest.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "orchestrator-definitions/v1",
|
|
3
3
|
"namespace": "orchestrator",
|
|
4
|
-
"version": "3.31.
|
|
5
|
-
"generatedAt": "2026-05-
|
|
4
|
+
"version": "3.31.1",
|
|
5
|
+
"generatedAt": "2026-05-23T19:07:04.611Z",
|
|
6
6
|
"definitions": {
|
|
7
7
|
"agents": [
|
|
8
8
|
{
|
|
9
9
|
"slug": "adversarial-reviewer",
|
|
10
10
|
"file": "agents/adversarial-reviewer.md",
|
|
11
11
|
"version": "1.0.0",
|
|
12
|
-
"checksum": "sha256:
|
|
12
|
+
"checksum": "sha256:1ef78465016dab1cb1a615494a2008bcb210757e64584dfd291768b178f96293",
|
|
13
13
|
"supersedes": null,
|
|
14
14
|
"metadata": {}
|
|
15
15
|
},
|
|
@@ -145,7 +145,7 @@
|
|
|
145
145
|
"slug": "reviewer",
|
|
146
146
|
"file": "agents/reviewer.md",
|
|
147
147
|
"version": "1.0.0",
|
|
148
|
-
"checksum": "sha256:
|
|
148
|
+
"checksum": "sha256:9486f431017050ee188314a6f0225dbb654bf9202d5377be5b71fa77e7422046",
|
|
149
149
|
"supersedes": null,
|
|
150
150
|
"metadata": {}
|
|
151
151
|
},
|
|
@@ -299,7 +299,7 @@
|
|
|
299
299
|
"slug": "orchestrator",
|
|
300
300
|
"file": "skills/orchestrator/SKILL.md",
|
|
301
301
|
"version": "1.0.0",
|
|
302
|
-
"checksum": "sha256:
|
|
302
|
+
"checksum": "sha256:89cd6fe31a0a8626bada2eb99e2c74118127174f662466b09813a74b16b58694",
|
|
303
303
|
"supersedes": null,
|
|
304
304
|
"metadata": {}
|
|
305
305
|
},
|
|
@@ -347,7 +347,7 @@
|
|
|
347
347
|
"slug": "release",
|
|
348
348
|
"file": "skills/release/SKILL.md",
|
|
349
349
|
"version": "1.0.0",
|
|
350
|
-
"checksum": "sha256:
|
|
350
|
+
"checksum": "sha256:97e132fc96b1a0c65d77f3ad209dd1a23e9518a29eb775529f4e1cb6ea248c26",
|
|
351
351
|
"supersedes": null,
|
|
352
352
|
"metadata": {}
|
|
353
353
|
},
|
package/package.json
CHANGED
|
@@ -83,6 +83,23 @@ Sub-agents MUST persist artifacts to MinIO via `artifactStore` (universal rule,
|
|
|
83
83
|
|
|
84
84
|
<!-- TODO S182 (OQ-4): per-phase agent override (.phases[n].agent) deferred — S182 will resolve permissive vs registry-validated vs KnownAgent-enum strategy after agent list complete -->
|
|
85
85
|
|
|
86
|
+
#### 2c.1 Implementer-specific dispatch addenda (TD-S188-002)
|
|
87
|
+
|
|
88
|
+
When dispatching `implementer` (phase=`implement`), the generic template above is **insufficient**. The S188 implement phase surfaced an ambiguity: the implementer interpreted `createCheckpoint` as requiring a git commit beforehand, producing 4 unsolicited commits per dispatch (commit prefix also leaked from BACKLOG context: `feat(s186)` instead of `feat(s188)`). To prevent recurrence, append the following **commit policy block** to every implementer dispatch prompt:
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
[Commit Policy]
|
|
92
|
+
- createCheckpoint (mcp__orchestrator-tools__createCheckpoint) is a PostgreSQL state snapshot per RFC-012. It is INDEPENDENT of git. You do NOT need to commit before calling it. Calling createCheckpoint with no uncommitted changes is the normal path.
|
|
93
|
+
- Commit policy for this dispatch: <one of>
|
|
94
|
+
a) "DO NOT commit — orchestrator owns the closure commit at review gate."
|
|
95
|
+
b) "Commit per-phase using prefix `<feat|fix|refactor>(s<N>): <subject>` — confirm prefix before commit." (use when implement phase exceeds 80k tokens or spans multiple fases)
|
|
96
|
+
- If you commit, the prefix MUST be: `<feat|fix|refactor>(s<CURRENT_SESSION>):` — do NOT infer from BACKLOG examples or previous session context.
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Substitute `<CURRENT_SESSION>` with the active session number (e.g., `s189`) and pick **exactly one** of (a) or (b) — never leave both options visible. The block goes **after** `[Task]` and **before** the artifactStore instruction.
|
|
100
|
+
|
|
101
|
+
If the orchestrator (main) wants to own all commits, prefer option (a) + call `createCheckpoint` itself after the implement phase completes — do NOT delegate that call to implementer.
|
|
102
|
+
|
|
86
103
|
### 2d. Gate Check
|
|
87
104
|
|
|
88
105
|
After each sub-agent completes, present the artifact summary and ask for approval:
|
package/skills/release/SKILL.md
CHANGED
|
@@ -250,6 +250,46 @@ git commit -m "chore: sync definitions manifest checksums"
|
|
|
250
250
|
|
|
251
251
|
**REGRA:** Nunca faca release com definitions alteradas sem manifest actualizado. Isso causa uma release extra desnecessaria (como aconteceu no v3.9.3 -> v3.9.4).
|
|
252
252
|
|
|
253
|
+
## Secret Audit (Quarterly — TD-S188-003)
|
|
254
|
+
|
|
255
|
+
Release CI/CD depende de 3 secrets em `.github/workflows/release.yml`:
|
|
256
|
+
|
|
257
|
+
| Secret | Purpose | Notas |
|
|
258
|
+
|---|---|---|
|
|
259
|
+
| `NPM_TOKEN` | Publica `@orchestrator-claude/*` packages | type=Automation (bypassa 2FA em CI). 404 PUT durante publish = token issue, NÃO scope-missing (S186 hard rule). |
|
|
260
|
+
| `DOCKER_PASSWORD` | Login Docker Hub (user `cmac01`) | NÃO confundir com `DOCKER_TOKEN`. S186 release quebrou porque release.yml linhas 40+83 referenciavam o nome errado. Cross-reference `grep DOCKER_ release.yml` antes de instruir user a regerar secret. |
|
|
261
|
+
| `DOCKER_USERNAME` | Docker Hub user identifier | Raramente roda; muda só se conta migrar. |
|
|
262
|
+
|
|
263
|
+
**Hard rule:** Antes de QUALQUER release, audite idade dos 3 secrets críticos. Se algum > 90 dias, **bloqueie release** e rotacione primeiro.
|
|
264
|
+
|
|
265
|
+
### Comando de audit
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
# Lista timestamp + idade em dias dos 3 secrets críticos do release.yml
|
|
269
|
+
gh secret list --json name,updatedAt | jq -r \
|
|
270
|
+
'.[] | select(.name | IN("NPM_TOKEN","DOCKER_PASSWORD","DOCKER_USERNAME")) |
|
|
271
|
+
"\(.name)\tupdated \(.updatedAt)\tage \(((now - (.updatedAt | fromdateiso8601)) / 86400 | floor))d"'
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
Output esperado (idade < 90d em todos):
|
|
275
|
+
```
|
|
276
|
+
DOCKER_PASSWORD updated 2026-02-10T... age 92d ← ROTACIONAR
|
|
277
|
+
DOCKER_USERNAME updated 2025-08-15T... age 271d ← stable, mas confirme válido
|
|
278
|
+
NPM_TOKEN updated 2026-04-20T... age 23d ← OK
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
### Rotação de secret expirante
|
|
282
|
+
|
|
283
|
+
1. **Pause release** — NÃO execute `release.sh`.
|
|
284
|
+
2. Regere o secret na origem:
|
|
285
|
+
- `NPM_TOKEN`: https://www.npmjs.com/settings/<user>/tokens (Generate New → Automation type)
|
|
286
|
+
- `DOCKER_PASSWORD`: Docker Hub → Account Settings → Security → New Access Token
|
|
287
|
+
3. Atualize no GitHub: `gh secret set <NAME> --body "<new-value>"` (executar do CWD repo)
|
|
288
|
+
4. Re-rode comando de audit acima — confirmar `updatedAt` fresco (idade < 1d).
|
|
289
|
+
5. Proceda com release.
|
|
290
|
+
|
|
291
|
+
**Histórico:** S186 release pipeline broke porque DOCKER_PASSWORD estava ausente (incorretamente referenciado como `DOCKER_TOKEN` em `release.yml` linhas 40+83). Aprendizagem capturada em hard rules S185→S188 carryover (BACKLOG).
|
|
292
|
+
|
|
253
293
|
## Checklist Pre-Release
|
|
254
294
|
|
|
255
295
|
- [ ] CHANGELOG.md atualizado com todas as mudancas
|
|
@@ -259,3 +299,4 @@ git commit -m "chore: sync definitions manifest checksums"
|
|
|
259
299
|
- [ ] Na branch main
|
|
260
300
|
- [ ] Dry-run executado e revisado
|
|
261
301
|
- [ ] Definitions manifest sincronizado (se houve alteracao em definitions)
|
|
302
|
+
- [ ] **Secret audit executado** — nenhum dos 3 secrets críticos (`NPM_TOKEN`, `DOCKER_PASSWORD`, `DOCKER_USERNAME`) > 90 dias (ver seção "Secret Audit")
|