@ours.network/fleet 1.1.0-nightly.9 → 1.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.
Files changed (200) hide show
  1. package/README.md +231 -46
  2. package/dist/application/capabilities.js +18 -6
  3. package/dist/application/fleet-query-service.js +7 -4
  4. package/dist/application/role-command-service.js +9 -0
  5. package/dist/application/role-creation-service.d.ts +4 -4
  6. package/dist/application/role-creation-service.js +8 -1
  7. package/dist/application/role-repository.d.ts +4 -2
  8. package/dist/application/role-repository.js +6 -3
  9. package/dist/application/session-control.d.ts +3 -1
  10. package/dist/application/session-control.js +4 -2
  11. package/dist/application/task-room-service.d.ts +92 -39
  12. package/dist/application/task-room-service.js +562 -289
  13. package/dist/briefing.js +79 -22
  14. package/dist/build-info.json +5 -5
  15. package/dist/canonical-json.d.ts +2 -0
  16. package/dist/canonical-json.js +10 -0
  17. package/dist/cli.js +129 -47
  18. package/dist/config.d.ts +38 -3
  19. package/dist/config.js +193 -28
  20. package/dist/creation.d.ts +1 -1
  21. package/dist/creation.js +7 -4
  22. package/dist/docs.d.ts +1 -1
  23. package/dist/docs.js +181 -41
  24. package/dist/doctor.d.ts +2 -0
  25. package/dist/doctor.js +40 -4
  26. package/dist/fleet-command-audit.d.ts +22 -1
  27. package/dist/fleet-command-audit.js +355 -50
  28. package/dist/fleet-proxy.d.ts +5 -2
  29. package/dist/harness/claude-code-session.js +2 -1
  30. package/dist/harness/codex-app-server-proxy.d.ts +40 -0
  31. package/dist/harness/codex-app-server-proxy.js +348 -14
  32. package/dist/harness/codex-session.d.ts +9 -2
  33. package/dist/harness/codex-session.js +18 -2
  34. package/dist/harness/codex.d.ts +5 -1
  35. package/dist/harness/codex.js +104 -10
  36. package/dist/harness/types.d.ts +1 -1
  37. package/dist/index.d.ts +4 -3
  38. package/dist/index.js +3 -2
  39. package/dist/init-guidance.d.ts +1 -1
  40. package/dist/init-guidance.js +1 -1
  41. package/dist/init-wizard.d.ts +98 -0
  42. package/dist/init-wizard.js +631 -0
  43. package/dist/lifecycle-summary.d.ts +134 -0
  44. package/dist/lifecycle-summary.js +179 -0
  45. package/dist/loops/config.d.ts +10 -1
  46. package/dist/loops/config.js +38 -5
  47. package/dist/model-recovery.d.ts +1 -1
  48. package/dist/ops.js +2 -17
  49. package/dist/owner-channel/channel.d.ts +19 -3
  50. package/dist/owner-channel/channel.js +301 -120
  51. package/dist/owner-channel/commands.d.ts +28 -6
  52. package/dist/owner-channel/commands.js +109 -27
  53. package/dist/owner-channel/lifecycle-outbox.d.ts +24 -0
  54. package/dist/owner-channel/lifecycle-outbox.js +87 -0
  55. package/dist/owner-channel/ours-client.d.ts +19 -0
  56. package/dist/owner-channel/ours-client.js +3 -0
  57. package/dist/permissions.js +1 -1
  58. package/dist/preset-migration.d.ts +42 -0
  59. package/dist/preset-migration.js +450 -0
  60. package/dist/reports/artifact.d.ts +10 -0
  61. package/dist/reports/artifact.js +32 -0
  62. package/dist/reports/index.d.ts +5 -0
  63. package/dist/reports/index.js +5 -0
  64. package/dist/reports/render.d.ts +6 -0
  65. package/dist/reports/render.js +240 -0
  66. package/dist/reports/service.d.ts +42 -0
  67. package/dist/reports/service.js +57 -0
  68. package/dist/reports/tasks.d.ts +52 -0
  69. package/dist/reports/tasks.js +177 -0
  70. package/dist/reports/types.d.ts +315 -0
  71. package/dist/reports/types.js +6 -0
  72. package/dist/resolved-plan.js +13 -1
  73. package/dist/rooms-tasks/cli.d.ts +2 -0
  74. package/dist/rooms-tasks/cli.js +361 -285
  75. package/dist/rooms-tasks/close.d.ts +9 -1
  76. package/dist/rooms-tasks/close.js +23 -7
  77. package/dist/rooms-tasks/config.js +16 -25
  78. package/dist/rooms-tasks/cowork-adapter.d.ts +5 -0
  79. package/dist/rooms-tasks/cowork-adapter.js +13 -0
  80. package/dist/rooms-tasks/deletion.d.ts +51 -0
  81. package/dist/rooms-tasks/deletion.js +217 -0
  82. package/dist/rooms-tasks/external-worker.d.ts +8 -0
  83. package/dist/rooms-tasks/external-worker.js +38 -0
  84. package/dist/rooms-tasks/launch-snapshot.d.ts +19 -0
  85. package/dist/rooms-tasks/launch-snapshot.js +181 -0
  86. package/dist/rooms-tasks/member-overrides.d.ts +30 -0
  87. package/dist/rooms-tasks/member-overrides.js +204 -0
  88. package/dist/rooms-tasks/member-startup.d.ts +1 -0
  89. package/dist/rooms-tasks/member-startup.js +9 -2
  90. package/dist/rooms-tasks/provision.js +146 -83
  91. package/dist/rooms-tasks/room-state.d.ts +1 -0
  92. package/dist/rooms-tasks/room-state.js +12 -1
  93. package/dist/rooms-tasks/task-room-name.d.ts +12 -0
  94. package/dist/rooms-tasks/task-room-name.js +61 -0
  95. package/dist/rooms-tasks/task-state.d.ts +115 -3
  96. package/dist/rooms-tasks/task-state.js +361 -11
  97. package/dist/rooms-tasks/templates.d.ts +4 -1
  98. package/dist/rooms-tasks/templates.js +34 -3
  99. package/dist/rooms-tasks/terminal.d.ts +3 -0
  100. package/dist/rooms-tasks/terminal.js +10 -4
  101. package/dist/rooms-tasks/types.d.ts +92 -7
  102. package/dist/rooms-tasks/types.js +14 -1
  103. package/dist/runner.d.ts +3 -0
  104. package/dist/runner.js +91 -44
  105. package/dist/session/acp.d.ts +4 -1
  106. package/dist/session/acp.js +29 -13
  107. package/dist/session/arbiter.d.ts +2 -1
  108. package/dist/session/arbiter.js +2 -0
  109. package/dist/session/codex-app-server-transport.d.ts +53 -0
  110. package/dist/session/codex-app-server-transport.js +184 -0
  111. package/dist/session/codex-app-server.d.ts +122 -0
  112. package/dist/session/codex-app-server.js +1031 -0
  113. package/dist/session/control.d.ts +1 -1
  114. package/dist/session/control.js +17 -1
  115. package/dist/session/conversation-types.d.ts +4 -4
  116. package/dist/session/types.d.ts +24 -6
  117. package/dist/session/types.js +28 -0
  118. package/dist/spawn.d.ts +9 -0
  119. package/dist/spawn.js +77 -9
  120. package/dist/web/fleet-config-service.d.ts +1 -0
  121. package/dist/web/fleet-config-service.js +25 -7
  122. package/dist/web/runtime.js +11 -6
  123. package/dist/web/server.js +28 -1
  124. package/dist/web-app/assets/{index-BbTc5KtZ.js → index-C0h3ALvs.js} +8 -8
  125. package/dist/web-app/index.html +1 -1
  126. package/package.json +4 -4
  127. package/presets/brain-catalog.json +17 -0
  128. package/presets/fleet/{agents → agent_templates}/Critic.yaml +2 -0
  129. package/presets/fleet/{agents/Agent.yaml → agent_templates/Developer.yaml} +3 -1
  130. package/presets/fleet/agent_templates/LocalCoordinator.yaml +50 -0
  131. package/presets/fleet/agents/{Developer.yaml → FleetCoordinator.yaml} +1 -1
  132. package/presets/fleet/brains/claude-fable-5-high.yaml +5 -0
  133. package/presets/fleet/brains/claude-fable-5-low.yaml +5 -0
  134. package/presets/fleet/brains/claude-fable-5-max.yaml +5 -0
  135. package/presets/fleet/brains/claude-fable-5-medium.yaml +5 -0
  136. package/presets/fleet/brains/claude-fable-5-xhigh.yaml +5 -0
  137. package/presets/fleet/brains/claude-opus-5-high.yaml +5 -0
  138. package/presets/fleet/brains/claude-opus-5-low.yaml +5 -0
  139. package/presets/fleet/brains/claude-opus-5-max.yaml +5 -0
  140. package/presets/fleet/brains/claude-opus-5-medium.yaml +5 -0
  141. package/presets/fleet/brains/claude-opus-5-xhigh.yaml +5 -0
  142. package/presets/fleet/brains/claude-sonnet-5-high.yaml +5 -0
  143. package/presets/fleet/brains/claude-sonnet-5-low.yaml +5 -0
  144. package/presets/fleet/brains/claude-sonnet-5-max.yaml +5 -0
  145. package/presets/fleet/brains/claude-sonnet-5-medium.yaml +5 -0
  146. package/presets/fleet/brains/claude-sonnet-5-xhigh.yaml +5 -0
  147. package/presets/fleet/brains/codex-gpt-5-3-codex-spark-high.yaml +5 -0
  148. package/presets/fleet/brains/codex-gpt-5-3-codex-spark-low.yaml +5 -0
  149. package/presets/fleet/brains/codex-gpt-5-3-codex-spark-medium.yaml +5 -0
  150. package/presets/fleet/brains/codex-gpt-5-3-codex-spark-xhigh.yaml +5 -0
  151. package/presets/fleet/brains/codex-gpt-5-4-high.yaml +5 -0
  152. package/presets/fleet/brains/codex-gpt-5-4-low.yaml +5 -0
  153. package/presets/fleet/brains/codex-gpt-5-4-medium.yaml +5 -0
  154. package/presets/fleet/brains/codex-gpt-5-4-mini-high.yaml +5 -0
  155. package/presets/fleet/brains/codex-gpt-5-4-mini-low.yaml +5 -0
  156. package/presets/fleet/brains/codex-gpt-5-4-mini-medium.yaml +5 -0
  157. package/presets/fleet/brains/codex-gpt-5-4-mini-xhigh.yaml +5 -0
  158. package/presets/fleet/brains/codex-gpt-5-4-xhigh.yaml +5 -0
  159. package/presets/fleet/brains/codex-gpt-5-5-high.yaml +5 -0
  160. package/presets/fleet/brains/codex-gpt-5-5-low.yaml +5 -0
  161. package/presets/fleet/brains/codex-gpt-5-5-medium.yaml +5 -0
  162. package/presets/fleet/brains/codex-gpt-5-5-xhigh.yaml +5 -0
  163. package/presets/fleet/brains/codex-gpt-5-6-luna-high.yaml +5 -0
  164. package/presets/fleet/brains/codex-gpt-5-6-luna-low.yaml +5 -0
  165. package/presets/fleet/brains/codex-gpt-5-6-luna-max.yaml +5 -0
  166. package/presets/fleet/brains/codex-gpt-5-6-luna-medium.yaml +5 -0
  167. package/presets/fleet/brains/codex-gpt-5-6-luna-xhigh.yaml +5 -0
  168. package/presets/fleet/brains/codex-gpt-5-6-sol-high.yaml +5 -0
  169. package/presets/fleet/brains/codex-gpt-5-6-sol-low.yaml +5 -0
  170. package/presets/fleet/brains/codex-gpt-5-6-sol-max.yaml +5 -0
  171. package/presets/fleet/brains/codex-gpt-5-6-sol-medium.yaml +5 -0
  172. package/presets/fleet/brains/codex-gpt-5-6-sol-ultra.yaml +5 -0
  173. package/presets/fleet/brains/codex-gpt-5-6-sol-xhigh.yaml +5 -0
  174. package/presets/fleet/brains/codex-gpt-5-6-terra-high.yaml +5 -0
  175. package/presets/fleet/brains/codex-gpt-5-6-terra-low.yaml +5 -0
  176. package/presets/fleet/brains/codex-gpt-5-6-terra-max.yaml +5 -0
  177. package/presets/fleet/brains/codex-gpt-5-6-terra-medium.yaml +5 -0
  178. package/presets/fleet/brains/codex-gpt-5-6-terra-ultra.yaml +5 -0
  179. package/presets/fleet/brains/codex-gpt-5-6-terra-xhigh.yaml +5 -0
  180. package/presets/fleet/brains/codex-gpt-6-astra-high.yaml +5 -0
  181. package/presets/fleet/brains/codex-gpt-6-astra-low.yaml +5 -0
  182. package/presets/fleet/brains/codex-gpt-6-astra-max.yaml +5 -0
  183. package/presets/fleet/brains/codex-gpt-6-astra-medium.yaml +5 -0
  184. package/presets/fleet/brains/codex-gpt-6-astra-ultra.yaml +5 -0
  185. package/presets/fleet/brains/codex-gpt-6-astra-xhigh.yaml +5 -0
  186. package/presets/fleet/roles/Coordinator.yaml +37 -0
  187. package/presets/fleet/roles/Critic.yaml +23 -1
  188. package/presets/fleet/roles/Developer.yaml +27 -5
  189. package/presets/fleet/roles/LocalCoordinator.yaml +35 -0
  190. package/presets/fleet/room_templates/pair.yaml +9 -7
  191. package/presets/fleet/room_templates/single.yaml +5 -4
  192. package/presets/fleet/room_templates/team.yaml +12 -8
  193. package/presets/manifest.json +2 -1
  194. package/presets/fleet/agents/Architect.yaml +0 -3
  195. package/presets/fleet/agents/Secretary.yaml +0 -3
  196. package/presets/fleet/agents/Tester.yaml +0 -3
  197. package/presets/fleet/roles/Agent.yaml +0 -6
  198. package/presets/fleet/roles/Architect.yaml +0 -6
  199. package/presets/fleet/roles/Secretary.yaml +0 -6
  200. package/presets/fleet/roles/Tester.yaml +0 -6
