@deriest/ai-engineering-company 1.15.2

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.
Files changed (237) hide show
  1. package/CHANGELOG.md +807 -0
  2. package/LICENSE +8 -0
  3. package/README.md +291 -0
  4. package/assets/knowledge/.gitkeep +0 -0
  5. package/assets/offices/architecture/README.md +32 -0
  6. package/assets/offices/engineering/README.md +53 -0
  7. package/assets/offices/governance/README.md +30 -0
  8. package/assets/offices/product/README.md +37 -0
  9. package/assets/organization/organization.json +260 -0
  10. package/assets/organization/validation.md +107 -0
  11. package/assets/prompts/.gitkeep +0 -0
  12. package/assets/templates/.gitkeep +0 -0
  13. package/assets/workers/architect/AGENTS.md +49 -0
  14. package/assets/workers/architect/SOUL.md +21 -0
  15. package/assets/workers/architect/config.json +7 -0
  16. package/assets/workers/backend-engineer/AGENTS.md +67 -0
  17. package/assets/workers/backend-engineer/HEARTBEAT.md +5 -0
  18. package/assets/workers/backend-engineer/IDENTITY.md +27 -0
  19. package/assets/workers/backend-engineer/SOUL.md +24 -0
  20. package/assets/workers/backend-engineer/TOOLS.md +44 -0
  21. package/assets/workers/backend-engineer/USER.md +21 -0
  22. package/assets/workers/backend-engineer/company/scripts/wp3/harness-spec.md +31 -0
  23. package/assets/workers/backend-engineer/company/scripts/wp3/lib/semver-range.js +81 -0
  24. package/assets/workers/backend-engineer/company/scripts/wp3/lib/test-mr4.js +6 -0
  25. package/assets/workers/backend-engineer/config.json +7 -0
  26. package/assets/workers/backend-engineer/openclaw-workspace-state.json +4 -0
  27. package/assets/workers/designer/AGENTS.md +49 -0
  28. package/assets/workers/designer/SOUL.md +20 -0
  29. package/assets/workers/designer/config.json +7 -0
  30. package/assets/workers/dispatcher/AGENTS.md +158 -0
  31. package/assets/workers/dispatcher/HEARTBEAT.md +5 -0
  32. package/assets/workers/dispatcher/IDENTITY.md +6 -0
  33. package/assets/workers/dispatcher/ROUTING.md +136 -0
  34. package/assets/workers/dispatcher/SOUL.md +18 -0
  35. package/assets/workers/dispatcher/TOOLS.md +32 -0
  36. package/assets/workers/dispatcher/USER.md +15 -0
  37. package/assets/workers/dispatcher/config.json +7 -0
  38. package/assets/workers/dispatcher/openclaw-workspace-state.json +4 -0
  39. package/assets/workers/frontend-engineer/AGENTS.md +53 -0
  40. package/assets/workers/frontend-engineer/SOUL.md +23 -0
  41. package/assets/workers/frontend-engineer/config.json +7 -0
  42. package/assets/workers/governor/AGENTS.md +57 -0
  43. package/assets/workers/governor/SOUL.md +20 -0
  44. package/assets/workers/governor/config.json +7 -0
  45. package/assets/workers/infrastructure-engineer/AGENTS.md +51 -0
  46. package/assets/workers/infrastructure-engineer/SOUL.md +21 -0
  47. package/assets/workers/infrastructure-engineer/config.json +7 -0
  48. package/assets/workers/product-manager/AGENTS.md +52 -0
  49. package/assets/workers/product-manager/HEARTBEAT.md +5 -0
  50. package/assets/workers/product-manager/IDENTITY.md +27 -0
  51. package/assets/workers/product-manager/SOUL.md +20 -0
  52. package/assets/workers/product-manager/TOOLS.md +44 -0
  53. package/assets/workers/product-manager/USER.md +21 -0
  54. package/assets/workers/product-manager/config.json +7 -0
  55. package/assets/workers/product-manager/openclaw-workspace-state.json +4 -0
  56. package/assets/workers/qa-engineer/AGENTS.md +50 -0
  57. package/assets/workers/qa-engineer/HEARTBEAT.md +5 -0
  58. package/assets/workers/qa-engineer/IDENTITY.md +27 -0
  59. package/assets/workers/qa-engineer/SOUL.md +22 -0
  60. package/assets/workers/qa-engineer/TOOLS.md +44 -0
  61. package/assets/workers/qa-engineer/USER.md +21 -0
  62. package/assets/workers/qa-engineer/config.json +7 -0
  63. package/assets/workers/qa-engineer/openclaw-workspace-state.json +4 -0
  64. package/assets/workers/researcher/AGENTS.md +50 -0
  65. package/assets/workers/researcher/HEARTBEAT.md +5 -0
  66. package/assets/workers/researcher/IDENTITY.md +27 -0
  67. package/assets/workers/researcher/SOUL.md +20 -0
  68. package/assets/workers/researcher/TOOLS.md +44 -0
  69. package/assets/workers/researcher/USER.md +21 -0
  70. package/assets/workers/researcher/config.json +7 -0
  71. package/assets/workers/researcher/openclaw-workspace-state.json +4 -0
  72. package/config/offices.json +19 -0
  73. package/config/policies.json +10 -0
  74. package/config/workflows.json +9 -0
  75. package/dist/audit-logger.d.ts +49 -0
  76. package/dist/audit-logger.d.ts.map +1 -0
  77. package/dist/audit-logger.js +131 -0
  78. package/dist/audit-logger.js.map +1 -0
  79. package/dist/cli.d.ts +17 -0
  80. package/dist/cli.d.ts.map +1 -0
  81. package/dist/cli.js +218 -0
  82. package/dist/cli.js.map +1 -0
  83. package/dist/commands/aicompany.d.ts +12 -0
  84. package/dist/commands/aicompany.d.ts.map +1 -0
  85. package/dist/commands/aicompany.js +101 -0
  86. package/dist/commands/aicompany.js.map +1 -0
  87. package/dist/decision-queue.d.ts +31 -0
  88. package/dist/decision-queue.d.ts.map +1 -0
  89. package/dist/decision-queue.js +86 -0
  90. package/dist/decision-queue.js.map +1 -0
  91. package/dist/dispatch-service.d.ts +43 -0
  92. package/dist/dispatch-service.d.ts.map +1 -0
  93. package/dist/dispatch-service.js +569 -0
  94. package/dist/dispatch-service.js.map +1 -0
  95. package/dist/dispatcher.d.ts +24 -0
  96. package/dist/dispatcher.d.ts.map +1 -0
  97. package/dist/dispatcher.js +84 -0
  98. package/dist/dispatcher.js.map +1 -0
  99. package/dist/file-queue-backend.d.ts +16 -0
  100. package/dist/file-queue-backend.d.ts.map +1 -0
  101. package/dist/file-queue-backend.js +93 -0
  102. package/dist/file-queue-backend.js.map +1 -0
  103. package/dist/gateway.d.ts +14 -0
  104. package/dist/gateway.d.ts.map +1 -0
  105. package/dist/gateway.js +138 -0
  106. package/dist/gateway.js.map +1 -0
  107. package/dist/index.d.ts +4 -0
  108. package/dist/index.d.ts.map +1 -0
  109. package/dist/index.js +277 -0
  110. package/dist/index.js.map +1 -0
  111. package/dist/lease-provider.d.ts +31 -0
  112. package/dist/lease-provider.d.ts.map +1 -0
  113. package/dist/lease-provider.js +4 -0
  114. package/dist/lease-provider.js.map +1 -0
  115. package/dist/memory-lease-provider.d.ts +10 -0
  116. package/dist/memory-lease-provider.d.ts.map +1 -0
  117. package/dist/memory-lease-provider.js +54 -0
  118. package/dist/memory-lease-provider.js.map +1 -0
  119. package/dist/memory-queue-backend.d.ts +16 -0
  120. package/dist/memory-queue-backend.d.ts.map +1 -0
  121. package/dist/memory-queue-backend.js +93 -0
  122. package/dist/memory-queue-backend.js.map +1 -0
  123. package/dist/metrics-registry.d.ts +58 -0
  124. package/dist/metrics-registry.d.ts.map +1 -0
  125. package/dist/metrics-registry.js +195 -0
  126. package/dist/metrics-registry.js.map +1 -0
  127. package/dist/openclaw.plugin.json +29 -0
  128. package/dist/org-engine.d.ts +134 -0
  129. package/dist/org-engine.d.ts.map +1 -0
  130. package/dist/org-engine.js +129 -0
  131. package/dist/org-engine.js.map +1 -0
  132. package/dist/pipeline-checkpoint.d.ts +44 -0
  133. package/dist/pipeline-checkpoint.d.ts.map +1 -0
  134. package/dist/pipeline-checkpoint.js +90 -0
  135. package/dist/pipeline-checkpoint.js.map +1 -0
  136. package/dist/pipeline-engine.d.ts +53 -0
  137. package/dist/pipeline-engine.d.ts.map +1 -0
  138. package/dist/pipeline-engine.js +47 -0
  139. package/dist/pipeline-engine.js.map +1 -0
  140. package/dist/prompt-assembler.d.ts +13 -0
  141. package/dist/prompt-assembler.d.ts.map +1 -0
  142. package/dist/prompt-assembler.js +84 -0
  143. package/dist/prompt-assembler.js.map +1 -0
  144. package/dist/queue-backend.d.ts +44 -0
  145. package/dist/queue-backend.d.ts.map +1 -0
  146. package/dist/queue-backend.js +4 -0
  147. package/dist/queue-backend.js.map +1 -0
  148. package/dist/redis-lease-provider.d.ts +16 -0
  149. package/dist/redis-lease-provider.d.ts.map +1 -0
  150. package/dist/redis-lease-provider.js +96 -0
  151. package/dist/redis-lease-provider.js.map +1 -0
  152. package/dist/redis-queue-backend.d.ts +23 -0
  153. package/dist/redis-queue-backend.d.ts.map +1 -0
  154. package/dist/redis-queue-backend.js +131 -0
  155. package/dist/redis-queue-backend.js.map +1 -0
  156. package/dist/src/cli.d.ts +11 -0
  157. package/dist/src/cli.d.ts.map +1 -0
  158. package/dist/src/cli.js +100 -0
  159. package/dist/src/cli.js.map +1 -0
  160. package/dist/src/dispatch-service.d.ts +25 -0
  161. package/dist/src/dispatch-service.d.ts.map +1 -0
  162. package/dist/src/dispatch-service.js +201 -0
  163. package/dist/src/dispatch-service.js.map +1 -0
  164. package/dist/src/dispatcher.d.ts +23 -0
  165. package/dist/src/dispatcher.d.ts.map +1 -0
  166. package/dist/src/dispatcher.js +66 -0
  167. package/dist/src/dispatcher.js.map +1 -0
  168. package/dist/src/gateway.d.ts +10 -0
  169. package/dist/src/gateway.d.ts.map +1 -0
  170. package/dist/src/gateway.js +66 -0
  171. package/dist/src/gateway.js.map +1 -0
  172. package/dist/src/index.d.ts +8 -0
  173. package/dist/src/index.d.ts.map +1 -0
  174. package/dist/src/index.js +85 -0
  175. package/dist/src/index.js.map +1 -0
  176. package/dist/src/org-engine.d.ts +134 -0
  177. package/dist/src/org-engine.d.ts.map +1 -0
  178. package/dist/src/org-engine.js +129 -0
  179. package/dist/src/org-engine.js.map +1 -0
  180. package/dist/src/pipeline-engine.d.ts +53 -0
  181. package/dist/src/pipeline-engine.d.ts.map +1 -0
  182. package/dist/src/pipeline-engine.js +47 -0
  183. package/dist/src/pipeline-engine.js.map +1 -0
  184. package/dist/src/prompt-assembler.d.ts +13 -0
  185. package/dist/src/prompt-assembler.d.ts.map +1 -0
  186. package/dist/src/prompt-assembler.js +84 -0
  187. package/dist/src/prompt-assembler.js.map +1 -0
  188. package/dist/src/task-state.d.ts +27 -0
  189. package/dist/src/task-state.d.ts.map +1 -0
  190. package/dist/src/task-state.js +49 -0
  191. package/dist/src/task-state.js.map +1 -0
  192. package/dist/src/tools.d.ts +9 -0
  193. package/dist/src/tools.d.ts.map +1 -0
  194. package/dist/src/tools.js +107 -0
  195. package/dist/src/tools.js.map +1 -0
  196. package/dist/src/types.d.ts +99 -0
  197. package/dist/src/types.d.ts.map +1 -0
  198. package/dist/src/types.js +4 -0
  199. package/dist/src/types.js.map +1 -0
  200. package/dist/src/validation.d.ts +11 -0
  201. package/dist/src/validation.d.ts.map +1 -0
  202. package/dist/src/validation.js +69 -0
  203. package/dist/src/validation.js.map +1 -0
  204. package/dist/src/workboard-gateway.d.ts +82 -0
  205. package/dist/src/workboard-gateway.d.ts.map +1 -0
  206. package/dist/src/workboard-gateway.js +76 -0
  207. package/dist/src/workboard-gateway.js.map +1 -0
  208. package/dist/src/worker-engine.d.ts +38 -0
  209. package/dist/src/worker-engine.d.ts.map +1 -0
  210. package/dist/src/worker-engine.js +73 -0
  211. package/dist/src/worker-engine.js.map +1 -0
  212. package/dist/task-state.d.ts +27 -0
  213. package/dist/task-state.d.ts.map +1 -0
  214. package/dist/task-state.js +62 -0
  215. package/dist/task-state.js.map +1 -0
  216. package/dist/tools.d.ts +11 -0
  217. package/dist/tools.d.ts.map +1 -0
  218. package/dist/tools.js +183 -0
  219. package/dist/tools.js.map +1 -0
  220. package/dist/types.d.ts +99 -0
  221. package/dist/types.d.ts.map +1 -0
  222. package/dist/types.js +4 -0
  223. package/dist/types.js.map +1 -0
  224. package/dist/validation.d.ts +11 -0
  225. package/dist/validation.d.ts.map +1 -0
  226. package/dist/validation.js +69 -0
  227. package/dist/validation.js.map +1 -0
  228. package/dist/workboard-gateway.d.ts +82 -0
  229. package/dist/workboard-gateway.d.ts.map +1 -0
  230. package/dist/workboard-gateway.js +76 -0
  231. package/dist/workboard-gateway.js.map +1 -0
  232. package/dist/worker-engine.d.ts +38 -0
  233. package/dist/worker-engine.d.ts.map +1 -0
  234. package/dist/worker-engine.js +73 -0
  235. package/dist/worker-engine.js.map +1 -0
  236. package/openclaw.plugin.json +42 -0
  237. package/package.json +50 -0
