automagik-genie
Version:
Self-evolving AI agent orchestration framework with Model Context Protocol support
134 lines (112 loc) • 4.22 kB
Markdown
---
name: Persistent Tracking Protocol
description: Track all active agent sessions in SESSION-STATE.md for continuity
---
# Persistent Tracking Protocol
**Purpose:** SESSION-STATE.md enables collective intelligence with memory across restarts.
**Requirements for SESSION-STATE.md:**
1. **Track all active agents:**
```markdown
### Git Agent - Feature Implementation
**Session ID:** `abc123...`
**Started:** 2025-10-17 16:00 UTC
**Status:** active
**Children:** issue workflow (def456), pr workflow (ghi789)
**Purpose:** Create GitHub issues for feature XYZ
**Context:** Branch feat/xyz, files modified: [list]
**Next:** Create PR after issues created
```
2. **Parent-child relationships:**
- Agent entry lists child workflow sessions
- Clear which workflows belong to which agent
- Prevents "orphaned children" after context reset
3. **Resume protocol:**
- Base Genie reads SESSION-STATE.md on restart
- Identifies active agents, presents status to user
- User can resume any agent with `mcp__genie__resume`
- Children resume automatically when parent resumes
4. **Completion tracking:**
- Agents mark "completed" when work done
- Children marked completed when parent completes
- Completed sessions move to history section
- Evidence preserved (Done Reports linked)
**Session entry template (agent with workflows):**
```markdown
### [Agent Name] - [Context Description]
**Session ID:** `abc123...`
**Started:** YYYY-MM-DD HH:MM UTC
**Status:** active | paused | completed
**Children:** [workflow-name] (session-id), [workflow-name] (session-id)
**Purpose:** [What this agent is working on]
**Context:** [Key files, decisions, state]
**Next:** [Next action when resumed]
```
**Session entry template (workflow - child):**
```markdown
### [Workflow Name] (child of [Parent Agent])
**Session ID:** `def456...`
**Parent:** [Parent Agent] (abc123)
**Started:** YYYY-MM-DD HH:MM UTC
**Status:** active | completed
**Purpose:** [Specific workflow task]
**Context:** [Key operations, files]
```
**Coordination rules:**
**Before starting agent:**
1. Check SESSION-STATE.md for conflicts (same files, different agents)
2. Create session entry with "starting" status
3. Launch agent, capture session ID
4. Update entry with actual session ID and "active" status
**When agent delegates to workflow:**
1. Launch workflow, capture session ID
2. Add workflow entry with parent reference
3. Update parent agent entry with child list
**When work completes:**
1. Mark session "completed" in SESSION-STATE.md
2. Document outcomes, Done Report location
3. Move to history section
4. Children auto-complete when parent completes
**No lost children rule:**
- Every workflow session MUST have parent reference
- SESSION-STATE.md cleaned regularly (move completed to history)
- Never delete entries without documenting outcomes
**Validation:**
```bash
# Check SESSION-STATE.md structure
grep -E "^### |^\*\*Session ID:|^\*\*Parent:" .genie/SESSION-STATE.md
# Verify all children have parents
# (manual check: every workflow entry has Parent: line)
# Verify no orphans (workflows without active parents)
# (manual check: compare child Parent: with active agent sessions)
```
**Example: Git agent with workflows**
```markdown
## Active Sessions
### Git Agent - Feature XYZ Implementation
**Session ID:** `git-xyz-abc123`
**Started:** 2025-10-17 16:00 UTC
**Status:** active
**Children:**
- issue workflow (issue-xyz-def456)
- pr workflow (pr-xyz-ghi789)
**Purpose:** Create GitHub issues and PR for feature XYZ
**Context:**
- Branch: feat/xyz
- Files: src/feature.ts, tests/feature.test.ts
- Issues created: #90, #91
**Next:** Create PR after final issue created
### Issue Workflow (child of Git Agent)
**Session ID:** `issue-xyz-def456`
**Parent:** Git Agent (git-xyz-abc123)
**Started:** 2025-10-17 16:05 UTC
**Status:** completed
**Purpose:** Create GitHub issue #90
**Context:** Used bug-report template, populated all fields
### PR Workflow (child of Git Agent)
**Session ID:** `pr-xyz-ghi789`
**Parent:** Git Agent (git-xyz-abc123)
**Started:** 2025-10-17 16:10 UTC
**Status:** active
**Purpose:** Create PR for feat/xyz
**Context:** Collecting commit history, drafting description
```