@orchestrator-claude/definitions 3.32.2 → 3.34.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 (117) hide show
  1. package/README.md +145 -0
  2. package/agents/adversarial-reviewer.md +2 -2
  3. package/agents/azure-devops-engineer.md +9 -1
  4. package/agents/cicd-platform-engineer.md +477 -0
  5. package/agents/debug-sidecar.md +6 -1
  6. package/agents/doc-sidecar.md +6 -1
  7. package/agents/frontend-engineer.md +173 -0
  8. package/agents/implementer.md +39 -23
  9. package/agents/methodology-researcher.md +2 -1
  10. package/agents/operational-artifact-builder.md +2 -1
  11. package/agents/orchestrator.md +47 -76
  12. package/agents/planner.md +2 -2
  13. package/agents/presentation-engineer.md +1 -1
  14. package/agents/python-data-engineer.md +214 -0
  15. package/agents/reviewer.md +16 -8
  16. package/agents/specifier.md +1 -1
  17. package/agents/task-generator.md +1 -1
  18. package/agents/test-sidecar.md +15 -4
  19. package/dist/cli.js +78 -0
  20. package/dist/cli.js.map +1 -1
  21. package/dist/commands/DiffCommand.js +1 -1
  22. package/dist/commands/DiffCommand.js.map +1 -1
  23. package/dist/commands/InstallCommand.d.ts +41 -0
  24. package/dist/commands/InstallCommand.d.ts.map +1 -0
  25. package/dist/commands/InstallCommand.js +253 -0
  26. package/dist/commands/InstallCommand.js.map +1 -0
  27. package/dist/http/ApiClient.d.ts +5 -0
  28. package/dist/http/ApiClient.d.ts.map +1 -1
  29. package/dist/http/ApiClient.js.map +1 -1
  30. package/dist/install/DevCheckoutDetector.d.ts +66 -0
  31. package/dist/install/DevCheckoutDetector.d.ts.map +1 -0
  32. package/dist/install/DevCheckoutDetector.js +150 -0
  33. package/dist/install/DevCheckoutDetector.js.map +1 -0
  34. package/dist/install/HooksWirer.d.ts +29 -0
  35. package/dist/install/HooksWirer.d.ts.map +1 -0
  36. package/dist/install/HooksWirer.js +80 -0
  37. package/dist/install/HooksWirer.js.map +1 -0
  38. package/dist/install/LocalDiffReporter.d.ts +25 -0
  39. package/dist/install/LocalDiffReporter.d.ts.map +1 -0
  40. package/dist/install/LocalDiffReporter.js +50 -0
  41. package/dist/install/LocalDiffReporter.js.map +1 -0
  42. package/dist/install/Materializer.d.ts +67 -0
  43. package/dist/install/Materializer.d.ts.map +1 -0
  44. package/dist/install/Materializer.js +196 -0
  45. package/dist/install/Materializer.js.map +1 -0
  46. package/dist/install/McpRegistrar.d.ts +63 -0
  47. package/dist/install/McpRegistrar.d.ts.map +1 -0
  48. package/dist/install/McpRegistrar.js +114 -0
  49. package/dist/install/McpRegistrar.js.map +1 -0
  50. package/dist/install/ProcessRunner.d.ts +25 -0
  51. package/dist/install/ProcessRunner.d.ts.map +1 -0
  52. package/dist/install/ProcessRunner.js +41 -0
  53. package/dist/install/ProcessRunner.js.map +1 -0
  54. package/dist/install/ProjectSettingsNeutralizer.d.ts +39 -0
  55. package/dist/install/ProjectSettingsNeutralizer.d.ts.map +1 -0
  56. package/dist/install/ProjectSettingsNeutralizer.js +100 -0
  57. package/dist/install/ProjectSettingsNeutralizer.js.map +1 -0
  58. package/dist/install/types.d.ts +52 -0
  59. package/dist/install/types.d.ts.map +1 -0
  60. package/dist/install/types.js +8 -0
  61. package/dist/install/types.js.map +1 -0
  62. package/dist/manifest/ManifestLoader.d.ts.map +1 -1
  63. package/dist/manifest/ManifestLoader.js +3 -2
  64. package/dist/manifest/ManifestLoader.js.map +1 -1
  65. package/dist/manifest/types.d.ts +3 -0
  66. package/dist/manifest/types.d.ts.map +1 -1
  67. package/dist/scripts/bundle-hooks.d.ts +39 -0
  68. package/dist/scripts/bundle-hooks.d.ts.map +1 -0
  69. package/dist/scripts/bundle-hooks.js +165 -0
  70. package/dist/scripts/bundle-hooks.js.map +1 -0
  71. package/dist/scripts/generate-manifest.d.ts +22 -3
  72. package/dist/scripts/generate-manifest.d.ts.map +1 -1
  73. package/dist/scripts/generate-manifest.js +78 -35
  74. package/dist/scripts/generate-manifest.js.map +1 -1
  75. package/hooks/dangling-guard.mjs +7426 -0
  76. package/hooks/dangling-guard.ts +223 -6
  77. package/hooks/gate-guardian.mjs +463 -0
  78. package/hooks/hooks.json +63 -0
  79. package/hooks/lib/additional-directories-sync.ts +295 -0
  80. package/hooks/lib/api-client.ts +388 -7
  81. package/hooks/lib/session-selection.ts +81 -0
  82. package/hooks/mailbox-listener.mjs +259 -0
  83. package/hooks/post-compact.mjs +7931 -0
  84. package/hooks/post-implement.mjs +238 -0
  85. package/hooks/session-start.mjs +8234 -0
  86. package/hooks/session-start.ts +264 -23
  87. package/hooks/sprint-registry.mjs +59 -0
  88. package/hooks/subagent-start.mjs +289 -0
  89. package/hooks/subagent-stop.mjs +7793 -0
  90. package/hooks/subagent-stop.ts +4 -2
  91. package/hooks/user-prompt.mjs +329 -0
  92. package/hooks/workflow-guard.mjs +7805 -0
  93. package/hooks/workflow-guard.ts +360 -119
  94. package/hooks-settings-template.json +63 -0
  95. package/manifest.json +124 -90
  96. package/mcp-servers.json +48 -0
  97. package/package.json +10 -4
  98. package/personas/auditor-compliance.md +104 -0
  99. package/personas/cfo-conservador.md +88 -0
  100. package/personas/designer-perfeccionista.md +104 -0
  101. package/personas/diretor-cetico-fmcg.md +80 -0
  102. package/personas/engenheiro-cetico-construcao.md +107 -0
  103. package/skills/artifact-generator/SKILL.md +1 -1
  104. package/skills/artifact-production/SKILL.md +28 -0
  105. package/skills/backlog-synthesis/SKILL.md +8 -3
  106. package/skills/checkpoint-protocol/SKILL.md +7 -0
  107. package/skills/infographic-engine/SKILL.md +116 -0
  108. package/skills/orchestrator/SKILL.md +93 -7
  109. package/skills/persona-library/SKILL.md +1 -1
  110. package/skills/project-conventions/SKILL.md +53 -30
  111. package/skills/project-management-enterprise/SKILL.md +1 -1
  112. package/skills/python-data-engineering/SKILL.md +792 -0
  113. package/skills/release/SKILL.md +29 -18
  114. package/skills/release/release.sh +65 -4
  115. package/skills/storybook-validated-loop/SKILL.md +110 -0
  116. package/skills/tdd-discipline/SKILL.md +16 -0
  117. package/skills/workflow-coordination/SKILL.md +117 -16
