chati-dev 3.0.0 → 3.0.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 +96 -24
- package/assets/logo2.png +0 -0
- package/assets/social-preview.png +0 -0
- package/bin/chati.js +1 -1
- package/framework/agents/plan/phases.md +2 -2
- package/framework/config.yaml +2 -2
- package/framework/constitution.md +4 -4
- package/framework/context/governance.md +16 -3
- package/framework/context/root.md +3 -3
- package/framework/data/entity-registry.yaml +1 -1
- package/framework/domains/agents/detail.yaml +1 -1
- package/framework/domains/agents/phases.yaml +2 -2
- package/framework/domains/agents/tasks.yaml +2 -2
- package/framework/domains/constitution.yaml +2 -2
- package/framework/hooks/read-protection.js +1 -0
- package/framework/i18n/en.yaml +11 -4
- package/framework/i18n/es.yaml +11 -4
- package/framework/i18n/fr.yaml +11 -4
- package/framework/i18n/pt.yaml +11 -4
- package/framework/intelligence/context-engine.md +4 -4
- package/framework/intelligence/decision-engine.md +1 -1
- package/framework/patterns/elicitation-library.yaml +2 -2
- package/framework/tasks/brownfield-wu-dependency-scan.md +1 -1
- package/framework/tasks/brownfield-wu-migration-plan.md +4 -4
- package/framework/tasks/brownfield-wu-risk-assess.md +2 -2
- package/framework/tasks/detail-expand-prd.md +2 -2
- package/framework/tasks/greenfield-wu-report.md +1 -1
- package/framework/tasks/orchestrator-handoff.md +2 -2
- package/framework/tasks/orchestrator-resume.md +1 -1
- package/framework/tasks/qa-impl-performance-test.md +2 -2
- package/framework/tasks/qa-impl-sast-scan.md +6 -6
- package/framework/tasks/qa-planning-consolidate.md +1 -1
- package/framework/tasks/qa-planning-coverage-plan.md +9 -9
- package/framework/tasks/qa-planning-gate-define.md +6 -6
- package/framework/tasks/qa-planning-risk-matrix.md +1 -1
- package/framework/tasks/tasks-consolidate.md +5 -5
- package/package.json +1 -1
- package/scripts/changelog-generator.js +2 -2
- package/scripts/ide-sync.js +9 -4
- package/scripts/pr-review.js +5 -5
- package/scripts/semantic-lint.js +3 -3
- package/src/autonomy/build-state.js +1 -1
- package/src/autonomy/execution-profile.js +1 -1
- package/src/config/context-file-generator.js +31 -34
- package/src/config/ide-configs.js +15 -6
- package/src/dashboard/layout.js +3 -1
- package/src/gates/g2-qa-planning.js +1 -1
- package/src/gates/g4-qa-implementation.js +1 -1
- package/src/health/engine.js +7 -12
- package/src/installer/core.js +69 -34
- package/src/installer/templates.js +168 -2
- package/src/installer/validator.js +5 -3
- package/src/intelligence/registry-manager.js +2 -2
- package/src/preview/detector.js +1 -1
- package/src/terminal/adapters/claude-adapter.js +3 -13
- package/src/terminal/adapters/codex-adapter.js +3 -13
- package/src/terminal/adapters/copilot-adapter.js +3 -13
- package/src/terminal/adapters/gemini-adapter.js +3 -17
- package/src/terminal/cli-registry.js +20 -48
- package/src/terminal/index.js +1 -0
- package/src/terminal/prompt-builder.js +3 -18
- package/src/terminal/run-agent.js +2 -1
- package/src/terminal/spawner.js +70 -8
- package/src/terminal/wave-analyzer.js +1 -1
- package/src/utils/config-parser.js +97 -0
- package/src/wizard/feedback.js +1 -1
- package/src/wizard/i18n.js +11 -4
- package/src/wizard/index.js +45 -15
- package/src/wizard/questions.js +54 -3
- package/assets/logo - c/303/263pia.svg" +0 -42
package/README.md
CHANGED
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
<a href="https://www.npmjs.com/package/chati-dev"><img src="https://img.shields.io/npm/v/chati-dev?color=blue&label=npm" alt="npm"></a>
|
|
11
11
|
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a>
|
|
12
12
|
<a href="https://nodejs.org/"><img src="https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen.svg" alt="Node.js"></a>
|
|
13
|
+
<a href="#multi-cli-support"><img src="https://img.shields.io/badge/LLM-Claude%20%7C%20Gemini%20%7C%20Codex%20%7C%20GitHub%20Copilot-blueviolet.svg" alt="Multi-LLM"></a>
|
|
13
14
|
<a href="#internationalization"><img src="https://img.shields.io/badge/i18n-EN%20%7C%20PT%20%7C%20ES%20%7C%20FR-informational.svg" alt="i18n"></a>
|
|
15
|
+
<a href="https://github.com/Chati-dev/Chati.dev/actions/workflows/ci.yml"><img src="https://github.com/Chati-dev/Chati.dev/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
14
16
|
<a href=".github/CONTRIBUTING.md"><img src="https://img.shields.io/badge/contributions-welcome-brightgreen.svg" alt="Contributions Welcome"></a>
|
|
15
17
|
</p>
|
|
16
18
|
|
|
@@ -39,11 +41,11 @@ AI-assisted development today has three critical issues:
|
|
|
39
41
|
|
|
40
42
|
1. **Context Loss** — AI forgets decisions across sessions, leading to inconsistent implementations
|
|
41
43
|
2. **Planning Gaps** — Jumping straight to code without structured requirements leads to rework
|
|
42
|
-
3. **
|
|
44
|
+
3. **Vendor Lock-in** — Most AI dev tools only work with one provider, limiting flexibility
|
|
43
45
|
|
|
44
46
|
### The Solution
|
|
45
47
|
|
|
46
|
-
Chati.dev introduces **Agent-Driven Development**: a pipeline where each agent owns a specific phase, produces validated artifacts, and hands off context to the next agent. The system ensures context is never lost, knowledge persists across sessions, and you
|
|
48
|
+
Chati.dev introduces **Agent-Driven Development**: a pipeline where each agent owns a specific phase, produces validated artifacts, and hands off context to the next agent. The system ensures context is never lost, knowledge persists across sessions, and you can use any supported AI provider.
|
|
47
49
|
|
|
48
50
|
---
|
|
49
51
|
|
|
@@ -52,9 +54,11 @@ Chati.dev introduces **Agent-Driven Development**: a pipeline where each agent o
|
|
|
52
54
|
### Prerequisites
|
|
53
55
|
|
|
54
56
|
- **Node.js** >= 20.0.0 ([download](https://nodejs.org/))
|
|
55
|
-
- **
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
- **An AI CLI** — at least one of:
|
|
58
|
+
- [Claude Code](https://docs.anthropic.com/en/docs/claude-code/overview) (recommended)
|
|
59
|
+
- [Gemini CLI](https://github.com/google-gemini/gemini-cli)
|
|
60
|
+
- [Codex CLI](https://github.com/openai/codex)
|
|
61
|
+
- [GitHub Copilot CLI](https://docs.github.com/en/copilot)
|
|
58
62
|
|
|
59
63
|
### 1. Install in your project
|
|
60
64
|
|
|
@@ -64,11 +68,18 @@ Open a terminal in your project directory:
|
|
|
64
68
|
npx chati-dev init
|
|
65
69
|
```
|
|
66
70
|
|
|
67
|
-
The wizard
|
|
71
|
+
The wizard guides you through 4 steps:
|
|
72
|
+
|
|
73
|
+
| Step | What it asks |
|
|
74
|
+
|------|-------------|
|
|
75
|
+
| **Language** | English, Portuguese, Spanish, or French |
|
|
76
|
+
| **Project Type** | Greenfield (new) or Brownfield (existing) |
|
|
77
|
+
| **AI Provider** | Claude, Gemini, Codex, or GitHub Copilot — auto-configures optimal models per agent |
|
|
78
|
+
| **Confirm** | Review summary and proceed |
|
|
68
79
|
|
|
69
80
|
### 2. Activate the orchestrator
|
|
70
81
|
|
|
71
|
-
Open
|
|
82
|
+
Open your AI CLI in the same project directory, then type:
|
|
72
83
|
|
|
73
84
|
```
|
|
74
85
|
/chati
|
|
@@ -110,14 +121,74 @@ npx chati-dev status --watch # Auto-refresh every 5s
|
|
|
110
121
|
| Feature | What it means |
|
|
111
122
|
|---------|--------------|
|
|
112
123
|
| **13 Specialized Agents** | Each agent has a defined mission, success criteria, and handoff protocol — not one AI trying to do everything |
|
|
113
|
-
| **
|
|
124
|
+
| **Multi-CLI Architecture** | Choose your AI provider at install time: Claude, Gemini, Codex, or GitHub Copilot. Each agent gets the optimal model for that provider |
|
|
125
|
+
| **Quality Gates** | Every phase is validated before moving forward. 3-tier verdicts: APPROVED, NEEDS_REVISION, or BLOCKED |
|
|
114
126
|
| **Context Persistence** | Sessions survive restarts. Close your IDE, come back next week — the system remembers everything |
|
|
115
127
|
| **Session Lock** | Once activated, you stay inside the system. No accidentally "falling out" into generic AI mode |
|
|
116
128
|
| **Multi-Terminal** | Autonomous agents run in parallel in separate terminals. Detail, Architect, and UX agents work simultaneously |
|
|
117
129
|
| **Memory System** | The system learns from mistakes. Gotchas are captured automatically and recalled when relevant |
|
|
130
|
+
| **Execution Profiles** | Three profiles — explore (read-only), guided (default), autonomous (gate >= 90%) — with safety net and circuit breaker |
|
|
118
131
|
| **IDE-Agnostic** | Works with Claude Code, VS Code, Cursor, Gemini CLI, GitHub Copilot, and AntiGravity |
|
|
119
132
|
| **4 Languages** | Interface supports English, Portuguese, Spanish, and French. Artifacts are always generated in English |
|
|
120
|
-
| **Supply Chain Security** | Every file is cryptographically signed. Tampered packages are blocked on install |
|
|
133
|
+
| **Supply Chain Security** | Every file is cryptographically signed (Ed25519). Tampered packages are blocked on install |
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Multi-CLI Support
|
|
138
|
+
|
|
139
|
+
Chati.dev is provider-agnostic. You choose your AI provider during installation, and the system auto-configures optimal model assignments for every agent.
|
|
140
|
+
|
|
141
|
+
### Supported Providers
|
|
142
|
+
|
|
143
|
+
| Provider | CLI | Deep Reasoning | Lightweight | Status |
|
|
144
|
+
|----------|-----|---------------|-------------|--------|
|
|
145
|
+
| **Claude** | `claude` | Opus | Sonnet / Haiku | Default |
|
|
146
|
+
| **Gemini** | `gemini` | Pro | Flash | Full support |
|
|
147
|
+
| **Codex** | `codex` | Codex | Codex Mini | Full support |
|
|
148
|
+
| **GitHub Copilot** | `copilot` | Sonnet 4.5 | GPT-5 | Full support |
|
|
149
|
+
|
|
150
|
+
### How Model Assignment Works
|
|
151
|
+
|
|
152
|
+
Each agent is classified by its reasoning needs:
|
|
153
|
+
|
|
154
|
+
- **Deep reasoning** (Architect, QA, Dev, Detail, Brownfield-WU) → top-tier model
|
|
155
|
+
- **Lightweight** (Brief, Phases, UX, Greenfield-WU, DevOps, Orchestrator) → fast model
|
|
156
|
+
|
|
157
|
+
When you select a provider, the system maps each agent to the best available model:
|
|
158
|
+
|
|
159
|
+
```
|
|
160
|
+
Claude: architect → opus, brief → sonnet, greenfield-wu → haiku
|
|
161
|
+
Gemini: architect → pro, brief → flash, greenfield-wu → flash
|
|
162
|
+
Codex: architect → codex, brief → codex-mini
|
|
163
|
+
GitHub Copilot: architect → claude-sonnet, brief → claude-sonnet
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### CLI Invocation Syntax
|
|
167
|
+
|
|
168
|
+
Each provider uses its own CLI syntax. Chati.dev handles this transparently:
|
|
169
|
+
|
|
170
|
+
| Provider | Command | Example |
|
|
171
|
+
|----------|---------|---------|
|
|
172
|
+
| Claude | `claude --print --model <id>` | `claude --print --model claude-opus-4-6` |
|
|
173
|
+
| Gemini | `gemini --model <id>` | `gemini --model gemini-2.5-pro` |
|
|
174
|
+
| Codex | `codex exec -m <id>` | `codex exec -m gpt-5.3-codex` |
|
|
175
|
+
| GitHub Copilot | `copilot -p --model <id>` | `copilot -p --model claude-sonnet-4.5` |
|
|
176
|
+
|
|
177
|
+
Prompts are piped via stdin for all providers. You can override individual agent models in `chati.dev/config.yaml` under `agent_overrides`.
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Execution Profiles
|
|
182
|
+
|
|
183
|
+
Three profiles control how much autonomy agents have:
|
|
184
|
+
|
|
185
|
+
| Profile | Behavior | When to use |
|
|
186
|
+
|---------|----------|-------------|
|
|
187
|
+
| **explore** | Read-only. Agents analyze but don't modify files | Understanding a new codebase |
|
|
188
|
+
| **guided** | Default. Agents propose changes, you approve | Normal development workflow |
|
|
189
|
+
| **autonomous** | Agents execute without confirmation (quality gates >= 90%) | Trusted pipelines with high quality scores |
|
|
190
|
+
|
|
191
|
+
The system starts in `guided` mode. Transition to `autonomous` requires both QA gates scoring >= 95%. A safety net with 5 triggers (stuck loop, quality drop, scope creep, error cascade, user override) automatically reverts to guided mode when needed.
|
|
121
192
|
|
|
122
193
|
---
|
|
123
194
|
|
|
@@ -131,7 +202,7 @@ npx chati-dev status --watch # Auto-refresh every 5s
|
|
|
131
202
|
| **PLAN** | Detail, Architect, UX, Phases, Tasks | Create PRD, design architecture, define UX, break work into phases and tasks |
|
|
132
203
|
| **BUILD** | Dev | Implement code task by task, following the plan |
|
|
133
204
|
| **DEPLOY** | DevOps | Handle git operations, deployment, and documentation |
|
|
134
|
-
| **Quality** | QA-Planning, QA-Implementation | Validate plan coherence (
|
|
205
|
+
| **Quality** | QA-Planning, QA-Implementation | Validate plan coherence (>= 95%) and code quality (>= 95%) between phases |
|
|
135
206
|
|
|
136
207
|
### How the Pipeline Works
|
|
137
208
|
|
|
@@ -152,6 +223,7 @@ npx chati-dev status --watch # Auto-refresh every 5s
|
|
|
152
223
|
│ requirements into a structured doc │
|
|
153
224
|
│ │
|
|
154
225
|
├─ Spawns separate terminals ────────────┐
|
|
226
|
+
│ (using your selected AI provider) │
|
|
155
227
|
│ │
|
|
156
228
|
│ PLAN (autonomous, parallel) │
|
|
157
229
|
│ Detail ───┐ │
|
|
@@ -162,7 +234,7 @@ npx chati-dev status --watch # Auto-refresh every 5s
|
|
|
162
234
|
├─ Quality Gate ─────────────────────────┐
|
|
163
235
|
│ │
|
|
164
236
|
│ QA-Planning validates the plan │
|
|
165
|
-
│ Must score
|
|
237
|
+
│ Must score >= 95% to proceed │
|
|
166
238
|
│ │
|
|
167
239
|
├─ Spawns terminal(s) ───────────────────┐
|
|
168
240
|
│ │
|
|
@@ -183,7 +255,7 @@ npx chati-dev status --watch # Auto-refresh every 5s
|
|
|
183
255
|
✓ Done │
|
|
184
256
|
```
|
|
185
257
|
|
|
186
|
-
Each spawned terminal runs as a separate
|
|
258
|
+
Each spawned terminal runs as a separate CLI process with its own context window, write-scope isolation, and structured handoff output. The AI provider and model are selected automatically based on your configuration.
|
|
187
259
|
|
|
188
260
|
### Intelligence Layer
|
|
189
261
|
|
|
@@ -197,15 +269,16 @@ Three systems operate transparently behind the pipeline:
|
|
|
197
269
|
|
|
198
270
|
### Constitution
|
|
199
271
|
|
|
200
|
-
The system is governed by a **
|
|
272
|
+
The system is governed by a **19-article Constitution** that enforces agent behavior, quality standards, security, and system integrity:
|
|
201
273
|
|
|
202
274
|
- **Agent Governance** — Every agent has a defined mission, scope, and success criteria
|
|
203
|
-
- **Quality Standards** — Minimum 95% score on quality gates.
|
|
204
|
-
- **Security** — No secrets in system files. No destructive operations without confirmation
|
|
275
|
+
- **Quality Standards** — Minimum 95% score on quality gates. 3-tier verdicts (APPROVED / NEEDS_REVISION / BLOCKED)
|
|
276
|
+
- **Security** — No secrets in system files. No destructive operations without confirmation. Ed25519 supply chain verification
|
|
205
277
|
- **Mode Governance** — Planning mode can't modify project code. Build mode has full access
|
|
206
278
|
- **Session Lock** — Once activated, all messages route through the orchestrator
|
|
207
|
-
- **Model Governance** — Each agent runs on its designated
|
|
208
|
-
- **Execution
|
|
279
|
+
- **Model Governance** — Each agent runs on its designated model, enforced by the CLI adapter
|
|
280
|
+
- **Execution Profiles** — Explore, guided, and autonomous modes with safety net and circuit breaker
|
|
281
|
+
- **Multi-CLI** — Provider-agnostic architecture with adapter pattern and automatic model mapping
|
|
209
282
|
|
|
210
283
|
---
|
|
211
284
|
|
|
@@ -216,8 +289,8 @@ The system is governed by a **17-article Constitution** that enforces agent beha
|
|
|
216
289
|
| **Claude Code** | `.claude/commands/chati.md` → orchestrator |
|
|
217
290
|
| **VS Code** | `.vscode/chati.md` → orchestrator |
|
|
218
291
|
| **Cursor** | `.cursor/rules/chati.md` → orchestrator |
|
|
219
|
-
| **Gemini CLI** | `.gemini/
|
|
220
|
-
| **GitHub Copilot** | `.github/
|
|
292
|
+
| **Gemini CLI** | `.gemini/commands/chati.toml` → orchestrator |
|
|
293
|
+
| **GitHub Copilot** | `.github/agents/chati.md` → orchestrator |
|
|
221
294
|
| **AntiGravity** | Platform agent config → orchestrator |
|
|
222
295
|
|
|
223
296
|
All IDEs use a thin router file that points to the same orchestrator. Your project works the same regardless of which IDE you use.
|
|
@@ -291,7 +364,6 @@ your-project/
|
|
|
291
364
|
│ │ ├── quality/ # QA-Planning, QA-Implementation
|
|
292
365
|
│ │ ├── build/ # Dev
|
|
293
366
|
│ │ └── deploy/ # DevOps
|
|
294
|
-
│ ├── tasks/ # 73 task definitions
|
|
295
367
|
│ ├── workflows/ # 6 workflow blueprints
|
|
296
368
|
│ ├── templates/ # 6 artifact templates
|
|
297
369
|
│ ├── schemas/ # 5 JSON schemas
|
|
@@ -305,7 +377,7 @@ your-project/
|
|
|
305
377
|
│ ├── data/ # Entity registry
|
|
306
378
|
│ ├── i18n/ # EN, PT, ES, FR translations
|
|
307
379
|
│ ├── migrations/ # Version migration scripts
|
|
308
|
-
│ ├── constitution.md #
|
|
380
|
+
│ ├── constitution.md # 19 Articles + Preamble
|
|
309
381
|
│ └── config.yaml # System configuration
|
|
310
382
|
└── packages/
|
|
311
383
|
└── chati-dev/ # CLI + runtime engine
|
|
@@ -320,9 +392,9 @@ The installer and agent interactions support 4 languages:
|
|
|
320
392
|
| Language | Code | Status |
|
|
321
393
|
|----------|------|--------|
|
|
322
394
|
| **English** | `en` | Default |
|
|
323
|
-
| **
|
|
324
|
-
| **
|
|
325
|
-
| **
|
|
395
|
+
| **Portugues** | `pt` | Full support |
|
|
396
|
+
| **Espanol** | `es` | Full support |
|
|
397
|
+
| **Francais** | `fr` | Full support |
|
|
326
398
|
|
|
327
399
|
Artifacts are always generated in English for portability and team collaboration.
|
|
328
400
|
|
package/assets/logo2.png
ADDED
|
Binary file
|
|
Binary file
|
package/bin/chati.js
CHANGED
|
@@ -255,7 +255,7 @@ async function main() {
|
|
|
255
255
|
console.log(' - 13 agents (orchestrator + 12 specialized)');
|
|
256
256
|
console.log(' - 6 workflow blueprints');
|
|
257
257
|
console.log(' - 6 templates');
|
|
258
|
-
console.log(' - Constitution (
|
|
258
|
+
console.log(' - Constitution (19 Articles + Preamble)');
|
|
259
259
|
console.log(' - Dashboard TUI');
|
|
260
260
|
console.log(' - Upgrade system with migrations');
|
|
261
261
|
console.log(' - 6 IDE support');
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Phases Agent — Roadmap & Wave Planning
|
|
2
2
|
|
|
3
|
-
You are the **Phases Agent**, responsible for breaking the PRD into development phases with an MVP-first approach. You absorb the SM (Scrum Master) responsibilities for
|
|
3
|
+
You are the **Phases Agent**, responsible for breaking the PRD into development phases with an MVP-first approach. You absorb the SM (Scrum Master) responsibilities for phase planning, prioritization, and sequencing.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -12,7 +12,7 @@ You are the **Phases Agent**, responsible for breaking the PRD into development
|
|
|
12
12
|
- **Question Answered**: WHEN will we build it?
|
|
13
13
|
- **Duration**: 20-40 min
|
|
14
14
|
- **Ratio**: 60% Human / 40% AI
|
|
15
|
-
- **Absorbs**: SM (
|
|
15
|
+
- **Absorbs**: SM (phase planning, prioritization, wave sequencing)
|
|
16
16
|
- **Model**: sonnet | upgrade: opus if 20+ requirements or complex dependencies
|
|
17
17
|
- **Provider**: claude (default)
|
|
18
18
|
|
package/framework/config.yaml
CHANGED
|
@@ -17,7 +17,7 @@ Chati.dev is a planning-first AI-assisted orchestration system that coordinates
|
|
|
17
17
|
### Anti-Patterns (NEVER do these)
|
|
18
18
|
|
|
19
19
|
- **Skip Brief**: Jumping to implementation without understanding the problem guarantees solving the wrong problem.
|
|
20
|
-
- **Long
|
|
20
|
+
- **Long Phases**: Phases longer than 2 weeks lose focus and delay feedback.
|
|
21
21
|
- **Ignore Feedback**: User corrections during any agent's execution are signals, not interruptions.
|
|
22
22
|
- **Over-engineering**: Building for hypothetical future requirements adds complexity without value.
|
|
23
23
|
- **Excessive Docs**: Documentation should enable action, not demonstrate thoroughness. If nobody reads it, don't write it.
|
|
@@ -416,12 +416,12 @@ The system SHALL support two execution modes that govern the degree of human inv
|
|
|
416
416
|
|
|
417
417
|
## Article XVIII: Execution Profile Governance
|
|
418
418
|
|
|
419
|
-
The system SHALL support three execution profiles that govern the degree of confirmation required for agent actions. Profiles are orthogonal to mode governance (Article XI) — modes control WHERE agents can write; profiles control WHETHER confirmation is required.
|
|
419
|
+
The system SHALL support three execution profiles that govern the degree of confirmation required for agent actions. Profiles are orthogonal to mode governance (Article XI) — modes control WHERE agents can write; profiles control WHETHER confirmation is required. Note: Execution Mode (Article XVII) governs WHO decides (human vs system); Execution Profile governs HOW actions execute (read-only, confirmed, autonomous).
|
|
420
420
|
|
|
421
421
|
1. Three profiles are recognized:
|
|
422
422
|
- **explore**: Read-only mode. Agents analyze, investigate, and suggest but perform NO write operations. Useful for safe discovery and analysis.
|
|
423
423
|
- **guided**: Default profile. Agents propose actions and wait for user confirmation before writes. Balances safety with productivity.
|
|
424
|
-
- **autonomous**: Full autonomy. Agents execute without confirmation when quality gate scores meet thresholds. Requires cumulative gate scores >=
|
|
424
|
+
- **autonomous**: Full autonomy. Agents execute without confirmation when quality gate scores meet thresholds. Requires cumulative gate scores >= 95%.
|
|
425
425
|
|
|
426
426
|
2. The default profile is `guided`. Profile selection is stored in `session.yaml` under `execution_profile`.
|
|
427
427
|
|
|
@@ -433,7 +433,7 @@ The system SHALL support three execution profiles that govern the degree of conf
|
|
|
433
433
|
- Deviation protocol activation
|
|
434
434
|
- Backward pipeline transitions (build → planning)
|
|
435
435
|
|
|
436
|
-
5. The `autonomous` profile is gated by quality: it can only be activated when the most recent QA gate score is >=
|
|
436
|
+
5. The `autonomous` profile is gated by quality: it can only be activated when the most recent QA gate score is >= 95%. If quality drops below threshold during autonomous execution, the system SHALL automatically downgrade to `guided`.
|
|
437
437
|
|
|
438
438
|
6. The `explore` profile is available at any pipeline position and does not affect mode governance. An agent in `planning` mode with `explore` profile can read any file but write to none.
|
|
439
439
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Chati.dev Governance Rules
|
|
2
2
|
|
|
3
|
-
Extracted from `chati.dev/constitution.md` (
|
|
3
|
+
Extracted from `chati.dev/constitution.md` (19 Articles). Read the full constitution for complete rules.
|
|
4
4
|
|
|
5
5
|
## Mode Governance (Article XI)
|
|
6
6
|
- **3 modes**: planning (read all, write chati.dev/ only), build (full access), deploy (full + infra)
|
|
@@ -31,7 +31,20 @@ Extracted from `chati.dev/constitution.md` (17 Articles). Read the full constitu
|
|
|
31
31
|
- Per-agent model selection: opus (deep reasoning), sonnet (structured), haiku (lightweight)
|
|
32
32
|
- Model recorded in session for cost tracking
|
|
33
33
|
|
|
34
|
-
## Execution Mode (Article XVII)
|
|
35
|
-
-
|
|
34
|
+
## Execution Mode (Article XVII) — WHO decides
|
|
35
|
+
- Controls whether human or system makes pipeline decisions
|
|
36
|
+
- Autonomous mode requires gate score >= 95% (qa-planning >= 95%, qa-implementation >= 95%)
|
|
36
37
|
- Safety net with 5 triggers: stuck loop, quality drop, scope creep, error cascade, user override
|
|
37
38
|
- Circuit breaker: CLOSED -> OPEN (3 failures) -> HALF_OPEN (probe)
|
|
39
|
+
|
|
40
|
+
## Execution Profile Governance (Article XVIII) — HOW actions execute
|
|
41
|
+
- 3 profiles: explore (read-only), guided (default), autonomous (gate >= 95%)
|
|
42
|
+
- Transition to autonomous requires QA-Planning >= 95% AND QA-Implementation >= 95%
|
|
43
|
+
- Safety net: 5 triggers revert to guided (stuck loop, quality drop, scope creep, error cascade, user override)
|
|
44
|
+
- Circuit breaker: CLOSED -> OPEN (3 failures) -> HALF_OPEN (probe)
|
|
45
|
+
|
|
46
|
+
## Multi-CLI Governance (Article XIX)
|
|
47
|
+
- 4 providers: Claude, Gemini, Codex, GitHub Copilot
|
|
48
|
+
- Provider selected at install time, auto-configures optimal models per agent
|
|
49
|
+
- Resolution chain: agent_overrides > agent default > primary provider
|
|
50
|
+
- Context files auto-generated for non-Claude providers (GEMINI.md, AGENTS.md)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Chati.dev System Context
|
|
2
2
|
|
|
3
3
|
## Framework
|
|
4
|
-
- **Version**:
|
|
4
|
+
- **Version**: 3.0.0
|
|
5
5
|
- **Agents**: 13 (12 specialized + orchestrator)
|
|
6
|
-
- **Constitution**:
|
|
7
|
-
- **Quality**: 5 pipeline gates +
|
|
6
|
+
- **Constitution**: 19 Articles + Preamble
|
|
7
|
+
- **Quality**: 5 pipeline gates + 3-tier verdicts (APPROVED / NEEDS_REVISION / BLOCKED)
|
|
8
8
|
|
|
9
9
|
## Key References
|
|
10
10
|
- **Session State**: `.chati/session.yaml` (runtime — not committed)
|
|
@@ -257,7 +257,7 @@ entities:
|
|
|
257
257
|
constitution:
|
|
258
258
|
path: chati.dev/constitution.md
|
|
259
259
|
type: governance
|
|
260
|
-
purpose: "
|
|
260
|
+
purpose: "19 Articles + Preamble governing all agent behavior"
|
|
261
261
|
keywords: [constitution, governance, rules, articles, enforcement]
|
|
262
262
|
dependencies: []
|
|
263
263
|
adaptability: 0.1
|
|
@@ -10,7 +10,7 @@ authority:
|
|
|
10
10
|
- Requirements prioritization (MoSCoW)
|
|
11
11
|
allowed:
|
|
12
12
|
- Expand brief requirements into detailed specifications
|
|
13
|
-
- Define
|
|
13
|
+
- Define requirements with acceptance criteria
|
|
14
14
|
- Specify performance, security, and scalability requirements
|
|
15
15
|
- Document edge cases and error scenarios
|
|
16
16
|
- Create requirement traceability matrix
|
|
@@ -17,7 +17,7 @@ authority:
|
|
|
17
17
|
blocked:
|
|
18
18
|
- Code implementation
|
|
19
19
|
- Task-level decomposition (that's tasks agent's role)
|
|
20
|
-
- Detailed estimation (
|
|
20
|
+
- Detailed estimation (hours or sizing)
|
|
21
21
|
- Deployment planning
|
|
22
22
|
- Architecture redesign
|
|
23
23
|
redirectMessage: "Phase breakdown is complete. Redirecting to tasks agent for task decomposition."
|
|
@@ -27,7 +27,7 @@ outputs:
|
|
|
27
27
|
|
|
28
28
|
rules:
|
|
29
29
|
- id: ph-01
|
|
30
|
-
text: "MUST define Phase
|
|
30
|
+
text: "MUST define Phase 1 as MVP with minimum viable feature set for user validation"
|
|
31
31
|
priority: critical
|
|
32
32
|
|
|
33
33
|
- id: ph-02
|
|
@@ -6,7 +6,7 @@ authority:
|
|
|
6
6
|
- Task decomposition from phases
|
|
7
7
|
- Atomic task definition
|
|
8
8
|
- Task acceptance criteria writing (Given-When-Then)
|
|
9
|
-
- Task estimation (
|
|
9
|
+
- Task estimation (hours or t-shirt sizing)
|
|
10
10
|
- Task dependency mapping
|
|
11
11
|
allowed:
|
|
12
12
|
- Break phases into executable tasks
|
|
@@ -40,7 +40,7 @@ rules:
|
|
|
40
40
|
priority: high
|
|
41
41
|
|
|
42
42
|
- id: tk-04
|
|
43
|
-
text: "MUST estimate task complexity using consistent scale (
|
|
43
|
+
text: "MUST estimate task complexity using consistent scale (hours or t-shirt sizing)"
|
|
44
44
|
priority: normal
|
|
45
45
|
|
|
46
46
|
- id: tk-05
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# Constitution Domain — Extracted governance rules for PRISM L0
|
|
2
|
-
# Source: chati.dev/constitution.md (
|
|
2
|
+
# Source: chati.dev/constitution.md (19 Articles + Preamble)
|
|
3
3
|
|
|
4
4
|
summary: >
|
|
5
5
|
Constitution governance: self-validation required (loop until quality >= 95%),
|
|
@@ -9,7 +9,7 @@ summary: >
|
|
|
9
9
|
context brackets, memory governance, registry governance,
|
|
10
10
|
session lock, model governance.
|
|
11
11
|
|
|
12
|
-
articleCount:
|
|
12
|
+
articleCount: 19
|
|
13
13
|
|
|
14
14
|
rules:
|
|
15
15
|
- id: art-i
|
package/framework/i18n/en.yaml
CHANGED
|
@@ -15,19 +15,26 @@ installer:
|
|
|
15
15
|
language_label: "Language"
|
|
16
16
|
ides_label: "IDEs"
|
|
17
17
|
mcps_label: "MCPs"
|
|
18
|
+
llm_provider_title: "Select your default AI provider:"
|
|
19
|
+
llm_provider_claude: "Claude (Anthropic) — Best for structured reasoning"
|
|
20
|
+
llm_provider_gemini: "Gemini (Google) — 1M token context window"
|
|
21
|
+
llm_provider_codex: "Codex (OpenAI) — Optimized for code generation"
|
|
22
|
+
llm_provider_copilot: "Copilot (GitHub) — Multi-model, GitHub integrated"
|
|
23
|
+
llm_provider_not_installed: "(CLI not detected)"
|
|
24
|
+
llm_provider_label: "AI Provider"
|
|
18
25
|
will_install: "Will install:"
|
|
19
26
|
agents_count: "13 agent definitions (DISCOVER, PLAN, BUILD, DEPLOY phases)"
|
|
20
27
|
workflows_count: "6 workflow blueprints"
|
|
21
28
|
templates_count: "6 templates (PRD, Brownfield PRD, Architecture, Task, QA Gate, Quick Brief)"
|
|
22
|
-
constitution: "Constitution (
|
|
29
|
+
constitution: "Constitution (19 Articles + Preamble)"
|
|
23
30
|
session_mgmt: "Session management system"
|
|
24
|
-
quality_gates: "Quality gates (
|
|
31
|
+
quality_gates: "Quality gates (3-tier verdicts)"
|
|
25
32
|
proceed: "Proceed with installation?"
|
|
26
33
|
installing: "Installing Chati.dev..."
|
|
27
34
|
created_chati: "Created .chati/ session directory"
|
|
28
35
|
created_framework: "Created chati.dev/ system directory (agents, templates, workflows)"
|
|
29
36
|
created_commands: "Created .claude/commands/ (thin router)"
|
|
30
|
-
installed_constitution: "Installed Constitution (Articles I-
|
|
37
|
+
installed_constitution: "Installed Constitution (Articles I-XIX)"
|
|
31
38
|
created_session: "Created session.yaml schema"
|
|
32
39
|
created_claude_md: "Created CLAUDE.md"
|
|
33
40
|
configured_mcps: "Configured MCPs:"
|
|
@@ -35,7 +42,7 @@ installer:
|
|
|
35
42
|
agents_valid: "All 13 agents implement 8 protocols"
|
|
36
43
|
handoff_ok: "Handoff protocol: OK"
|
|
37
44
|
validation_ok: "Self-validation criteria: OK"
|
|
38
|
-
constitution_ok: "Constitution:
|
|
45
|
+
constitution_ok: "Constitution: 19 articles verified"
|
|
39
46
|
created_memories: "Created .chati/memories/ (Memory Layer)"
|
|
40
47
|
installed_intelligence: "Installed Intelligence Layer (Context Engine, Memory, Registry)"
|
|
41
48
|
intelligence_valid: "Intelligence: 6 spec files verified"
|
package/framework/i18n/es.yaml
CHANGED
|
@@ -15,19 +15,26 @@ installer:
|
|
|
15
15
|
language_label: "Idioma"
|
|
16
16
|
ides_label: "IDEs"
|
|
17
17
|
mcps_label: "MCPs"
|
|
18
|
+
llm_provider_title: "Seleccione su proveedor de IA predeterminado:"
|
|
19
|
+
llm_provider_claude: "Claude (Anthropic) — Mejor para razonamiento estructurado"
|
|
20
|
+
llm_provider_gemini: "Gemini (Google) — Ventana de contexto de 1M tokens"
|
|
21
|
+
llm_provider_codex: "Codex (OpenAI) — Optimizado para generacion de codigo"
|
|
22
|
+
llm_provider_copilot: "Copilot (GitHub) — Multi-modelo, integrado con GitHub"
|
|
23
|
+
llm_provider_not_installed: "(CLI no detectada)"
|
|
24
|
+
llm_provider_label: "Proveedor de IA"
|
|
18
25
|
will_install: "Se instalara:"
|
|
19
26
|
agents_count: "13 definiciones de agentes (fases DISCOVER, PLAN, BUILD, DEPLOY)"
|
|
20
27
|
workflows_count: "6 blueprints de workflow"
|
|
21
28
|
templates_count: "6 templates (PRD, PRD Brownfield, Arquitectura, Task, QA Gate, Quick Brief)"
|
|
22
|
-
constitution: "Constitucion (
|
|
29
|
+
constitution: "Constitucion (19 Articulos + Preambulo)"
|
|
23
30
|
session_mgmt: "Sistema de gestion de sesion"
|
|
24
|
-
quality_gates: "Quality gates (
|
|
31
|
+
quality_gates: "Quality gates (veredictos en 3 niveles)"
|
|
25
32
|
proceed: "Proceder con la instalacion?"
|
|
26
33
|
installing: "Instalando Chati.dev..."
|
|
27
34
|
created_chati: "Creado directorio de sesion .chati/"
|
|
28
35
|
created_framework: "Creado directorio del sistema chati.dev/ (agentes, templates, workflows)"
|
|
29
36
|
created_commands: "Creado .claude/commands/ (enrutador)"
|
|
30
|
-
installed_constitution: "Instalada Constitucion (Articulos I-
|
|
37
|
+
installed_constitution: "Instalada Constitucion (Articulos I-XIX)"
|
|
31
38
|
created_session: "Creado schema session.yaml"
|
|
32
39
|
created_claude_md: "Creado CLAUDE.md"
|
|
33
40
|
configured_mcps: "MCPs configurados:"
|
|
@@ -35,7 +42,7 @@ installer:
|
|
|
35
42
|
agents_valid: "Los 13 agentes implementan 8 protocolos"
|
|
36
43
|
handoff_ok: "Protocolo de handoff: OK"
|
|
37
44
|
validation_ok: "Criterios de auto-validacion: OK"
|
|
38
|
-
constitution_ok: "Constitucion:
|
|
45
|
+
constitution_ok: "Constitucion: 19 articulos verificados"
|
|
39
46
|
created_memories: "Creado .chati/memories/ (Memory Layer)"
|
|
40
47
|
installed_intelligence: "Instalada Intelligence Layer (Context Engine, Memory, Registry)"
|
|
41
48
|
intelligence_valid: "Intelligence: 6 archivos de spec verificados"
|
package/framework/i18n/fr.yaml
CHANGED
|
@@ -15,19 +15,26 @@ installer:
|
|
|
15
15
|
language_label: "Langue"
|
|
16
16
|
ides_label: "IDEs"
|
|
17
17
|
mcps_label: "MCPs"
|
|
18
|
+
llm_provider_title: "Selectionnez votre fournisseur IA par defaut:"
|
|
19
|
+
llm_provider_claude: "Claude (Anthropic) — Ideal pour le raisonnement structure"
|
|
20
|
+
llm_provider_gemini: "Gemini (Google) — Fenetre de contexte de 1M tokens"
|
|
21
|
+
llm_provider_codex: "Codex (OpenAI) — Optimise pour la generation de code"
|
|
22
|
+
llm_provider_copilot: "Copilot (GitHub) — Multi-modele, integre a GitHub"
|
|
23
|
+
llm_provider_not_installed: "(CLI non detecte)"
|
|
24
|
+
llm_provider_label: "Fournisseur IA"
|
|
18
25
|
will_install: "Sera installe:"
|
|
19
26
|
agents_count: "13 definitions d'agents (phases DISCOVER, PLAN, BUILD, DEPLOY)"
|
|
20
27
|
workflows_count: "6 blueprints de workflow"
|
|
21
28
|
templates_count: "6 templates (PRD, PRD Brownfield, Architecture, Task, QA Gate, Quick Brief)"
|
|
22
|
-
constitution: "Constitution (
|
|
29
|
+
constitution: "Constitution (19 Articles + Preambule)"
|
|
23
30
|
session_mgmt: "Systeme de gestion de session"
|
|
24
|
-
quality_gates: "Quality gates (
|
|
31
|
+
quality_gates: "Quality gates (verdicts en 3 niveaux)"
|
|
25
32
|
proceed: "Proceder a l'installation?"
|
|
26
33
|
installing: "Installation de Chati.dev..."
|
|
27
34
|
created_chati: "Cree le repertoire de session .chati/"
|
|
28
35
|
created_framework: "Cree le repertoire du systeme chati.dev/ (agents, templates, workflows)"
|
|
29
36
|
created_commands: "Cree .claude/commands/ (routeur)"
|
|
30
|
-
installed_constitution: "Installee la Constitution (Articles I-
|
|
37
|
+
installed_constitution: "Installee la Constitution (Articles I-XIX)"
|
|
31
38
|
created_session: "Cree le schema session.yaml"
|
|
32
39
|
created_claude_md: "Cree CLAUDE.md"
|
|
33
40
|
configured_mcps: "MCPs configures:"
|
|
@@ -35,7 +42,7 @@ installer:
|
|
|
35
42
|
agents_valid: "Les 13 agents implementent 8 protocoles"
|
|
36
43
|
handoff_ok: "Protocole de passation: OK"
|
|
37
44
|
validation_ok: "Criteres d'auto-validation: OK"
|
|
38
|
-
constitution_ok: "Constitution:
|
|
45
|
+
constitution_ok: "Constitution: 19 articles verifies"
|
|
39
46
|
created_memories: "Cree .chati/memories/ (Memory Layer)"
|
|
40
47
|
installed_intelligence: "Installee Intelligence Layer (Context Engine, Memory, Registry)"
|
|
41
48
|
intelligence_valid: "Intelligence: 6 fichiers de spec verifies"
|
package/framework/i18n/pt.yaml
CHANGED
|
@@ -15,19 +15,26 @@ installer:
|
|
|
15
15
|
language_label: "Idioma"
|
|
16
16
|
ides_label: "IDEs"
|
|
17
17
|
mcps_label: "MCPs"
|
|
18
|
+
llm_provider_title: "Selecione seu provedor de IA padrao:"
|
|
19
|
+
llm_provider_claude: "Claude (Anthropic) — Melhor para raciocinio estruturado"
|
|
20
|
+
llm_provider_gemini: "Gemini (Google) — Janela de contexto de 1M tokens"
|
|
21
|
+
llm_provider_codex: "Codex (OpenAI) — Otimizado para geracao de codigo"
|
|
22
|
+
llm_provider_copilot: "Copilot (GitHub) — Multi-modelo, integrado ao GitHub"
|
|
23
|
+
llm_provider_not_installed: "(CLI nao detectada)"
|
|
24
|
+
llm_provider_label: "Provedor de IA"
|
|
18
25
|
will_install: "Sera instalado:"
|
|
19
26
|
agents_count: "13 definicoes de agentes (fases DISCOVER, PLAN, BUILD, DEPLOY)"
|
|
20
27
|
workflows_count: "6 blueprints de workflow"
|
|
21
28
|
templates_count: "6 templates (PRD, PRD Brownfield, Arquitetura, Task, QA Gate, Quick Brief)"
|
|
22
|
-
constitution: "Constituicao (
|
|
29
|
+
constitution: "Constituicao (19 Artigos + Preambulo)"
|
|
23
30
|
session_mgmt: "Sistema de gerenciamento de sessao"
|
|
24
|
-
quality_gates: "Quality gates (
|
|
31
|
+
quality_gates: "Quality gates (veredictos em 3 niveis)"
|
|
25
32
|
proceed: "Prosseguir com a instalacao?"
|
|
26
33
|
installing: "Instalando Chati.dev..."
|
|
27
34
|
created_chati: "Criado diretorio de sessao .chati/"
|
|
28
35
|
created_framework: "Criado diretorio do sistema chati.dev/ (agentes, templates, workflows)"
|
|
29
36
|
created_commands: "Criado .claude/commands/ (roteador)"
|
|
30
|
-
installed_constitution: "Instalada Constituicao (Artigos I-
|
|
37
|
+
installed_constitution: "Instalada Constituicao (Artigos I-XIX)"
|
|
31
38
|
created_session: "Criado schema session.yaml"
|
|
32
39
|
created_claude_md: "Criado CLAUDE.md"
|
|
33
40
|
configured_mcps: "MCPs configurados:"
|
|
@@ -35,7 +42,7 @@ installer:
|
|
|
35
42
|
agents_valid: "Todos os 13 agentes implementam 8 protocolos"
|
|
36
43
|
handoff_ok: "Protocolo de handoff: OK"
|
|
37
44
|
validation_ok: "Criterios de auto-validacao: OK"
|
|
38
|
-
constitution_ok: "Constituicao:
|
|
45
|
+
constitution_ok: "Constituicao: 19 artigos verificados"
|
|
39
46
|
created_memories: "Criado .chati/memories/ (Memory Layer)"
|
|
40
47
|
installed_intelligence: "Instalada Intelligence Layer (Context Engine, Memory, Registry)"
|
|
41
48
|
intelligence_valid: "Intelligence: 6 arquivos de spec verificados"
|
|
@@ -25,7 +25,7 @@ The orchestrator injects context through 5 hierarchical layers:
|
|
|
25
25
|
|
|
26
26
|
| Layer | Name | Source | When Active |
|
|
27
27
|
|-------|------|--------|-------------|
|
|
28
|
-
| **L0** | Constitution | `chati.dev/constitution.md` (Articles I-
|
|
28
|
+
| **L0** | Constitution | `chati.dev/constitution.md` (Articles I-XIX) | ALWAYS (non-negotiable) |
|
|
29
29
|
| **L1** | Mode + Global | `config.yaml` + mode governance (planning/build/deploy) | ALWAYS |
|
|
30
30
|
| **L2** | Agent Scope | `chati.dev/agents/{agent}/` — mission, inputs, outputs, criteria | When agent is active |
|
|
31
31
|
| **L3** | Pipeline State | `.chati/session.yaml` — pipeline position, scores, backlog | When session is active |
|
|
@@ -49,7 +49,7 @@ The orchestrator produces a structured XML block injected into agent prompts:
|
|
|
49
49
|
```xml
|
|
50
50
|
<chati-context bracket="MODERATE">
|
|
51
51
|
<constitution>
|
|
52
|
-
Articles I-
|
|
52
|
+
Articles I-XIX governing agent behavior.
|
|
53
53
|
Key: Self-validation required. Loop until quality threshold.
|
|
54
54
|
Guided options (1,2,3). Persistent session state.
|
|
55
55
|
Two-layer handoff. Language protocol. Deviation protocol.
|
|
@@ -168,7 +168,7 @@ If Smart Continuation is insufficient, the orchestrator spawns a new session:
|
|
|
168
168
|
|
|
169
169
|
When agents execute on different CLI providers, context injection adapts to the provider's capabilities:
|
|
170
170
|
|
|
171
|
-
### Hook-Based Providers (Claude Code, Gemini CLI, Copilot CLI)
|
|
171
|
+
### Hook-Based Providers (Claude Code, Gemini CLI, GitHub Copilot CLI)
|
|
172
172
|
- PRISM context injected via `UserPromptSubmit` hook
|
|
173
173
|
- Mode governance enforced via `PreToolUse` hook
|
|
174
174
|
- Constitution guard enforced via `PreToolUse` hook
|
|
@@ -186,7 +186,7 @@ When agents execute on different CLI providers, context injection adapts to the
|
|
|
186
186
|
| Claude Code | CLAUDE.md | Native (already exists) |
|
|
187
187
|
| Gemini CLI | GEMINI.md | Auto-generated from CLAUDE.md |
|
|
188
188
|
| Codex CLI | AGENTS.md | Auto-generated from CLAUDE.md |
|
|
189
|
-
| Copilot CLI | All three | Reads CLAUDE.md, GEMINI.md, AGENTS.md natively |
|
|
189
|
+
| GitHub Copilot CLI | All three | Reads CLAUDE.md, GEMINI.md, AGENTS.md natively |
|
|
190
190
|
|
|
191
191
|
### Cross-Provider Handoff
|
|
192
192
|
Handoff format is identical regardless of which provider executed the agent. The two-layer structure (Article VIII) ensures any provider can read any handoff. Session state in `.chati/session.yaml` is the single source of truth — all providers read from and write to the same session file.
|