@deimoscloud/coreai 0.1.0
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/.prettierrc +9 -0
- package/AGENT_SPEC.md +347 -0
- package/ARCHITECTURE.md +547 -0
- package/DRAFT_PRD.md +1440 -0
- package/IMPLEMENTATION_PLAN.md +256 -0
- package/PRODUCT.md +473 -0
- package/README.md +303 -0
- package/WORKFLOWS.md +295 -0
- package/agents/_templates/ic-engineer.md +185 -0
- package/agents/_templates/reviewer.md +182 -0
- package/agents/backend-engineer.yaml +72 -0
- package/agents/devops-engineer.yaml +72 -0
- package/agents/engineering-manager.yaml +70 -0
- package/agents/examples/android-engineer.md +302 -0
- package/agents/examples/backend-engineer.md +320 -0
- package/agents/examples/devops-engineer.md +742 -0
- package/agents/examples/engineering-manager.md +469 -0
- package/agents/examples/frontend-engineer.md +58 -0
- package/agents/examples/product-manager.md +315 -0
- package/agents/examples/qa-engineer.md +371 -0
- package/agents/examples/security-engineer.md +525 -0
- package/agents/examples/solutions-architect.md +351 -0
- package/agents/examples/wearos-engineer.md +359 -0
- package/agents/frontend-engineer.yaml +72 -0
- package/commands/core/check-inbox.md +34 -0
- package/commands/core/delegate.md +30 -0
- package/commands/core/git-commit.md +144 -0
- package/commands/core/pr-create.md +193 -0
- package/commands/core/review.md +56 -0
- package/commands/core/sprint-status.md +65 -0
- package/commands/optional/docs-update.md +200 -0
- package/commands/optional/jira-create.md +200 -0
- package/commands/optional/jira-transition.md +184 -0
- package/commands/optional/worktree-cleanup.md +167 -0
- package/commands/optional/worktree-setup.md +110 -0
- package/dist/cli/index.js +4037 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/index.d.ts +2978 -0
- package/dist/index.js +3867 -0
- package/dist/index.js.map +1 -0
- package/eslint.config.js +29 -0
- package/jest.config.js +22 -0
- package/knowledge-library/README.md +118 -0
- package/knowledge-library/android-engineer/context/current.txt +42 -0
- package/knowledge-library/android-engineer/control/decisions.txt +9 -0
- package/knowledge-library/android-engineer/control/dependencies.txt +19 -0
- package/knowledge-library/android-engineer/control/objectives.txt +26 -0
- package/knowledge-library/android-engineer/history/.gitkeep +0 -0
- package/knowledge-library/android-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/android-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/android-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/architecture.txt +61 -0
- package/knowledge-library/backend-engineer/context/current.txt +42 -0
- package/knowledge-library/backend-engineer/control/decisions.txt +9 -0
- package/knowledge-library/backend-engineer/control/dependencies.txt +19 -0
- package/knowledge-library/backend-engineer/control/objectives.txt +26 -0
- package/knowledge-library/backend-engineer/history/.gitkeep +0 -0
- package/knowledge-library/backend-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/backend-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/backend-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/context.txt +52 -0
- package/knowledge-library/devops-engineer/context/current.txt +42 -0
- package/knowledge-library/devops-engineer/control/decisions.txt +9 -0
- package/knowledge-library/devops-engineer/control/dependencies.txt +19 -0
- package/knowledge-library/devops-engineer/control/objectives.txt +26 -0
- package/knowledge-library/devops-engineer/history/.gitkeep +0 -0
- package/knowledge-library/devops-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/devops-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/devops-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/engineering-manager/context/current.txt +40 -0
- package/knowledge-library/engineering-manager/control/decisions.txt +9 -0
- package/knowledge-library/engineering-manager/control/objectives.txt +27 -0
- package/knowledge-library/engineering-manager/history/.gitkeep +0 -0
- package/knowledge-library/engineering-manager/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/engineering-manager/outbox/.gitkeep +0 -0
- package/knowledge-library/engineering-manager/tech/.gitkeep +0 -0
- package/knowledge-library/prd.txt +81 -0
- package/knowledge-library/product-manager/context/current.txt +42 -0
- package/knowledge-library/product-manager/control/decisions.txt +9 -0
- package/knowledge-library/product-manager/control/dependencies.txt +19 -0
- package/knowledge-library/product-manager/control/objectives.txt +26 -0
- package/knowledge-library/product-manager/history/.gitkeep +0 -0
- package/knowledge-library/product-manager/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/product-manager/outbox/.gitkeep +0 -0
- package/knowledge-library/product-manager/tech/.gitkeep +0 -0
- package/knowledge-library/qa-engineer/context/current.txt +42 -0
- package/knowledge-library/qa-engineer/control/decisions.txt +9 -0
- package/knowledge-library/qa-engineer/control/dependencies.txt +19 -0
- package/knowledge-library/qa-engineer/control/objectives.txt +26 -0
- package/knowledge-library/qa-engineer/history/.gitkeep +0 -0
- package/knowledge-library/qa-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/qa-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/qa-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/security-engineer/context/current.txt +42 -0
- package/knowledge-library/security-engineer/control/decisions.txt +9 -0
- package/knowledge-library/security-engineer/control/dependencies.txt +19 -0
- package/knowledge-library/security-engineer/control/objectives.txt +26 -0
- package/knowledge-library/security-engineer/history/.gitkeep +0 -0
- package/knowledge-library/security-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/security-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/security-engineer/tech/.gitkeep +0 -0
- package/knowledge-library/solutions-architect/context/current.txt +42 -0
- package/knowledge-library/solutions-architect/control/decisions.txt +9 -0
- package/knowledge-library/solutions-architect/control/dependencies.txt +19 -0
- package/knowledge-library/solutions-architect/control/objectives.txt +26 -0
- package/knowledge-library/solutions-architect/history/.gitkeep +0 -0
- package/knowledge-library/solutions-architect/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/solutions-architect/outbox/.gitkeep +0 -0
- package/knowledge-library/solutions-architect/tech/.gitkeep +0 -0
- package/knowledge-library/wearos-engineer/context/current.txt +42 -0
- package/knowledge-library/wearos-engineer/control/decisions.txt +9 -0
- package/knowledge-library/wearos-engineer/control/dependencies.txt +19 -0
- package/knowledge-library/wearos-engineer/control/objectives.txt +26 -0
- package/knowledge-library/wearos-engineer/history/.gitkeep +0 -0
- package/knowledge-library/wearos-engineer/inbox/processed/.gitkeep +0 -0
- package/knowledge-library/wearos-engineer/outbox/.gitkeep +0 -0
- package/knowledge-library/wearos-engineer/tech/.gitkeep +0 -0
- package/package.json +66 -0
- package/schemas/agent.schema.json +171 -0
- package/schemas/coreai.config.schema.json +257 -0
- package/scripts/add-agent.sh +323 -0
- package/scripts/install.sh +354 -0
- package/src/adapters/factory.test.ts +386 -0
- package/src/adapters/factory.ts +305 -0
- package/src/adapters/index.ts +113 -0
- package/src/adapters/interfaces.ts +268 -0
- package/src/adapters/mcp/client.test.ts +130 -0
- package/src/adapters/mcp/client.ts +451 -0
- package/src/adapters/mcp/discovery.test.ts +315 -0
- package/src/adapters/mcp/discovery.ts +340 -0
- package/src/adapters/mcp/index.ts +66 -0
- package/src/adapters/mcp/mapper.test.ts +218 -0
- package/src/adapters/mcp/mapper.ts +536 -0
- package/src/adapters/mcp/registry.test.ts +433 -0
- package/src/adapters/mcp/registry.ts +550 -0
- package/src/adapters/mcp/types.ts +258 -0
- package/src/adapters/native/filesystem.test.ts +350 -0
- package/src/adapters/native/filesystem.ts +393 -0
- package/src/adapters/native/github.test.ts +173 -0
- package/src/adapters/native/github.ts +627 -0
- package/src/adapters/native/index.ts +22 -0
- package/src/adapters/native/selector.test.ts +224 -0
- package/src/adapters/native/selector.ts +150 -0
- package/src/adapters/types.ts +270 -0
- package/src/agents/compiler.test.ts +399 -0
- package/src/agents/compiler.ts +359 -0
- package/src/agents/index.ts +36 -0
- package/src/agents/loader.test.ts +319 -0
- package/src/agents/loader.ts +143 -0
- package/src/agents/resolver.test.ts +282 -0
- package/src/agents/resolver.ts +262 -0
- package/src/agents/types.ts +87 -0
- package/src/cache/index.ts +38 -0
- package/src/cache/interfaces.ts +283 -0
- package/src/cache/manager.test.ts +266 -0
- package/src/cache/manager.ts +388 -0
- package/src/cache/provider.test.ts +485 -0
- package/src/cache/provider.ts +745 -0
- package/src/cache/types.test.ts +192 -0
- package/src/cache/types.ts +313 -0
- package/src/cli/commands/build.test.ts +248 -0
- package/src/cli/commands/build.ts +244 -0
- package/src/cli/commands/cache.test.ts +221 -0
- package/src/cli/commands/cache.ts +229 -0
- package/src/cli/commands/index.ts +63 -0
- package/src/cli/commands/init.test.ts +173 -0
- package/src/cli/commands/init.ts +296 -0
- package/src/cli/commands/skills.test.ts +272 -0
- package/src/cli/commands/skills.ts +348 -0
- package/src/cli/commands/status.test.ts +392 -0
- package/src/cli/commands/status.ts +332 -0
- package/src/cli/commands/sync.test.ts +213 -0
- package/src/cli/commands/sync.ts +251 -0
- package/src/cli/commands/validate.test.ts +216 -0
- package/src/cli/commands/validate.ts +340 -0
- package/src/cli/index.test.ts +190 -0
- package/src/cli/index.ts +493 -0
- package/src/commands/context.test.ts +163 -0
- package/src/commands/context.ts +111 -0
- package/src/commands/index.ts +56 -0
- package/src/commands/loader.test.ts +273 -0
- package/src/commands/loader.ts +355 -0
- package/src/commands/registry.test.ts +384 -0
- package/src/commands/registry.ts +248 -0
- package/src/commands/runner.test.ts +297 -0
- package/src/commands/runner.ts +222 -0
- package/src/commands/types.ts +361 -0
- package/src/config/index.ts +19 -0
- package/src/config/loader.test.ts +262 -0
- package/src/config/loader.ts +188 -0
- package/src/config/types.ts +154 -0
- package/src/context/index.ts +14 -0
- package/src/context/loader.test.ts +334 -0
- package/src/context/loader.ts +357 -0
- package/src/index.test.ts +13 -0
- package/src/index.ts +244 -0
- package/src/knowledge-library/index.ts +44 -0
- package/src/knowledge-library/manager.test.ts +536 -0
- package/src/knowledge-library/manager.ts +804 -0
- package/src/knowledge-library/types.ts +432 -0
- package/src/skills/generator.test.ts +602 -0
- package/src/skills/generator.ts +491 -0
- package/src/skills/index.ts +27 -0
- package/src/skills/templates.ts +520 -0
- package/src/skills/types.ts +251 -0
- package/templates/completion-report.md +72 -0
- package/templates/feedback.md +56 -0
- package/templates/project-files/CLAUDE.md.template +109 -0
- package/templates/project-files/coreai.json.example +47 -0
- package/templates/project-files/mcp.json.template +20 -0
- package/templates/review-complete.md +64 -0
- package/templates/review-request.md +67 -0
- package/templates/task-assignment.md +51 -0
- package/tsconfig.build.json +4 -0
- package/tsconfig.json +26 -0
- package/tsup.config.ts +23 -0
package/.prettierrc
ADDED
package/AGENT_SPEC.md
ADDED
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
# Agent System Specification
|
|
2
|
+
|
|
3
|
+
> **PURPOSE:** Master specification for the multi-agent development system.
|
|
4
|
+
> This defines how agents behave, communicate, and collaborate.
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
This system uses specialized AI agents to simulate a software development team. Each agent has a defined role, responsibilities, and tools. Agents communicate via an inbox-based message system and follow mandatory workflows.
|
|
11
|
+
|
|
12
|
+
### Design Principles
|
|
13
|
+
|
|
14
|
+
1. **Clear ownership** - Each agent owns specific responsibilities
|
|
15
|
+
2. **Minimal handoffs** - Reduce back-and-forth between agents
|
|
16
|
+
3. **Self-service** - Agents do their own Jira/GitHub updates
|
|
17
|
+
4. **Explicit checkpoints** - Validate work at defined gates
|
|
18
|
+
5. **Template-driven** - Standard message formats reduce ambiguity
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Agent Roles
|
|
23
|
+
|
|
24
|
+
### Engineering Manager (EM)
|
|
25
|
+
|
|
26
|
+
**Primary Role:** Coordination and validation (NOT implementation)
|
|
27
|
+
|
|
28
|
+
**Responsibilities:**
|
|
29
|
+
- Delegate tasks to appropriate agents
|
|
30
|
+
- Validate workflow compliance on task completion
|
|
31
|
+
- Track sprint progress and blockers
|
|
32
|
+
- Escalate issues and remove blockers
|
|
33
|
+
|
|
34
|
+
**Does NOT:**
|
|
35
|
+
- Write code
|
|
36
|
+
- Create PRs
|
|
37
|
+
- Move tickets to intermediate states (engineers do this)
|
|
38
|
+
|
|
39
|
+
**Validation Duties:**
|
|
40
|
+
When an engineer reports completion, EM validates:
|
|
41
|
+
1. Ticket is in correct status (In Review for PRs, Done for completed work)
|
|
42
|
+
2. PR exists and is linked (if applicable)
|
|
43
|
+
3. Workflow checkpoint is complete
|
|
44
|
+
4. All acceptance criteria addressed
|
|
45
|
+
|
|
46
|
+
### Individual Contributor (IC) Engineers
|
|
47
|
+
|
|
48
|
+
**Types:** wearos-engineer, android-engineer, backend-engineer, devops-engineer
|
|
49
|
+
|
|
50
|
+
**Primary Role:** Implementation with full lifecycle ownership
|
|
51
|
+
|
|
52
|
+
**Responsibilities:**
|
|
53
|
+
- Receive tasks via inbox
|
|
54
|
+
- Move ticket to "In Progress" when starting
|
|
55
|
+
- Create feature branch
|
|
56
|
+
- Implement with tests
|
|
57
|
+
- Run quality checks (lint, tests, static analysis)
|
|
58
|
+
- Create PR
|
|
59
|
+
- Move ticket to "In Review"
|
|
60
|
+
- Send completion summary to EM
|
|
61
|
+
|
|
62
|
+
**Owns the full ticket lifecycle:**
|
|
63
|
+
```
|
|
64
|
+
Receives task → In Progress → Branch → Implement → PR → In Review → Notify EM
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Specialist Agents
|
|
68
|
+
|
|
69
|
+
**Types:** solutions-architect, security-engineer, qa-engineer
|
|
70
|
+
|
|
71
|
+
**Primary Role:** Review, guidance, and specialized tasks
|
|
72
|
+
|
|
73
|
+
**Responsibilities:**
|
|
74
|
+
- Perform code reviews (post comments to GitHub PR)
|
|
75
|
+
- Provide architectural guidance
|
|
76
|
+
- Security audits and recommendations
|
|
77
|
+
- Test strategy and QA sign-off
|
|
78
|
+
|
|
79
|
+
### Product Manager (PM)
|
|
80
|
+
|
|
81
|
+
**Primary Role:** Requirements and prioritization
|
|
82
|
+
|
|
83
|
+
**Responsibilities:**
|
|
84
|
+
- Define and clarify requirements
|
|
85
|
+
- Prioritize backlog
|
|
86
|
+
- Accept/reject completed features
|
|
87
|
+
- Manage roadmap
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Responsibility Matrix
|
|
92
|
+
|
|
93
|
+
| Action | EM | IC Engineer | Specialist | PM |
|
|
94
|
+
|--------|:--:|:-----------:|:----------:|:--:|
|
|
95
|
+
| Delegate tasks | ✅ | | | |
|
|
96
|
+
| Move ticket to In Progress | | ✅ | ✅ | |
|
|
97
|
+
| Create branch | | ✅ | | |
|
|
98
|
+
| Write code | | ✅ | | |
|
|
99
|
+
| Run tests/lint | | ✅ | | |
|
|
100
|
+
| Create PR | | ✅ | | |
|
|
101
|
+
| Move ticket to In Review | | ✅ | | |
|
|
102
|
+
| Post PR review | | | ✅ | |
|
|
103
|
+
| Validate completion | ✅ | | | |
|
|
104
|
+
| Move ticket to Done | ✅ | | | ✅ |
|
|
105
|
+
| Define requirements | | | | ✅ |
|
|
106
|
+
| Architecture decisions | | | ✅ (SA) | |
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Communication Protocol
|
|
111
|
+
|
|
112
|
+
### Message Flow
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
116
|
+
│ 1. EM: Writes task to /KnowledgeLibrary/[agent]/inbox/ │
|
|
117
|
+
│ Does NOT move ticket (engineer will do this) │
|
|
118
|
+
│ Tells user: "Please invoke @[agent]" │
|
|
119
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
120
|
+
↓
|
|
121
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
122
|
+
│ 2. Engineer: Reads inbox │
|
|
123
|
+
│ Moves ticket to "In Progress" via Jira MCP │
|
|
124
|
+
│ Creates branch, implements, tests │
|
|
125
|
+
│ Creates PR │
|
|
126
|
+
│ Moves ticket to "In Review" via Jira MCP │
|
|
127
|
+
│ Writes completion to /KnowledgeLibrary/EM/inbox/ │
|
|
128
|
+
│ Tells user: "Please invoke @engineering-manager" │
|
|
129
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
130
|
+
↓
|
|
131
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
132
|
+
│ 3. EM: Reads inbox │
|
|
133
|
+
│ Validates: ticket in correct status? PR exists? │
|
|
134
|
+
│ If valid: Assigns reviewers, continues workflow │
|
|
135
|
+
│ If invalid: Sends feedback to engineer │
|
|
136
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### Inbox Message Format
|
|
140
|
+
|
|
141
|
+
All inbox messages MUST use this standard format:
|
|
142
|
+
|
|
143
|
+
```markdown
|
|
144
|
+
---
|
|
145
|
+
type: [task-assignment | completion-report | review-request | feedback]
|
|
146
|
+
from: [agent-name]
|
|
147
|
+
to: [agent-name]
|
|
148
|
+
date: [YYYY-MM-DD HH:MM]
|
|
149
|
+
ticket: [SUR-XX or N/A]
|
|
150
|
+
priority: [P0 | P1 | P2 | P3]
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## [Message Title]
|
|
154
|
+
|
|
155
|
+
### Summary
|
|
156
|
+
[1-2 sentence summary]
|
|
157
|
+
|
|
158
|
+
### Details
|
|
159
|
+
[Full details, acceptance criteria, etc.]
|
|
160
|
+
|
|
161
|
+
### Required Actions
|
|
162
|
+
- [ ] Action 1
|
|
163
|
+
- [ ] Action 2
|
|
164
|
+
|
|
165
|
+
### References
|
|
166
|
+
- [Links to tickets, PRs, docs]
|
|
167
|
+
|
|
168
|
+
### Workflow Checkpoint (if completion report)
|
|
169
|
+
[See workflow checkpoint format]
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### File Naming Convention
|
|
173
|
+
|
|
174
|
+
**Inbox files:**
|
|
175
|
+
```
|
|
176
|
+
YYYYMMDD_HHMM-[from-agent]-[topic].md
|
|
177
|
+
Example: 20260105_1430-engineering-manager-SUR-70-assignment.md
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**Processed files:**
|
|
181
|
+
```
|
|
182
|
+
PROCESSED_YYYYMMDD_HHMM_[original-filename].md
|
|
183
|
+
Example: PROCESSED_20260105_1500_20260105_1430-engineering-manager-SUR-70-assignment.md
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Workflow States
|
|
189
|
+
|
|
190
|
+
### Ticket Implementation Workflow
|
|
191
|
+
|
|
192
|
+
```
|
|
193
|
+
BACKLOG → IN_PROGRESS → PR_CREATED → IN_REVIEW → APPROVED → MERGED → DONE
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
| State | Owner | Entry Action | Exit Action |
|
|
197
|
+
|-------|-------|--------------|-------------|
|
|
198
|
+
| BACKLOG | EM | Task delegated to agent | - |
|
|
199
|
+
| IN_PROGRESS | Engineer | Engineer moves ticket, creates branch | Code complete, tests pass |
|
|
200
|
+
| PR_CREATED | Engineer | Engineer creates PR | CI passes |
|
|
201
|
+
| IN_REVIEW | Engineer → Reviewer | Engineer moves ticket | Reviewer approves |
|
|
202
|
+
| APPROVED | Reviewer | Reviewer posts approval | User merges PR |
|
|
203
|
+
| MERGED | User | User merges PR | - |
|
|
204
|
+
| DONE | EM | EM validates and closes | - |
|
|
205
|
+
|
|
206
|
+
### EM Validation Checklist
|
|
207
|
+
|
|
208
|
+
When engineer sends completion report, EM checks:
|
|
209
|
+
|
|
210
|
+
```markdown
|
|
211
|
+
## Validation Checklist
|
|
212
|
+
- [ ] Ticket status is "In Review" (not still In Progress)
|
|
213
|
+
- [ ] PR URL is provided in completion report
|
|
214
|
+
- [ ] PR exists on GitHub (verify with `gh pr view`)
|
|
215
|
+
- [ ] PR title matches convention: `feat(SUR-XX): Description`
|
|
216
|
+
- [ ] CI checks are passing (verify with `gh pr checks`)
|
|
217
|
+
- [ ] Workflow checkpoint is complete and valid
|
|
218
|
+
- [ ] All acceptance criteria addressed in report
|
|
219
|
+
|
|
220
|
+
### If validation fails:
|
|
221
|
+
1. Note specific issues
|
|
222
|
+
2. Write feedback to engineer's inbox
|
|
223
|
+
3. Do NOT mark ticket as complete
|
|
224
|
+
4. Ticket remains in current status
|
|
225
|
+
|
|
226
|
+
### If validation passes:
|
|
227
|
+
1. Assign reviewers
|
|
228
|
+
2. Write review requests to reviewer inboxes
|
|
229
|
+
3. Update tracking
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Agent Invocation
|
|
235
|
+
|
|
236
|
+
### Critical Rule: No Task Tool for Agent-to-Agent
|
|
237
|
+
|
|
238
|
+
**EM MUST NOT use the Task tool to invoke other agents.**
|
|
239
|
+
|
|
240
|
+
Why: Task tool spawns subagents without MCP access. They cannot update Jira or post to GitHub.
|
|
241
|
+
|
|
242
|
+
**Correct pattern:**
|
|
243
|
+
1. EM writes to agent's inbox
|
|
244
|
+
2. EM tells user to invoke agent via `@[agent-name]`
|
|
245
|
+
3. User invokes agent (agent has full MCP access)
|
|
246
|
+
|
|
247
|
+
### User Commands
|
|
248
|
+
|
|
249
|
+
Users invoke agents via:
|
|
250
|
+
- `@engineering-manager /delegate SUR-XX to wearos-engineer`
|
|
251
|
+
- `@wearos-engineer /check-inbox`
|
|
252
|
+
- `@engineering-manager /sprint-status`
|
|
253
|
+
- `@solutions-architect /check-inbox and review PR #47`
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## Startup & Completion Protocols
|
|
258
|
+
|
|
259
|
+
### Agent Startup (When Invoked)
|
|
260
|
+
|
|
261
|
+
Every agent MUST:
|
|
262
|
+
1. Check if first invocation this session
|
|
263
|
+
2. If first: Load full context (project state, personal context, workflows)
|
|
264
|
+
3. If subsequent: Check inbox for new messages only
|
|
265
|
+
4. Acknowledge context loaded
|
|
266
|
+
|
|
267
|
+
### Agent Completion (Before Finishing)
|
|
268
|
+
|
|
269
|
+
Every agent MUST:
|
|
270
|
+
1. Update personal context file
|
|
271
|
+
2. Update relevant tickets (Jira status, comments)
|
|
272
|
+
3. Move processed inbox messages to `processed/`
|
|
273
|
+
4. Send completion summary to appropriate agent (usually EM)
|
|
274
|
+
5. Tell user next action required
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## Quality Gates
|
|
279
|
+
|
|
280
|
+
### Before Creating PR
|
|
281
|
+
|
|
282
|
+
Engineer must verify:
|
|
283
|
+
- [ ] All tests pass: `./gradlew test`
|
|
284
|
+
- [ ] Lint passes: `./gradlew ktlintCheck`
|
|
285
|
+
- [ ] Static analysis passes: `./gradlew detekt`
|
|
286
|
+
- [ ] All acceptance criteria implemented
|
|
287
|
+
- [ ] PR description follows template
|
|
288
|
+
|
|
289
|
+
### Before Merging PR
|
|
290
|
+
|
|
291
|
+
Must have:
|
|
292
|
+
- [ ] CI green
|
|
293
|
+
- [ ] At least one approval (solutions-architect or security-engineer)
|
|
294
|
+
- [ ] All review comments addressed
|
|
295
|
+
- [ ] No blocking issues
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
## Extensibility
|
|
300
|
+
|
|
301
|
+
### Adding New Agents
|
|
302
|
+
|
|
303
|
+
1. Create agent file in `.claude/agents/[name].md`
|
|
304
|
+
2. Add to responsibility matrix
|
|
305
|
+
3. Create inbox directory in KnowledgeLibrary
|
|
306
|
+
4. Update EM delegation options
|
|
307
|
+
|
|
308
|
+
### Adding New Commands
|
|
309
|
+
|
|
310
|
+
1. Create command file in `.claude/commands/[name].md`
|
|
311
|
+
2. Document in command reference
|
|
312
|
+
3. Test with relevant agents
|
|
313
|
+
|
|
314
|
+
### Adding New Workflows
|
|
315
|
+
|
|
316
|
+
1. Define states and transitions
|
|
317
|
+
2. Define entry/exit conditions for each state
|
|
318
|
+
3. Define checkpoints and validation
|
|
319
|
+
4. Add to workflows.md
|
|
320
|
+
5. Update relevant agent files
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
324
|
+
## Migration from Current Setup
|
|
325
|
+
|
|
326
|
+
### Key Changes from SurfTrack Setup
|
|
327
|
+
|
|
328
|
+
| Aspect | Current | Proposed |
|
|
329
|
+
|--------|---------|----------|
|
|
330
|
+
| Ticket → In Progress | EM does it | Engineer does it |
|
|
331
|
+
| Ticket → In Review | EM does it | Engineer does it |
|
|
332
|
+
| EM validation | Implicit | Explicit checklist |
|
|
333
|
+
| Message format | Freeform | Standardized template |
|
|
334
|
+
| Bloat in agent files | Significant | Minimal, reference specs |
|
|
335
|
+
|
|
336
|
+
### Migration Steps
|
|
337
|
+
|
|
338
|
+
1. Create new `coreai/` structure
|
|
339
|
+
2. Write clean agent templates
|
|
340
|
+
3. Test with sample workflow
|
|
341
|
+
4. Gradually migrate existing agents
|
|
342
|
+
5. Deprecate old patterns
|
|
343
|
+
|
|
344
|
+
---
|
|
345
|
+
|
|
346
|
+
*Version: 1.0.0*
|
|
347
|
+
*Last Updated: 2026-01-05*
|