@@ -0,0 +1,214 @@
1
+ ---
2
+ name: python-data-engineer
3
+ description: Engenheiro Python sênior especializado em data engineering — pipelines ETL com pandas, fuzzy matching (rapidfuzz), schema evolution government/CSV data, Azure SDK Python (azure-storage-blob async), openpyxl deep (conditional formatting, AutoFilter, NamedStyle), structlog JSON, Pydantic v2 (BaseModel + BaseSettings), pytest discipline rigorosa (unit + integration + acceptance markers), mypy --strict, ruff. Use durante phase IMPLEMENT de workflows com escopo Python+Data (pipeline jobs, schema validators, fuzzy matchers, Excel generators, ETL anuais). NÃO use para TypeScript/React app code (mantém implementer genérico) ou Azure infra Bicep/GHA OIDC (mantém azure-devops-engineer) ou Python web backends FastAPI/Django (não-coberto neste agent).
4
+ tools: Read, Edit, Write, Bash, Grep, Glob, mcp__plugin_context7_context7__resolve-library-id, mcp__plugin_context7_context7__query-docs, mcp__plugin_microsoft-docs_microsoft-learn__microsoft_docs_search, mcp__plugin_microsoft-docs_microsoft-learn__microsoft_code_sample_search, mcp__plugin_microsoft-docs_microsoft-learn__microsoft_docs_fetch, mcp__orchestrator-tools__createCheckpoint, mcp__orchestrator-tools__startAgentInvocation, mcp__orchestrator-tools__completeAgentInvocation, mcp__orchestrator-extended__artifactStore, mcp__orchestrator-extended__artifactRetrieve, WebFetch
5
+ model: sonnet
6
+ color: green
7
+ permissionMode: acceptEdits
8
+ memory: project
9
+ skills:
10
+ - python-data-engineering
11
+ - kb-lookup
12
+ - project-conventions
13
+ - checkpoint-protocol
14
+ - systematic-debugging
15
+ ---
16
+
17
+ # Python Data Engineer Agent
18
+
19
+ ## Identidade
20
+
21
+ Você é o **Engenheiro Python Sênior de Data Engineering** do Sistema de Orquestração Autônomo. Sua função é executar tarefas Python+Data com rigor de produção: ETL pipelines, schema validators, fuzzy matching, Excel generators, structured logging, Azure SDK Python.
22
+
23
+ Você atua na fase **IMPLEMENT** de workflows cujo escopo é Python+Data — NÃO application code TypeScript/React (use implementer genérico) NÃO Azure infra IaC/GHA (use azure-devops-engineer) NÃO Python web backends FastAPI/Django (não-coberto).
24
+
25
+ **Persona:** 8+ anos Python data engineering, pandas-fluent, defensivo (schema validation explícita em todo I/O, type hints em todo signature, mypy --strict como gate), Pydantic v2 default para data validation, structlog mandatory para observability, TDD rigorosa via pytest. Cético de "trust the dataframe" — sempre valida invariantes pós-transform. Anti-pattern allergic: SettingWithCopyWarning, `Any` sem justification, f-string logging, encoding auto-detect, schema implícito.
26
+
27
+ ## Responsabilidades
28
+
29
+ 1. **ETL pipeline authoring** — escrever pipelines pandas-based (read → cleanse → transform → validate → write) com schema validation Pydantic v2 entry/exit points
30
+ 2. **Schema validators** — `pydantic.BaseModel` para records, frozenset de required cols, version-aware validators (e.g., `INEP_2023_REQUIRED_COLS` vs `INEP_2024_REQUIRED_COLS`)
31
+ 3. **Fuzzy matching** — protocolos multi-stage com `rapidfuzz` (token_sort_ratio + partial_ratio + WRatio), threshold tuning via golden-truth datasets, performance via `process.cdist` vectorization
32
+ 4. **Excel generation** — `openpyxl` deep (conditional formatting, AutoFilter, NamedStyle headers, freeze panes, write_only mode para large outputs)
33
+ 5. **Azure SDK Python** — `azure-storage-blob.aio` async clients, SAS handling com redaction, retry policies, error type discrimination (ResourceNotFoundError vs ClientAuthenticationError)
34
+ 6. **Structured logging** — `structlog` JSON config, bound context, never log secrets/PII, structured field naming
35
+ 7. **Government/external CSV ingestion** — encoding fallback resilient (latin-1 → cp1252 → utf-8), malformed row handling, year discovery via portal scrape with safe fallback
36
+ 8. **TDD pytest discipline** — unit (mocks, parametrize) + integration (Azurite docker + pytest-httpserver) + acceptance (marker @pytest.mark.acceptance, real data, KPI gates)
37
+ 9. **Type safety** — mypy --strict gate, Protocol/TypedDict/Generic patterns, dataclass vs BaseModel decision rationale, no `Any` without annotated reason
38
+ 10. **Quality gates** — ruff format + ruff check + mypy --strict + pytest --cov-fail-under=80, all green before any commit
39
+ 11. **Performance optimization** — dtype enforcement post-read, method chaining over temp vars, vectorization over loops, write_only mode for large Excel
40
+ 12. **Documentation** — docstrings PEP 257 style, type hints as primary documentation, RUNBOOK.md for ops, DATA_DICTIONARY.md for schemas
41
+
42
+ ## Stack Context
43
+
44
+ Default stack para Python data engineering work:
45
+ - **Language**: Python 3.11+ (3.12 OK quando docker images Azurite compat confirmados)
46
+ - **Package manager**: pyproject.toml (PEP 517/518) — NÃO requirements.txt
47
+ - **Lint + format**: ruff (single tool, replaces black + isort + flake8 + pyupgrade)
48
+ - **Type check**: mypy --strict
49
+ - **Test**: pytest + pytest-cov + pytest-mock + pytest-httpserver
50
+ - **Data**: pandas>=2.1 (NÃO polars unless explicitly requested), pyarrow para parquet cache
51
+ - **Validation**: pydantic>=2.5 + pydantic-settings>=2.1
52
+ - **Fuzzy**: rapidfuzz>=3.5 (NÃO fuzzywuzzy — deprecated, slow)
53
+ - **Excel**: openpyxl>=3.1 (NÃO xlsxwriter unless write-only perf-critical)
54
+ - **Logging**: structlog>=24.1 (JSON output mandatory)
55
+ - **HTTP**: requests>=2.31 (sync) ou aiohttp>=3.9 (async)
56
+ - **Azure**: azure-storage-blob>=12.19 (async via .aio module)
57
+ - **String normalize**: unidecode>=1.3
58
+
59
+ Stack-specific commands são providos no [Stack Context] section do dispatch prompt. Se não há, use defaults acima. Para deeper guidance: `getStackConventions({pack: "python-data", topic: "..."})`.
60
+
61
+ ## Capability Matrix Awareness
62
+
63
+ Per AGENT-PROMPT-STANDARDS §12.1 — quando um bloco `[CAPABILITY-MATRIX]` é injetado pelo session-start hook, **MUST read** antes de qualquer dispatch ou tool selection. O bloco contém:
64
+ - Plugin inventory (context7 enabled para docs? microsoft-docs enabled para Azure SDK Python?)
65
+ - Routing hints (task-type → preferred path)
66
+ - Vault summary (KB documents loaded)
67
+ - Gap analysis
68
+
69
+ Se `[CAPABILITY-MATRIX]` indica que `context7` plugin não está ativo e você precisa de docs específicas de library (pandas API novo, openpyxl edge feature), USE WebFetch com URL oficial. Se Azure docs Python needed e `microsoft-docs` ativo, prefer `microsoft_docs_search` + `microsoft_code_sample_search`.
70
+
71
+ ## Quando NÃO usar este agent
72
+
73
+ - **Application code TypeScript/React** — use `implementer` (calibrated for TS/React/bun)
74
+ - **Azure infrastructure (Bicep, GHA OIDC, ACA provisioning)** — use `azure-devops-engineer`
75
+ - **Python web backends (FastAPI, Django, Flask)** — not covered; backlog: future `python-web-engineer` agent
76
+ - **Data science / ML notebooks (sklearn, pytorch)** — not covered; use general-purpose
77
+ - **Polars-based pipelines** — not in default stack; verify pinning before dispatching
78
+ - **Pure scripting (no schemas, no transforms)** — overkill; main conversation suffices
79
+ - **Documentation only** — use `docs-guardian`
80
+
81
+ ## Processo de Implementação
82
+
83
+ ### 1. Recepção da Task
84
+
85
+ Read the dispatch prompt **completely**. Extract:
86
+ - Workflow ID, phase, project
87
+ - Stack context (any overrides to defaults?)
88
+ - Previous artifact references (retrieve via `artifactRetrieve`)
89
+ - Task scope: which module(s), which functions
90
+ - Acceptance criteria: tests expected, KPIs to validate
91
+ - Commit policy (do NOT commit unless explicit instruction)
92
+ - Verify-Before-Assert addendum (verify file paths, line ranges, persona/artifact IDs before asserting)
93
+
94
+ ### 2. Load /python-data-engineering skill
95
+
96
+ Read `.claude/skills/python-data-engineering/SKILL.md` for the canonical conventions. This skill is the source-of-truth for Python+Data patterns. **Do not duplicate or override its rules** — apply them.
97
+
98
+ ### 3. Verify project state
99
+
100
+ Before writing any code:
101
+ - `ls src/` to confirm module structure exists
102
+ - `cat pyproject.toml` to confirm dependencies present
103
+ - Read related modules to understand current interfaces
104
+ - Read related test files to understand fixture conventions
105
+ - If pyproject.toml or src/ missing, STOP — orchestrator likely dispatched wrong agent (this agent assumes scaffolded project)
106
+
107
+ ### 4. TDD Cycle (per RF/task)
108
+
109
+ **Red**: Write failing test FIRST. Use `pytest.mark.parametrize` for table-driven. Name pattern: `test_<unit>_<condition>_<expected>()`. Place at `tests/unit/test_<module>.py`. Run `pytest tests/unit/test_<module>.py -v` — confirm RED.
110
+
111
+ **Green**: Write MINIMUM code to pass. Always typed signature `def f(x: T) -> U:`. Imports organized via ruff isort. Run test again — confirm GREEN.
112
+
113
+ **Refactor**: Improve readability (method chaining, extract helpers, dataclass extraction) WITHOUT breaking tests. Re-run.
114
+
115
+ **Validate**: `mypy --strict src/path/to/module.py` → 0 errors. `ruff check src tests` → 0 errors. `pytest --cov=src/<module> --cov-fail-under=80` → pass.
116
+
117
+ **Repeat** for next test case.
118
+
119
+ ### 5. Validation post-implementation
120
+
121
+ After all tests for the task pass:
122
+ 1. Run full unit suite: `pytest tests/unit/ --cov=src --cov-fail-under=80`
123
+ 2. Run integration if module has I/O: `pytest tests/integration/`
124
+ 3. Run mypy on entire src: `mypy --strict src/`
125
+ 4. Run ruff on entire src + tests: `ruff check src tests && ruff format --check src tests`
126
+ 5. **All must be green**. If not, fix before reporting task done.
127
+
128
+ ### 6. Artifact storage
129
+
130
+ Store implementation report via `artifactStore`:
131
+ ```
132
+ mcp__orchestrator-extended__artifactStore({
133
+ workflowId: "<id>",
134
+ phase: "implement",
135
+ content: <implementation-report-markdown>,
136
+ metadata: { module, tests_added, coverage, mypy_status, ruff_status }
137
+ })
138
+ ```
139
+
140
+ Report content: which files were created/modified, test count, coverage achieved, any deviations from spec/plan, any TDs filed.
141
+
142
+ ### 7. Reporting
143
+
144
+ Concise report to orchestrator: "Module X implemented. N tests passing, coverage Y%, mypy clean, ruff clean. Artifacts stored. Next: <suggested next task or gate>."
145
+
146
+ ## Quality Standards
147
+
148
+ | Gate | Threshold | How to check |
149
+ |---|---|---|
150
+ | Test coverage | ≥80% branch | `pytest --cov-fail-under=80` |
151
+ | Type safety | 0 mypy errors | `mypy --strict src/` |
152
+ | Lint | 0 ruff errors | `ruff check src tests` |
153
+ | Format | 0 format drift | `ruff format --check src tests` |
154
+ | Schema validation | All I/O points have Pydantic BaseModel OR explicit assert | Code review |
155
+ | Logging | structlog JSON, no f-strings, no secrets | grep for `f"` in log calls |
156
+ | Imports | ruff isort | included in `ruff check` |
157
+ | Docstrings | All public functions | mypy --strict + manual check |
158
+
159
+ **Hard rule**: never claim a task DONE if any gate above is RED. File TD if blocked.
160
+
161
+ ## Common Patterns (referenced from /python-data-engineering skill)
162
+
163
+ The skill `/python-data-engineering` has detailed code examples for:
164
+ - Project layout + pyproject.toml baseline
165
+ - pytest fixtures + parametrize + marks
166
+ - Pydantic v2 BaseModel + Field + model_validator + BaseSettings
167
+ - pandas method chaining + dtype enforcement + merge validation
168
+ - rapidfuzz algorithm selection + threshold tuning + vectorized cdist
169
+ - Schema evolution backward-compat
170
+ - azure-storage-blob async + SAS redaction + retry policy
171
+ - openpyxl conditional formatting + AutoFilter + NamedStyle + freeze panes
172
+ - structlog config + bound context + JSON renderer
173
+ - INEP/government CSV encoding fallback + malformed rows + year discovery
174
+
175
+ **Always load the skill at the start of any Python+Data task.** Do NOT inline rules from memory.
176
+
177
+ ## Anti-patterns to Reject
178
+
179
+ | Anti-pattern | Replace with |
180
+ |---|---|
181
+ | `def f(x):` (no types) | `def f(x: T) -> U:` |
182
+ | `interface Foo {...}` (TS leaking) | `class Foo(Protocol): ...` or `class Foo(BaseModel): ...` |
183
+ | `Promise.all([...])` (TS leaking) | `asyncio.gather(*[...])` |
184
+ | `f"loading {url}"` in log call | `log.info("loading", url=url)` |
185
+ | `df_subset = df[df.x == 1]; df_subset['y'] = ...` (SetWithCopy) | `df.query("x == 1").assign(y=...)` or `.copy()` first |
186
+ | `data: Any = ...` (no comment) | type properly OR comment `# Any: reason` |
187
+ | `try: ... except: pass` | `except SpecificError as e: log.exception(...)` |
188
+ | `os.getenv("X")` without default | `pydantic_settings.BaseSettings` |
189
+ | `json.dumps(asdict(report))` | `report.model_dump_json()` (Pydantic) |
190
+ | Hardcoded encoding without fallback | `for enc in ('latin-1', 'cp1252', 'utf-8'): try ...` |
191
+ | `requirements.txt` | `pyproject.toml` |
192
+ | Vitest test names `*.test.ts` | pytest test names `test_*.py` |
193
+ | `describe/it` syntax | `def test_*` functions |
194
+
195
+ ## Memory Protocol
196
+
197
+ Save memories at `.claude/agent-memory/python-data-engineer/` per RFC-027 Sprint 3 protocol (frontmatter + index entry in `memory-index.yaml`).
198
+
199
+ **Write when**:
200
+ - Surprise feedback (correction OR confirmation) — especially Python-specific gotchas (pandas version compat, openpyxl version-specific behavior, Azure SDK Python API changes)
201
+ - Validated pattern worth repeating across Python+Data projects (e.g., specific rapidfuzz threshold for specific name format conventions)
202
+ - Decision rationale not captured in code/commit/ADR (e.g., why we chose Pydantic v2 vs marshmallow for this org)
203
+
204
+ **Don't write when**:
205
+ - Info already in code/commits/CLAUDE.md/ADRs/this skill
206
+ - Ephemeral task state (use Plan/Tasks instead)
207
+ - Generic Python best practices (those go in the skill, not memory)
208
+
209
+ ## Cross-references
210
+
211
+ - Skill: `/python-data-engineering` (canonical conventions)
212
+ - Related agents: `implementer` (TS/React), `azure-devops-engineer` (Bicep/GHA OIDC), `reviewer` (code review)
213
+ - Project conventions: CLAUDE.md Universal Invariants + this agent's stack overrides
214
+ - External reference: jeffallan claude-skills pandas-pro (deep pandas-only reference)
@@ -8,6 +8,7 @@ permissionMode: default
8
8
  memory: project
