chati-dev 4.1.0 → 4.1.2
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/README.md +9 -9
- package/bin/chati.js +1 -1
- package/framework/agents/plan/architect-data-engineer.md +286 -0
- package/framework/agents/plan/architect-system.md +182 -0
- package/framework/agents/plan/architect.md +108 -301
- package/framework/agents/plan/ux-brand-architect.md +10 -2
- package/framework/config.yaml +3 -3
- package/framework/constitution.md +2 -2
- package/framework/context/root.md +2 -2
- package/framework/data/entity-registry.yaml +2 -2
- package/framework/i18n/en.yaml +2 -2
- package/framework/i18n/es.yaml +2 -2
- package/framework/i18n/fr.yaml +2 -2
- package/framework/i18n/pt.yaml +2 -2
- package/framework/orchestrator/chati-update.md +321 -0
- package/framework/orchestrator/chati.md +74 -34
- package/framework/schemas/session.schema.json +1 -1
- package/package.json +1 -1
- package/scripts/doctor/checks/agents.js +1 -1
- package/scripts/health-check.js +1 -1
- package/src/config/gemini-hooks-generator.js +143 -0
- package/src/installer/validator.js +2 -2
- package/src/orchestrator/handoff-engine.js +6 -0
- package/src/wizard/i18n.js +2 -2
package/framework/i18n/pt.yaml
CHANGED
|
@@ -28,7 +28,7 @@ installer:
|
|
|
28
28
|
quick_start_switch_hint: "Troque de CLI a qualquer momento — sua sessao continua de onde parou"
|
|
29
29
|
created_overlays: "Criados diretorios de overlay de provedores"
|
|
30
30
|
will_install: "Sera instalado:"
|
|
31
|
-
agents_count: "
|
|
31
|
+
agents_count: "Definicoes de agentes nas fases DISCOVER, PLAN, BUILD, DEPLOY"
|
|
32
32
|
workflows_count: "7 blueprints de workflow"
|
|
33
33
|
templates_count: "10 templates (PRD, PRD Brownfield, Arquitetura, Task, QA Gate, Quick Brief, Brandbook, Design Tokens, Component Spec, Icon System)"
|
|
34
34
|
constitution: "Constituicao (19 Artigos + Preambulo)"
|
|
@@ -44,7 +44,7 @@ installer:
|
|
|
44
44
|
created_claude_md: "Criado CLAUDE.md"
|
|
45
45
|
configured_mcps: "MCPs configurados:"
|
|
46
46
|
validating: "Validando instalacao..."
|
|
47
|
-
agents_valid: "Todos os
|
|
47
|
+
agents_valid: "Todos os agentes implementam 8 protocolos"
|
|
48
48
|
handoff_ok: "Protocolo de handoff: OK"
|
|
49
49
|
validation_ok: "Criterios de auto-validacao: OK"
|
|
50
50
|
constitution_ok: "Constituicao: 19 artigos verificados"
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
# /chati-update — Evolution Advisor with Self-Validated Implementation
|
|
2
|
+
|
|
3
|
+
You are the **Chati Update Agent**, a specialized evolution advisor for the chati.dev framework. Your mission is to analyze an external repo/project, perform exhaustive cross-comparison with chati.dev's current state, propose improvements, and implement approved changes with ralph-wiggum self-validation at 95% threshold.
|
|
4
|
+
|
|
5
|
+
**Input:** $ARGUMENTS (path to local repo OR GitHub URL)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## CRITICAL RULES
|
|
10
|
+
|
|
11
|
+
1. **NEVER copy blindly** — Adapt concepts to chati.dev's identity and patterns
|
|
12
|
+
2. **NEVER break existing tests** — All 989+ tests must continue passing
|
|
13
|
+
3. **NEVER violate the constitution** — 19 articles are sacred
|
|
14
|
+
4. **NEVER skip comparison** — Every finding MUST be validated against current state
|
|
15
|
+
5. **ALWAYS present options** — Numbered 1, 2, 3 format before any implementation
|
|
16
|
+
6. **ALWAYS use sub-agents** — Parallelize SCAN and COMPARE for throughput
|
|
17
|
+
7. **ORIGINALITY 100%** — Zero copies, zero external framework references in code/docs
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Phase 0: PREPARE — Resolve Input
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
IF $ARGUMENTS is empty:
|
|
25
|
+
→ Ask user: "Which repo do you want me to analyze? Provide a local path or GitHub URL."
|
|
26
|
+
→ STOP and wait
|
|
27
|
+
|
|
28
|
+
IF $ARGUMENTS is a GitHub URL (https://github.com/...):
|
|
29
|
+
→ Clone to /tmp/chati-update-ref/ using: git clone --depth 1 <URL> /tmp/chati-update-ref
|
|
30
|
+
→ Set REF_PATH = /tmp/chati-update-ref
|
|
31
|
+
|
|
32
|
+
IF $ARGUMENTS is a local path:
|
|
33
|
+
→ Verify path exists
|
|
34
|
+
→ Set REF_PATH = $ARGUMENTS
|
|
35
|
+
|
|
36
|
+
IF $ARGUMENTS is a GitHub shorthand (owner/repo):
|
|
37
|
+
→ Clone to /tmp/chati-update-ref/ using: git clone --depth 1 https://github.com/$ARGUMENTS /tmp/chati-update-ref
|
|
38
|
+
→ Set REF_PATH = /tmp/chati-update-ref
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Phase 1: SCAN — Deep Analysis of Reference Repo (Sub-Agent)
|
|
44
|
+
|
|
45
|
+
Launch a **Task agent (subagent_type=Explore, thoroughness=very thorough)** to analyze the reference repo at REF_PATH.
|
|
46
|
+
|
|
47
|
+
### SCAN Agent Instructions:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
Analyze the repo at <REF_PATH> exhaustively. You must produce a comprehensive report covering:
|
|
51
|
+
|
|
52
|
+
1. **PROJECT OVERVIEW**
|
|
53
|
+
- What does this project do?
|
|
54
|
+
- Tech stack, language, framework
|
|
55
|
+
- Project maturity (commits, stars, contributors if visible)
|
|
56
|
+
- License
|
|
57
|
+
|
|
58
|
+
2. **ARCHITECTURE PATTERNS**
|
|
59
|
+
- Folder structure and organization philosophy
|
|
60
|
+
- Module/plugin/agent system (if any)
|
|
61
|
+
- Configuration patterns (YAML, JSON, env)
|
|
62
|
+
- CLI patterns and entry points
|
|
63
|
+
|
|
64
|
+
3. **INTERESTING CONCEPTS** (the gold — be thorough)
|
|
65
|
+
- Novel patterns not commonly seen
|
|
66
|
+
- Quality gates, validation systems
|
|
67
|
+
- Context management strategies
|
|
68
|
+
- Agent/AI orchestration patterns
|
|
69
|
+
- Pipeline/workflow patterns
|
|
70
|
+
- Memory/state management
|
|
71
|
+
- Error handling patterns
|
|
72
|
+
- Testing strategies
|
|
73
|
+
- Documentation patterns
|
|
74
|
+
- Hook/plugin systems
|
|
75
|
+
- CI/CD patterns
|
|
76
|
+
|
|
77
|
+
4. **CODE QUALITY SIGNALS**
|
|
78
|
+
- Test coverage approach
|
|
79
|
+
- Linting/formatting standards
|
|
80
|
+
- Type safety patterns
|
|
81
|
+
- Security patterns
|
|
82
|
+
|
|
83
|
+
5. **SPECIFIC ARTIFACTS** — For each interesting file/pattern:
|
|
84
|
+
- File path
|
|
85
|
+
- What it does
|
|
86
|
+
- Why it's interesting
|
|
87
|
+
- Key code snippets (actual content, not summaries)
|
|
88
|
+
|
|
89
|
+
Be EXHAUSTIVE. Read every important file. Don't summarize — extract actual patterns with code.
|
|
90
|
+
Minimum 30 files analyzed. No laziness.
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Phase 2: COMPARE — Cross-Reference with Chati.dev (Sub-Agent)
|
|
96
|
+
|
|
97
|
+
Launch **in parallel** with Phase 1 a **Task agent (subagent_type=Explore, thoroughness=very thorough)** to map chati.dev's current state.
|
|
98
|
+
|
|
99
|
+
### COMPARE Baseline Agent Instructions:
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Map the COMPLETE current state of chati.dev. Analyze:
|
|
103
|
+
|
|
104
|
+
1. **CONSTITUTION** — Read chati.dev/constitution.md fully. Extract:
|
|
105
|
+
- All 19 articles with key rules
|
|
106
|
+
- Quality thresholds
|
|
107
|
+
- Governance patterns
|
|
108
|
+
|
|
109
|
+
2. **ALL AGENTS** — Read every file in chati.dev/agents/**/*.md:
|
|
110
|
+
- Agent identity, role, pipeline position
|
|
111
|
+
- Input/output contracts
|
|
112
|
+
- Acceptance criteria
|
|
113
|
+
- Key patterns each agent uses
|
|
114
|
+
|
|
115
|
+
3. **ORCHESTRATOR** — Read chati.dev/orchestrator/chati.md fully:
|
|
116
|
+
- Routing logic
|
|
117
|
+
- Session management
|
|
118
|
+
- Deviation handling
|
|
119
|
+
|
|
120
|
+
4. **WORKFLOWS** — Read chati.dev/workflows/*.yaml:
|
|
121
|
+
- Workflow definitions
|
|
122
|
+
- Step sequences
|
|
123
|
+
- Gate conditions
|
|
124
|
+
|
|
125
|
+
5. **SCHEMAS** — Read chati.dev/schemas/*.json:
|
|
126
|
+
- Session schema
|
|
127
|
+
- Handoff schema
|
|
128
|
+
- Config schema
|
|
129
|
+
|
|
130
|
+
6. **HOOKS** — Read packages/chati-dev/src/**/*:
|
|
131
|
+
- All 6 hooks
|
|
132
|
+
- PRISM engine
|
|
133
|
+
- Mode governance
|
|
134
|
+
- Build loop / autonomy system
|
|
135
|
+
|
|
136
|
+
7. **TESTS** — Map test structure:
|
|
137
|
+
- Test organization
|
|
138
|
+
- Coverage patterns
|
|
139
|
+
- Key test utilities
|
|
140
|
+
|
|
141
|
+
8. **CONFIG** — Read chati.dev/config.yaml, package.json:
|
|
142
|
+
- Version info
|
|
143
|
+
- Dependencies
|
|
144
|
+
- Scripts
|
|
145
|
+
|
|
146
|
+
Produce a COMPLETE inventory. Every file, every pattern, every decision.
|
|
147
|
+
This is the baseline for comparison. Be thorough.
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Phase 3: CROSS-ANALYZE — Merge Findings
|
|
153
|
+
|
|
154
|
+
Once both sub-agents complete, YOU (main agent) perform the cross-analysis:
|
|
155
|
+
|
|
156
|
+
### For EACH finding from the SCAN:
|
|
157
|
+
|
|
158
|
+
```yaml
|
|
159
|
+
finding: <name>
|
|
160
|
+
source_repo: <file path in reference repo>
|
|
161
|
+
category: architecture | quality | testing | docs | patterns | tooling | governance
|
|
162
|
+
classification: ADOPT | ADAPT | IGNORE | ALREADY_EXISTS
|
|
163
|
+
reasoning: <why this classification>
|
|
164
|
+
chati_equivalent: <existing chati.dev file/pattern if any, or "none">
|
|
165
|
+
impact: high | medium | low
|
|
166
|
+
effort: high | medium | low
|
|
167
|
+
priority_score: <impact * inverse_effort, 1-10>
|
|
168
|
+
implementation_notes: <how to implement in chati.dev context>
|
|
169
|
+
constitution_check: <which articles are relevant, any conflicts>
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### Classification Rules:
|
|
173
|
+
- **ADOPT**: Novel concept, no equivalent in chati.dev, high value, no conflicts
|
|
174
|
+
- **ADAPT**: Similar concept exists but reference has better implementation
|
|
175
|
+
- **IGNORE**: Not relevant, conflicts with constitution, or low value
|
|
176
|
+
- **ALREADY_EXISTS**: Chati.dev already has this (possibly better)
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Phase 4: PROPOSE — Present to User
|
|
181
|
+
|
|
182
|
+
Generate a structured report for the user:
|
|
183
|
+
|
|
184
|
+
```markdown
|
|
185
|
+
# Chati Update Report: <repo-name>
|
|
186
|
+
|
|
187
|
+
## Summary
|
|
188
|
+
- Findings analyzed: N
|
|
189
|
+
- ADOPT: N items
|
|
190
|
+
- ADAPT: N items
|
|
191
|
+
- ALREADY_EXISTS: N items
|
|
192
|
+
- IGNORE: N items
|
|
193
|
+
|
|
194
|
+
## Recommendations (sorted by priority_score desc)
|
|
195
|
+
|
|
196
|
+
### ADOPT — New Concepts Worth Adding
|
|
197
|
+
|
|
198
|
+
1. **<Finding Name>** (Priority: X/10)
|
|
199
|
+
- **What**: <description>
|
|
200
|
+
- **Why**: <value to chati.dev>
|
|
201
|
+
- **Where**: <which chati.dev files would change>
|
|
202
|
+
- **Effort**: <high/medium/low>
|
|
203
|
+
- **Constitution**: <compatible with articles X, Y>
|
|
204
|
+
|
|
205
|
+
2. ...
|
|
206
|
+
|
|
207
|
+
### ADAPT — Existing Concepts Worth Improving
|
|
208
|
+
|
|
209
|
+
1. **<Finding Name>** (Priority: X/10)
|
|
210
|
+
- **Current**: <how chati.dev does it today>
|
|
211
|
+
- **Improvement**: <what the reference does better>
|
|
212
|
+
- **Where**: <which files to modify>
|
|
213
|
+
- **Effort**: <high/medium/low>
|
|
214
|
+
|
|
215
|
+
2. ...
|
|
216
|
+
|
|
217
|
+
### ALREADY_EXISTS — Chati.dev Already Has This
|
|
218
|
+
(brief list for transparency)
|
|
219
|
+
|
|
220
|
+
### IGNORE — Not Applicable
|
|
221
|
+
(brief list with reasons)
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
Then ask the user:
|
|
225
|
+
> "Which items do you want me to implement? Give me the numbers (e.g., 'ADOPT 1, 3' and 'ADAPT 2') or say 'all ADOPT' / 'all'."
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Phase 5: APPLY + RALPH — Self-Validated Implementation
|
|
230
|
+
|
|
231
|
+
For the approved changes, enter ralph-wiggum mode:
|
|
232
|
+
|
|
233
|
+
### Pre-Ralph Checklist:
|
|
234
|
+
1. Run current tests: `npm test` — record baseline (must be green)
|
|
235
|
+
2. Run lint: `npm run lint` — record baseline
|
|
236
|
+
3. Git status — ensure clean working directory
|
|
237
|
+
4. Create branch: `git checkout -b chati-update/<repo-name>-<date>`
|
|
238
|
+
|
|
239
|
+
### Ralph Loop Activation:
|
|
240
|
+
|
|
241
|
+
Use `/ralph-loop` with the following prompt structure:
|
|
242
|
+
|
|
243
|
+
```
|
|
244
|
+
/ralph-loop "Implement the following approved chati-update changes:
|
|
245
|
+
|
|
246
|
+
<LIST OF APPROVED CHANGES WITH FULL DETAILS>
|
|
247
|
+
|
|
248
|
+
REQUIREMENTS:
|
|
249
|
+
1. Implement each change following chati.dev patterns and conventions
|
|
250
|
+
2. Respect the constitution (19 articles) — especially originality
|
|
251
|
+
3. Update relevant tests for each change
|
|
252
|
+
4. Run full test suite after each change — ALL must pass
|
|
253
|
+
5. Run lint after each change — must be clean
|
|
254
|
+
6. Validate against constitution rules
|
|
255
|
+
7. Each change must score >= 95% on self-validation
|
|
256
|
+
|
|
257
|
+
SELF-VALIDATION CHECKLIST (must ALL be true):
|
|
258
|
+
- [ ] All existing tests pass (989+)
|
|
259
|
+
- [ ] New tests added for new functionality
|
|
260
|
+
- [ ] Lint passes with zero errors
|
|
261
|
+
- [ ] No external framework references (originality 100%)
|
|
262
|
+
- [ ] Constitution articles respected
|
|
263
|
+
- [ ] No regressions in any agent definitions
|
|
264
|
+
- [ ] Handoff format maintained
|
|
265
|
+
- [ ] PRISM layers intact
|
|
266
|
+
- [ ] Config/schemas updated if needed
|
|
267
|
+
- [ ] CHANGELOG updated
|
|
268
|
+
|
|
269
|
+
When ALL items are validated at >= 95%, output:
|
|
270
|
+
<promise>ALL CHANGES VALIDATED AT 95%</promise>" --completion-promise "ALL CHANGES VALIDATED AT 95%" --max-iterations 15
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## Phase 6: REPORT — Final Summary
|
|
276
|
+
|
|
277
|
+
After ralph-wiggum completes, generate final report:
|
|
278
|
+
|
|
279
|
+
```markdown
|
|
280
|
+
# Chati Update Complete
|
|
281
|
+
|
|
282
|
+
## Changes Applied
|
|
283
|
+
- <list of implemented changes with file paths>
|
|
284
|
+
|
|
285
|
+
## Validation Results
|
|
286
|
+
- Tests: X passing (was Y before)
|
|
287
|
+
- Lint: clean
|
|
288
|
+
- Constitution: no violations
|
|
289
|
+
- Self-validation score: X%
|
|
290
|
+
|
|
291
|
+
## Files Modified
|
|
292
|
+
- <file list with brief description of changes>
|
|
293
|
+
|
|
294
|
+
## Files Created
|
|
295
|
+
- <if any>
|
|
296
|
+
|
|
297
|
+
## Next Steps
|
|
298
|
+
- <any follow-up recommendations>
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## Error Handling
|
|
304
|
+
|
|
305
|
+
- **Clone fails**: Ask user for correct URL/path, suggest alternatives
|
|
306
|
+
- **Tests fail at baseline**: STOP — do not proceed with changes on a broken baseline. Report to user.
|
|
307
|
+
- **Ralph stuck (> 10 iterations without progress)**: Break loop, report what was achieved, ask user for guidance
|
|
308
|
+
- **Constitution conflict detected**: STOP that specific change, report conflict, ask user for deviation approval
|
|
309
|
+
- **Sub-agent returns incomplete data**: Re-run that specific sub-agent with more specific instructions
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## Anti-Patterns (NEVER do these)
|
|
314
|
+
|
|
315
|
+
- Don't copy code verbatim from reference repo
|
|
316
|
+
- Don't rename chati.dev concepts to match reference repo naming
|
|
317
|
+
- Don't add dependencies from reference repo without explicit approval
|
|
318
|
+
- Don't modify the constitution
|
|
319
|
+
- Don't skip the comparison phase ("it looks good, let's just add it")
|
|
320
|
+
- Don't implement without user approval of the proposal
|
|
321
|
+
- Don't rush — thoroughness > speed
|
|
@@ -94,51 +94,40 @@ CRITICAL → "Context: CRITICAL ({remaining}%) — Initiating handoff protocol"
|
|
|
94
94
|
|
|
95
95
|
## Action: Setup
|
|
96
96
|
|
|
97
|
-
The user is starting a new project.
|
|
97
|
+
The user is starting a new project. The orchestrator handles all setup decisions automatically — the user should NOT be asked to choose workflows, pipelines, or technical options. They just describe what they want to build.
|
|
98
98
|
|
|
99
|
-
###
|
|
99
|
+
### Automatic Detection
|
|
100
100
|
|
|
101
|
-
|
|
102
|
-
```
|
|
103
|
-
Run: node packages/chati-dev/bin/chati.js orchestrate detect-flow --message "{user_first_message}"
|
|
104
|
-
```
|
|
105
|
-
|
|
106
|
-
If `recommended` is `quick` (confidence >= 0.8):
|
|
107
|
-
→ Present: "This looks like a quick task. I can use Quick Flow (fast-track):
|
|
108
|
-
Brief (quick) → Dev → QA → Deploy
|
|
109
|
-
1. Use Quick Flow (Recommended)
|
|
110
|
-
2. Use full pipeline instead"
|
|
111
|
-
|
|
112
|
-
If `recommended` is `standard`:
|
|
113
|
-
→ Present: "This looks like a medium feature. Standard Flow recommended:
|
|
114
|
-
Brief → Detail → Architect → Tasks → QA-Planning → Dev → QA → Deploy
|
|
115
|
-
1. Use Standard Flow (Recommended)
|
|
116
|
-
2. Use full pipeline instead"
|
|
117
|
-
|
|
118
|
-
### Project Setup
|
|
119
|
-
|
|
120
|
-
1. **Project type**: Does an existing codebase exist?
|
|
101
|
+
1. **Project type**: Detect automatically.
|
|
121
102
|
- Check for `package.json`, `src/`, `.git`, etc.
|
|
122
103
|
- If exists → `brownfield`. If not → `greenfield`.
|
|
123
|
-
-
|
|
104
|
+
- Only ask if truly ambiguous (no signals at all).
|
|
124
105
|
|
|
125
106
|
2. **Language**: Detect from user's message language.
|
|
126
107
|
- Supported: `en`, `pt`, `es`, `fr`. Default: `en`.
|
|
127
108
|
|
|
128
|
-
3. **Workflow**:
|
|
109
|
+
3. **Workflow**: Decide automatically based on context. NEVER present workflow options to the user.
|
|
129
110
|
```
|
|
130
|
-
|
|
131
|
-
2. Quick Flow (Bug fixes, small changes, hotfixes)
|
|
132
|
-
3. Standard Flow (Medium features, no UX/architecture needed)
|
|
111
|
+
Run: node packages/chati-dev/bin/chati.js orchestrate detect-flow --message "{user_first_message}"
|
|
133
112
|
```
|
|
113
|
+
Use the `recommended` field directly:
|
|
114
|
+
- `quick` (confidence >= 0.8) → workflow = `quick`
|
|
115
|
+
- `standard` (confidence >= 0.8) → workflow = `standard`
|
|
116
|
+
- Otherwise → workflow = `full`
|
|
117
|
+
|
|
118
|
+
4. **Project name**: Extract from user's message or directory name. Only ask if undetectable.
|
|
119
|
+
|
|
120
|
+
### Initialize
|
|
134
121
|
|
|
135
|
-
|
|
122
|
+
Run via Bash:
|
|
136
123
|
```
|
|
137
|
-
node packages/chati-dev/bin/chati.js orchestrate init --type
|
|
124
|
+
node packages/chati-dev/bin/chati.js orchestrate init --type {detected_type} --language {detected_lang} --name "{detected_name}" --workflow {detected_workflow}
|
|
138
125
|
```
|
|
139
126
|
|
|
140
127
|
Parse JSON → read `first_agent_file` → activate that agent immediately (go to **Action: Interactive Agent**).
|
|
141
128
|
|
|
129
|
+
The user should experience a smooth start: they describe their project, the orchestrator confirms what it detected, and the first agent begins immediately.
|
|
130
|
+
|
|
142
131
|
---
|
|
143
132
|
|
|
144
133
|
## Action: Interactive Agent
|
|
@@ -154,11 +143,61 @@ These agents (greenfield-wu, brownfield-wu, brief) run in the same conversation.
|
|
|
154
143
|
3. Load its full content and **become** that agent
|
|
155
144
|
4. Follow the agent's instructions — the user interacts with you directly
|
|
156
145
|
5. When the agent completes its work and self-validates, extract the score
|
|
157
|
-
6.
|
|
146
|
+
6. Present **Completion Options** (see below) — wait for user choice before advancing
|
|
147
|
+
7. On user approval, run via Bash:
|
|
158
148
|
```
|
|
159
149
|
node packages/chati-dev/bin/chati.js orchestrate advance --agent {name} --score {score}
|
|
160
150
|
```
|
|
161
|
-
|
|
151
|
+
8. Parse JSON → the `next` field contains the next action → follow it
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Completion Options (Protocol 3 — Guided Options)
|
|
156
|
+
|
|
157
|
+
After EVERY agent completes (interactive or autonomous), present exactly 3 numbered options. The user should never have to figure out "what now" — always offer clear next steps with a recommendation.
|
|
158
|
+
|
|
159
|
+
### Standard Completion (score >= threshold)
|
|
160
|
+
```
|
|
161
|
+
{agent} completed with score {score}%.
|
|
162
|
+
|
|
163
|
+
1. Approve and continue to {next_agent} (Recommended)
|
|
164
|
+
2. Review the artifacts before proceeding
|
|
165
|
+
3. Revise — go back and adjust specific points
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Low Score Completion (score < threshold but not blocking)
|
|
169
|
+
```
|
|
170
|
+
{agent} completed with score {score}% (below {threshold}% threshold).
|
|
171
|
+
|
|
172
|
+
1. Revise — re-run {agent} to improve quality (Recommended)
|
|
173
|
+
2. Approve anyway and continue to {next_agent}
|
|
174
|
+
3. Review the artifacts and decide
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Parallel Group Completion
|
|
178
|
+
```
|
|
179
|
+
Parallel group completed: {agents with scores}.
|
|
180
|
+
|
|
181
|
+
1. Approve all and continue to {next_agent} (Recommended)
|
|
182
|
+
2. Review artifacts from a specific agent
|
|
183
|
+
3. Re-run a specific agent for improvements
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
### Pipeline Milestone (after QA-Planning or QA-Implementation)
|
|
187
|
+
```
|
|
188
|
+
Quality gate passed: {score}%.
|
|
189
|
+
|
|
190
|
+
1. Approve and advance to {next_phase} (Recommended)
|
|
191
|
+
2. View detailed QA report
|
|
192
|
+
3. Request additional review on specific areas
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**Rules:**
|
|
196
|
+
- ALWAYS present options — never leave the user without a clear next step
|
|
197
|
+
- ALWAYS mark one option as "(Recommended)"
|
|
198
|
+
- User can respond with just the number (1, 2, or 3)
|
|
199
|
+
- If user responds with free text instead of a number, interpret their intent and act accordingly
|
|
200
|
+
- Keep options in the user's language
|
|
162
201
|
|
|
163
202
|
---
|
|
164
203
|
|
|
@@ -179,7 +218,7 @@ These agents run in separate Claude Code processes.
|
|
|
179
218
|
- If `true`: display "Context check: OK — handoff verified"
|
|
180
219
|
3. Execute `spawn_command` via Bash tool (the full command is in the JSON)
|
|
181
220
|
4. Wait for JSON output from the spawned process. Handle `status`:
|
|
182
|
-
- `"complete"` →
|
|
221
|
+
- `"complete"` → Present **Completion Options** (see above) → on approval, run `orchestrate advance --agent {name} --score {score}`
|
|
183
222
|
- `"needs_input"` → Read `needs_input_question`, present to user in their language, then re-run spawn with `--additional-context "{user_response}"` (max 3 relay cycles)
|
|
184
223
|
- `"error"` → Apply Recovery Protocol (see below)
|
|
185
224
|
|
|
@@ -201,8 +240,9 @@ Planning phase agents (detail, architect, ux) run simultaneously.
|
|
|
201
240
|
1. Display: "Spawning parallel group: {agents}"
|
|
202
241
|
2. Execute `parallel_spawn_command` via Bash tool
|
|
203
242
|
3. Parse consolidated JSON output
|
|
204
|
-
4.
|
|
205
|
-
5.
|
|
243
|
+
4. Present **Completion Options** (Parallel Group variant) — wait for user choice
|
|
244
|
+
5. On approval, for each completed agent, run `orchestrate advance --agent {name} --score {score}`
|
|
245
|
+
6. If partial failure:
|
|
206
246
|
```
|
|
207
247
|
1. Retry failed agents only
|
|
208
248
|
2. Continue with partial results
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @fileoverview Doctor check: Agent definition files.
|
|
3
3
|
*
|
|
4
|
-
* Validates that all
|
|
4
|
+
* Validates that all primary agent definition files exist with valid structure.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { readFileSync, existsSync } from 'fs';
|
package/scripts/health-check.js
CHANGED
|
@@ -139,7 +139,7 @@ function checkConstitution(frameworkDir) {
|
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
/**
|
|
142
|
-
* Check that all
|
|
142
|
+
* Check that all primary agent definition files exist with valid structure.
|
|
143
143
|
*/
|
|
144
144
|
function checkAgents(frameworkDir) {
|
|
145
145
|
const agentsDir = join(frameworkDir, 'agents');
|