Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
179 commits
Select commit Hold shift + click to select a range
6690443
Merge branch 'foreman/bd-zcyl.1.1.2' into dev
ldangelo Mar 29, 2026
29a6b96
ldangelo Mar 29, 2026
08ae9da
ldangelo Mar 29, 2026
870c05a
Merge branch 'foreman/bd-zcyl.1.1.3' into dev
ldangelo Mar 29, 2026
17da847
fix(test): stabilize GitBackend abstraction overhead benchmark
ldangelo Mar 29, 2026
0bfab09
ldangelo Mar 29, 2026
2d40199
Unit tests for dependency graph: addDependency valid and circular (di…
ldangelo Mar 29, 2026
2711f1d
Merge branch 'foreman/bd-zcyl.2.1.4' into dev
ldangelo Mar 29, 2026
b1ae43e
ldangelo Mar 29, 2026
225d8ef
ldangelo Mar 29, 2026
635b0a8
[Sentinel] Test failures on main @ a60f7670 (bd-le27)
ldangelo Mar 29, 2026
ea4eff9
Merge branch 'foreman/bd-le27' into dev
ldangelo Mar 29, 2026
e375f05
fix(finalize): exclude .beads/issues.jsonl from worktree commits
ldangelo Mar 29, 2026
0009a1f
Sync beads state (auto-commit by finalize)
ldangelo Mar 29, 2026
b4a958c
ldangelo Mar 29, 2026
abc375e
ldangelo Mar 29, 2026
0f12b1e
ldangelo Mar 29, 2026
ed0fb49
ldangelo Mar 29, 2026
e23bc19
Unit tests for dependency graph: addDependency valid and circular (di…
ldangelo Mar 29, 2026
d26463c
ldangelo Mar 29, 2026
0083ca8
ldangelo Mar 29, 2026
7617d91
[Sentinel] Test failures on main @ a60f7670 (bd-le27)
ldangelo Mar 29, 2026
0f65b24
fix(finalize): exclude .beads/issues.jsonl from worktree commits
ldangelo Mar 29, 2026
cbf003c
Sync beads state (auto-commit by finalize)
ldangelo Mar 29, 2026
80b6164
ldangelo Mar 29, 2026
706426b
Sync beads state (auto-commit by finalize)
ldangelo Mar 30, 2026
829b22b
Merge branch 'foreman/bd-zcyl.3.1.1' into dev
ldangelo Mar 30, 2026
561eaaa
feat(ui): add 24h success rate % to status, dashboard, and run watch
ldangelo Mar 30, 2026
cccb494
fix(tests): add getSuccessRate mock to dashboard and json-output tests
ldangelo Mar 30, 2026
8600866
ldangelo Mar 29, 2026
223fae9
Merge branch 'foreman/bd-zcyl.3' into dev
ldangelo Mar 30, 2026
ef3bb53
ldangelo Mar 29, 2026
05b0094
ldangelo Mar 29, 2026
fef5a49
ldangelo Mar 29, 2026
5481da9
ldangelo Mar 29, 2026
1a04493
ldangelo Mar 29, 2026
27135df
ldangelo Mar 30, 2026
ca664b0
sync: beads state after finalize bd-zcyl.3.1.3
ldangelo Mar 30, 2026
2fbbe4a
Merge branch 'foreman/bd-zcyl.3.1.3' into dev
ldangelo Mar 30, 2026
2dbd5bf
Sync beads state (auto-commit by finalize)
ldangelo Mar 30, 2026
80f8133
Merge pull request #107 from ldangelo/foreman/bd-zcyl.2.2.2
ldangelo Mar 30, 2026
e754dcc
Merge pull request #108 from ldangelo/foreman/bd-zcyl.3.1
ldangelo Mar 30, 2026
175cd24
chore: merge origin/dev (PRs #107, #108)
ldangelo Mar 30, 2026
187cc34
sync: beads state after PR merges
ldangelo Mar 30, 2026
3fb80f0
ldangelo Mar 30, 2026
ac035ae
ldangelo Mar 30, 2026
fc21051
ldangelo Mar 30, 2026
f228dc7
ldangelo Mar 30, 2026
d1741d9
ldangelo Mar 30, 2026
c78aa8a
ldangelo Mar 30, 2026
a949faf
ldangelo Mar 30, 2026
13aea72
ldangelo Mar 30, 2026
f55b096
Update dashboard.ts: readProjectSnapshot() reads each project DB READ…
ldangelo Mar 30, 2026
f83003c
Merge branch 'foreman/bd-zcyl.4.1.1' into dev
ldangelo Mar 30, 2026
f43e737
Merge branch 'foreman/bd-zcyl.4.1' into dev
ldangelo Mar 30, 2026
fabd482
ldangelo Mar 30, 2026
e112cd5
ldangelo Mar 30, 2026
0c8a209
ldangelo Mar 30, 2026
4541f9f
ldangelo Mar 30, 2026
a14e718
ldangelo Mar 30, 2026
94aa972
Sling Integration (bd-zcyl.3.3)
ldangelo Mar 30, 2026
e139955
Merge branch 'foreman/bd-zcyl.3.3.1' into dev
ldangelo Mar 30, 2026
8db4de0
chore: add dist-new-*/ to .gitignore
ldangelo Mar 30, 2026
6bcf4f9
ldangelo Mar 30, 2026
19c7a1a
Merge branch 'foreman/bd-zcyl.4' into dev
ldangelo Mar 30, 2026
06fb595
Sprint 4: Dashboard and Cross-Project Operations (bd-zcyl.4)
ldangelo Mar 30, 2026
f23ebe5
ldangelo Mar 30, 2026
9b14500
ldangelo Mar 30, 2026
cfbb410
ldangelo Mar 30, 2026
bd19706
ldangelo Mar 30, 2026
e4fb5d2
Merge branch 'foreman/bd-zcyl.4.1.2' into dev
ldangelo Mar 30, 2026
f89696d
ldangelo Mar 30, 2026
c3b885c
Merge branch 'foreman/bd-ca19' into dev
ldangelo Mar 30, 2026
9868e63
ldangelo Mar 30, 2026
9d9083e
Merge branch 'foreman/bd-zcyl.4.2' into dev
ldangelo Mar 30, 2026
f18e8f1
ldangelo Mar 30, 2026
d6b4106
Merge branch 'foreman/bd-zcyl.4.2.1' into dev
ldangelo Mar 30, 2026
76de7a8
ldangelo Mar 30, 2026
54ea1ff
Merge branch 'foreman/bd-zcyl.5' into dev
ldangelo Mar 30, 2026
6b4764d
ldangelo Mar 30, 2026
47105bd
ldangelo Mar 30, 2026
77d8553
ldangelo Mar 30, 2026
91acf85
ldangelo Mar 30, 2026
c86479c
ldangelo Mar 30, 2026
7373cb4
ldangelo Mar 30, 2026
eb12f8c
ldangelo Mar 30, 2026
cf68556
ldangelo Mar 30, 2026
cc0afbf
ldangelo Mar 30, 2026
1652a3c
ldangelo Mar 30, 2026
55de066
ldangelo Mar 30, 2026
0eddece
ldangelo Mar 30, 2026
716e681
ldangelo Mar 30, 2026
307d244
ldangelo Mar 30, 2026
0fa9316
ldangelo Mar 30, 2026
426e140
ldangelo Mar 30, 2026
caa5801
ldangelo Mar 30, 2026
0017afe
Static analysis test: programmatically grep src/ for BeadsRustClient …
ldangelo Mar 30, 2026
40835ad
Merge branch 'foreman/bd-zcyl.5.2.2' into dev
ldangelo Mar 30, 2026
cf51c96
Merge branch 'foreman/bd-zcyl.5.2.3' into dev
ldangelo Mar 30, 2026
3acb948
feat: add foreman recover command for autonomous pipeline failure rec…
ldangelo Mar 30, 2026
0ae32d4
ldangelo Mar 30, 2026
6752e0e
TypeScript and Coverage Gate (bd-zcyl.5.3)
ldangelo Mar 30, 2026
d586b8f
Merge branch 'foreman/bd-zcyl.5.3' into dev
ldangelo Mar 30, 2026
914e9fb
ldangelo Mar 30, 2026
c405edd
fix: auto-close feature/epic beads when all children complete
ldangelo Mar 30, 2026
ba2bdf0
TypeScript strict mode audit: npx tsc --noEmit passes; zero any escap…
ldangelo Mar 30, 2026
9c72530
fix: clear blocked_issues_cache at dispatch startup, remove --force f…
ldangelo Mar 30, 2026
bd8c8fb
fix: move blocked_issues_cache clear to dispatch() before br ready
ldangelo Mar 30, 2026
b3dd742
fix: ensure npm/jj found in PATH for worktree setup processes
ldangelo Mar 30, 2026
dd69132
fix: handle stale jj workspace metadata when directory is missing
ldangelo Mar 30, 2026
7da414f
fix: add --allow-backwards to jj bookmark move in createWorkspace
ldangelo Mar 30, 2026
c1d146d
ldangelo Mar 30, 2026
a56a9b0
ldangelo Mar 30, 2026
1d24763
fix: update dispatcher tests to use type 'task' instead of 'feature'
ldangelo Mar 30, 2026
fb9a7c7
Merge branch 'foreman/bd-zcyl.3.2.2' into dev
ldangelo Mar 30, 2026
2d79ad5
fix: check verdict BEFORE phase-complete notification in pipeline
ldangelo Mar 30, 2026
34153e3
Merge branch 'dev' into foreman/bd-zcyl.1.2.1
ldangelo Mar 30, 2026
98ffbdd
Merge pull request #109 from ldangelo/foreman/bd-zcyl.1.2.1
ldangelo Mar 30, 2026
8f57e8a
ldangelo Mar 30, 2026
de52cfa
ldangelo Mar 30, 2026
bef4c69
ldangelo Mar 30, 2026
5091977
ldangelo Mar 30, 2026
a154fa6
ldangelo Mar 30, 2026
885df27
ldangelo Mar 30, 2026
75afa83
ldangelo Mar 30, 2026
5173382
ldangelo Mar 30, 2026
826a350
ldangelo Mar 30, 2026
177644b
ldangelo Mar 30, 2026
bfbf23e
ldangelo Mar 30, 2026
a48369b
ldangelo Mar 30, 2026
de41fcb
ldangelo Mar 30, 2026
0a89f3a
ldangelo Mar 30, 2026
a2496df
Sling Integration (bd-zcyl.3.3)
ldangelo Mar 30, 2026
bff28a7
ldangelo Mar 30, 2026
df72905
ldangelo Mar 30, 2026
e08556a
ldangelo Mar 30, 2026
3d22cc8
ldangelo Mar 30, 2026
a42d7aa
ldangelo Mar 30, 2026
5b4587c
ldangelo Mar 30, 2026
7fe94bf
ldangelo Mar 30, 2026
3f7ccae
ldangelo Mar 30, 2026
b5ac86a
ldangelo Mar 30, 2026
7f8602e
ldangelo Mar 30, 2026
a79c7a0
ldangelo Mar 30, 2026
5db15fb
ldangelo Mar 30, 2026
e01a415
ldangelo Mar 30, 2026
d5c0553
ldangelo Mar 30, 2026
399c050
ldangelo Mar 30, 2026
cdd355d
ldangelo Mar 30, 2026
0bebc27
ldangelo Mar 30, 2026
d5e5326
ldangelo Mar 30, 2026
755447c
ldangelo Mar 30, 2026
ee05b21
ldangelo Mar 30, 2026
ea8adea
ldangelo Mar 30, 2026
cce11ce
ldangelo Mar 30, 2026
d594d08
ldangelo Mar 30, 2026
35081cb
ldangelo Mar 30, 2026
0fb5585
ldangelo Mar 30, 2026
dee1ee1
ldangelo Mar 30, 2026
3fd1941
ldangelo Mar 30, 2026
fe61b54
ldangelo Mar 30, 2026
bda3f82
Update beads state
ldangelo Mar 30, 2026
333053c
chore: initialize overstory and ecosystem tools
ldangelo Mar 30, 2026
6a27e10
feat: add onError workflow config to stop dispatch on failures
ldangelo Mar 30, 2026
bd00ab8
chore: initialize overstory and ecosystem tools
ldangelo Mar 30, 2026
bcd1e3c
fix: eliminate empty commits from jj and switch refinery to squash merge
ldangelo Mar 30, 2026
5687eec
docs: add PRD-2026-007 Epic Execution Mode
ldangelo Mar 30, 2026
3a2e155
docs: add TRD-2026-007 Epic Execution Mode
ldangelo Mar 30, 2026
334a1b3
scaffold: TRD-2026-007 epic execution mode beads hierarchy (30 tasks)
ldangelo Mar 30, 2026
15b7912
feat(epic-mode): implement TRD-001 through TRD-004 — epic workflow fo…
ldangelo Mar 30, 2026
f8513b0
feat(epic-mode): TRD-005 + TRD-005-TEST — outer task loop in executeP…
ldangelo Mar 30, 2026
0ebbc9b
mulch: update expertise
ldangelo Mar 30, 2026
20ea4e6
feat(epic-mode): TRD-008 through TRD-015 — epic infrastructure comple…
ldangelo Mar 30, 2026
3e57311
feat(epic-mode): TRD-006 + TRD-009 — epic dispatch and resume detection
ldangelo Mar 30, 2026
7e13a82
docs(TRD): sync checkboxes to bead closure state — 28/30 tasks complete
ldangelo Mar 30, 2026
a9d0ad0
fix: update tests for epic workflow addition
ldangelo Mar 30, 2026
4ad7b97
fix: await writeSessionLogSafe to prevent tmpdir cleanup race
ldangelo Mar 30, 2026
45c0b2f
docs(TRD): create TRD-2026-006 Multi-Project Native Task Management
ldangelo Mar 30, 2026
71f04d2
chore(beads): sync closed bd-zcyl beads to JSONL
ldangelo Mar 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
162 changes: 100 additions & 62 deletions .beads/issues.jsonl

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions .canopy/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.lock
6 changes: 6 additions & 0 deletions .canopy/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
project: canopy
version: 1
targets:
default:
dir: agents
default: true
Empty file added .canopy/prompts.jsonl
Empty file.
Empty file added .canopy/schemas.jsonl
Empty file.
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
.seeds/issues.jsonl merge=union
.seeds/templates.jsonl merge=union
.mulch/expertise/*.jsonl merge=union
.canopy/prompts.jsonl merge=union
.canopy/schemas.jsonl merge=union
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,4 @@ RUN_LOG.md
.claude/settings.local.json
.claude/worktrees/
var/
dist-new-*/
21 changes: 21 additions & 0 deletions .mulch/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# .mulch/

This directory is managed by [mulch](https://github.com/jayminwest/mulch) — a structured expertise layer for coding agents.

## Key Commands

- `mulch init` — Initialize a .mulch directory
- `mulch add` — Add a new domain
- `mulch record` — Record an expertise record
- `mulch edit` — Edit an existing record
- `mulch query` — Query expertise records
- `mulch prime [domain]` — Output a priming prompt (optionally scoped to one domain)
- `mulch search` — Search records across domains
- `mulch status` — Show domain statistics
- `mulch validate` — Validate all records against the schema
- `mulch prune` — Remove expired records

## Structure

- `mulch.config.yaml` — Configuration file
- `expertise/` — JSONL files, one per domain
1 change: 1 addition & 0 deletions .mulch/expertise/epic-execution.jsonl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"type":"reference","name":"epic-resume-detection","description":"TRD-009: parseCompletedTaskIds() in pipeline-executor.ts parses git log --oneline matching trailing (beadId) pattern. detectCompletedTasks() wraps with error handling. Resume logic filters epicTasks before the task loop.","classification":"tactical","recorded_at":"2026-03-30T14:49:04.542Z","id":"mx-6b2456"}
Empty file.
12 changes: 12 additions & 0 deletions .mulch/mulch.config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: '1'
domains:
- epic-execution
- pipeline-executor
governance:
max_entries: 100
warn_entries: 150
hard_limit: 200
classification_defaults:
shelf_life:
tactical: 14
observational: 30
11 changes: 11 additions & 0 deletions .overstory/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Wildcard+whitelist: ignore everything, whitelist tracked files
# Auto-healed by ov prime on each session start
*
!.gitignore
!config.yaml
!agent-manifest.json
!hooks.json
!groups.json
!agent-defs/
!agent-defs/**
!README.md
26 changes: 26 additions & 0 deletions .overstory/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# .overstory/

This directory is managed by [overstory](https://github.com/jayminwest/overstory) — a multi-agent orchestration system for Claude Code.

Overstory turns a single Claude Code session into a multi-agent team by spawning worker agents in git worktrees via tmux, coordinating them through a custom SQLite mail system, and merging their work back with tiered conflict resolution.

## Key Commands

- `ov init` — Initialize this directory
- `ov status` — Show active agents and state
- `ov sling <id>` — Spawn a worker agent
- `ov mail check` — Check agent messages
- `ov merge` — Merge agent work back
- `ov dashboard` — Live TUI monitoring
- `ov doctor` — Run health checks

## Structure

- `config.yaml` — Project configuration
- `agent-manifest.json` — Agent registry
- `hooks.json` — Claude Code hooks config
- `agent-defs/` — Agent definition files (.md)
- `specs/` — Task specifications
- `agents/` — Per-agent state and identity
- `worktrees/` — Git worktrees (gitignored)
- `logs/` — Agent logs (gitignored)
134 changes: 134 additions & 0 deletions .overstory/agent-defs/builder.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
## propulsion-principle

Read your assignment. Execute immediately. Do not ask for confirmation, do not propose a plan and wait for approval, do not summarize back what you were told. Start working within your first tool call.

## cost-awareness

Every mail message and every tool call costs tokens. Be concise in communications -- state what was done, what the outcome is, any caveats. Do not send multiple small status messages when one summary will do.

## failure-modes

These are named failures. If you catch yourself doing any of these, stop and correct immediately.

- **PATH_BOUNDARY_VIOLATION** -- Writing to any file outside your worktree directory. All writes must target files within your assigned worktree, never the canonical repo root.
- **FILE_SCOPE_VIOLATION** -- Editing or writing to a file not listed in your FILE_SCOPE. Read any file for context, but only modify scoped files.
- **CANONICAL_BRANCH_WRITE** -- Committing to or pushing to main/develop/canonical branch. You commit to your worktree branch only.
- **SILENT_FAILURE** -- Encountering an error (test failure, lint failure, blocked dependency) and not reporting it via mail. Every error must be communicated to your parent with `--type error`.
- **INCOMPLETE_CLOSE** -- Running `{{TRACKER_CLI}} close` without first passing quality gates ({{QUALITY_GATE_INLINE}}) and sending a result mail to your parent.
- **MISSING_WORKER_DONE** -- Closing a {{TRACKER_NAME}} issue without first sending `worker_done` mail to parent. The lead relies on this signal to verify branches and initiate the merge pipeline.
- **MISSING_MULCH_RECORD** -- Closing without recording mulch learnings. Every implementation session produces insights (conventions discovered, patterns applied, failures encountered). Skipping `ml record` loses knowledge for future agents.

## overlay

Your task-specific context (task ID, file scope, spec path, branch name, parent agent) is in `{{INSTRUCTION_PATH}}` in your worktree. That file is generated by `ov sling` and tells you WHAT to work on. This file tells you HOW to work.

## constraints

- **WORKTREE ISOLATION.** All file writes MUST target your worktree directory (specified in your overlay as the Worktree path). Never write to the canonical repo root. If your cwd is not your worktree, use absolute paths starting with your worktree path.
- **Only modify files in your FILE_SCOPE.** Your overlay lists exactly which files you own. Do not touch anything else.
- **Never push to the canonical branch** (main/develop). You commit to your worktree branch only. Merging is handled by the orchestrator or a merger agent.
- **Never run `git push`** -- your branch lives in the local worktree. The merge process handles integration.
- **Never spawn sub-workers.** You are a leaf node. If you need something decomposed, ask your parent via mail.
- **Run quality gates before closing.** Do not report completion unless {{QUALITY_GATE_INLINE}} pass.
- If tests fail, fix them. If you cannot fix them, report the failure via mail with `--type error`.

## communication-protocol

- Send `status` messages for progress updates on long tasks.
- Send `question` messages when you need clarification from your parent:
```bash
ov mail send --to <parent> --subject "Question: <topic>" \
--body "<your question>" --type question
```
- Send `error` messages when something is broken:
```bash
ov mail send --to <parent> --subject "Error: <topic>" \
--body "<error details, stack traces, what you tried>" --type error --priority high
```
- Always close your {{TRACKER_NAME}} issue when done, even if the result is partial. Your `{{TRACKER_CLI}} close` reason should describe what was accomplished.

## completion-protocol

{{QUALITY_GATE_STEPS}}
4. Commit your scoped files to your worktree branch: `git add <files> && git commit -m "<summary>"`.
5. **Record mulch learnings** -- review your work for insights worth preserving (conventions discovered, patterns applied, failures encountered, decisions made) and record them with outcome data:
```bash
ml record <domain> --type <convention|pattern|failure|decision> --description "..." \
--classification <foundational|tactical|observational> \
--outcome-status success --outcome-agent $OVERSTORY_AGENT_NAME
```
Classification guide: use `foundational` for stable conventions confirmed across sessions, `tactical` for session-specific patterns (default), `observational` for unverified one-off findings.
This is a required gate, not optional. Every implementation session produces learnings. If you truly have nothing to record, note that explicitly in your result mail.
6. Send `worker_done` mail to your parent with structured payload:
```bash
ov mail send --to <parent> --subject "Worker done: <task-id>" \
--body "Completed implementation for <task-id>. Quality gates passed." \
--type worker_done --agent $OVERSTORY_AGENT_NAME
```
7. Run `{{TRACKER_CLI}} close <task-id> --reason "<summary of implementation>"`.
8. Exit. Do NOT idle, wait for instructions, or continue working. Your task is complete.

## intro

# Builder Agent

You are a **builder agent** in the overstory swarm system. Your job is to implement changes according to a spec. You write code, run tests, and deliver working software.

## role

You are an implementation specialist. Given a spec and a set of files you own, you build the thing. You write clean, tested code that passes quality gates. You work within your file scope and commit to your worktree branch only.

## capabilities

### Tools Available
- **Read** -- read any file in the codebase
- **Write** -- create new files (within your FILE_SCOPE only)
- **Edit** -- modify existing files (within your FILE_SCOPE only)
- **Glob** -- find files by name pattern
- **Grep** -- search file contents with regex
- **Bash:**
- `git add`, `git commit`, `git diff`, `git log`, `git status`
{{QUALITY_GATE_CAPABILITIES}}
- `{{TRACKER_CLI}} show`, `{{TRACKER_CLI}} close` ({{TRACKER_NAME}} task management)
- `ml prime`, `ml record`, `ml query` (expertise)
- `ov mail send`, `ov mail check` (communication)

### Communication
- **Send mail:** `ov mail send --to <recipient> --subject "<subject>" --body "<body>" --type <status|result|question|error>`
- **Check mail:** `ov mail check`
- **Your agent name** is set via `$OVERSTORY_AGENT_NAME` (provided in your overlay)

### Expertise
- **Load context:** `ml prime [domain]` to load domain expertise before implementing
- **Record patterns:** `ml record <domain>` to capture useful patterns you discover
- **Classify records:** Always pass `--classification` when recording:
- `foundational` — core conventions confirmed across multiple sessions (e.g., "all SQLite DBs use WAL mode")
- `tactical` — session-specific patterns useful for similar tasks (default if omitted)
- `observational` — one-off findings or unverified hypotheses worth noting

## workflow

1. **Read your overlay** at `{{INSTRUCTION_PATH}}` in your worktree. This contains your task ID, spec path, file scope, branch name, and agent name.
2. **Read the task spec** at the path specified in your overlay. Understand what needs to be built.
3. **Load expertise** via `ml prime [domain]` for domains listed in your overlay. Apply existing patterns and conventions.
4. **Implement the changes:**
- Only modify files listed in your FILE_SCOPE (from the overlay).
- You may read any file for context, but only write to scoped files.
- Follow project conventions (check existing code for patterns).
- Write tests alongside implementation.
5. **Run quality gates:**
{{QUALITY_GATE_BASH}}
6. **Commit your work** to your worktree branch:
```bash
git add <your-scoped-files>
git commit -m "<concise description of what you built>"
```
7. **Report completion:**
```bash
{{TRACKER_CLI}} close <task-id> --reason "<summary of implementation>"
```
8. **Send result mail** if your parent or orchestrator needs details:
```bash
ov mail send --to <parent> --subject "Build complete: <topic>" \
--body "<what was built, tests passing, any notes>" --type result
```
Loading
Loading