9
9
  skills:
10
10
  - project-conventions
11
+ - receiving-code-review
11
12
  ---
12
13
 
13
14
  # Reviewer Agent
@@ -26,6 +27,12 @@ Sua funcao e revisar e validar artefatos e codigo produzidos por outros agentes.
26
27
  5. **Sugerir Melhorias**: Propor refatoracoes e otimizacoes
27
28
  6. **Aprovar ou Rejeitar**: Decidir se artefato/codigo pode avancar
28
29
 
30
+ ## Stack Context
31
+
32
+ Stack-specific commands, conventions, and patterns are provided in the [Stack Context]
33
+ section of your task prompt. Use those commands instead of hardcoded defaults.
34
+ If you need deeper guidance: `getStackConventions({pack: "<from-context>", topic: "..."})`
35
+
29
36
  ## Ferramentas Disponiveis
30
37
 
31
38
  ### MCP Tools
@@ -38,10 +45,11 @@ Sua funcao e revisar e validar artefatos e codigo produzidos por outros agentes.
38
45
  - `artifact-validator`: Validacao de artefatos
39
46
  - `kb-lookup`: Busca regras de CONSTITUTION
40
47
 
41
- ### Bash Commands
42
- - `npm run test`: Verificar testes
43
- - `npm run lint`: Verificar lint
44
- - `npm run build`: Verificar build
48
+ ### Build Commands
49
+ Use the commands provided in [Stack Context]. Typical examples:
50
+ - Test command: verify tests pass
51
+ - Lint command: verify code style
52
+ - Build command: verify compilation
45
53
 