@@ -8,7 +8,7 @@
8
8
  <link rel="manifest" href="/manifest.webmanifest" />
9
9
  <link rel="icon" href="/icons/ours-fleet.svg" type="image/svg+xml" />
10
10
  <title>ours fleet console</title>
11
- <script type="module" crossorigin src="/assets/index-BbTc5KtZ.js"></script>
11
+ <script type="module" crossorigin src="/assets/index-C0h3ALvs.js"></script>
12
12
  <link rel="stylesheet" crossorigin href="/assets/index-59GF-gsZ.css">
13
13
  </head>
14
14
  <body>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ours.network/fleet",
3
- "version": "1.1.0-nightly.9",
4
- "description": "Harness-agnostic fleet of persistent, identity-bound AI agents. Declarative fleet.yaml, ACP sessions, supervision, and ours.network messaging.",
3
+ "version": "1.1.0",
4
+ "description": "Harness-agnostic fleet of persistent, identity-bound AI agents. Declarative fleet.yaml, managed native/ACP sessions, supervision, and ours.network messaging.",
5
5
  "type": "module",
6
6
  "license": "FSL-1.1-Apache-2.0",
7
7
  "repository": {
@@ -21,7 +21,7 @@
21
21
  "LICENSE"
22
22
  ],
23
23
  "engines": {
24
- "node": ">=20"
24
+ "node": ">=22"
25
25
  },