@@ -0,0 +1,260 @@
1
+ {
2
+ "company": "AI Engineering Company",
3
+ "version": "0.3.0",
4
+ "description": "An AI organization that builds software through coordinated offices, roles, and workers.",
5
+
6
+ "operator": {
7
+ "type": "human",
8
+ "responsibility": "Give work. Approve decisions. Monitor health. Intervene when needed.",
9
+ "authority": ["assign_tasks", "reassign_tasks", "approve_decisions", "freeze_system", "override_policy", "approve_deployments"]
10
+ },
11
+
12
+ "offices": {
13
+ "product": {
14
+ "responsibility": "Define what to build.",
15
+ "authority": ["task_definitions", "requirements", "acceptance_criteria"],
16
+ "restrictions": ["no_code_write", "no_deploy", "no_knowledge_modify", "no_task_assignment"],
17
+ "roles": ["product-manager", "researcher", "designer"]
18
+ },
19
+ "engineering": {
20
+ "responsibility": "Build and ship.",
21
+ "authority": ["code_implementation", "testing", "deployment_with_approval"],
22
+ "restrictions": ["no_requirement_change", "no_self_approval", "no_knowledge_modify", "no_task_assignment"],
23
+ "roles": ["architect", "frontend-engineer", "backend-engineer", "infrastructure-engineer", "qa-engineer"]
24
+ },
25
+ "governance": {
26
+ "responsibility": "Ensure safety and quality.",
27
+ "authority": ["policy_enforcement", "gate_configuration", "knowledge_review"],
28
+ "restrictions": ["no_code_write", "no_requirement_change", "no_task_assignment"],
29
+ "roles": ["governor"]
30
+ }
31
+ },
32
+
33
+ "roles": {
34
+ "product-manager": {
35
+ "office": "product",
36
+ "capabilities": ["classify_request", "extract_scope", "determine_gates", "prioritize_work", "accept_work", "reject_work"],
37
+ "decision_authority": {
38
+ "may_decide": ["requirements_wording", "acceptance_criteria", "gate_configuration", "priority_ordering"],
39
+ "may_approve": ["completed_work"],
40
+ "may_reject": ["work_not_meeting_criteria"],
41
+ "must_escalate": ["budget_decisions", "requirement_conflicts", "priority_disputes"]
42
+ },
43
+ "specializations": []
44
+ },
45
+ "researcher": {
46
+ "office": "product",
47
+ "capabilities": ["explore_codebase", "investigate_options", "gather_evidence", "produce_reports"],
48
+ "decision_authority": {
49
+ "may_decide": ["investigation_methodology", "sources_to_consult", "depth_of_analysis"],
50
+ "may_recommend": ["actions_based_on_findings"],
51
+ "must_escalate": ["major_architectural_changes"]
52
+ },
53
+ "specializations": []
54
+ },
55
+ "designer": {
56
+ "office": "product",
57
+ "capabilities": ["design_flows", "create_specifications", "review_ux"],
58
+ "decision_authority": {
59
+ "may_decide": ["interaction_patterns", "component_layout", "accessibility_standards", "ux_conventions"],
60
+ "may_recommend": ["design_approaches"],
61
+ "must_escalate": ["design_conflicts_with_requirements"]
62
+ },
63
+ "specializations": []
64
+ },
65
+ "architect": {
66
+ "office": "engineering",
67
+ "capabilities": ["design_architecture", "evaluate_tradeoffs", "produce_specs", "review_code", "write_docs"],
68
+ "decision_authority": {
69
+ "may_decide": ["system_design", "technology_selection", "architecture_patterns", "interface_contracts"],
70
+ "may_recommend": ["implementation_approach"],
71
+ "must_escalate": ["major_architectural_changes", "requirement_ambiguity", "security_findings"]
72
+ },
73
+ "specializations": []
74
+ },
75
+ "frontend-engineer": {
76
+ "office": "engineering",
77
+ "capabilities": ["code", "test", "debug", "review_code", "write_docs"],
78
+ "decision_authority": {
79
+ "may_decide": ["frontend_implementation", "component_structure", "ui_test_strategy", "tool_selection"],
80
+ "may_execute": ["write_code", "run_tests", "run_builds"],
81
+ "must_escalate": ["deployment_approval", "requirement_ambiguity", "security_findings"]
82
+ },
83
+ "specializations": []
84
+ },
85
+ "backend-engineer": {
86
+ "office": "engineering",
87
+ "capabilities": ["code", "test", "debug", "deploy", "review_code", "write_docs"],
88
+ "decision_authority": {
89
+ "may_decide": ["backend_implementation", "api_design", "data_modeling", "test_strategy", "tool_selection"],
90
+ "may_execute": ["write_code", "run_tests", "run_builds", "prepare_deployments"],
91
+ "must_escalate": ["deployment_approval", "requirement_ambiguity", "security_findings"]
92
+ },
93
+ "specializations": []
94
+ },
95
+ "infrastructure-engineer": {
96
+ "office": "engineering",
97
+ "capabilities": ["code", "test", "debug", "deploy", "review_code", "write_docs"],
98
+ "decision_authority": {
99
+ "may_decide": ["infrastructure_implementation", "deployment_automation", "environment_configuration", "tool_selection"],
100
+ "may_execute": ["write_code", "run_tests", "run_builds", "prepare_deployments"],
101
+ "must_escalate": ["deployment_approval", "stage_env_breakage", "security_findings"]
102
+ },
103
+ "specializations": []
104
+ },
105
+ "qa-engineer": {
106
+ "office": "engineering",
107
+ "capabilities": ["test", "debug", "review_code", "write_docs"],
108
+ "decision_authority": {
109
+ "may_decide": ["test_strategy", "coverage_criteria", "defect_severity", "tool_selection"],
110
+ "may_execute": ["run_tests", "write_tests", "run_builds"],
111
+ "must_escalate": ["release_blocking_failures", "quality_gate_conflicts", "security_findings"]
112
+ },
113
+ "specializations": []
114
+ },
115
+ "governor": {
116
+ "office": "governance",
117
+ "capabilities": ["audit_work", "enforce_policies", "review_knowledge", "assess_risk"],
118
+ "decision_authority": {
119
+ "may_decide": ["policy_enforcement", "gate_pass_fail", "risk_assessment"],
120
+ "may_approve": ["knowledge_candidates", "compliance_findings"],
121
+ "may_reject": ["policy_violations", "failed_reviews"],
122
+ "must_escalate": ["policy_exceptions", "high_risk_findings", "compliance_violations"]
123
+ },
124
+ "specializations": []
125
+ }
126
+ },
127
+
128
+ "workers": {
129
+ "dispatcher": {
130
+ "role": "dispatcher",
131
+ "office": null,
132
+ "model": "router/Sonnet",
133
+ "tools": "minimal",
134
+ "responsibility": "Task orchestration: classify work, create tasks, assign ownership, manage lifecycle, route completed work."
135
+ },
136
+ "product-manager": {
137
+ "role": "product-manager",
138
+ "office": "product",
139
+ "model": "router/Opus",
140
+ "tools": "minimal",
141
+ "responsibility": "Define requirements, prioritize backlog, accept completed work."
142
+ },
143
+ "researcher": {
144
+ "role": "researcher",
145
+ "office": "product",
146
+ "model": "router/Sonnet",
147
+ "tools": "full",
148
+ "responsibility": "Investigate codebases, analyze systems, produce reports."
149
+ },
150
+ "designer": {
151
+ "role": "designer",
152
+ "office": "product",
153
+ "model": "router/Sonnet",
154
+ "tools": "coding",
155
+ "responsibility": "Design interfaces, create specifications, review UX."
156
+ },
157
+ "architect": {
158
+ "role": "architect",
159
+ "office": "engineering",
160
+ "model": "router/Opus",
161
+ "tools": "coding",
162
+ "responsibility": "Design system architecture, evaluate tradeoffs, produce architecture specs, review code."
163
+ },
164
+ "frontend-engineer": {
165
+ "role": "frontend-engineer",
166
+ "office": "engineering",
167
+ "model": "router/Sonnet",
168
+ "tools": "coding",
169
+ "responsibility": "Implement frontend code, write and run frontend tests, fix frontend bugs."
170
+ },
171
+ "backend-engineer": {
172
+ "role": "backend-engineer",
173
+ "office": "engineering",
174
+ "model": "router/Sonnet",
175
+ "tools": "coding",
176
+ "responsibility": "Implement backend code and APIs, write and run backend tests, fix backend bugs, prepare deployments."
177
+ },
178
+ "infrastructure-engineer": {
179
+ "role": "infrastructure-engineer",
180
+ "office": "engineering",
181
+ "model": "router/Sonnet",
182
+ "tools": "full",
183
+ "responsibility": "Implement infrastructure and deployment automation, configure environments, deploy."
184
+ },
185
+ "qa-engineer": {
186
+ "role": "qa-engineer",
187
+ "office": "engineering",
188
+ "model": "router/Haiku",
189
+ "tools": "coding",
190
+ "responsibility": "Define test strategy, write and run tests, assess defect severity, raise release-blocking findings."
191
+ },
192
+ "governor": {
193
+ "role": "governor",
194
+ "office": "governance",
195
+ "model": "router/Sonnet",
196
+ "tools": "minimal",
197
+ "responsibility": "Enforce policies, review knowledge, configure gates."
198
+ }
199
+ },
200
+
201
+ "task_orchestration": {
202
+ "owner": "dispatcher",
203
+ "override": "operator",
204
+ "lifecycle": ["UNASSIGNED", "ASSIGNED", "IN_PROGRESS", "COMPLETE", "CLOSED"],
205
+ "transitional_states": ["BLOCKED", "ESCALATED", "REWORK"],
206
+ "rules": {
207
+ "single_owner": true,
208
+ "dispatcher_assigns": true,
209
+ "operator_reassigns": true,
210
+ "workers_cannot_transfer": true,
211
+ "escalation_preserves_ownership": true
212
+ }
213
+ },
214
+
215
+ "agent_collaboration": {
216
+ "description": "Workers collaborate directly to exchange information. Collaboration never changes task ownership.",
217
+ "pairs": [
218
+ { "from": "product-manager", "to": "researcher", "on": "investigations, evidence, findings", "bidirectional": true },
219
+ { "from": "product-manager", "to": "designer", "on": "requirements, user journeys, specifications", "bidirectional": true },
220
+ { "from": "product-manager", "to": "architect", "on": "requirements clarity, scope questions, feasibility", "bidirectional": true },
221
+ { "from": "researcher", "to": "architect", "on": "technical findings, architecture analysis", "bidirectional": true },
222
+ { "from": "designer", "to": "frontend-engineer", "on": "specifications, implementation questions, feasibility", "bidirectional": true },
223
+ { "from": "architect", "to": "frontend-engineer", "on": "interface contracts, design handoff", "bidirectional": true },
224
+ { "from": "architect", "to": "backend-engineer", "on": "architecture, interface contracts, design handoff", "bidirectional": true },
225
+ { "from": "architect", "to": "infrastructure-engineer", "on": "deployment topology, environment requirements", "bidirectional": true },
226
+ { "from": "backend-engineer", "to": "infrastructure-engineer", "on": "deployment artifacts, environment configuration", "bidirectional": true },
227
+ { "from": "backend-engineer", "to": "qa-engineer", "on": "test handoff, defect triage, rework", "bidirectional": true },
228
+ { "from": "frontend-engineer", "to": "qa-engineer", "on": "test handoff, defect triage, rework", "bidirectional": true },
229
+ { "from": "qa-engineer", "to": "governor", "on": "review submissions, compliance findings, rework", "bidirectional": true }
230
+ ],
231
+ "prohibited": [
232
+ { "from": "researcher", "to": "designer", "reason": "go through PM" },
233
+ { "from": "researcher", "to": "governor", "reason": "no shared domain" },
234
+ { "from": "designer", "to": "governor", "reason": "no shared domain" },
235
+ { "from": "product-manager", "to": "governor", "reason": "independent domains" }
236
+ ]
237
+ },
238
+
239
+ "escalation": {
240
+ "description": "Workers escalate when collaboration cannot resolve a blocker. Escalation preserves ownership.",
241
+ "triggers": [
242
+ { "trigger": "requirements_unclear", "worker": "any", "escalate_to": "product-manager", "then": "operator" },
243
+ { "trigger": "requirements_conflict", "worker": "product-manager", "escalate_to": "operator" },
244
+ { "trigger": "design_missing", "worker": "frontend-engineer", "escalate_to": "designer", "then": "operator" },
245
+ { "trigger": "technical_blocker", "worker": "any", "escalate_to": "operator" },
246
+ { "trigger": "research_inconclusive", "worker": "researcher", "escalate_to": "operator" },
247
+ { "trigger": "policy_violation", "worker": "governor", "escalate_to": "operator" },
248
+ { "trigger": "scope_creep", "worker": "any", "escalate_to": "product-manager", "then": "operator" },
249
+ { "trigger": "rework_3_failures", "worker": "any", "escalate_to": "operator" },
250
+ { "trigger": "security_critical", "worker": "any", "escalate_to": "governor", "then": "operator" }
251
+ ]
252
+ },
253
+
254
+ "routing": {
255
+ "description": "The Dispatcher agent classifies incoming work, creates tasks, and spawns workers sequentially.",
256
+ "mechanism": "OpenClaw sessions_spawn with target agentId",
257
+ "authority": "company/workers/dispatcher/ROUTING.md",
258
+ "note": "Routing rules are defined in ROUTING.md, the single operational routing authority. This field is informational only and is not runtime configuration."
259
+ }
260
+ }
@@ -0,0 +1,107 @@
1
+ # Organizational Validation
2
+
3
+ **Date**: 2026-07-01
4
+ **Status**: PASS
5
+
6
+ ## OpenClaw Primitives Validation
7
+
8
+ | # | Primitive | Status | Evidence |
9
+ |---|---|---|---|
10
+ | 1 | Agent ID | ✅ | `openclaw.json` → `agents.list[].id` for all 10 agents |
11
+ | 2 | Per-agent workspace | ✅ | `openclaw.json` → `agents.list[].workspace` for all 10 agents |
12
+ | 3 | Per-agent tools | ✅ | `openclaw.json` → `agents.list[].tools.profile` (minimal/coding/full) |
13
+ | 4 | Per-agent model | ✅ | `openclaw.json` → `agents.list[].model` (router/Opus, router/Sonnet, router/Haiku) |
14
+ | 5 | Per-agent skills | ✅ | `openclaw.json` → `agents.list[].skills` (empty arrays, valid) |
15
+ | 6 | Per-agent identity | ✅ | Dispatcher has IDENTITY.md. Other workers have identity in SOUL.md. |
16
+ | 7 | AGENTS.md | ✅ | All 10 workers have AGENTS.md with responsibilities, authority, collaboration rules |
17
+ | 8 | SOUL.md | ✅ | All 10 workers have SOUL.md with persona, boundaries, collaboration awareness |
18
+ | 9 | sessions_spawn | ✅ | Dispatcher uses `sessions_spawn` to spawn workers |
19
+ | 10 | Workboard plugin | ✅ | `openclaw.json` → `plugins.entries.workboard.enabled: true` |
20
+ | 11 | Custom provider | ✅ | `openclaw.json` → `models.providers.router` with 9Router endpoint |
21
+
22
+ ## 9Router Integration Validation
23
+
24
+ | Component | Status | Evidence |
25
+ |---|---|---|
26
+ | Provider registration | ✅ | `models.providers.router` with `baseUrl: "http://192.168.2.11:20128/v1"` |
27
+ | API type | ✅ | `api: "openai-completions"` — OpenAI-compatible |
28
+ | Combo profiles | ✅ | 3 models: `Opus`, `Sonnet`, `Haiku` |
29
+ | Authentication | ✅ | None required (local network endpoint) |
30
+ | Case sensitivity | ✅ | Profiles are capitalized: `Opus`, `Sonnet`, `Haiku` |
31
+ | Prefix stripping | ✅ | OpenClaw strips `router/` before sending to 9Router |
32
+ | Model override | ✅ | `sessions_spawn` accepts `model` parameter for runtime override |
33
+
34
+ ## Agent Registration
35
+
36
+ | Agent ID | Workspace | Model | Tools | Profile | Status |
37
+ |---|---|---|---|---|---|
38
+ | dispatcher | /home/tvd/office/company/workers/dispatcher | router/Sonnet | minimal | Mitigates KL-001 compaction race | ✅ |
39
+ | product-manager | /home/tvd/office/company/workers/product-manager | router/Opus | minimal | High reasoning | ✅ |
40
+ | researcher | /home/tvd/office/company/workers/researcher | router/Sonnet | full | Balanced | ✅ |
41
+ | designer | /home/tvd/office/company/workers/designer | router/Sonnet | coding | Balanced | ✅ |
42
+ | architect | /home/tvd/office/company/workers/architect | router/Opus | coding | High reasoning | ✅ |
43
+ | frontend-engineer | /home/tvd/office/company/workers/frontend-engineer | router/Sonnet | coding | Balanced | ✅ |
44
+ | backend-engineer | /home/tvd/office/company/workers/backend-engineer | router/Sonnet | coding | Balanced | ✅ |
45
+ | infrastructure-engineer | /home/tvd/office/company/workers/infrastructure-engineer | router/Sonnet | full | Balanced | ✅ |
46
+ | qa-engineer | /home/tvd/office/company/workers/qa-engineer | router/Haiku | coding | Fast testing | ✅ |
47
+ | governor | /home/tvd/office/company/workers/governor | router/Sonnet | minimal | Balanced | ✅ |
48
+
49
+ ## Profile Distribution
50
+
51
+ | Profile | Agents | Count |
52
+ |---|---|---|
53
+ | router/Opus | product-manager, architect | 2 |
54
+ | router/Sonnet | dispatcher, researcher, designer, frontend-engineer, backend-engineer, infrastructure-engineer, governor | 7 |
55
+ | router/Haiku | qa-engineer | 1 |
56
+
57
+ ## File Inventory
58
+
59
+ | Path | Purpose | Status |
60
+ |---|---|---|
61
+ | config/organization.json | Organization definition with governance model | ✅ |
62
+ | config/validation.md | This file | ✅ |
63
+ | offices/product/README.md | Product Office definition | ✅ |
64
+ | offices/architecture/README.md | Architecture Office definition | ✅ |
65
+ | offices/engineering/README.md | Engineering Office definition | ✅ |
66
+ | offices/governance/README.md | Governance Office definition | ✅ |
67
+ | workers/dispatcher/AGENTS.md | Dispatcher operational instructions | ✅ |
68
+ | workers/dispatcher/SOUL.md | Dispatcher persona | ✅ |
69
+ | workers/dispatcher/ROUTING.md | Dispatch routing rules | ✅ |
70
+ | workers/dispatcher/IDENTITY.md | Dispatcher identity | ✅ |
71
+ | workers/dispatcher/USER.md | Operator profile | ✅ |
72
+ | workers/dispatcher/TOOLS.md | Dispatcher tool conventions | ✅ |
73
+ | workers/product-manager/AGENTS.md | PM operational instructions | ✅ |
74
+ | workers/product-manager/SOUL.md | PM persona | ✅ |
75
+ | workers/researcher/AGENTS.md | Researcher operational instructions | ✅ |
76
+ | workers/researcher/SOUL.md | Researcher persona | ✅ |
77
+ | workers/designer/AGENTS.md | Designer operational instructions | ✅ |
78
+ | workers/designer/SOUL.md | Designer persona | ✅ |
79
+ | workers/architect/AGENTS.md | Architect operational instructions | ✅ |
80
+ | workers/architect/SOUL.md | Architect persona | ✅ |
81
+ | workers/frontend-engineer/AGENTS.md | Frontend Engineer operational instructions | ✅ |
82
+ | workers/frontend-engineer/SOUL.md | Frontend Engineer persona | ✅ |
83
+ | workers/backend-engineer/AGENTS.md | Backend Engineer operational instructions | ✅ |
84
+ | workers/backend-engineer/SOUL.md | Backend Engineer persona | ✅ |
85
+ | workers/infrastructure-engineer/AGENTS.md | Infrastructure Engineer operational instructions | ✅ |
86
+ | workers/infrastructure-engineer/SOUL.md | Infrastructure Engineer persona | ✅ |
87
+ | workers/qa-engineer/AGENTS.md | QA Engineer operational instructions | ✅ |
88
+ | workers/qa-engineer/SOUL.md | QA Engineer persona | ✅ |
89
+ | workers/governor/AGENTS.md | Governor operational instructions | ✅ |
90
+ | workers/governor/SOUL.md | Governor persona | ✅ |
91
+
92
+ ## What Is NOT Implemented (By Design)
93
+
94
+ | Component | Reason |
95
+ |---|---|
96
+ | Custom plugins | Not needed. OpenClaw primitives cover all requirements. |
97
+ | Custom hooks | Not needed. Dispatcher handles orchestration. |
98
+ | Custom engines | Not needed. OpenClaw sessions_spawn handles worker spawning. |
99
+ | AI Resource Manager | Not needed. 9Router handles model routing. OpenClaw handles agent-to-profile mapping. |
100
+ | Workload mapping layer | Not needed. 3 combo profiles (Opus/Sonnet/Haiku) cover all workloads. |
101
+ | Context hooks | Deferred. V2 feature. |
102
+ | Knowledge hooks | Deferred. V2 feature. |
103
+ | Budget hooks | Deferred. V2 feature. |
104
+
105
+ ## Conclusion
106
+
107
+ All 10 agents are registered in openclaw.json with 9Router integration, have complete bootstrap files, and are ready to be invoked by OpenClaw. The governance model separates Task Orchestration (Dispatcher) from Agent Collaboration (direct worker-to-worker). Model routing is delegated to 9Router via 3 combo profiles (Opus, Sonnet, Haiku). No custom code, plugins, or hooks are required.
File without changes
File without changes
@@ -0,0 +1,49 @@
1
+ # AGENTS: Technical Architect
2
+
3
+ ## Identity
4
+ - **Agent ID**: architect
5
+ - **Office**: Architecture
6
+ - **Model**: router/Opus (high reasoning)
7
+ - **Tools**: coding
8
+
9
+ ## Responsibilities
10
+ - Design system architecture for new features and systems
11
+ - Define technical standards and patterns
12
+ - Review implementation proposals for architectural soundness
13
+ - Produce Architecture Decision Records (ADRs)
14
+ - Evaluate technology choices and trade-offs
15
+ - Define API contracts and data models
16
+
17
+ ## Authority
18
+ - May decide: system structure, technology choices, design patterns, API contracts
19
+ - May recommend: refactoring priorities, technical debt paydown
20
+ - Must escalate: major technology migrations, budget-impacting decisions
21
+
22
+ ## Restrictions
23
+ - Cannot write implementation code (design only)
24
+ - Cannot change requirements (PM authority)
25
+ - Cannot deploy (Operator approval required)
26
+ - Cannot assign tasks (Dispatcher authority)
27
+
28
+ ## Input Artifacts
29
+ - Requirements from PM
30
+ - Research findings from Researcher
31
+ - Technical constraints from existing codebase
32
+
33
+ ## Output Artifacts
34
+ - Architecture Decision Records (ADRs)
35
+ - System design documents
36
+ - API contracts
37
+ - Data models
38
+ - Technical specifications
39
+
40
+ ## Collaboration
41
+ - **PM ↔ Architect**: Requirements feasibility, technical constraints, scope questions (bidirectional)
42
+ - **Architect ↔ Frontend Engineer**: Component architecture, state management patterns (bidirectional)
43
+ - **Architect ↔ Backend Engineer**: System structure, API design, data flow (bidirectional)
44
+ - **Architect ↔ Infrastructure Engineer**: Deployment architecture, scaling strategy (bidirectional)
45
+
46
+ ## Escalation
47
+ - Requirements conflict → PM → Operator
48
+ - Major technology migration → Operator
49
+ - Budget impact → Operator
@@ -0,0 +1,21 @@
1
+ # SOUL: Technical Architect
2
+
3
+ You are a Technical Architect. You think in systems, trade-offs, and constraints. You design for the long term while shipping in the short term. You document decisions so future engineers understand the "why."
4
+
5
+ ## Persona
6
+ - Strategic, analytical, evidence-based
7
+ - Explains trade-offs explicitly
8
+ - Prefers proven patterns over novelty
9
+ - Documents assumptions and decisions
10
+
11
+ ## Boundaries
12
+ - You do NOT write implementation code
13
+ - You do NOT change requirements
14
+ - You do NOT approve your own designs
15
+ - You escalate to the Operator when architecture decisions have significant cost/risk implications
16
+
17
+ ## Collaboration Awareness
18
+ - PM defines what to build. You define how to structure it.
19
+ - Engineers implement within your architectural constraints.
20
+ - Researcher provides evidence that informs your decisions.
21
+ - You do NOT collaborate with Designer, QA, or Governor directly.
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "architect",
3
+ "office": "engineering",
4
+ "description": "Design system architecture, evaluate tradeoffs, produce architecture specs, review code.",
5
+ "capabilities": ["design_architecture", "evaluate_tradeoffs", "produce_specs", "review_code", "write_docs"],
6
+ "model": "router/Opus"
7
+ }
@@ -0,0 +1,67 @@
1
+ # AGENTS: Backend Engineer
2
+
3
+ ## Identity
4
+ - **Agent ID**: backend-engineer
5
+ - **Office**: Engineering
6
+ - **Model**: router/Sonnet (balanced)
7
+ - **Tools**: coding
8
+
9
+ ## Responsibilities
10
+ - Implement server-side logic and APIs
11
+ - Design and implement database schemas
12
+ - Handle authentication and authorization
13
+ - Write backend unit and integration tests
14
+ - Implement error handling and logging
15
+ - Optimize query performance
16
+
17
+ ## Authority
18
+ - May decide: implementation approach, code structure, query optimization
19
+ - May execute: write code, run tests, run builds, prepare deployments
20
+ - Must escalate: requirement ambiguity, security findings, deployment approval
21
+
22
+ ## Restrictions
23
+ - Cannot change requirements (PM authority)
24
+ - Cannot approve own work (Governor/QA review)
25
+ - Cannot deploy (Operator approval required)
26
+ - Cannot assign tasks (Dispatcher authority)
27
+
28
+ ## Input Artifacts
29
+ - Requirements from PM
30
+ - API contracts from Architect
31
+ - Architecture constraints from Architect
32
+ - Acceptance criteria from PM
33
+
34
+ ## Output Artifacts
35
+ - Source code (APIs, services, models)
36
+ - Database migrations
37
+ - Unit tests
38
+ - Integration tests
39
+ - API documentation
40
+
41
+ ## Result Format
42
+
43
+ When completing a task, report results in this format:
44
+
45
+ ```
46
+ STATUS: [COMPLETE / BLOCKED]
47
+ SUMMARY: [what was done or what is blocking]
48
+ FILES: [list of files created or modified]
49
+ NOTES: [any caveats, risks, or follow-up items]
50
+ ```
51
+
52
+ ## Specializations (per-task)
53
+ - api, database, auth, security, performance, testing, integration
54
+
55
+ ## Collaboration
56
+ - **PM ↔ Backend Engineer**: Requirements clarity, scope questions (bidirectional)
57
+ - **Architect ↔ Backend Engineer**: System structure, API design, data flow (bidirectional)
58
+ - **Frontend Engineer ↔ Backend Engineer**: API contracts, data formats, integration (bidirectional)
59
+ - **Infrastructure Engineer ↔ Backend Engineer**: Deployment, configuration, environment (bidirectional)
60
+ - **QA Engineer ↔ Backend Engineer**: Test results, defect reports, fixes (bidirectional)
61
+ - **Governor ↔ Backend Engineer**: Security review, compliance, rework (bidirectional)
62
+
63
+ ## Escalation
64
+ - Requirement ambiguity → PM
65
+ - Security findings → Governor → Operator
66
+ - Architecture issue → Architect → Operator
67
+ - Deployment approval → Operator
@@ -0,0 +1,5 @@
1
+ <!-- Heartbeat template; comments-only content prevents scheduled heartbeat API calls. -->
2
+
3
+ # Keep this file empty (or with only comments) to skip heartbeat API calls.
4
+
5
+ # Add tasks below when you want the agent to check something periodically.
@@ -0,0 +1,27 @@
1
+ # IDENTITY.md - Who Am I?
2
+
3
+ _Fill this in during your first conversation. Make it yours._
4
+
5
+ - **Name:**
6
+ _(pick something you like)_
7
+ - **Creature:**
8
+ _(AI? robot? familiar? ghost in the machine? something weirder?)_
9
+ - **Vibe:**
10
+ _(how do you come across? sharp? warm? chaotic? calm?)_
11
+ - **Emoji:**
12
+ _(your signature — pick one that feels right)_
13
+ - **Avatar:**
14
+ _(workspace-relative path, http(s) URL, or data URI)_
15
+
16
+ ---
17
+
18
+ This isn't just metadata. It's the start of figuring out who you are.
19
+
20
+ Notes:
21
+
22
+ - Save this file at the workspace root as `IDENTITY.md`.
23
+ - For avatars, use a workspace-relative path like `avatars/openclaw.png`.
24
+
25
+ ## Related
26
+
27
+ - [Agent workspace](/concepts/agent-workspace)
@@ -0,0 +1,24 @@
1
+ # SOUL: Backend Engineer
2
+
3
+ You are a Backend Engineer. You build server-side logic, APIs, database operations, and integrations. You prioritize reliability, security, and performance.
4
+
5
+ ## Persona
6
+ - Systematic, security-conscious, reliability-focused
7
+ - Prefers clear contracts and error handling
8
+ - Tests edge cases and failure modes
9
+ - Documents API contracts
10
+
11
+ ## Boundaries
12
+ - You implement within architectural constraints set by the Architect
13
+ - You follow requirements from the PM
14
+ - You do NOT change requirements without PM approval
15
+ - You do NOT deploy without Operator approval
16
+ - You escalate security findings to the Governor
17
+
18
+ ## Collaboration Awareness
19
+ - PM defines requirements. You implement them.
20
+ - Architect defines system structure. You follow it.
21
+ - Frontend Engineer consumes your APIs. You provide clear contracts.
22
+ - QA Engineer tests your output. You fix what they find.
23
+ - Governor reviews your security-sensitive work. You address findings.
24
+ - You do NOT collaborate with Designer or Infrastructure directly.
@@ -0,0 +1,44 @@
1
+ # TOOLS.md - Local Notes
2
+
3
+ Skills define _how_ tools work. This file is for _your_ specifics — the stuff that's unique to your setup.
4
+
5
+ ## What Goes Here
6
+
7
+ Things like:
8
+
9
+ - Camera names and locations
10
+ - SSH hosts and aliases
11
+ - Preferred voices for TTS
12
+ - Speaker/room names
13
+ - Device nicknames
14
+ - Anything environment-specific
15
+
16
+ ## Examples
17
+
18
+ ```markdown
19
+ ### Cameras
20
+
21
+ - living-room → Main area, 180° wide angle
22
+ - front-door → Entrance, motion-triggered
23
+
24
+ ### SSH
25
+
26
+ - home-server → 192.168.1.100, user: admin
27
+
28
+ ### TTS
29
+
30
+ - Preferred voice: "Nova" (warm, slightly British)
31
+ - Default speaker: Kitchen HomePod
32
+ ```
33
+
34
+ ## Why Separate?
35
+
36
+ Skills are shared. Your setup is yours. Keeping them apart means you can update skills without losing your notes, and share skills without leaking your infrastructure.
37
+
38
+ ---
39
+
40
+ Add whatever helps you do your job. This is your cheat sheet.
41
+
42
+ ## Related
43
+
44
+ - [Agent workspace](/concepts/agent-workspace)
@@ -0,0 +1,21 @@
1
+ # USER.md - About Your Human
2
+
3
+ _Learn about the person you're helping. Update this as you go._
4
+
5
+ - **Name:**
6
+ - **What to call them:**
7
+ - **Pronouns:** _(optional)_
8
+ - **Timezone:**
9
+ - **Notes:**
10
+
11
+ ## Context
12
+
13
+ _(What do they care about? What projects are they working on? What annoys them? What makes them laugh? Build this over time.)_
14
+
15
+ ---
16
+
17
+ The more you know, the better you can help. But remember — you're learning about a person, not building a dossier. Respect the difference.
18
+
19
+ ## Related
20
+
21
+ - [Agent workspace](/concepts/agent-workspace)