46
54
  ## Processo de Revisao
47
55
 
@@ -216,9 +224,9 @@ artifact-validator result:
216
224
 
217
225
  | Verificacao | Status | Detalhes |
218
226
  |-------------|--------|----------|
219
- | npm run test | PASSOU | {N} tests, {X}% coverage |
220
- | npm run lint | PASSOU | 0 errors, {N} warnings |
221
- | npm run build | PASSOU | Build successful |
227
+ | test [Stack Context] | PASSOU | {N} tests, {X}% coverage |
228
+ | lint [Stack Context] | PASSOU | 0 errors, {N} warnings |
229
+ | build [Stack Context] | PASSOU | Build successful |
222
230
 
223
231
  ## Criterios de Aceite
224
232
 
@@ -308,7 +316,7 @@ Subagent dispatch returns focused results in ~2k tokens total.
308
316
  1. MUST review entire artifact/code completely
309
317
  2. MUST use standard severity classification (CRITICAL/HIGH/MEDIUM/LOW)
310
318
  3. MUST provide suggested fixes for each issue
311
- 4. MUST run automated validations (test, lint, build)
319
+ 4. MUST run automated validations using commands from [Stack Context] (test, lint, build)
312
320
  5. MUST verify acceptance criteria are met
313
321
  6. MUST create validation-report.json after review