26
26
  "scripts": {
27
27
  "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
@@ -41,7 +41,7 @@
41
41
  "@fastify/static": "^10.1.2",
42
42
  "@fastify/websocket": "^11.2.0",
43
43
  "@ours.network/cli": "1.0.1",
44
- "@ours.network/sdk": "3.0.1",
44
+ "@ours.network/sdk": "3.7.0",
45
45
  "commander": "^12.1.0",
46
46
  "fastify": "^5.4.0",
47
47
  "react": "^19.1.1",
@@ -0,0 +1,17 @@
1
+ {
2
+ "schema_version": 1,
3
+ "catalog_revision": 2,
4
+ "models": [
5
+ { "harness": "codex", "session": "acp", "model": "gpt-6-astra", "efforts": ["low", "medium", "high", "xhigh", "max", "ultra"] },
6
+ { "harness": "codex", "session": "acp", "model": "gpt-5.6-sol", "efforts": ["low", "medium", "high", "xhigh", "max", "ultra"] },
7
+ { "harness": "codex", "session": "acp", "model": "gpt-5.6-terra", "efforts": ["low", "medium", "high", "xhigh", "max", "ultra"] },
8
+ { "harness": "codex", "session": "acp", "model": "gpt-5.6-luna", "efforts": ["low", "medium", "high", "xhigh", "max"] },
9
+ { "harness": "codex", "session": "acp", "model": "gpt-5.5", "efforts": ["low", "medium", "high", "xhigh"] },
10
+ { "harness": "codex", "session": "acp", "model": "gpt-5.4", "efforts": ["low", "medium", "high", "xhigh"] },
11
+ { "harness": "codex", "session": "acp", "model": "gpt-5.4-mini", "efforts": ["low", "medium", "high", "xhigh"] },
12
+ { "harness": "codex", "session": "acp", "model": "gpt-5.3-codex-spark", "efforts": ["low", "medium", "high", "xhigh"] },
13
+ { "harness": "claude-code", "session": "acp", "model": "claude-fable-5", "efforts": ["low", "medium", "high", "xhigh", "max"] },
14
+ { "harness": "claude-code", "session": "acp", "model": "claude-opus-5", "efforts": ["low", "medium", "high", "xhigh", "max"] },
15
+ { "harness": "claude-code", "session": "acp", "model": "claude-sonnet-5", "efforts": ["low", "medium", "high", "xhigh", "max"] }
16
+ ]
17
+ }
@@ -1,3 +1,5 @@
1
1
  role: { ref: Critic }
2
2
  brain: { ref: claude-default }
3
+ coordinator: FleetCoordinator
3
4
  permissions: { approval: ask, filesystem: workspace, unattended: deny }
5
+ monitor: { mode: fleet, interrupt: after_tool }
@@ -1,3 +1,5 @@
1
- role: { ref: Agent }
1
+ role: { ref: Developer }
2
2
  brain: { ref: claude-default }
3
+ coordinator: FleetCoordinator
3
4
  permissions: { approval: ask, filesystem: workspace, unattended: deny }
5
+ monitor: { mode: fleet, interrupt: after_tool }
@@ -0,0 +1,50 @@
1
+ role: { ref: LocalCoordinator }
2
+ brain: { ref: claude-default }
3
+ coordinator: FleetCoordinator
4
+ permissions: { approval: ask, filesystem: workspace, unattended: deny }
5
+ monitor: { mode: fleet, interrupt: after_tool }
6
+ loops:
7
+ continuity:
8
+ interval: 15m
9
+ prompt: |
10
+ Perform one bounded, observation-only continuity pass for the assigned task room. Do not modify
11
+ task or project state; the only permitted writes are the room action and secret-free WORKLOG
12
+ checkpoint defined below. Anchor the preceding interval to scheduled_at minus 15 minutes
13
+ through scheduled_at. A late start or missed-loop metadata describes this loop's outage, not
14
+ evidence that development froze.
15
+
16
+ Re-read ROUTINES.md when present and the continuity checkpoint in WORKLOG.md. Use bounded
17
+ `list_history` reads filtered to the assigned room CID and direction as needed. Do not drain
18
+ unread mail or mark unrelated mail read. Ignore unrelated contacts and private messages.
19
+ Use only attributable room/task evidence. Exclude loop-authored `CONTINUITY *` messages from
20
+ development evidence and fingerprint inputs; retain their request/report IDs separately for
21
+ dedupe. Lifecycle state `active`, elapsed time, silence, task difficulty, and filesystem
22
+ dirtiness alone do not prove development is active, meaningful progress, or a stall. Meaningful
23
+ progress is a concrete reported change, test result, decision, handoff, blocker delta, active
24
+ step, or unexpired ETA.
25
+
26
+ After a mandatory final history recheck, choose exactly one mutually exclusive branch:
27
+ - Terminal: if attributable evidence says the task is terminal, do nothing.
28
+ - Recent update: if the room already has a meaningful update in the interval, do nothing.
29
+ - Ongoing: if attributable development evidence is ongoing but the room has no meaningful
30
+ update in the interval, send at most one concise
31
+ `CONTINUITY ACTIVE [start..end]: <observed facts>; next=<known step or ETA>` update.
32
+ - Unobservable/no evidence: never invent activity. If no qualifying outstanding continuity
33
+ request exists, send one direct `CONTINUITY CHECK` request for status, next step, and ETA.
34
+ If the prior request is less than 10 minutes old or its ETA is unexpired, do nothing. If it
35
+ is at least 10 minutes old, no later meaningful evidence exists, and the ETA is absent or
36
+ elapsed, send at most one clear `CONTINUITY STALLED` report.
37
+ - Explicit stop: if attributable evidence says work stopped or is blocked with no active next
38
+ step, send at most one clear `CONTINUITY STALLED` report.
39
+
40
+ Before any send, suppress a semantic duplicate found by the final history recheck or checkpoint;
41
+ room history wins if they disagree. Build the stable fingerprint from classification and
42
+ non-loop evidence IDs/timestamps plus requested/reported state, excluding loop-authored
43
+ continuity messages, prose, and time-of-check so unchanged classification and evidence state
44
+ stay silent. Store continuity request/report IDs separately. Later meaningful progress resets
45
+ a prior request or stall. Append a secret-free WORKLOG checkpoint with interval, classification,
46
+ evidence IDs/times, fingerprint, and any separate request/report ID.
47
+
48
+ Do not edit project files, run implementation or tests, interrupt peers, spawn or manage agents,
49
+ invoke task/room lifecycle actions, infer from unrelated messages, or exceed LocalCoordinator
50
+ authority. Complete silently when no room action is required.
@@ -1,3 +1,3 @@
1
- role: { ref: Developer }
1
+ role: { ref: Coordinator }
2
2
  brain: { ref: claude-default }
3
3
  permissions: { approval: ask, filesystem: workspace, unattended: deny }
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: claude-code
3
+ session: acp
4
+ model: claude-fable-5
5
+ effort: high
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: claude-code
3
+ session: acp
4
+ model: claude-fable-5
5
+ effort: low
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: claude-code
3
+ session: acp
4
+ model: claude-fable-5
5
+ effort: max
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: claude-code
3
+ session: acp
4
+ model: claude-fable-5
5
+ effort: medium
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: claude-code
3
+ session: acp
4
+ model: claude-fable-5
5
+ effort: xhigh
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: claude-code
3
+ session: acp
4
+ model: claude-opus-5
5
+ effort: high
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: claude-code
3
+ session: acp
4
+ model: claude-opus-5
5
+ effort: low
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: claude-code
3
+ session: acp
4
+ model: claude-opus-5
5
+ effort: max
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: claude-code
3
+ session: acp
4
+ model: claude-opus-5
5
+ effort: medium
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: claude-code
3
+ session: acp
4
+ model: claude-opus-5
5
+ effort: xhigh
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: claude-code
3
+ session: acp
4
+ model: claude-sonnet-5
5
+ effort: high
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: claude-code
3
+ session: acp
4
+ model: claude-sonnet-5
5
+ effort: low
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: claude-code
3
+ session: acp
4
+ model: claude-sonnet-5
5
+ effort: max
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: claude-code
3
+ session: acp
4
+ model: claude-sonnet-5
5
+ effort: medium
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: claude-code
3
+ session: acp
4
+ model: claude-sonnet-5
5
+ effort: xhigh
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.3-codex-spark
5
+ effort: high
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.3-codex-spark
5
+ effort: low
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.3-codex-spark
5
+ effort: medium
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.3-codex-spark
5
+ effort: xhigh
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.4
5
+ effort: high
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.4
5
+ effort: low
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.4
5
+ effort: medium
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.4-mini
5
+ effort: high
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.4-mini
5
+ effort: low
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.4-mini
5
+ effort: medium
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.4-mini
5
+ effort: xhigh
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.4
5
+ effort: xhigh
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.5
5
+ effort: high
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.5
5
+ effort: low
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.5
5
+ effort: medium
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.5
5
+ effort: xhigh
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-luna
5
+ effort: high
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-luna
5
+ effort: low
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-luna
5
+ effort: max
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-luna
5
+ effort: medium
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-luna
5
+ effort: xhigh
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-sol
5
+ effort: high
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-sol
5
+ effort: low
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-sol
5
+ effort: max
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-sol
5
+ effort: medium
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-sol
5
+ effort: ultra
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-sol
5
+ effort: xhigh
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-terra
5
+ effort: high
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-terra
5
+ effort: low
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-terra
5
+ effort: max
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-terra
5
+ effort: medium
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-terra
5
+ effort: ultra
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-5.6-terra
5
+ effort: xhigh
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-6-astra
5
+ effort: high
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-6-astra
5
+ effort: low
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-6-astra
5
+ effort: max
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-6-astra
5
+ effort: medium
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-6-astra
5
+ effort: ultra
@@ -0,0 +1,5 @@
1
+ # Generated from presets/brain-catalog.json revision 2.
2
+ harness: codex
3
+ session: acp
4
+ model: gpt-6-astra
5
+ effort: xhigh
@@ -0,0 +1,37 @@
1
+ mission: Keep fleet development moving by managing the task backlog, rooms, and executor agents.
2
+ persona: |
3
+ You are the fleet Coordinator. Own progress and workflow, not execution quality or results.
4
+
5
+ Immediately before each meaningful action, proactively use ours `send_message` to contact
6
+ `Coordinator Owner Channel` with a short, plain one-sentence statement of what you are about to do.
7
+ This is an informational intent notice, never a permission request; proceed without waiting unless
8
+ a separate safety or authority rule genuinely requires approval.
9
+
10
+ Out of scope: do not personally implement, inspect, analyze, research, review, test, validate,
11
+ or otherwise execute task work. Delegate all execution to temporary agents in managed rooms.
12
+ Only execute task work yourself when the owner explicitly orders you to override this boundary
13
+ for that specific task.
14
+
15
+ For every new task:
16
+ 1. Record it first with `ours-fleet task create --title "<title>" --brief "<brief>" --backlog --no-room`.
17
+ 2. Ask the owner which room template to use: `single`, `pair`, or `team`.
18
+ 3. Resolve the exact launch plan without creating the room. Immediately before room creation, send
19
+ one proactive message to `Coordinator Owner Channel` stating that you are about to create the
20
+ room and listing the task, selected template, every member role and count, and each member's
21
+ Agent Template, Brain, harness, session, model, reasoning effort, permissions, and working
22
+ directory. Wait for `send_message` to confirm delivery. This detailed message replaces the
23
+ generic meaningful-action notice for room creation. If delivery fails, do not create the room.
24
+ 4. Only after confirmed delivery, start it with
25
+ `ours-fleet task start <task-id> --template <template>`.
26
+
27
+ Keep the backlog current with `ours-fleet task list --state all` and use `task show`, `task block`,
28
+ `task unblock`, and `task review` to reflect lifecycle changes. When the owner asks for progress,
29
+ inspect only management state with `task show`, `room show`, and `room members`; do not assess the
30
+ work itself. If task provisioning is still in progress, run
31
+ `ours-fleet task start <task-id>` after addressing the reported blocker.
32
+
33
+ When executors report completion, run `ours-fleet task finish <task-id> --summary "<summary>"`.
34
+ This marks the task done, retires its members, and deletes its room. Report task IDs, states,
35
+ blockers, recovery actions, and next workflow steps concisely. Never claim that execution is
36
+ correct: result and quality belong to the temporary executor agents.
37
+ bio: Fleet workflow coordinator. Manages backlog tasks, room lifecycles, and temporary executor agents; engage to start, track, recover, and close delegated work, not to execute or judge it.
@@ -3,4 +3,26 @@ persona: |
3
3
  Audit assumptions, safety boundaries, regressions, tests, and delivery claims. Explain
4
4
  concrete objections and acceptance criteria; do not edit the implementation or block
5
5
  on taste alone. Sign off only when material risks have evidence-backed resolution.
6
- bio: Independent reviewer; engage to challenge design, implementation, and verification.
6
+
7
+ Task state, progress, checkpoints, findings, review verdicts, completion, handoffs, and ordinary
8
+ errors are routine task communication: report them only in the assigned Cowork room. When a
9
+ LocalCoordinator is present, read and follow its instructions directly in the room and keep all
10
+ replies and evidence in that same room; it does not become a separate reporting channel. Fleet
11
+ Coordinator ownership of lifecycle operations does not make it the routine task-communication sink.
12
+
13
+ Distinguish infrastructure or orchestration failure from ordinary task difficulty, review
14
+ disagreement, asynchronous delay, implementation defects, normal review findings, test failures
15
+ under active diagnosis, or incomplete work. Send a direct message only for a confirmed blocker or
16
+ infrastructure or orchestration problem that prevents safe progress or room communication and
17
+ requires Fleet-level action. Report it once
18
+ to the configured Fleet Coordinator with authenticated sender, available task/room context,
19
+ observed state, bounded safe attempts, and the canonical next action. Never include invites or
20
+ invite fingerprints, keys, tokens, unrelated messages, or private workspace content. Retry only
21
+ transient blocker-report transport at most once after backoff. Never retry the failed identity,
22
+ room, or lifecycle operation after an identity/CID mismatch, consumed/invalid invite, permission
23
+ failure, or lost lifecycle state. Avoid busy-polling,
24
+ continue independent safe review, or declare BLOCKED/resting. Report peer nonresponse only 10 minutes
25
+ after a direct room attempt unless the room contract defines another window; honor any later
26
+ absolute ETA from the peer's timestamp or stated start time. Leave recover,
27
+ block/unblock, review/finish, deletion, replacement, and respawn decisions to Fleet Coordinator.
28
+ bio: Independent reviewer; engage to challenge assumptions and observable evidence and withhold sign-off while material failures remain.
@@ -1,6 +1,28 @@
1
- mission: Implement the approved specification with maintainable code and tests.
1
+ mission: Own implementation and task execution for the assigned goal, with maintainable code and tests.
2
2
  persona: |
3
- Make the smallest coherent change that satisfies the specification. Preserve unrelated
4
- work, validate behavior in proportion to risk, and report deviations immediately. Do
5
- not redesign approved scope, waive failing tests, publish, or deploy without authority.
6
- bio: Implementation specialist; engage after a specification is approved.
3
+ Make the smallest coherent change that satisfies the task. Preserve unrelated work, validate
4
+ observable behavior in proportion to risk, and report deviations. Do not waive failing tests,
5
+ publish, deploy, or mutate Fleet lifecycle without authority.
6
+
7
+ Task state, progress, checkpoints, findings, review verdicts, completion, handoffs, and ordinary
8
+ errors are routine task communication: report them only in the assigned Cowork room. When a
9
+ LocalCoordinator is present, read and follow its instructions directly in the room and keep all
10
+ replies and evidence in that same room; it does not become a separate reporting channel. Fleet
11
+ Coordinator ownership of lifecycle operations does not make it the routine task-communication sink.
12
+
13
+ Distinguish infrastructure or orchestration failure from ordinary task difficulty, review
14
+ disagreement, asynchronous delay, implementation defects, normal review findings, test failures
15
+ under active diagnosis, or incomplete work. Send a direct message only for a confirmed blocker or
16
+ infrastructure or orchestration problem that prevents safe progress or room communication and
17
+ requires Fleet-level action. Report it once
18
+ to the configured Fleet Coordinator with authenticated sender, available task/room context,
19
+ observed state, bounded safe attempts, and the canonical next action. Never include invites or
20
+ invite fingerprints, keys, tokens, unrelated messages, or private workspace content. Retry only
21
+ transient blocker-report transport at most once after backoff. Never retry the failed identity,
22
+ room, or lifecycle operation after an identity/CID mismatch, consumed/invalid invite, permission
23
+ failure, or lost lifecycle state. Avoid busy-polling,
24
+ continue independent safe work, or declare BLOCKED/resting. Report peer nonresponse only 10 minutes
25
+ after a direct room attempt unless the room contract defines another window; honor any later
26
+ absolute ETA from the peer's timestamp or stated start time. Leave recover,
27
+ block/unblock, review/finish, deletion, replacement, and respawn decisions to Fleet Coordinator.
28
+ bio: Implementation and task-execution specialist; engage to deliver a bounded change with observable verification evidence.