Files
APAW/.kilo/rules/evolutionary-sync.md
¨NW¨ b517ad5dad feat: add synchronization system for agent definitions
- Add kilo.jsonc (official Kilo Code config)
- Add kilo-meta.json (source of truth for sync)
- Add evolutionary-sync.md rule for documentation
- Add scripts/sync-agents.cjs for validation
- Fix agent mode mismatches (8 agents had wrong mode)
- Update KILO_SPEC.md and AGENTS.md

The sync system ensures:
- kilo-meta.json is the single source of truth
- Agent .md files frontmatter matches meta
- KILO_SPEC.md tables stay synchronized
- AGENTS.md category tables stay synchronized

Run: node scripts/sync-agents.cjs --check
Fix: node scripts/sync-agents.cjs --fix
2026-04-05 13:19:54 +01:00

115 lines
2.7 KiB
Markdown

# Evolutionary Mode Rules
When agents are modified, created, or updated during evolutionary improvement, this rule ensures all related files stay synchronized.
## Source of Truth
**`kilo.json`** is the single source of truth for:
- Agent definitions (models, modes, descriptions)
- Command definitions (models, descriptions)
- Categories and groupings
## Files to Synchronize
When agents change, update ALL of these files:
| File | What to Update |
|------|----------------|
| `kilo.json` | Models, modes, descriptions (source of truth) |
| `.kilo/agents/*.md` | Model in YAML frontmatter |
| `.kilo/KILO_SPEC.md` | Pipeline Agents table, Workflow Commands table |
| `AGENTS.md` | Pipeline Agents tables by category |
| `.kilo/agents/orchestrator.md` | Task Tool Invocation table |
## Sync Checklist
When modifying agents:
```
□ Update kilo.json with new model/description
□ Update agent .md file frontmatter
□ Update KILO_SPEC.md Pipeline Agents table
□ Update AGENTS.md category tables
□ Update orchestrator.md subagent_type mappings (if new agent)
□ Run scripts/sync-agents.js --check to verify
```
## Adding New Agent
1. Create `.kilo/agents/agent-name.md` with frontmatter:
```yaml
---
description: Agent description
mode: subagent|primary|all
model: provider/model-id
color: #HEX
permission:
read: allow
edit: allow
...
---
```
2. Add to `kilo.json` under `agents`:
```json
"agent-name": {
"file": ".kilo/agents/agent-name.md",
"description": "Full description",
"model": "provider/model-id",
"mode": "subagent",
"category": "core|quality|meta|cognitive|testing"
}
```
3. If subagent, add to `orchestrator.md`:
- Add to permission list
- Add to Task Tool Invocation table
4. Run sync script:
```bash
node scripts/sync-agents.js --fix
```
## Model Changes
When changing a model:
1. Update agent file frontmatter
2. Update `kilo.json`
3. Update `KILO_SPEC.md`
4. Document reason in commit message
Example:
```
fix: update LeadDeveloper model from qwen3-coder:free to qwen3-coder:480b
Reason: Better code generation quality, supports larger context
```
## Verification
Run sync verification before commits:
```bash
# Check only (CI mode)
node scripts/sync-agents.js --check
# Fix discrepancies
node scripts/sync-agents.js --fix
```
## CI Integration
Add to `.github/workflows/ci.yml`:
```yaml
- name: Verify Agent Sync
run: node scripts/sync-agents.js --check
```
## Prohibited Actions
- DO NOT update KILO_SPEC.md without updating kilo.json
- DO NOT update agent model without updating all sync targets
- DO NOT add new agent without updating orchestrator permissions
- DO NOT skip running sync script after changes