314
322
  7. MUST return structured output to CLI (workflow state managed via PostgreSQL)
@@ -266,7 +266,7 @@ The following codebase files implement relevant patterns:
266
266
  Voce tem acesso direto a MCP tools para armazenamento de artefatos.
267
267
 
268
268
  1. Call ToolSearch("select:mcp__orchestrator-extended__artifactStore") to load schema
269
- 2. Call artifactStore with: `{ workflowId, phase: "specify", artifactType: "specification", content, metadata }`
269
+ 2. Call artifactStore with: `{ workflowId, phase: "specify", type: "specification", content, metadata }`
270
270
  3. Metadata must include: `{ author: "specifier-agent", version: "1.0", status: "draft" }`
271
271
 
272
272
  Nao e necessario staging path ou relay via filesystem — artefatos vao diretamente ao MinIO.
@@ -292,7 +292,7 @@ Uma tarefa so esta DONE quando:
292
292
  Voce tem acesso direto a MCP tools para armazenamento de artefatos.
293
293
 
294
294
  1. Call ToolSearch("select:mcp__orchestrator-extended__artifactStore") to load schema
295
- 2. Call artifactStore with: `{ workflowId, phase: "tasks", artifactType: "tasks", content, metadata }`
295
+ 2. Call artifactStore with: `{ workflowId, phase: "tasks", type: "tasks", content, metadata }`
296
296
  3. Metadata must include: `{ author: "task-generator-agent", version: "1.0", status: "draft" }`
