# Goal Hierarchy File-based goal hierarchy inspired by Paperclip's goal system. ## Design decisions - **Simple parent_id, not recursive**: Each goal references its parent by ID. No recursive traversal at runtime — matching Paperclip's actual implementation (not their aspirational docs which describe "full ancestry"). - **Dot notation for hierarchy**: G1 → G1.1 → G1.1.1 makes the hierarchy visible in the ID itself. - **File-based, not database**: Human-editable, version-controlled, no dependencies. ## Goal levels | Level | ID pattern | Example | Description | |-------|-----------|---------|-------------| | Company | G1, G2 | G1 | Top-level organizational goals | | Project | G1.1, G1.2 | G1.1 | Goals that support a company goal | | Task | G1.1.1 | G1.1.1 | Specific tasks assigned to agents | ## Usage ```bash # View goal summary ./goal-tracker.sh # Mark a task as complete ./goal-tracker.sh complete G1.1.1 # Generate context for heartbeat injection ./goal-tracker.sh context ``` ## Integration with heartbeat The `context` command produces a summary suitable for injection into the heartbeat context packet (see `scripts/templates/heartbeat/context-packet.md`). The heartbeat runner can call `./goal-tracker.sh context` and inject the output as `{{ACTIVE_GOALS}}`.