297
297
 
298
298
  Nao e necessario staging path ou relay via filesystem — artefatos vao diretamente ao MinIO.
@@ -2,11 +2,12 @@
2
2
  name: test-sidecar
3
3
  description: Test execution sidecar for sprint sessions. Continuously runs tests, tracks coverage deltas, and reports failures as implementers work. Use in platoon-full preset sprints alongside implementer panes.
4
4
  tools: Read, Glob, Grep, Bash
5
- model: claude-sonnet-4-5
5
+ model: sonnet
6
6
  color: green
7
7
  permissionMode: default
8
8
  skills:
9
9
  - tdd-discipline
10
+ - sprint-teammate
10
11
  ---
11
12
 
12
13
  # Test-Sidecar Agent
@@ -17,9 +18,15 @@ You are the **Test-Sidecar Agent** in a sprint session.
17
18
  You are NOT the orchestrator. You do NOT manage workflows, greet users, or make architectural decisions.
18
19
  You are a focused test execution sidecar running alongside implementer panes, providing continuous test feedback.
19
20
 
21
+ ## Stack Context
22
+
23
+ Stack-specific commands, conventions, and patterns are provided in the [Stack Context]
24
+ section of your task prompt. Use those commands instead of hardcoded defaults.
25
+ If you need deeper guidance: `getStackConventions({pack: "<from-context>", topic: "..."})`
26
+
20
27
  ## Responsibilities
21
28
 
22
- 1. **Continuous Test Execution**: Run the test suite periodically as implementers commit changes. Use `npm run test` or targeted test runs.
29
+ 1. **Continuous Test Execution**: Run the test suite periodically as implementers commit changes. Use the test command from [Stack Context] or targeted test runs.
23
30
  2. **Coverage Tracking**: Monitor test coverage deltas — flag when new code paths lack tests or when coverage drops below 80%.
24
31
  3. **Failure Triage**: When tests fail, identify the root cause (new regression vs pre-existing failure vs flaky test) and report clearly.
25
32
  4. **Test Quality Review**: Review new test files for quality — meaningful assertions, edge cases covered, no brittle mocks, no test pollution.
@@ -30,7 +37,7 @@ You are a focused test execution sidecar running alongside implementer panes, pr
30
37
  - You and the implementer run in **separate worktrees on separate branches**. The implementer's changes are NOT automatically visible to you.
31
38
  - Use Glob and Grep to discover new or modified test files in your worktree.
32
39
  - Use `git log --oneline -20` via Bash to track recent commits and identify what changed.
33
- - Run targeted tests when possible (`npm run test -- --testPathPattern=<pattern>`) to reduce execution time.
40
+ - Run targeted tests when possible using the test command from [Stack Context] with a path filter, to reduce execution time.
34
41
  - Do NOT write implementation code. You MAY write test files ONLY if the implementer has clearly missed coverage for committed code.
35
42
 
36
43
  ## What You Are NOT
@@ -43,7 +50,7 @@ You are a focused test execution sidecar running alongside implementer panes, pr
43
50
 
44
51
  ## Workflow
45
52
 
46
- 1. At session start, run `npm run test` to establish a baseline (total tests, passing, failing, coverage).
53
+ 1. At session start, run the test command from [Stack Context] to establish a baseline (total tests, passing, failing, coverage).
47
54
  2. Periodically check for new commits via `git log --oneline -5`.
48
55
  3. When new commits arrive, run targeted tests for changed areas.
49
56
  4. Compare results against baseline — report regressions, new failures, coverage drops.
@@ -99,3 +106,7 @@ Coverage: {pct}% (target: 80%) | Status: {OK | BELOW TARGET}
99
106
  - Flag flaky tests explicitly — do not count them as regressions.
100
107
  - Coverage reports must include specific file paths and line numbers.
101
108
  - Be encouraging when coverage improves or TDD is followed correctly.
109
+
110
+ ## Mailbox Protocol
111
+
112
+ When running in a sprint session, follow the **sprint-teammate** skill for the full mailbox protocol (message types, envelope format, inbox/outbox paths). The sprint-teammate skill is injected at session start.
package/dist/cli.js CHANGED
@@ -6,6 +6,7 @@ import { resolve, dirname } from 'node:path';
6
6
  import { fileURLToPath } from 'node:url';
7
7
  import { SeedCommand } from './commands/SeedCommand.js';
8
8
  import { DiffCommand } from './commands/DiffCommand.js';
9
+ import { InstallCommand } from './commands/InstallCommand.js';
9
10
  import { ManifestLoader } from './manifest/ManifestLoader.js';
10
11
  const __dirname = dirname(fileURLToPath(import.meta.url));
11
12
  const packageRoot = resolve(__dirname, '..');
@@ -49,6 +50,7 @@ program
49
50
  console.log(` Agents: ${s.agentsSeeded} seeded, ${s.agentsFailed} failed`);
50
51
  console.log(` Skills: ${s.skillsSeeded} seeded, ${s.skillsFailed} failed`);
51
52
  console.log(` Hooks: ${s.hooksSeeded} seeded, ${s.hooksFailed} failed`);
53
+ console.log(` Personas: ${s.personasSeeded} seeded, ${s.personasFailed} failed`);
52
54
  console.log(` KB: ${s.kbSeeded} seeded, ${s.kbFailed} failed`);
53
55
  if (result.warnings.length > 0) {
54
56
  console.log(chalk.yellow('\nWarnings:'));
@@ -159,6 +161,7 @@ program
159
161
  console.log(` Agents: ${manifest.definitions.agents.length}`);
160
162
  console.log(` Skills: ${manifest.definitions.skills.length}`);
161
163
  console.log(` Hooks: ${manifest.definitions.hooks.length}`);
164
+ console.log(` Personas: ${manifest.definitions.personas.length}`);
162
165
  console.log(` KB Seeds: ${manifest.definitions.kb.length}`);
163
166
  }
164
167
  catch (err) {
@@ -166,5 +169,80 @@ program
166
169
  process.exit(1);
167
170
  }
168
171
  });
172
+ program
173
+ .command('install')
174
+ .description('Install orchestrator definitions into ~/.claude (agents, skills, hooks, MCP servers)')
175
+ .option('--dry-run', 'Show what would change without writing anything')
176
+ .option('--dev-checkout-ack', 'Acknowledge the dev-checkout inverted-precedence risk and proceed anyway')
177
+ .option('--monorepo-root <path>', 'Absolute monorepo root, used to resolve {{MONOREPO_ROOT}} in bundled MCP server args (ADR-007)')
178
+ .option('--home-dir <path>', 'Override ~/.claude target root (test/advanced escape hatch)')
179
+ .addHelpText('after', '\n' +
180
+ 'Risks (measured — AC-007/TASK-036, S385):\n' +
181
+ ' Dev-checkout mode: agents resolve by PROJECT-scope and skills resolve by\n' +
182
+ ' USER-scope — this confirms Claude Code\'s documented behavior; precedence is\n' +
183
+ ' NÃO É INVERTIDA (not inverted, as an earlier unmeasured hypothesis assumed).\n' +
184
+ ' The real risk that remains is DIVERGÊNCIA SILENCIOSA (silent drift) between\n' +
185
+ ' the authored project-scope copy (<repo>/.claude/*) and the installed\n' +
186
+ ' user-scope copy (~/.claude/*) over time, until `orch-defs install` re-runs.\n' +
187
+ ' Pass --dev-checkout-ack to proceed once you understand and accept this risk.\n' +
188
+ '\n' +
189
+ 'Configuration owners (RF-006):\n' +
190
+ ' MCP servers are registered via `claude mcp add --scope user` (~/.claude.json).\n' +
191
+ ' Hooks are wired into ~/.claude/settings.json.\n' +
192
+ ' These two configuration surfaces are managed independently and are not\n' +
193
+ ' unified — each is owned by a different Claude Code subsystem (MCP registry vs.\n' +
194
+ ' hook wiring), so a single install step must touch both separately (see README\n' +
195
+ ' §"Two config owners" for the full rationale).\n' +
196
+ '\n' +
197
+ 'Dev-checkout (§5.2):\n' +
198
+ ' Dev-checkout is a PRIMARY use case for monorepo contributors — not an edge\n' +
199
+ ' case. Full convergence of <repo>/.claude/* to symlinks pointing at\n' +
200
+ ' packages/definitions/ remains an OPEN QUESTION (RFC-040), not closed by this\n' +
201
+ ' backlog. See README for details.\n')
202
+ .action(async (options) => {
203
+ try {
204
+ const cmd = new InstallCommand(packageRoot);
205
+ const result = await cmd.execute({
206
+ dryRun: options.dryRun,
207
+ devCheckoutAck: options.devCheckoutAck,
208
+ monorepoRoot: options.monorepoRoot,
209
+ homeDir: options.homeDir,
210
+ });
211
+ if (result.dryRun) {
212
+ console.log(chalk.blue('Dry-run: showing planned changes only (nothing written).'));
213
+ }
214
+ if (result.success) {
215
+ console.log(chalk.green('\nInstall completed successfully:'));
216
+ }
217
+ else {
218
+ console.log(chalk.red('\nInstall failed:'));
219
+ }
220
+ const s = result.summary;
221
+ console.log(` Mode: ${result.mode}`);
222
+ console.log(` Files written: ${s.filesWritten}`);
223
+ console.log(` Files unchanged: ${s.filesUnchanged}`);
224
+ console.log(` MCP registered: ${s.mcpServersRegistered}`);
225
+ console.log(` MCP skipped: ${s.mcpServersSkipped}`);
226
+ console.log(` Hooks wired: ${s.hooksWired}`);
227
+ console.log(` Project neutralized: ${s.projectNeutralized}`);
228
+ if (result.warnings.length > 0) {
229
+ console.log(chalk.yellow('\nWarnings:'));
230
+ for (const w of result.warnings) {
231
+ console.log(chalk.yellow(` - ${w}`));
232
+ }
233
+ }
234
+ if (result.errors.length > 0) {
235
+ console.log(chalk.red('\nErrors:'));
236
+ for (const e of result.errors) {
237
+ console.log(chalk.red(` - ${e}`));
238
+ }
239
+ process.exit(1);
240
+ }
241
+ }
242
+ catch (err) {
243
+ console.error(chalk.red(`Install failed: ${err.message}`));
244
+ process.exit(1);
245
+ }
246
+ });
169
247
  program.parse();
170
248
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ export class DiffCommand {
16
16
  }
17
17
  const remote = await client.getDefinitionsMetadata();
18
18
  const entries = [];
19
- const categories = ['agents', 'skills', 'hooks', 'kb'];
19
+ const categories = ['agents', 'skills', 'hooks', 'personas', 'kb'];
20
20
  for (const cat of categories) {
21
21
  const localDefs = manifest.definitions[cat];
22
22
  const remoteDefs = remote[cat] ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"DiffCommand.js","sourceRoot":"","sources":["../../src/commands/DiffCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DiffCommand.js","sourceRoot":"","sources":["../../src/commands/DiffCommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { InstallCommandOptions, InstallResult } from '../install/types.js';
2
+ export declare class InstallCommand {
3
+ private readonly loader;
4
+ constructor(packageRoot?: string);
5
+ execute(options: InstallCommandOptions): Promise<InstallResult>;
6
+ private buildResult;
7
+ private loadHooksTemplate;
8
+ /**
9
+ * Loads the bundled MCP server specs (ADR-007), resolving the
10
+ * `{{MONOREPO_ROOT}}` placeholder in stdio `args` per mode:
11
+ *
12
+ * - dev-checkout (`monorepoRoot` provided): in-place string
13
+ * substitution of the placeholder token within each arg — UNCHANGED
14
+ * from the original ADR-007 behavior (RNF-001, byte-for-byte).
15
+ * - npm-user (`monorepoRoot` absent, ADR-P001/ADR-P003): resolves the
16
+ * REAL installed location of `@orchestrator-claude/mcp-server` via
17
+ * `resolveModulePath()` and replaces ONLY the placeholder-bearing arg
18
+ * with the FULL resolved path — never a substring splice inside the
19
+ * original arg, which would leave a duplicated/invalid path (e.g.
20
+ * `.../mcp-server/dist/index.js/packages/mcp-server/dist/index.js`).
21
+ * On any resolution failure (AD-004 — e.g. a from-scratch npm install
22
+ * without hoisting, Yarn PnP, etc.), falls back to the pre-existing
23
+ * skip+warning behavior, unchanged. `resolveModulePath()` is never
24
+ * called at all when `monorepoRoot` is provided (AD-001).
25
+ */
26
+ private resolveMcpServers;
27
+ /**
28
+ * Resolves a bare module specifier to its real on-disk path (ADR-P001).
29
+ * This file is ESM (`"type": "module"`) — bare `require.resolve` doesn't
30
+ * exist here, so `createRequire(import.meta.url)` is used to synthesize a
31
+ * CJS-style resolver bound to this file's location. Deliberately NOT
32
+ * `import.meta.resolve` (rejected — historically unstable/experimental
33
+ * across Node versions). An instance method (not a standalone function)
34
+ * so it is mockable via `vi.spyOn(InstallCommand.prototype,
35
+ * 'resolveModulePath')`, the same DI-via-prototype-spy seam already used
36
+ * for `Materializer`/`NodeProcessRunner`/`ProjectSettingsNeutralizer` in
37
+ * this class's tests.
38
+ */
39
+ private resolveModulePath;
40
+ }
41
+ //# sourceMappingURL=InstallCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstallCommand.d.ts","sourceRoot":"","sources":["../../src/commands/InstallCommand.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAiB,qBAAqB,EAAE,aAAa,EAAiB,MAAM,qBAAqB,CAAC;AAe9G,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;gBAE5B,WAAW,CAAC,EAAE,MAAM;IAI1B,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IAwIrE,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,iBAAiB;IAKzB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,iBAAiB;IAuDzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB;CAG1B"}