claude-code-swarm 0.3.2 → 0.3.4

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 (1129) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CLAUDE.md +4 -0
  4. package/README.md +65 -0
  5. package/package.json +4 -4
  6. package/src/__tests__/config.test.mjs +128 -0
  7. package/src/__tests__/index.test.mjs +2 -0
  8. package/src/__tests__/paths.test.mjs +13 -0
  9. package/src/config.mjs +46 -16
  10. package/src/index.mjs +3 -1
  11. package/src/map-connection.mjs +3 -3
  12. package/src/paths.mjs +5 -0
  13. package/src/sidecar-client.mjs +2 -2
  14. package/references/multi-agent-protocol/.sudocode/issues.jsonl +0 -120
  15. package/references/multi-agent-protocol/.sudocode/specs.jsonl +0 -15
  16. package/references/multi-agent-protocol/LICENSE +0 -21
  17. package/references/multi-agent-protocol/README.md +0 -113
  18. package/references/multi-agent-protocol/docs/00-design-specification.md +0 -496
  19. package/references/multi-agent-protocol/docs/01-open-questions.md +0 -1050
  20. package/references/multi-agent-protocol/docs/02-wire-protocol.md +0 -296
  21. package/references/multi-agent-protocol/docs/03-streaming-semantics.md +0 -252
  22. package/references/multi-agent-protocol/docs/04-error-handling.md +0 -231
  23. package/references/multi-agent-protocol/docs/05-connection-model.md +0 -244
  24. package/references/multi-agent-protocol/docs/06-visibility-permissions.md +0 -243
  25. package/references/multi-agent-protocol/docs/07-federation.md +0 -335
  26. package/references/multi-agent-protocol/docs/08-macro-agent-migration.md +0 -253
  27. package/references/multi-agent-protocol/docs/09-authentication.md +0 -748
  28. package/references/multi-agent-protocol/docs/10-environment-awareness.md +0 -242
  29. package/references/multi-agent-protocol/docs/10-mail-protocol.md +0 -553
  30. package/references/multi-agent-protocol/docs/11-anp-inspired-improvements.md +0 -1079
  31. package/references/multi-agent-protocol/docs/11-trajectory-protocol.md +0 -292
  32. package/references/multi-agent-protocol/docs/12-anp-implementation-plan.md +0 -641
  33. package/references/multi-agent-protocol/docs/agent-iam-integration.md +0 -877
  34. package/references/multi-agent-protocol/docs/agentic-mesh-integration-draft.md +0 -459
  35. package/references/multi-agent-protocol/docs/git-transport-draft.md +0 -251
  36. package/references/multi-agent-protocol/docs-site/Gemfile +0 -22
  37. package/references/multi-agent-protocol/docs-site/README.md +0 -82
  38. package/references/multi-agent-protocol/docs-site/_config.yml +0 -91
  39. package/references/multi-agent-protocol/docs-site/_includes/head_custom.html +0 -20
  40. package/references/multi-agent-protocol/docs-site/_sass/color_schemes/map.scss +0 -42
  41. package/references/multi-agent-protocol/docs-site/_sass/custom/custom.scss +0 -34
  42. package/references/multi-agent-protocol/docs-site/examples/full-integration.md +0 -510
  43. package/references/multi-agent-protocol/docs-site/examples/index.md +0 -138
  44. package/references/multi-agent-protocol/docs-site/examples/simple-chat.md +0 -282
  45. package/references/multi-agent-protocol/docs-site/examples/task-queue.md +0 -399
  46. package/references/multi-agent-protocol/docs-site/getting-started/index.md +0 -98
  47. package/references/multi-agent-protocol/docs-site/getting-started/installation.md +0 -219
  48. package/references/multi-agent-protocol/docs-site/getting-started/overview.md +0 -172
  49. package/references/multi-agent-protocol/docs-site/getting-started/quickstart.md +0 -237
  50. package/references/multi-agent-protocol/docs-site/index.md +0 -136
  51. package/references/multi-agent-protocol/docs-site/protocol/authentication.md +0 -391
  52. package/references/multi-agent-protocol/docs-site/protocol/connection-model.md +0 -376
  53. package/references/multi-agent-protocol/docs-site/protocol/design.md +0 -284
  54. package/references/multi-agent-protocol/docs-site/protocol/error-handling.md +0 -312
  55. package/references/multi-agent-protocol/docs-site/protocol/federation.md +0 -449
  56. package/references/multi-agent-protocol/docs-site/protocol/index.md +0 -129
  57. package/references/multi-agent-protocol/docs-site/protocol/permissions.md +0 -398
  58. package/references/multi-agent-protocol/docs-site/protocol/streaming.md +0 -353
  59. package/references/multi-agent-protocol/docs-site/protocol/wire-protocol.md +0 -369
  60. package/references/multi-agent-protocol/docs-site/sdk/api/agent.md +0 -357
  61. package/references/multi-agent-protocol/docs-site/sdk/api/client.md +0 -380
  62. package/references/multi-agent-protocol/docs-site/sdk/api/index.md +0 -62
  63. package/references/multi-agent-protocol/docs-site/sdk/api/server.md +0 -453
  64. package/references/multi-agent-protocol/docs-site/sdk/api/types.md +0 -468
  65. package/references/multi-agent-protocol/docs-site/sdk/guides/agent.md +0 -375
  66. package/references/multi-agent-protocol/docs-site/sdk/guides/authentication.md +0 -405
  67. package/references/multi-agent-protocol/docs-site/sdk/guides/client.md +0 -352
  68. package/references/multi-agent-protocol/docs-site/sdk/guides/index.md +0 -89
  69. package/references/multi-agent-protocol/docs-site/sdk/guides/server.md +0 -360
  70. package/references/multi-agent-protocol/docs-site/sdk/guides/testing.md +0 -446
  71. package/references/multi-agent-protocol/docs-site/sdk/guides/transports.md +0 -363
  72. package/references/multi-agent-protocol/docs-site/sdk/index.md +0 -206
  73. package/references/multi-agent-protocol/package-lock.json +0 -4230
  74. package/references/multi-agent-protocol/package.json +0 -56
  75. package/references/multi-agent-protocol/schema/meta.json +0 -584
  76. package/references/multi-agent-protocol/schema/schema.json +0 -3067
  77. package/references/openhive/.claude/settings.json +0 -6
  78. package/references/openhive/.dockerignore +0 -54
  79. package/references/openhive/.github/workflows/docker.yml +0 -52
  80. package/references/openhive/.sudocode/issues.jsonl +0 -24
  81. package/references/openhive/.sudocode/specs.jsonl +0 -4
  82. package/references/openhive/CLAUDE.md +0 -88
  83. package/references/openhive/Dockerfile +0 -105
  84. package/references/openhive/README.md +0 -745
  85. package/references/openhive/bin/openhive.js +0 -6
  86. package/references/openhive/cloudbuild.yaml +0 -80
  87. package/references/openhive/deploy/cloud-run.sh +0 -106
  88. package/references/openhive/deploy/openhive.env.example +0 -80
  89. package/references/openhive/deploy/openhive.service +0 -91
  90. package/references/openhive/docker-compose.yml +0 -67
  91. package/references/openhive/docker-entrypoint.sh +0 -117
  92. package/references/openhive/docs/API_MIGRATION.md +0 -176
  93. package/references/openhive/docs/DEPLOYMENT.md +0 -847
  94. package/references/openhive/docs/DESIGN_v1.md +0 -489
  95. package/references/openhive/docs/DESIGN_v2.md +0 -564
  96. package/references/openhive/docs/HEADSCALE_HOSTING_SPEC.md +0 -513
  97. package/references/openhive/docs/HIVE_SYNC_DESIGN.md +0 -2362
  98. package/references/openhive/docs/HIVE_SYNC_IMPLEMENTATION_PLAN.md +0 -1169
  99. package/references/openhive/docs/HOSTING.md +0 -601
  100. package/references/openhive/docs/IMPLEMENTATION_PLAN.md +0 -428
  101. package/references/openhive/docs/LOCAL_SETUP.md +0 -506
  102. package/references/openhive/docs/MACRO_AGENT_ATLAS_EXTENSION.md +0 -351
  103. package/references/openhive/docs/MEMORY_BANK_SYNC_SPEC.md +0 -909
  104. package/references/openhive/docs/PLAN_v1.md +0 -471
  105. package/references/openhive/docs/PLAN_v2.md +0 -623
  106. package/references/openhive/docs/WEBSOCKET.md +0 -267
  107. package/references/openhive/docs/openswarm-bootstrap-token-spec.md +0 -240
  108. package/references/openhive/ecosystem.config.cjs +0 -76
  109. package/references/openhive/fly.toml +0 -63
  110. package/references/openhive/package-lock.json +0 -17640
  111. package/references/openhive/package.json +0 -128
  112. package/references/openhive/packages/openhive-types/package-lock.json +0 -1473
  113. package/references/openhive/packages/openhive-types/package.json +0 -42
  114. package/references/openhive/packages/openhive-types/src/index.ts +0 -36
  115. package/references/openhive/packages/openhive-types/src/map-coordination.ts +0 -92
  116. package/references/openhive/packages/openhive-types/src/map-session-sync.ts +0 -50
  117. package/references/openhive/packages/openhive-types/src/map-sync.ts +0 -68
  118. package/references/openhive/packages/openhive-types/tsconfig.json +0 -15
  119. package/references/openhive/packages/openhive-types/tsconfig.tsbuildinfo +0 -1
  120. package/references/openhive/packages/openhive-types/tsup.config.ts +0 -12
  121. package/references/openhive/railway.json +0 -13
  122. package/references/openhive/railway.toml +0 -24
  123. package/references/openhive/render.yaml +0 -51
  124. package/references/openhive/src/__tests__/auth.test.ts +0 -148
  125. package/references/openhive/src/__tests__/bridge/credentials.test.ts +0 -65
  126. package/references/openhive/src/__tests__/bridge/dal.test.ts +0 -279
  127. package/references/openhive/src/__tests__/bridge/inbound.test.ts +0 -349
  128. package/references/openhive/src/__tests__/bridge/manager.test.ts +0 -419
  129. package/references/openhive/src/__tests__/bridge/mentions.test.ts +0 -83
  130. package/references/openhive/src/__tests__/bridge/outbound.test.ts +0 -209
  131. package/references/openhive/src/__tests__/bridge/slack-adapter.test.ts +0 -276
  132. package/references/openhive/src/__tests__/cli.test.ts +0 -342
  133. package/references/openhive/src/__tests__/config.test.ts +0 -205
  134. package/references/openhive/src/__tests__/coordination/coordination.test.ts +0 -1072
  135. package/references/openhive/src/__tests__/coordination/cross-instance.test.ts +0 -540
  136. package/references/openhive/src/__tests__/coordination/e2e.test.ts +0 -780
  137. package/references/openhive/src/__tests__/data-dir.test.ts +0 -332
  138. package/references/openhive/src/__tests__/db.test.ts +0 -258
  139. package/references/openhive/src/__tests__/discovery.test.ts +0 -288
  140. package/references/openhive/src/__tests__/events/dal.test.ts +0 -371
  141. package/references/openhive/src/__tests__/events/dispatch.test.ts +0 -202
  142. package/references/openhive/src/__tests__/events/e2e.test.ts +0 -528
  143. package/references/openhive/src/__tests__/events/normalizers.test.ts +0 -263
  144. package/references/openhive/src/__tests__/events/router.test.ts +0 -314
  145. package/references/openhive/src/__tests__/events/routes.test.ts +0 -407
  146. package/references/openhive/src/__tests__/follows.test.ts +0 -328
  147. package/references/openhive/src/__tests__/helpers/test-dirs.ts +0 -44
  148. package/references/openhive/src/__tests__/ingest-keys.test.ts +0 -925
  149. package/references/openhive/src/__tests__/map/sync-client-content.test.ts +0 -288
  150. package/references/openhive/src/__tests__/map/sync-client.test.ts +0 -500
  151. package/references/openhive/src/__tests__/map/sync-listener.test.ts +0 -504
  152. package/references/openhive/src/__tests__/middleware/hostname-guard.test.ts +0 -73
  153. package/references/openhive/src/__tests__/migrations.test.ts +0 -260
  154. package/references/openhive/src/__tests__/opentasks/client.test.ts +0 -497
  155. package/references/openhive/src/__tests__/opentasks/discovery.test.ts +0 -283
  156. package/references/openhive/src/__tests__/opentasks/e2e.test.ts +0 -767
  157. package/references/openhive/src/__tests__/routes/agents.test.ts +0 -417
  158. package/references/openhive/src/__tests__/routes/opentasks-content.test.ts +0 -493
  159. package/references/openhive/src/__tests__/routes/resource-content.test.ts +0 -1741
  160. package/references/openhive/src/__tests__/sessions/adapters.test.ts +0 -524
  161. package/references/openhive/src/__tests__/sessions/routes.test.ts +0 -1053
  162. package/references/openhive/src/__tests__/sessions/storage.test.ts +0 -545
  163. package/references/openhive/src/__tests__/sessions/trajectory-checkpoints.test.ts +0 -349
  164. package/references/openhive/src/__tests__/sessions/trajectory-routes.test.ts +0 -290
  165. package/references/openhive/src/__tests__/swarm/config.test.ts +0 -125
  166. package/references/openhive/src/__tests__/swarm/credentials.test.ts +0 -254
  167. package/references/openhive/src/__tests__/swarm/dal.test.ts +0 -290
  168. package/references/openhive/src/__tests__/swarm/e2e.test.ts +0 -827
  169. package/references/openhive/src/__tests__/swarm/fixtures/exit-immediately.js +0 -3
  170. package/references/openhive/src/__tests__/swarm/fixtures/map-server.js +0 -147
  171. package/references/openhive/src/__tests__/swarm/fixtures/sleep-server.js +0 -52
  172. package/references/openhive/src/__tests__/swarm/local-provider.test.ts +0 -279
  173. package/references/openhive/src/__tests__/swarm/manager.test.ts +0 -305
  174. package/references/openhive/src/__tests__/swarm/routes.test.ts +0 -396
  175. package/references/openhive/src/__tests__/swarm/workspace.test.ts +0 -257
  176. package/references/openhive/src/__tests__/swarmhub/client.test.ts +0 -324
  177. package/references/openhive/src/__tests__/swarmhub/config.test.ts +0 -213
  178. package/references/openhive/src/__tests__/swarmhub/connector.test.ts +0 -581
  179. package/references/openhive/src/__tests__/swarmhub/routes.test.ts +0 -639
  180. package/references/openhive/src/__tests__/swarmhub/slack-client.test.ts +0 -164
  181. package/references/openhive/src/__tests__/swarmhub/slack-connector.test.ts +0 -164
  182. package/references/openhive/src/__tests__/swarmhub/slack-routes.test.ts +0 -373
  183. package/references/openhive/src/__tests__/swarmhub/webhook-handler.test.ts +0 -295
  184. package/references/openhive/src/__tests__/sync/resource-sync.test.ts +0 -1418
  185. package/references/openhive/src/__tests__/sync/sync.test.ts +0 -800
  186. package/references/openhive/src/api/index.ts +0 -65
  187. package/references/openhive/src/api/middleware/auth.ts +0 -227
  188. package/references/openhive/src/api/middleware/hostname-guard.ts +0 -38
  189. package/references/openhive/src/api/routes/admin.ts +0 -366
  190. package/references/openhive/src/api/routes/agents.ts +0 -223
  191. package/references/openhive/src/api/routes/auth.ts +0 -164
  192. package/references/openhive/src/api/routes/bridges.ts +0 -384
  193. package/references/openhive/src/api/routes/comments.ts +0 -294
  194. package/references/openhive/src/api/routes/coordination.ts +0 -312
  195. package/references/openhive/src/api/routes/events.ts +0 -158
  196. package/references/openhive/src/api/routes/federation.ts +0 -367
  197. package/references/openhive/src/api/routes/feed.ts +0 -212
  198. package/references/openhive/src/api/routes/hives.ts +0 -264
  199. package/references/openhive/src/api/routes/map.ts +0 -674
  200. package/references/openhive/src/api/routes/memory-banks.ts +0 -971
  201. package/references/openhive/src/api/routes/posts.ts +0 -342
  202. package/references/openhive/src/api/routes/resource-content.ts +0 -727
  203. package/references/openhive/src/api/routes/resources.ts +0 -1013
  204. package/references/openhive/src/api/routes/search.ts +0 -45
  205. package/references/openhive/src/api/routes/sessions.ts +0 -1187
  206. package/references/openhive/src/api/routes/swarm-hosting.ts +0 -313
  207. package/references/openhive/src/api/routes/sync-protocol.ts +0 -168
  208. package/references/openhive/src/api/routes/sync.ts +0 -279
  209. package/references/openhive/src/api/routes/uploads.ts +0 -174
  210. package/references/openhive/src/api/routes/webhooks.ts +0 -603
  211. package/references/openhive/src/api/schemas/agents.ts +0 -26
  212. package/references/openhive/src/api/schemas/comments.ts +0 -22
  213. package/references/openhive/src/api/schemas/hives.ts +0 -33
  214. package/references/openhive/src/api/schemas/posts.ts +0 -37
  215. package/references/openhive/src/api/schemas/sync.ts +0 -56
  216. package/references/openhive/src/auth/index.ts +0 -2
  217. package/references/openhive/src/auth/jwks.ts +0 -58
  218. package/references/openhive/src/bridge/adapters/slack.ts +0 -306
  219. package/references/openhive/src/bridge/credentials.ts +0 -72
  220. package/references/openhive/src/bridge/inbound.ts +0 -288
  221. package/references/openhive/src/bridge/index.ts +0 -42
  222. package/references/openhive/src/bridge/manager.ts +0 -425
  223. package/references/openhive/src/bridge/mentions.ts +0 -42
  224. package/references/openhive/src/bridge/outbound.ts +0 -103
  225. package/references/openhive/src/bridge/schema.ts +0 -82
  226. package/references/openhive/src/bridge/types.ts +0 -238
  227. package/references/openhive/src/cli/network.ts +0 -480
  228. package/references/openhive/src/cli.ts +0 -620
  229. package/references/openhive/src/config.ts +0 -611
  230. package/references/openhive/src/coordination/index.ts +0 -43
  231. package/references/openhive/src/coordination/listener.ts +0 -92
  232. package/references/openhive/src/coordination/schema.ts +0 -79
  233. package/references/openhive/src/coordination/service.ts +0 -233
  234. package/references/openhive/src/coordination/types.ts +0 -177
  235. package/references/openhive/src/data-dir.ts +0 -105
  236. package/references/openhive/src/db/adapters/index.ts +0 -21
  237. package/references/openhive/src/db/adapters/postgres.ts +0 -310
  238. package/references/openhive/src/db/adapters/sqlite.ts +0 -56
  239. package/references/openhive/src/db/adapters/types.ts +0 -65
  240. package/references/openhive/src/db/dal/agents.ts +0 -430
  241. package/references/openhive/src/db/dal/bridge.ts +0 -336
  242. package/references/openhive/src/db/dal/comments.ts +0 -213
  243. package/references/openhive/src/db/dal/coordination.ts +0 -361
  244. package/references/openhive/src/db/dal/events.ts +0 -381
  245. package/references/openhive/src/db/dal/follows.ts +0 -96
  246. package/references/openhive/src/db/dal/hives.ts +0 -198
  247. package/references/openhive/src/db/dal/ingest-keys.ts +0 -176
  248. package/references/openhive/src/db/dal/instances.ts +0 -196
  249. package/references/openhive/src/db/dal/invites.ts +0 -123
  250. package/references/openhive/src/db/dal/map.ts +0 -750
  251. package/references/openhive/src/db/dal/posts.ts +0 -274
  252. package/references/openhive/src/db/dal/remote-agents.ts +0 -56
  253. package/references/openhive/src/db/dal/search.ts +0 -238
  254. package/references/openhive/src/db/dal/sync-events.ts +0 -160
  255. package/references/openhive/src/db/dal/sync-groups.ts +0 -100
  256. package/references/openhive/src/db/dal/sync-peer-configs.ts +0 -216
  257. package/references/openhive/src/db/dal/sync-peers.ts +0 -145
  258. package/references/openhive/src/db/dal/syncable-resources.ts +0 -888
  259. package/references/openhive/src/db/dal/trajectory-checkpoints.ts +0 -291
  260. package/references/openhive/src/db/dal/uploads.ts +0 -124
  261. package/references/openhive/src/db/dal/votes.ts +0 -124
  262. package/references/openhive/src/db/index.ts +0 -293
  263. package/references/openhive/src/db/providers/index.ts +0 -75
  264. package/references/openhive/src/db/providers/postgres.ts +0 -529
  265. package/references/openhive/src/db/providers/sqlite.ts +0 -1383
  266. package/references/openhive/src/db/providers/turso.ts +0 -1360
  267. package/references/openhive/src/db/providers/types.ts +0 -516
  268. package/references/openhive/src/db/schema.ts +0 -641
  269. package/references/openhive/src/discovery/index.ts +0 -403
  270. package/references/openhive/src/events/dispatch.ts +0 -106
  271. package/references/openhive/src/events/index.ts +0 -17
  272. package/references/openhive/src/events/normalizers/github.ts +0 -133
  273. package/references/openhive/src/events/normalizers/index.ts +0 -62
  274. package/references/openhive/src/events/normalizers/slack.ts +0 -50
  275. package/references/openhive/src/events/router.ts +0 -156
  276. package/references/openhive/src/events/schema.ts +0 -66
  277. package/references/openhive/src/events/types.ts +0 -130
  278. package/references/openhive/src/federation/index.ts +0 -1
  279. package/references/openhive/src/federation/service.ts +0 -776
  280. package/references/openhive/src/headscale/client.ts +0 -256
  281. package/references/openhive/src/headscale/config.ts +0 -212
  282. package/references/openhive/src/headscale/index.ts +0 -23
  283. package/references/openhive/src/headscale/manager.ts +0 -249
  284. package/references/openhive/src/headscale/sync.ts +0 -272
  285. package/references/openhive/src/headscale/types.ts +0 -231
  286. package/references/openhive/src/index.ts +0 -225
  287. package/references/openhive/src/map/client-entry.ts +0 -26
  288. package/references/openhive/src/map/index.ts +0 -76
  289. package/references/openhive/src/map/schema.ts +0 -119
  290. package/references/openhive/src/map/service.ts +0 -323
  291. package/references/openhive/src/map/sync-client.ts +0 -696
  292. package/references/openhive/src/map/sync-listener.ts +0 -409
  293. package/references/openhive/src/map/types.ts +0 -290
  294. package/references/openhive/src/network/factory.ts +0 -118
  295. package/references/openhive/src/network/headscale-provider.ts +0 -437
  296. package/references/openhive/src/network/index.ts +0 -43
  297. package/references/openhive/src/network/tailscale-client.ts +0 -289
  298. package/references/openhive/src/network/tailscale-provider.ts +0 -287
  299. package/references/openhive/src/network/types.ts +0 -178
  300. package/references/openhive/src/opentasks-client/client.ts +0 -374
  301. package/references/openhive/src/opentasks-client/index.ts +0 -7
  302. package/references/openhive/src/realtime/index.ts +0 -282
  303. package/references/openhive/src/server.ts +0 -1069
  304. package/references/openhive/src/services/email.ts +0 -177
  305. package/references/openhive/src/services/sitemap.ts +0 -135
  306. package/references/openhive/src/sessions/adapters/claude.ts +0 -466
  307. package/references/openhive/src/sessions/adapters/codex.ts +0 -265
  308. package/references/openhive/src/sessions/adapters/index.ts +0 -263
  309. package/references/openhive/src/sessions/adapters/raw.ts +0 -144
  310. package/references/openhive/src/sessions/adapters/types.ts +0 -83
  311. package/references/openhive/src/sessions/index.ts +0 -50
  312. package/references/openhive/src/sessions/storage/adapters/gcs.ts +0 -277
  313. package/references/openhive/src/sessions/storage/adapters/local.ts +0 -240
  314. package/references/openhive/src/sessions/storage/adapters/s3.ts +0 -321
  315. package/references/openhive/src/sessions/storage/index.ts +0 -231
  316. package/references/openhive/src/sessions/storage/types.ts +0 -189
  317. package/references/openhive/src/sessions/types.ts +0 -415
  318. package/references/openhive/src/shared/types/index.ts +0 -45
  319. package/references/openhive/src/shared/types/map-coordination.ts +0 -92
  320. package/references/openhive/src/shared/types/map-session-sync.ts +0 -170
  321. package/references/openhive/src/shared/types/map-sync.ts +0 -68
  322. package/references/openhive/src/skill.ts +0 -203
  323. package/references/openhive/src/storage/adapters/local.ts +0 -169
  324. package/references/openhive/src/storage/adapters/s3.ts +0 -195
  325. package/references/openhive/src/storage/index.ts +0 -64
  326. package/references/openhive/src/storage/types.ts +0 -69
  327. package/references/openhive/src/swarm/credentials.ts +0 -98
  328. package/references/openhive/src/swarm/dal.ts +0 -206
  329. package/references/openhive/src/swarm/index.ts +0 -28
  330. package/references/openhive/src/swarm/manager.ts +0 -917
  331. package/references/openhive/src/swarm/providers/local.ts +0 -338
  332. package/references/openhive/src/swarm/providers/sandboxed-local.ts +0 -478
  333. package/references/openhive/src/swarm/providers/workspace.ts +0 -52
  334. package/references/openhive/src/swarm/schema.ts +0 -43
  335. package/references/openhive/src/swarm/types.ts +0 -333
  336. package/references/openhive/src/swarmhub/client.ts +0 -279
  337. package/references/openhive/src/swarmhub/connector.ts +0 -463
  338. package/references/openhive/src/swarmhub/index.ts +0 -43
  339. package/references/openhive/src/swarmhub/routes.ts +0 -296
  340. package/references/openhive/src/swarmhub/types.ts +0 -213
  341. package/references/openhive/src/swarmhub/webhook-handler.ts +0 -126
  342. package/references/openhive/src/sync/compaction.ts +0 -193
  343. package/references/openhive/src/sync/coordination-hooks.ts +0 -154
  344. package/references/openhive/src/sync/crypto.ts +0 -79
  345. package/references/openhive/src/sync/gossip.ts +0 -136
  346. package/references/openhive/src/sync/hooks.ts +0 -202
  347. package/references/openhive/src/sync/materializer-repo.ts +0 -256
  348. package/references/openhive/src/sync/materializer.ts +0 -682
  349. package/references/openhive/src/sync/middleware.ts +0 -140
  350. package/references/openhive/src/sync/peer-resolver.ts +0 -157
  351. package/references/openhive/src/sync/resource-hooks.ts +0 -161
  352. package/references/openhive/src/sync/schema.ts +0 -158
  353. package/references/openhive/src/sync/service.ts +0 -990
  354. package/references/openhive/src/sync/types.ts +0 -369
  355. package/references/openhive/src/terminal/index.ts +0 -4
  356. package/references/openhive/src/terminal/pty-manager.ts +0 -337
  357. package/references/openhive/src/terminal/resolve-tui.ts +0 -44
  358. package/references/openhive/src/terminal/terminal-ws.ts +0 -251
  359. package/references/openhive/src/types.ts +0 -442
  360. package/references/openhive/src/utils/git-remote.ts +0 -329
  361. package/references/openhive/src/web/App.tsx +0 -77
  362. package/references/openhive/src/web/__tests__/components/dashboard/RecentActivity.test.tsx +0 -77
  363. package/references/openhive/src/web/__tests__/components/dashboard/StatsOverview.test.tsx +0 -62
  364. package/references/openhive/src/web/__tests__/components/dashboard/SwarmStatusSummary.test.tsx +0 -122
  365. package/references/openhive/src/web/__tests__/components/dashboard/SyncResourcesStatus.test.tsx +0 -104
  366. package/references/openhive/src/web/__tests__/components/layout/Sidebar.test.tsx +0 -110
  367. package/references/openhive/src/web/__tests__/components/swarm/StatusBadges.test.tsx +0 -65
  368. package/references/openhive/src/web/__tests__/components/terminal/query-responses.test.ts +0 -143
  369. package/references/openhive/src/web/__tests__/components/terminal/terminal-mouse.test.ts +0 -509
  370. package/references/openhive/src/web/__tests__/hooks/useEventsApi.test.ts +0 -378
  371. package/references/openhive/src/web/__tests__/pages/Dashboard.test.tsx +0 -57
  372. package/references/openhive/src/web/__tests__/pages/Events.test.tsx +0 -886
  373. package/references/openhive/src/web/__tests__/pages/Explore.test.tsx +0 -63
  374. package/references/openhive/src/web/__tests__/routing.test.tsx +0 -79
  375. package/references/openhive/src/web/__tests__/setup.ts +0 -37
  376. package/references/openhive/src/web/__tests__/stores/dashboard.test.ts +0 -49
  377. package/references/openhive/src/web/components/common/AgentBadge.tsx +0 -58
  378. package/references/openhive/src/web/components/common/Avatar.tsx +0 -78
  379. package/references/openhive/src/web/components/common/ErrorBoundary.tsx +0 -76
  380. package/references/openhive/src/web/components/common/Highlight.tsx +0 -79
  381. package/references/openhive/src/web/components/common/ImageUpload.tsx +0 -209
  382. package/references/openhive/src/web/components/common/LoadingSpinner.tsx +0 -37
  383. package/references/openhive/src/web/components/common/Logo.tsx +0 -21
  384. package/references/openhive/src/web/components/common/Markdown.tsx +0 -53
  385. package/references/openhive/src/web/components/common/ProtectedRoute.tsx +0 -18
  386. package/references/openhive/src/web/components/common/ThemeToggle.tsx +0 -38
  387. package/references/openhive/src/web/components/common/TimeAgo.tsx +0 -17
  388. package/references/openhive/src/web/components/common/Toast.tsx +0 -70
  389. package/references/openhive/src/web/components/common/VoteButtons.tsx +0 -100
  390. package/references/openhive/src/web/components/dashboard/RecentActivity.tsx +0 -100
  391. package/references/openhive/src/web/components/dashboard/StatsOverview.tsx +0 -40
  392. package/references/openhive/src/web/components/dashboard/SwarmStatusSummary.tsx +0 -89
  393. package/references/openhive/src/web/components/dashboard/SyncResourcesStatus.tsx +0 -81
  394. package/references/openhive/src/web/components/feed/FeedControls.tsx +0 -38
  395. package/references/openhive/src/web/components/feed/NewPostsIndicator.tsx +0 -75
  396. package/references/openhive/src/web/components/feed/PostCard.tsx +0 -129
  397. package/references/openhive/src/web/components/feed/PostList.tsx +0 -83
  398. package/references/openhive/src/web/components/layout/Footer.tsx +0 -5
  399. package/references/openhive/src/web/components/layout/Layout.tsx +0 -29
  400. package/references/openhive/src/web/components/layout/Sidebar.tsx +0 -348
  401. package/references/openhive/src/web/components/post/CommentForm.tsx +0 -59
  402. package/references/openhive/src/web/components/post/CommentTree.tsx +0 -145
  403. package/references/openhive/src/web/components/resources/MemoryBrowser.tsx +0 -208
  404. package/references/openhive/src/web/components/resources/OpenTasksSummary.tsx +0 -138
  405. package/references/openhive/src/web/components/resources/SkillBrowser.tsx +0 -284
  406. package/references/openhive/src/web/components/swarm/StatusBadges.tsx +0 -56
  407. package/references/openhive/src/web/components/terminal/TerminalPanel.tsx +0 -485
  408. package/references/openhive/src/web/components/terminal/index.ts +0 -2
  409. package/references/openhive/src/web/components/terminal/query-responses.ts +0 -70
  410. package/references/openhive/src/web/components/terminal/terminal-mouse.ts +0 -222
  411. package/references/openhive/src/web/hooks/useApi.ts +0 -740
  412. package/references/openhive/src/web/hooks/useDocumentTitle.ts +0 -49
  413. package/references/openhive/src/web/hooks/useInfiniteScroll.ts +0 -58
  414. package/references/openhive/src/web/hooks/useRealtimeUpdates.ts +0 -154
  415. package/references/openhive/src/web/hooks/useWebSocket.ts +0 -225
  416. package/references/openhive/src/web/index.html +0 -73
  417. package/references/openhive/src/web/lib/api.ts +0 -518
  418. package/references/openhive/src/web/main.tsx +0 -32
  419. package/references/openhive/src/web/pages/About.tsx +0 -131
  420. package/references/openhive/src/web/pages/Agent.tsx +0 -130
  421. package/references/openhive/src/web/pages/Agents.tsx +0 -69
  422. package/references/openhive/src/web/pages/AuthCallback.tsx +0 -75
  423. package/references/openhive/src/web/pages/Dashboard.tsx +0 -41
  424. package/references/openhive/src/web/pages/Events.tsx +0 -1025
  425. package/references/openhive/src/web/pages/Explore.tsx +0 -43
  426. package/references/openhive/src/web/pages/Hive.tsx +0 -134
  427. package/references/openhive/src/web/pages/Hives.tsx +0 -64
  428. package/references/openhive/src/web/pages/Home.tsx +0 -43
  429. package/references/openhive/src/web/pages/Login.tsx +0 -122
  430. package/references/openhive/src/web/pages/Post.tsx +0 -216
  431. package/references/openhive/src/web/pages/ResourceDetail.tsx +0 -426
  432. package/references/openhive/src/web/pages/Resources.tsx +0 -276
  433. package/references/openhive/src/web/pages/Search.tsx +0 -234
  434. package/references/openhive/src/web/pages/SessionDetail.tsx +0 -703
  435. package/references/openhive/src/web/pages/Sessions.tsx +0 -129
  436. package/references/openhive/src/web/pages/Settings.tsx +0 -826
  437. package/references/openhive/src/web/pages/SwarmCraft.tsx +0 -16
  438. package/references/openhive/src/web/pages/Swarms.tsx +0 -981
  439. package/references/openhive/src/web/pages/Terminal.tsx +0 -69
  440. package/references/openhive/src/web/postcss.config.js +0 -5
  441. package/references/openhive/src/web/public/favicon.svg +0 -11
  442. package/references/openhive/src/web/public/manifest.json +0 -21
  443. package/references/openhive/src/web/stores/auth.ts +0 -207
  444. package/references/openhive/src/web/stores/dashboard.ts +0 -23
  445. package/references/openhive/src/web/stores/realtime.ts +0 -90
  446. package/references/openhive/src/web/stores/theme.ts +0 -70
  447. package/references/openhive/src/web/stores/toast.ts +0 -63
  448. package/references/openhive/src/web/styles/globals.css +0 -503
  449. package/references/openhive/src/web/sw.ts +0 -228
  450. package/references/openhive/src/web/utils/serviceWorker.ts +0 -86
  451. package/references/openhive/src/web/vite.config.ts +0 -81
  452. package/references/openhive/tsconfig.json +0 -32
  453. package/references/openhive/tsup.config.ts +0 -17
  454. package/references/openhive/vitest.config.ts +0 -30
  455. package/references/openhive/vitest.web.config.ts +0 -20
  456. package/references/opentasks/.claude/settings.json +0 -6
  457. package/references/opentasks/.claude-plugin/plugin.json +0 -20
  458. package/references/opentasks/.lintstagedrc.json +0 -4
  459. package/references/opentasks/.prettierignore +0 -4
  460. package/references/opentasks/.prettierrc.json +0 -11
  461. package/references/opentasks/.sudocode/issues.jsonl +0 -89
  462. package/references/opentasks/.sudocode/specs.jsonl +0 -24
  463. package/references/opentasks/README.md +0 -401
  464. package/references/opentasks/docs/ARCHITECTURE.md +0 -841
  465. package/references/opentasks/docs/DESIGN.md +0 -689
  466. package/references/opentasks/docs/INTERFACE.md +0 -670
  467. package/references/opentasks/docs/PERSISTENCE.md +0 -1638
  468. package/references/opentasks/docs/PROVIDERS.md +0 -1412
  469. package/references/opentasks/docs/SCHEMA.md +0 -815
  470. package/references/opentasks/docs/TESTING.md +0 -1081
  471. package/references/opentasks/eslint.config.js +0 -58
  472. package/references/opentasks/package-lock.json +0 -4348
  473. package/references/opentasks/package.json +0 -81
  474. package/references/opentasks/skills/opentasks/SKILL.md +0 -139
  475. package/references/opentasks/skills/opentasks/dependency-management.md +0 -119
  476. package/references/opentasks/skills/opentasks/feedback-and-review.md +0 -100
  477. package/references/opentasks/skills/opentasks/linking-external-data.md +0 -103
  478. package/references/opentasks/skills/opentasks/spec-to-implementation.md +0 -98
  479. package/references/opentasks/src/__tests__/cli-tools.test.ts +0 -800
  480. package/references/opentasks/src/__tests__/cli.test.ts +0 -97
  481. package/references/opentasks/src/__tests__/p1-p3-gaps.test.ts +0 -635
  482. package/references/opentasks/src/cli.ts +0 -929
  483. package/references/opentasks/src/client/__tests__/client-crud.test.ts +0 -546
  484. package/references/opentasks/src/client/__tests__/client.test.ts +0 -658
  485. package/references/opentasks/src/client/__tests__/socket-discovery.test.ts +0 -122
  486. package/references/opentasks/src/client/client.ts +0 -560
  487. package/references/opentasks/src/client/index.ts +0 -32
  488. package/references/opentasks/src/config/__tests__/defaults.test.ts +0 -66
  489. package/references/opentasks/src/config/__tests__/env.test.ts +0 -155
  490. package/references/opentasks/src/config/__tests__/index.test.ts +0 -148
  491. package/references/opentasks/src/config/__tests__/loader.test.ts +0 -173
  492. package/references/opentasks/src/config/__tests__/merge.test.ts +0 -121
  493. package/references/opentasks/src/config/__tests__/schema.test.ts +0 -446
  494. package/references/opentasks/src/config/defaults.ts +0 -18
  495. package/references/opentasks/src/config/env.ts +0 -170
  496. package/references/opentasks/src/config/errors.ts +0 -33
  497. package/references/opentasks/src/config/index.ts +0 -63
  498. package/references/opentasks/src/config/loader.ts +0 -90
  499. package/references/opentasks/src/config/merge.ts +0 -64
  500. package/references/opentasks/src/config/schema.ts +0 -767
  501. package/references/opentasks/src/core/__tests__/conditional-redirects.test.ts +0 -116
  502. package/references/opentasks/src/core/__tests__/connections.test.ts +0 -194
  503. package/references/opentasks/src/core/__tests__/hash.test.ts +0 -161
  504. package/references/opentasks/src/core/__tests__/id.test.ts +0 -175
  505. package/references/opentasks/src/core/__tests__/init.test.ts +0 -115
  506. package/references/opentasks/src/core/__tests__/location.test.ts +0 -94
  507. package/references/opentasks/src/core/__tests__/merge-driver.test.ts +0 -300
  508. package/references/opentasks/src/core/__tests__/redirects.test.ts +0 -169
  509. package/references/opentasks/src/core/__tests__/resolve-location-target.test.ts +0 -468
  510. package/references/opentasks/src/core/__tests__/uri.test.ts +0 -228
  511. package/references/opentasks/src/core/__tests__/worktree.test.ts +0 -160
  512. package/references/opentasks/src/core/conditional-redirects.ts +0 -100
  513. package/references/opentasks/src/core/connections.ts +0 -217
  514. package/references/opentasks/src/core/discover.ts +0 -195
  515. package/references/opentasks/src/core/hash.ts +0 -74
  516. package/references/opentasks/src/core/id.ts +0 -174
  517. package/references/opentasks/src/core/index.ts +0 -108
  518. package/references/opentasks/src/core/init.ts +0 -66
  519. package/references/opentasks/src/core/location.ts +0 -139
  520. package/references/opentasks/src/core/merge-driver.ts +0 -280
  521. package/references/opentasks/src/core/redirects.ts +0 -182
  522. package/references/opentasks/src/core/uri.ts +0 -270
  523. package/references/opentasks/src/core/worktree.ts +0 -504
  524. package/references/opentasks/src/daemon/__tests__/e2e-live-agent.test.ts +0 -344
  525. package/references/opentasks/src/daemon/__tests__/e2e-session-pipeline.test.ts +0 -447
  526. package/references/opentasks/src/daemon/__tests__/e2e-watch.test.ts +0 -279
  527. package/references/opentasks/src/daemon/__tests__/entire-linker.test.ts +0 -1074
  528. package/references/opentasks/src/daemon/__tests__/entire-watcher.test.ts +0 -659
  529. package/references/opentasks/src/daemon/__tests__/flush.test.ts +0 -306
  530. package/references/opentasks/src/daemon/__tests__/integration.test.ts +0 -338
  531. package/references/opentasks/src/daemon/__tests__/ipc.test.ts +0 -406
  532. package/references/opentasks/src/daemon/__tests__/lifecycle.test.ts +0 -378
  533. package/references/opentasks/src/daemon/__tests__/lock.test.ts +0 -240
  534. package/references/opentasks/src/daemon/__tests__/methods/graph.test.ts +0 -372
  535. package/references/opentasks/src/daemon/__tests__/methods/provider.test.ts +0 -238
  536. package/references/opentasks/src/daemon/__tests__/methods/tools.test.ts +0 -690
  537. package/references/opentasks/src/daemon/__tests__/multi-location.test.ts +0 -945
  538. package/references/opentasks/src/daemon/__tests__/registry.test.ts +0 -268
  539. package/references/opentasks/src/daemon/__tests__/watcher.test.ts +0 -329
  540. package/references/opentasks/src/daemon/entire-linker.ts +0 -615
  541. package/references/opentasks/src/daemon/entire-watcher.ts +0 -415
  542. package/references/opentasks/src/daemon/factory.ts +0 -133
  543. package/references/opentasks/src/daemon/flush.ts +0 -168
  544. package/references/opentasks/src/daemon/index.ts +0 -120
  545. package/references/opentasks/src/daemon/ipc.ts +0 -491
  546. package/references/opentasks/src/daemon/lifecycle.ts +0 -1106
  547. package/references/opentasks/src/daemon/location-state.ts +0 -481
  548. package/references/opentasks/src/daemon/lock.ts +0 -168
  549. package/references/opentasks/src/daemon/methods/__tests__/graph.test.ts +0 -359
  550. package/references/opentasks/src/daemon/methods/__tests__/provider.test.ts +0 -227
  551. package/references/opentasks/src/daemon/methods/__tests__/tools.test.ts +0 -360
  552. package/references/opentasks/src/daemon/methods/__tests__/watch.test.ts +0 -656
  553. package/references/opentasks/src/daemon/methods/archive.ts +0 -193
  554. package/references/opentasks/src/daemon/methods/graph.ts +0 -274
  555. package/references/opentasks/src/daemon/methods/lifecycle.ts +0 -112
  556. package/references/opentasks/src/daemon/methods/location.ts +0 -118
  557. package/references/opentasks/src/daemon/methods/provider.ts +0 -159
  558. package/references/opentasks/src/daemon/methods/tools.ts +0 -221
  559. package/references/opentasks/src/daemon/methods/watch.ts +0 -206
  560. package/references/opentasks/src/daemon/registry.ts +0 -244
  561. package/references/opentasks/src/daemon/types.ts +0 -163
  562. package/references/opentasks/src/daemon/watcher.ts +0 -248
  563. package/references/opentasks/src/entire/__tests__/agent-registry.test.ts +0 -127
  564. package/references/opentasks/src/entire/__tests__/claude-generator.test.ts +0 -49
  565. package/references/opentasks/src/entire/__tests__/commit-msg.test.ts +0 -89
  566. package/references/opentasks/src/entire/__tests__/cursor-agent.test.ts +0 -224
  567. package/references/opentasks/src/entire/__tests__/flush-sentinel.test.ts +0 -93
  568. package/references/opentasks/src/entire/__tests__/gemini-agent.test.ts +0 -375
  569. package/references/opentasks/src/entire/__tests__/git-hooks.test.ts +0 -85
  570. package/references/opentasks/src/entire/__tests__/hook-managers.test.ts +0 -128
  571. package/references/opentasks/src/entire/__tests__/opencode-agent.test.ts +0 -329
  572. package/references/opentasks/src/entire/__tests__/redaction.test.ts +0 -143
  573. package/references/opentasks/src/entire/__tests__/session-store.test.ts +0 -83
  574. package/references/opentasks/src/entire/__tests__/summarize.test.ts +0 -346
  575. package/references/opentasks/src/entire/__tests__/transcript-timestamp.test.ts +0 -127
  576. package/references/opentasks/src/entire/__tests__/types.test.ts +0 -112
  577. package/references/opentasks/src/entire/__tests__/utils.test.ts +0 -296
  578. package/references/opentasks/src/entire/__tests__/validation.test.ts +0 -103
  579. package/references/opentasks/src/entire/__tests__/worktree.test.ts +0 -66
  580. package/references/opentasks/src/entire/agent/registry.ts +0 -143
  581. package/references/opentasks/src/entire/agent/session-types.ts +0 -117
  582. package/references/opentasks/src/entire/agent/types.ts +0 -217
  583. package/references/opentasks/src/entire/commands/clean.ts +0 -134
  584. package/references/opentasks/src/entire/commands/disable.ts +0 -85
  585. package/references/opentasks/src/entire/commands/doctor.ts +0 -152
  586. package/references/opentasks/src/entire/commands/enable.ts +0 -149
  587. package/references/opentasks/src/entire/commands/explain.ts +0 -271
  588. package/references/opentasks/src/entire/commands/reset.ts +0 -105
  589. package/references/opentasks/src/entire/commands/resume.ts +0 -194
  590. package/references/opentasks/src/entire/commands/rewind.ts +0 -204
  591. package/references/opentasks/src/entire/commands/status.ts +0 -150
  592. package/references/opentasks/src/entire/config.ts +0 -153
  593. package/references/opentasks/src/entire/git-operations.ts +0 -485
  594. package/references/opentasks/src/entire/hooks/git-hooks.ts +0 -171
  595. package/references/opentasks/src/entire/hooks/lifecycle.ts +0 -224
  596. package/references/opentasks/src/entire/index.ts +0 -644
  597. package/references/opentasks/src/entire/security/redaction.ts +0 -263
  598. package/references/opentasks/src/entire/session/state-machine.ts +0 -463
  599. package/references/opentasks/src/entire/store/checkpoint-store.ts +0 -489
  600. package/references/opentasks/src/entire/store/native-store.ts +0 -178
  601. package/references/opentasks/src/entire/store/provider-types.ts +0 -99
  602. package/references/opentasks/src/entire/store/session-store.ts +0 -233
  603. package/references/opentasks/src/entire/strategy/attribution.ts +0 -300
  604. package/references/opentasks/src/entire/strategy/common.ts +0 -222
  605. package/references/opentasks/src/entire/strategy/content-overlap.ts +0 -242
  606. package/references/opentasks/src/entire/strategy/manual-commit.ts +0 -1008
  607. package/references/opentasks/src/entire/strategy/types.ts +0 -285
  608. package/references/opentasks/src/entire/summarize/claude-generator.ts +0 -119
  609. package/references/opentasks/src/entire/summarize/summarize.ts +0 -432
  610. package/references/opentasks/src/entire/types.ts +0 -408
  611. package/references/opentasks/src/entire/utils/chunk-files.ts +0 -49
  612. package/references/opentasks/src/entire/utils/commit-message.ts +0 -65
  613. package/references/opentasks/src/entire/utils/detect-agent.ts +0 -36
  614. package/references/opentasks/src/entire/utils/hook-managers.ts +0 -118
  615. package/references/opentasks/src/entire/utils/ide-tags.ts +0 -32
  616. package/references/opentasks/src/entire/utils/paths.ts +0 -59
  617. package/references/opentasks/src/entire/utils/preview-rewind.ts +0 -86
  618. package/references/opentasks/src/entire/utils/rewind-conflict.ts +0 -121
  619. package/references/opentasks/src/entire/utils/shadow-branch.ts +0 -113
  620. package/references/opentasks/src/entire/utils/string-utils.ts +0 -46
  621. package/references/opentasks/src/entire/utils/todo-extract.ts +0 -193
  622. package/references/opentasks/src/entire/utils/trailers.ts +0 -190
  623. package/references/opentasks/src/entire/utils/transcript-parse.ts +0 -177
  624. package/references/opentasks/src/entire/utils/transcript-timestamp.ts +0 -61
  625. package/references/opentasks/src/entire/utils/tree-ops.ts +0 -227
  626. package/references/opentasks/src/entire/utils/tty.ts +0 -72
  627. package/references/opentasks/src/entire/utils/validation.ts +0 -67
  628. package/references/opentasks/src/entire/utils/worktree.ts +0 -58
  629. package/references/opentasks/src/graph/EdgeTypeRegistry.ts +0 -330
  630. package/references/opentasks/src/graph/FederatedGraph.ts +0 -796
  631. package/references/opentasks/src/graph/GraphologyAdapter.ts +0 -374
  632. package/references/opentasks/src/graph/HydratingFederatedGraph.ts +0 -533
  633. package/references/opentasks/src/graph/__tests__/EdgeTypeRegistry.test.ts +0 -263
  634. package/references/opentasks/src/graph/__tests__/FederatedGraph.test.ts +0 -821
  635. package/references/opentasks/src/graph/__tests__/GraphologyAdapter.test.ts +0 -408
  636. package/references/opentasks/src/graph/__tests__/HydratingFederatedGraph.test.ts +0 -735
  637. package/references/opentasks/src/graph/__tests__/debounce.test.ts +0 -276
  638. package/references/opentasks/src/graph/__tests__/e2e-store-roundtrip.test.ts +0 -349
  639. package/references/opentasks/src/graph/__tests__/edge-cases.test.ts +0 -595
  640. package/references/opentasks/src/graph/__tests__/expansion.test.ts +0 -304
  641. package/references/opentasks/src/graph/__tests__/git-graph-syncer.test.ts +0 -572
  642. package/references/opentasks/src/graph/__tests__/provider-store.test.ts +0 -1091
  643. package/references/opentasks/src/graph/__tests__/query.test.ts +0 -991
  644. package/references/opentasks/src/graph/__tests__/store.test.ts +0 -998
  645. package/references/opentasks/src/graph/__tests__/sync.test.ts +0 -178
  646. package/references/opentasks/src/graph/__tests__/validation.test.ts +0 -657
  647. package/references/opentasks/src/graph/coordination.ts +0 -454
  648. package/references/opentasks/src/graph/debounce.ts +0 -154
  649. package/references/opentasks/src/graph/expansion.ts +0 -364
  650. package/references/opentasks/src/graph/git-graph-syncer.ts +0 -321
  651. package/references/opentasks/src/graph/history.ts +0 -438
  652. package/references/opentasks/src/graph/index.ts +0 -145
  653. package/references/opentasks/src/graph/provider-store.ts +0 -1077
  654. package/references/opentasks/src/graph/query.ts +0 -651
  655. package/references/opentasks/src/graph/store.ts +0 -861
  656. package/references/opentasks/src/graph/sync.ts +0 -116
  657. package/references/opentasks/src/graph/types.ts +0 -420
  658. package/references/opentasks/src/graph/validation.ts +0 -520
  659. package/references/opentasks/src/index.ts +0 -270
  660. package/references/opentasks/src/materialization/CLAUDE.md +0 -88
  661. package/references/opentasks/src/materialization/README.md +0 -187
  662. package/references/opentasks/src/materialization/__tests__/archive-methods.test.ts +0 -194
  663. package/references/opentasks/src/materialization/__tests__/archiver.test.ts +0 -528
  664. package/references/opentasks/src/materialization/__tests__/config.test.ts +0 -123
  665. package/references/opentasks/src/materialization/__tests__/git-remote-store.test.ts +0 -533
  666. package/references/opentasks/src/materialization/__tests__/graph-id.test.ts +0 -82
  667. package/references/opentasks/src/materialization/__tests__/http-remote-store.test.ts +0 -263
  668. package/references/opentasks/src/materialization/__tests__/materialize-before-archive.test.ts +0 -246
  669. package/references/opentasks/src/materialization/__tests__/remote-store-factory.test.ts +0 -152
  670. package/references/opentasks/src/materialization/__tests__/snapshot.test.ts +0 -209
  671. package/references/opentasks/src/materialization/archiver.ts +0 -318
  672. package/references/opentasks/src/materialization/git-archive-store.ts +0 -568
  673. package/references/opentasks/src/materialization/git-remote-store.ts +0 -551
  674. package/references/opentasks/src/materialization/graph-id.ts +0 -173
  675. package/references/opentasks/src/materialization/http-remote-store.ts +0 -190
  676. package/references/opentasks/src/materialization/index.ts +0 -62
  677. package/references/opentasks/src/materialization/remote-store-factory.ts +0 -55
  678. package/references/opentasks/src/materialization/snapshot.ts +0 -230
  679. package/references/opentasks/src/materialization/types.ts +0 -410
  680. package/references/opentasks/src/providers/__tests__/beads.test.ts +0 -752
  681. package/references/opentasks/src/providers/__tests__/claude-tasks.test.ts +0 -485
  682. package/references/opentasks/src/providers/__tests__/entire-e2e.test.ts +0 -692
  683. package/references/opentasks/src/providers/__tests__/entire-sessionlog-e2e.test.ts +0 -1113
  684. package/references/opentasks/src/providers/__tests__/entire.test.ts +0 -1016
  685. package/references/opentasks/src/providers/__tests__/from-config.test.ts +0 -183
  686. package/references/opentasks/src/providers/__tests__/global.test.ts +0 -515
  687. package/references/opentasks/src/providers/__tests__/materialization.test.ts +0 -567
  688. package/references/opentasks/src/providers/__tests__/native.test.ts +0 -693
  689. package/references/opentasks/src/providers/__tests__/registry.test.ts +0 -232
  690. package/references/opentasks/src/providers/beads.ts +0 -1155
  691. package/references/opentasks/src/providers/claude-tasks.ts +0 -402
  692. package/references/opentasks/src/providers/entire.ts +0 -608
  693. package/references/opentasks/src/providers/from-config.ts +0 -210
  694. package/references/opentasks/src/providers/global.ts +0 -460
  695. package/references/opentasks/src/providers/index.ts +0 -147
  696. package/references/opentasks/src/providers/location.ts +0 -237
  697. package/references/opentasks/src/providers/materialization.ts +0 -346
  698. package/references/opentasks/src/providers/native.ts +0 -725
  699. package/references/opentasks/src/providers/registry.ts +0 -114
  700. package/references/opentasks/src/providers/sudocode.ts +0 -1292
  701. package/references/opentasks/src/providers/sync.ts +0 -485
  702. package/references/opentasks/src/providers/traits/RelationshipQueryable.ts +0 -169
  703. package/references/opentasks/src/providers/traits/TaskManageable.ts +0 -211
  704. package/references/opentasks/src/providers/traits/Watchable.ts +0 -260
  705. package/references/opentasks/src/providers/traits/__tests__/RelationshipQueryable.test.ts +0 -217
  706. package/references/opentasks/src/providers/traits/__tests__/TaskManageable.test.ts +0 -241
  707. package/references/opentasks/src/providers/traits/index.ts +0 -42
  708. package/references/opentasks/src/providers/types.ts +0 -439
  709. package/references/opentasks/src/schema/__tests__/validation.test.ts +0 -283
  710. package/references/opentasks/src/schema/base.ts +0 -88
  711. package/references/opentasks/src/schema/edges.ts +0 -78
  712. package/references/opentasks/src/schema/index.ts +0 -37
  713. package/references/opentasks/src/schema/nodes.ts +0 -119
  714. package/references/opentasks/src/schema/storage.ts +0 -130
  715. package/references/opentasks/src/schema/validation.ts +0 -209
  716. package/references/opentasks/src/storage/__tests__/atomic-write.test.ts +0 -227
  717. package/references/opentasks/src/storage/__tests__/file-lock.test.ts +0 -120
  718. package/references/opentasks/src/storage/__tests__/jsonl.test.ts +0 -267
  719. package/references/opentasks/src/storage/__tests__/locked-writer.test.ts +0 -134
  720. package/references/opentasks/src/storage/__tests__/sqlite.test.ts +0 -572
  721. package/references/opentasks/src/storage/atomic-write.ts +0 -86
  722. package/references/opentasks/src/storage/file-lock.ts +0 -215
  723. package/references/opentasks/src/storage/index.ts +0 -24
  724. package/references/opentasks/src/storage/interface.ts +0 -289
  725. package/references/opentasks/src/storage/jsonl.ts +0 -264
  726. package/references/opentasks/src/storage/locked-writer.ts +0 -140
  727. package/references/opentasks/src/storage/sqlite-schema.ts +0 -177
  728. package/references/opentasks/src/storage/sqlite.ts +0 -791
  729. package/references/opentasks/src/tools/__tests__/annotate.test.ts +0 -381
  730. package/references/opentasks/src/tools/__tests__/link.test.ts +0 -299
  731. package/references/opentasks/src/tools/__tests__/query.test.ts +0 -350
  732. package/references/opentasks/src/tools/__tests__/task.test.ts +0 -218
  733. package/references/opentasks/src/tools/annotate.ts +0 -277
  734. package/references/opentasks/src/tools/index.ts +0 -57
  735. package/references/opentasks/src/tools/link.ts +0 -163
  736. package/references/opentasks/src/tools/query.ts +0 -468
  737. package/references/opentasks/src/tools/task.ts +0 -213
  738. package/references/opentasks/src/tools/types.ts +0 -451
  739. package/references/opentasks/src/tracking/__tests__/claude-tool-categorizer.test.ts +0 -223
  740. package/references/opentasks/src/tracking/__tests__/transcript-extractor.test.ts +0 -262
  741. package/references/opentasks/src/tracking/claude-tool-categorizer.ts +0 -155
  742. package/references/opentasks/src/tracking/index.ts +0 -32
  743. package/references/opentasks/src/tracking/skill-tracker.ts +0 -322
  744. package/references/opentasks/src/tracking/transcript-extractor.ts +0 -225
  745. package/references/opentasks/tests/e2e/helpers/assertions.ts +0 -211
  746. package/references/opentasks/tests/e2e/helpers/beads-helpers.ts +0 -487
  747. package/references/opentasks/tests/e2e/helpers/fixtures.ts +0 -236
  748. package/references/opentasks/tests/e2e/helpers/index.ts +0 -122
  749. package/references/opentasks/tests/e2e/helpers/sudocode-helpers.ts +0 -341
  750. package/references/opentasks/tests/e2e/helpers/system-setup.ts +0 -504
  751. package/references/opentasks/tests/e2e/helpers/test-agent.ts +0 -504
  752. package/references/opentasks/tests/e2e/infrastructure.e2e.test.ts +0 -521
  753. package/references/opentasks/tests/e2e/skill-tracking.e2e.test.ts +0 -625
  754. package/references/opentasks/tests/e2e/workflows/feedback-loop.e2e.test.ts +0 -279
  755. package/references/opentasks/tests/e2e/workflows/multi-agent.e2e.test.ts +0 -304
  756. package/references/opentasks/tests/e2e/workflows/provider-sync/background-sync.e2e.test.ts +0 -292
  757. package/references/opentasks/tests/e2e/workflows/provider-sync/beads-provider-compat.e2e.test.ts +0 -249
  758. package/references/opentasks/tests/e2e/workflows/provider-sync/cross-provider-edges.e2e.test.ts +0 -407
  759. package/references/opentasks/tests/e2e/workflows/provider-sync/federated-ready.e2e.test.ts +0 -504
  760. package/references/opentasks/tests/e2e/workflows/provider-sync/hydration.e2e.test.ts +0 -340
  761. package/references/opentasks/tests/e2e/workflows/provider-sync/materialization.e2e.test.ts +0 -370
  762. package/references/opentasks/tests/e2e/workflows/provider-sync/sudocode-provider-compat.e2e.test.ts +0 -683
  763. package/references/opentasks/tests/e2e/workflows/provider-sync/watchable-beads.e2e.test.ts +0 -573
  764. package/references/opentasks/tests/e2e/workflows/spec-driven.e2e.test.ts +0 -244
  765. package/references/opentasks/tests/e2e/worktree-location.e2e.test.ts +0 -699
  766. package/references/opentasks/tests/integration/daemon/helpers.ts +0 -147
  767. package/references/opentasks/tests/integration/daemon/ipc.integration.test.ts +0 -343
  768. package/references/opentasks/tests/integration/daemon/lifecycle.integration.test.ts +0 -407
  769. package/references/opentasks/tests/integration/graph/federated-graph.integration.test.ts +0 -660
  770. package/references/opentasks/tests/integration/helpers/flags.ts +0 -28
  771. package/references/opentasks/tests/integration/helpers/index.ts +0 -47
  772. package/references/opentasks/tests/integration/helpers/process.ts +0 -133
  773. package/references/opentasks/tests/integration/helpers/temp.ts +0 -105
  774. package/references/opentasks/tests/integration/helpers/wait.ts +0 -133
  775. package/references/opentasks/tests/integration/helpers.test.ts +0 -120
  776. package/references/opentasks/tests/integration/providers/beads-task-manageable.integration.test.ts +0 -450
  777. package/references/opentasks/tests/integration/providers/beads.integration.test.ts +0 -388
  778. package/references/opentasks/tests/integration/providers/native-task-manageable.integration.test.ts +0 -667
  779. package/references/opentasks/tests/integration/providers/sudocode-task-manageable.integration.test.ts +0 -406
  780. package/references/opentasks/tests/integration/providers/sudocode.integration.test.ts +0 -342
  781. package/references/opentasks/tests/integration/storage/jsonl-durability.integration.test.ts +0 -390
  782. package/references/opentasks/tests/integration/storage/sqlite-durability.integration.test.ts +0 -527
  783. package/references/opentasks/tests/integration/worktree/redirect-location-resolution.integration.test.ts +0 -578
  784. package/references/opentasks/tests/integration/worktree/worktree-flow.integration.test.ts +0 -656
  785. package/references/opentasks/tsconfig.json +0 -18
  786. package/references/opentasks/vitest.config.ts +0 -27
  787. package/references/opentasks/vitest.e2e.config.ts +0 -35
  788. package/references/opentasks/vitest.integration.config.ts +0 -19
  789. package/references/openteams/.claude/settings.json +0 -6
  790. package/references/openteams/CLAUDE.md +0 -98
  791. package/references/openteams/README.md +0 -508
  792. package/references/openteams/SKILL.md +0 -198
  793. package/references/openteams/design.md +0 -250
  794. package/references/openteams/docs/visual-editor-design.md +0 -1225
  795. package/references/openteams/editor/index.html +0 -15
  796. package/references/openteams/editor/package.json +0 -39
  797. package/references/openteams/editor/src/App.tsx +0 -48
  798. package/references/openteams/editor/src/components/canvas/Canvas.tsx +0 -131
  799. package/references/openteams/editor/src/components/canvas/QuickAddMenu.tsx +0 -134
  800. package/references/openteams/editor/src/components/edges/PeerRouteEdge.tsx +0 -82
  801. package/references/openteams/editor/src/components/edges/SignalFlowEdge.tsx +0 -77
  802. package/references/openteams/editor/src/components/edges/SpawnEdge.tsx +0 -54
  803. package/references/openteams/editor/src/components/inspector/ChannelInspector.tsx +0 -158
  804. package/references/openteams/editor/src/components/inspector/EdgeInspector.tsx +0 -168
  805. package/references/openteams/editor/src/components/inspector/Inspector.tsx +0 -46
  806. package/references/openteams/editor/src/components/inspector/RoleInspector.tsx +0 -508
  807. package/references/openteams/editor/src/components/inspector/TeamInspector.tsx +0 -126
  808. package/references/openteams/editor/src/components/nodes/ChannelNode.tsx +0 -103
  809. package/references/openteams/editor/src/components/nodes/RoleNode.tsx +0 -157
  810. package/references/openteams/editor/src/components/nodes/node-styles.ts +0 -101
  811. package/references/openteams/editor/src/components/sidebar/Sidebar.tsx +0 -227
  812. package/references/openteams/editor/src/components/toolbar/ExportModal.tsx +0 -110
  813. package/references/openteams/editor/src/components/toolbar/ImportModal.tsx +0 -139
  814. package/references/openteams/editor/src/components/toolbar/Toolbar.tsx +0 -190
  815. package/references/openteams/editor/src/hooks/use-autosave.ts +0 -126
  816. package/references/openteams/editor/src/hooks/use-keyboard.ts +0 -106
  817. package/references/openteams/editor/src/hooks/use-validation.ts +0 -45
  818. package/references/openteams/editor/src/index.css +0 -245
  819. package/references/openteams/editor/src/lib/auto-layout.ts +0 -51
  820. package/references/openteams/editor/src/lib/bundled-templates.ts +0 -42
  821. package/references/openteams/editor/src/lib/compiler.ts +0 -75
  822. package/references/openteams/editor/src/lib/load-template.ts +0 -103
  823. package/references/openteams/editor/src/lib/rebuild-edges.ts +0 -104
  824. package/references/openteams/editor/src/lib/serializer.ts +0 -408
  825. package/references/openteams/editor/src/lib/signal-catalog.ts +0 -50
  826. package/references/openteams/editor/src/lib/validator.ts +0 -172
  827. package/references/openteams/editor/src/main.tsx +0 -10
  828. package/references/openteams/editor/src/stores/canvas-store.ts +0 -80
  829. package/references/openteams/editor/src/stores/config-store.ts +0 -243
  830. package/references/openteams/editor/src/stores/history-store.ts +0 -143
  831. package/references/openteams/editor/src/stores/theme-store.ts +0 -66
  832. package/references/openteams/editor/src/stores/ui-store.ts +0 -46
  833. package/references/openteams/editor/src/stores/validation-store.ts +0 -27
  834. package/references/openteams/editor/src/types/editor.ts +0 -74
  835. package/references/openteams/editor/src/vite-env.d.ts +0 -1
  836. package/references/openteams/editor/tests/compiler.test.ts +0 -151
  837. package/references/openteams/editor/tests/e2e-add-remove.test.ts +0 -386
  838. package/references/openteams/editor/tests/e2e-components.test.tsx +0 -424
  839. package/references/openteams/editor/tests/e2e-export-roundtrip.test.ts +0 -299
  840. package/references/openteams/editor/tests/e2e-template-load.test.ts +0 -204
  841. package/references/openteams/editor/tests/e2e-ui-store.test.ts +0 -126
  842. package/references/openteams/editor/tests/e2e-undo-redo.test.ts +0 -203
  843. package/references/openteams/editor/tests/e2e-validation.test.ts +0 -307
  844. package/references/openteams/editor/tests/serializer.test.ts +0 -142
  845. package/references/openteams/editor/tests/setup.ts +0 -52
  846. package/references/openteams/editor/tests/validator.test.ts +0 -92
  847. package/references/openteams/editor/tsconfig.json +0 -21
  848. package/references/openteams/editor/tsconfig.tsbuildinfo +0 -1
  849. package/references/openteams/editor/vite.config.ts +0 -28
  850. package/references/openteams/examples/bmad-method/prompts/analyst/ROLE.md +0 -16
  851. package/references/openteams/examples/bmad-method/prompts/analyst/SOUL.md +0 -5
  852. package/references/openteams/examples/bmad-method/prompts/architect/ROLE.md +0 -24
  853. package/references/openteams/examples/bmad-method/prompts/architect/SOUL.md +0 -5
  854. package/references/openteams/examples/bmad-method/prompts/developer/ROLE.md +0 -25
  855. package/references/openteams/examples/bmad-method/prompts/developer/SOUL.md +0 -5
  856. package/references/openteams/examples/bmad-method/prompts/master/ROLE.md +0 -21
  857. package/references/openteams/examples/bmad-method/prompts/master/SOUL.md +0 -5
  858. package/references/openteams/examples/bmad-method/prompts/pm/ROLE.md +0 -20
  859. package/references/openteams/examples/bmad-method/prompts/pm/SOUL.md +0 -5
  860. package/references/openteams/examples/bmad-method/prompts/qa/ROLE.md +0 -17
  861. package/references/openteams/examples/bmad-method/prompts/qa/SOUL.md +0 -5
  862. package/references/openteams/examples/bmad-method/prompts/quick-flow-dev/ROLE.md +0 -23
  863. package/references/openteams/examples/bmad-method/prompts/quick-flow-dev/SOUL.md +0 -5
  864. package/references/openteams/examples/bmad-method/prompts/scrum-master/ROLE.md +0 -27
  865. package/references/openteams/examples/bmad-method/prompts/scrum-master/SOUL.md +0 -5
  866. package/references/openteams/examples/bmad-method/prompts/tech-writer/ROLE.md +0 -21
  867. package/references/openteams/examples/bmad-method/prompts/tech-writer/SOUL.md +0 -5
  868. package/references/openteams/examples/bmad-method/prompts/ux-designer/ROLE.md +0 -16
  869. package/references/openteams/examples/bmad-method/prompts/ux-designer/SOUL.md +0 -5
  870. package/references/openteams/examples/bmad-method/roles/analyst.yaml +0 -9
  871. package/references/openteams/examples/bmad-method/roles/architect.yaml +0 -9
  872. package/references/openteams/examples/bmad-method/roles/developer.yaml +0 -8
  873. package/references/openteams/examples/bmad-method/roles/master.yaml +0 -8
  874. package/references/openteams/examples/bmad-method/roles/pm.yaml +0 -9
  875. package/references/openteams/examples/bmad-method/roles/qa.yaml +0 -8
  876. package/references/openteams/examples/bmad-method/roles/quick-flow-dev.yaml +0 -8
  877. package/references/openteams/examples/bmad-method/roles/scrum-master.yaml +0 -9
  878. package/references/openteams/examples/bmad-method/roles/tech-writer.yaml +0 -8
  879. package/references/openteams/examples/bmad-method/roles/ux-designer.yaml +0 -8
  880. package/references/openteams/examples/bmad-method/team.yaml +0 -161
  881. package/references/openteams/examples/bug-fix-pipeline/roles/fixer.yaml +0 -9
  882. package/references/openteams/examples/bug-fix-pipeline/roles/investigator.yaml +0 -8
  883. package/references/openteams/examples/bug-fix-pipeline/roles/pr-creator.yaml +0 -6
  884. package/references/openteams/examples/bug-fix-pipeline/roles/triager.yaml +0 -7
  885. package/references/openteams/examples/bug-fix-pipeline/roles/verifier.yaml +0 -8
  886. package/references/openteams/examples/bug-fix-pipeline/team.yaml +0 -88
  887. package/references/openteams/examples/codebase-migration/roles/assessor.yaml +0 -7
  888. package/references/openteams/examples/codebase-migration/roles/migrator.yaml +0 -9
  889. package/references/openteams/examples/codebase-migration/roles/planner.yaml +0 -5
  890. package/references/openteams/examples/codebase-migration/roles/test-extractor.yaml +0 -9
  891. package/references/openteams/examples/codebase-migration/roles/validator.yaml +0 -7
  892. package/references/openteams/examples/codebase-migration/team.yaml +0 -81
  893. package/references/openteams/examples/docs-sync/roles/adr-writer.yaml +0 -7
  894. package/references/openteams/examples/docs-sync/roles/api-doc-writer.yaml +0 -7
  895. package/references/openteams/examples/docs-sync/roles/change-detector.yaml +0 -7
  896. package/references/openteams/examples/docs-sync/roles/doc-reviewer.yaml +0 -7
  897. package/references/openteams/examples/docs-sync/roles/guide-writer.yaml +0 -7
  898. package/references/openteams/examples/docs-sync/team.yaml +0 -84
  899. package/references/openteams/examples/gsd/prompts/codebase-mapper/ROLE.md +0 -17
  900. package/references/openteams/examples/gsd/prompts/codebase-mapper/SOUL.md +0 -5
  901. package/references/openteams/examples/gsd/prompts/debugger/ROLE.md +0 -25
  902. package/references/openteams/examples/gsd/prompts/debugger/SOUL.md +0 -5
  903. package/references/openteams/examples/gsd/prompts/executor/ROLE.md +0 -34
  904. package/references/openteams/examples/gsd/prompts/executor/SOUL.md +0 -5
  905. package/references/openteams/examples/gsd/prompts/integration-checker/ROLE.md +0 -18
  906. package/references/openteams/examples/gsd/prompts/integration-checker/SOUL.md +0 -3
  907. package/references/openteams/examples/gsd/prompts/orchestrator/ROLE.md +0 -42
  908. package/references/openteams/examples/gsd/prompts/orchestrator/SOUL.md +0 -5
  909. package/references/openteams/examples/gsd/prompts/phase-researcher/ROLE.md +0 -15
  910. package/references/openteams/examples/gsd/prompts/phase-researcher/SOUL.md +0 -3
  911. package/references/openteams/examples/gsd/prompts/plan-checker/ROLE.md +0 -17
  912. package/references/openteams/examples/gsd/prompts/plan-checker/SOUL.md +0 -3
  913. package/references/openteams/examples/gsd/prompts/planner/ROLE.md +0 -28
  914. package/references/openteams/examples/gsd/prompts/planner/SOUL.md +0 -5
  915. package/references/openteams/examples/gsd/prompts/project-researcher/ROLE.md +0 -16
  916. package/references/openteams/examples/gsd/prompts/project-researcher/SOUL.md +0 -3
  917. package/references/openteams/examples/gsd/prompts/research-synthesizer/ROLE.md +0 -13
  918. package/references/openteams/examples/gsd/prompts/research-synthesizer/SOUL.md +0 -3
  919. package/references/openteams/examples/gsd/prompts/roadmapper/ROLE.md +0 -14
  920. package/references/openteams/examples/gsd/prompts/roadmapper/SOUL.md +0 -3
  921. package/references/openteams/examples/gsd/prompts/verifier/ROLE.md +0 -19
  922. package/references/openteams/examples/gsd/prompts/verifier/SOUL.md +0 -5
  923. package/references/openteams/examples/gsd/roles/codebase-mapper.yaml +0 -8
  924. package/references/openteams/examples/gsd/roles/debugger.yaml +0 -8
  925. package/references/openteams/examples/gsd/roles/executor.yaml +0 -8
  926. package/references/openteams/examples/gsd/roles/integration-checker.yaml +0 -8
  927. package/references/openteams/examples/gsd/roles/orchestrator.yaml +0 -9
  928. package/references/openteams/examples/gsd/roles/phase-researcher.yaml +0 -7
  929. package/references/openteams/examples/gsd/roles/plan-checker.yaml +0 -8
  930. package/references/openteams/examples/gsd/roles/planner.yaml +0 -8
  931. package/references/openteams/examples/gsd/roles/project-researcher.yaml +0 -8
  932. package/references/openteams/examples/gsd/roles/research-synthesizer.yaml +0 -7
  933. package/references/openteams/examples/gsd/roles/roadmapper.yaml +0 -7
  934. package/references/openteams/examples/gsd/roles/verifier.yaml +0 -8
  935. package/references/openteams/examples/gsd/team.yaml +0 -154
  936. package/references/openteams/examples/incident-response/roles/communicator.yaml +0 -5
  937. package/references/openteams/examples/incident-response/roles/fix-proposer.yaml +0 -7
  938. package/references/openteams/examples/incident-response/roles/incident-triager.yaml +0 -8
  939. package/references/openteams/examples/incident-response/roles/investigator.yaml +0 -8
  940. package/references/openteams/examples/incident-response/team.yaml +0 -68
  941. package/references/openteams/examples/pr-review-checks/roles/code-reviewer.yaml +0 -7
  942. package/references/openteams/examples/pr-review-checks/roles/security-scanner.yaml +0 -6
  943. package/references/openteams/examples/pr-review-checks/roles/summarizer.yaml +0 -6
  944. package/references/openteams/examples/pr-review-checks/roles/test-checker.yaml +0 -8
  945. package/references/openteams/examples/pr-review-checks/team.yaml +0 -64
  946. package/references/openteams/examples/security-audit/roles/code-analyzer.yaml +0 -6
  947. package/references/openteams/examples/security-audit/roles/dep-scanner.yaml +0 -7
  948. package/references/openteams/examples/security-audit/roles/fixer.yaml +0 -9
  949. package/references/openteams/examples/security-audit/roles/pr-creator.yaml +0 -6
  950. package/references/openteams/examples/security-audit/roles/prioritizer.yaml +0 -6
  951. package/references/openteams/examples/security-audit/roles/secrets-scanner.yaml +0 -6
  952. package/references/openteams/examples/security-audit/roles/verifier.yaml +0 -8
  953. package/references/openteams/examples/security-audit/team.yaml +0 -102
  954. package/references/openteams/media/banner.png +0 -0
  955. package/references/openteams/media/editor.png +0 -0
  956. package/references/openteams/package-lock.json +0 -4804
  957. package/references/openteams/package.json +0 -58
  958. package/references/openteams/schema/role.schema.json +0 -147
  959. package/references/openteams/schema/team.schema.json +0 -311
  960. package/references/openteams/src/cli/editor.ts +0 -170
  961. package/references/openteams/src/cli/generate.test.ts +0 -191
  962. package/references/openteams/src/cli/generate.ts +0 -220
  963. package/references/openteams/src/cli/prompt-utils.ts +0 -42
  964. package/references/openteams/src/cli/template.test.ts +0 -365
  965. package/references/openteams/src/cli/template.ts +0 -205
  966. package/references/openteams/src/cli.ts +0 -22
  967. package/references/openteams/src/generators/agent-prompt-generator.test.ts +0 -332
  968. package/references/openteams/src/generators/agent-prompt-generator.ts +0 -527
  969. package/references/openteams/src/generators/package-generator.test.ts +0 -129
  970. package/references/openteams/src/generators/package-generator.ts +0 -102
  971. package/references/openteams/src/generators/skill-generator.test.ts +0 -246
  972. package/references/openteams/src/generators/skill-generator.ts +0 -388
  973. package/references/openteams/src/index.ts +0 -84
  974. package/references/openteams/src/template/builtins.test.ts +0 -74
  975. package/references/openteams/src/template/builtins.ts +0 -108
  976. package/references/openteams/src/template/install-service.test.ts +0 -452
  977. package/references/openteams/src/template/install-service.ts +0 -332
  978. package/references/openteams/src/template/loader.test.ts +0 -1696
  979. package/references/openteams/src/template/loader.ts +0 -804
  980. package/references/openteams/src/template/resolver.test.ts +0 -304
  981. package/references/openteams/src/template/resolver.ts +0 -251
  982. package/references/openteams/src/template/types.ts +0 -229
  983. package/references/openteams/tsconfig.cjs.json +0 -7
  984. package/references/openteams/tsconfig.esm.json +0 -8
  985. package/references/openteams/tsconfig.json +0 -16
  986. package/references/openteams/vitest.config.ts +0 -9
  987. package/references/sessionlog/.husky/pre-commit +0 -1
  988. package/references/sessionlog/.lintstagedrc.json +0 -4
  989. package/references/sessionlog/.prettierignore +0 -4
  990. package/references/sessionlog/.prettierrc.json +0 -11
  991. package/references/sessionlog/LICENSE +0 -21
  992. package/references/sessionlog/README.md +0 -453
  993. package/references/sessionlog/eslint.config.js +0 -58
  994. package/references/sessionlog/package-lock.json +0 -3672
  995. package/references/sessionlog/package.json +0 -65
  996. package/references/sessionlog/src/__tests__/agent-hooks.test.ts +0 -570
  997. package/references/sessionlog/src/__tests__/agent-registry.test.ts +0 -127
  998. package/references/sessionlog/src/__tests__/claude-code-hooks.test.ts +0 -225
  999. package/references/sessionlog/src/__tests__/claude-generator.test.ts +0 -46
  1000. package/references/sessionlog/src/__tests__/commit-msg.test.ts +0 -86
  1001. package/references/sessionlog/src/__tests__/cursor-agent.test.ts +0 -224
  1002. package/references/sessionlog/src/__tests__/e2e-live.test.ts +0 -890
  1003. package/references/sessionlog/src/__tests__/event-log.test.ts +0 -183
  1004. package/references/sessionlog/src/__tests__/flush-sentinel.test.ts +0 -105
  1005. package/references/sessionlog/src/__tests__/gemini-agent.test.ts +0 -375
  1006. package/references/sessionlog/src/__tests__/git-hooks.test.ts +0 -78
  1007. package/references/sessionlog/src/__tests__/hook-managers.test.ts +0 -121
  1008. package/references/sessionlog/src/__tests__/lifecycle-tasks.test.ts +0 -759
  1009. package/references/sessionlog/src/__tests__/opencode-agent.test.ts +0 -338
  1010. package/references/sessionlog/src/__tests__/redaction.test.ts +0 -136
  1011. package/references/sessionlog/src/__tests__/session-repo.test.ts +0 -353
  1012. package/references/sessionlog/src/__tests__/session-store.test.ts +0 -166
  1013. package/references/sessionlog/src/__tests__/setup-ccweb.test.ts +0 -466
  1014. package/references/sessionlog/src/__tests__/skill-live.test.ts +0 -461
  1015. package/references/sessionlog/src/__tests__/summarize.test.ts +0 -348
  1016. package/references/sessionlog/src/__tests__/task-plan-e2e.test.ts +0 -610
  1017. package/references/sessionlog/src/__tests__/task-plan-live.test.ts +0 -632
  1018. package/references/sessionlog/src/__tests__/transcript-timestamp.test.ts +0 -121
  1019. package/references/sessionlog/src/__tests__/types.test.ts +0 -166
  1020. package/references/sessionlog/src/__tests__/utils.test.ts +0 -333
  1021. package/references/sessionlog/src/__tests__/validation.test.ts +0 -103
  1022. package/references/sessionlog/src/__tests__/worktree.test.ts +0 -57
  1023. package/references/sessionlog/src/agent/registry.ts +0 -143
  1024. package/references/sessionlog/src/agent/session-types.ts +0 -113
  1025. package/references/sessionlog/src/agent/types.ts +0 -220
  1026. package/references/sessionlog/src/cli.ts +0 -597
  1027. package/references/sessionlog/src/commands/clean.ts +0 -133
  1028. package/references/sessionlog/src/commands/disable.ts +0 -84
  1029. package/references/sessionlog/src/commands/doctor.ts +0 -145
  1030. package/references/sessionlog/src/commands/enable.ts +0 -202
  1031. package/references/sessionlog/src/commands/explain.ts +0 -261
  1032. package/references/sessionlog/src/commands/reset.ts +0 -105
  1033. package/references/sessionlog/src/commands/resume.ts +0 -180
  1034. package/references/sessionlog/src/commands/rewind.ts +0 -195
  1035. package/references/sessionlog/src/commands/setup-ccweb.ts +0 -275
  1036. package/references/sessionlog/src/commands/status.ts +0 -172
  1037. package/references/sessionlog/src/config.ts +0 -165
  1038. package/references/sessionlog/src/events/event-log.ts +0 -126
  1039. package/references/sessionlog/src/git-operations.ts +0 -558
  1040. package/references/sessionlog/src/hooks/git-hooks.ts +0 -165
  1041. package/references/sessionlog/src/hooks/lifecycle.ts +0 -391
  1042. package/references/sessionlog/src/index.ts +0 -650
  1043. package/references/sessionlog/src/security/redaction.ts +0 -283
  1044. package/references/sessionlog/src/session/state-machine.ts +0 -452
  1045. package/references/sessionlog/src/store/checkpoint-store.ts +0 -509
  1046. package/references/sessionlog/src/store/native-store.ts +0 -173
  1047. package/references/sessionlog/src/store/provider-types.ts +0 -99
  1048. package/references/sessionlog/src/store/session-store.ts +0 -266
  1049. package/references/sessionlog/src/strategy/attribution.ts +0 -296
  1050. package/references/sessionlog/src/strategy/common.ts +0 -207
  1051. package/references/sessionlog/src/strategy/content-overlap.ts +0 -228
  1052. package/references/sessionlog/src/strategy/manual-commit.ts +0 -988
  1053. package/references/sessionlog/src/strategy/types.ts +0 -279
  1054. package/references/sessionlog/src/summarize/claude-generator.ts +0 -115
  1055. package/references/sessionlog/src/summarize/summarize.ts +0 -432
  1056. package/references/sessionlog/src/types.ts +0 -508
  1057. package/references/sessionlog/src/utils/chunk-files.ts +0 -49
  1058. package/references/sessionlog/src/utils/commit-message.ts +0 -65
  1059. package/references/sessionlog/src/utils/detect-agent.ts +0 -36
  1060. package/references/sessionlog/src/utils/hook-managers.ts +0 -125
  1061. package/references/sessionlog/src/utils/ide-tags.ts +0 -32
  1062. package/references/sessionlog/src/utils/paths.ts +0 -79
  1063. package/references/sessionlog/src/utils/preview-rewind.ts +0 -80
  1064. package/references/sessionlog/src/utils/rewind-conflict.ts +0 -121
  1065. package/references/sessionlog/src/utils/shadow-branch.ts +0 -109
  1066. package/references/sessionlog/src/utils/string-utils.ts +0 -46
  1067. package/references/sessionlog/src/utils/todo-extract.ts +0 -188
  1068. package/references/sessionlog/src/utils/trailers.ts +0 -187
  1069. package/references/sessionlog/src/utils/transcript-parse.ts +0 -177
  1070. package/references/sessionlog/src/utils/transcript-timestamp.ts +0 -59
  1071. package/references/sessionlog/src/utils/tree-ops.ts +0 -219
  1072. package/references/sessionlog/src/utils/tty.ts +0 -72
  1073. package/references/sessionlog/src/utils/validation.ts +0 -65
  1074. package/references/sessionlog/src/utils/worktree.ts +0 -58
  1075. package/references/sessionlog/src/wire-types.ts +0 -59
  1076. package/references/sessionlog/templates/setup-env.sh +0 -153
  1077. package/references/sessionlog/tsconfig.json +0 -18
  1078. package/references/sessionlog/vitest.config.ts +0 -12
  1079. package/references/swarmkit/LICENSE +0 -21
  1080. package/references/swarmkit/README.md +0 -130
  1081. package/references/swarmkit/docs/design.md +0 -453
  1082. package/references/swarmkit/docs/package-setup-reference.md +0 -519
  1083. package/references/swarmkit/package-lock.json +0 -1938
  1084. package/references/swarmkit/package.json +0 -43
  1085. package/references/swarmkit/src/cli.ts +0 -41
  1086. package/references/swarmkit/src/commands/add.ts +0 -126
  1087. package/references/swarmkit/src/commands/doctor.ts +0 -117
  1088. package/references/swarmkit/src/commands/hive.ts +0 -279
  1089. package/references/swarmkit/src/commands/init/phases/configure.ts +0 -96
  1090. package/references/swarmkit/src/commands/init/phases/global-setup.ts +0 -102
  1091. package/references/swarmkit/src/commands/init/phases/packages.ts +0 -44
  1092. package/references/swarmkit/src/commands/init/phases/project.ts +0 -81
  1093. package/references/swarmkit/src/commands/init/phases/use-case.ts +0 -47
  1094. package/references/swarmkit/src/commands/init/state.test.ts +0 -23
  1095. package/references/swarmkit/src/commands/init/state.ts +0 -22
  1096. package/references/swarmkit/src/commands/init/wizard.ts +0 -160
  1097. package/references/swarmkit/src/commands/init.ts +0 -17
  1098. package/references/swarmkit/src/commands/login.ts +0 -106
  1099. package/references/swarmkit/src/commands/logout.ts +0 -22
  1100. package/references/swarmkit/src/commands/remove.ts +0 -72
  1101. package/references/swarmkit/src/commands/status.ts +0 -101
  1102. package/references/swarmkit/src/commands/update.ts +0 -62
  1103. package/references/swarmkit/src/commands/whoami.ts +0 -41
  1104. package/references/swarmkit/src/config/global.test.ts +0 -258
  1105. package/references/swarmkit/src/config/global.ts +0 -141
  1106. package/references/swarmkit/src/config/keys.test.ts +0 -109
  1107. package/references/swarmkit/src/config/keys.ts +0 -49
  1108. package/references/swarmkit/src/doctor/checks.test.ts +0 -366
  1109. package/references/swarmkit/src/doctor/checks.ts +0 -292
  1110. package/references/swarmkit/src/doctor/types.ts +0 -33
  1111. package/references/swarmkit/src/hub/auth-flow.test.ts +0 -127
  1112. package/references/swarmkit/src/hub/auth-flow.ts +0 -144
  1113. package/references/swarmkit/src/hub/client.test.ts +0 -224
  1114. package/references/swarmkit/src/hub/client.ts +0 -185
  1115. package/references/swarmkit/src/hub/credentials.test.ts +0 -132
  1116. package/references/swarmkit/src/hub/credentials.ts +0 -51
  1117. package/references/swarmkit/src/index.ts +0 -116
  1118. package/references/swarmkit/src/packages/installer.test.ts +0 -365
  1119. package/references/swarmkit/src/packages/installer.ts +0 -206
  1120. package/references/swarmkit/src/packages/plugin.test.ts +0 -141
  1121. package/references/swarmkit/src/packages/plugin.ts +0 -46
  1122. package/references/swarmkit/src/packages/registry.test.ts +0 -235
  1123. package/references/swarmkit/src/packages/registry.ts +0 -209
  1124. package/references/swarmkit/src/packages/setup.test.ts +0 -1349
  1125. package/references/swarmkit/src/packages/setup.ts +0 -635
  1126. package/references/swarmkit/src/utils/ui.test.ts +0 -115
  1127. package/references/swarmkit/src/utils/ui.ts +0 -62
  1128. package/references/swarmkit/tsconfig.json +0 -17
  1129. package/references/swarmkit/vitest.config.ts +0 -9
@@ -1,1081 +0,0 @@
1
- # OpenTasks Testing Strategy
2
-
3
- This document outlines the current state of testing in OpenTasks, identifies gaps, and proposes a tiered testing strategy for comprehensive coverage.
4
-
5
- ## Current State
6
-
7
- ### Test Coverage Summary
8
-
9
- | Layer | Test Files | Tests | Coverage Type |
10
- |-------|-----------|-------|---------------|
11
- | Core | 2 | 34 | Unit |
12
- | Schema | 1 | 24 | Unit |
13
- | Storage | 2 | 65 | Unit + File I/O |
14
- | Graph | 9 | 332 | Unit |
15
- | Daemon | 8 | 174 | Unit |
16
- | Tools | 3 | 59 | Unit |
17
- | Client | 1 | 23 | Unit |
18
- | Providers | 6 | 215 | Unit |
19
- | **Total** | **33** | **926** | **Primarily Unit** |
20
-
21
- ### What's Tested
22
-
23
- **Well-tested with unit tests:**
24
- - ID generation and hashing (deterministic, collision-resistant)
25
- - Schema validation (Zod parsing, type guards)
26
- - JSONL and SQLite persistence (file operations, transactions)
27
- - Graph operations (CRUD, queries, validation, cycles)
28
- - **Federated Graph layer:**
29
- - EdgeTypeRegistry (12 built-in types, inverse relationships, provider support)
30
- - GraphologyAdapter (in-memory graph with Graphology library)
31
- - FederatedGraph (traversal API: related, reachable, shortestPath, traverse)
32
- - HydratingFederatedGraph (lazy hydration, caching, federated ready query)
33
- - Provider-aware store (cross-provider resolution)
34
- - Selector syntax (+uri, uri+, @uri) and introspection methods
35
- - Daemon lifecycle, IPC, file watching, flush management
36
- - Daemon method handlers (graph operations, tool operations)
37
- - 3-tool agent interface (link, query, annotate)
38
- - Client library (connection, method calls, error handling)
39
- - Provider interface (URI parsing, type conversion, CRUD)
40
- - **Provider traits:**
41
- - RelationshipQueryable (queryEdges, supportedEdgeTypes)
42
- - NativeProvider with full edge support
43
- - BeadsProvider with relationship queries
44
-
45
- **File I/O tested with temp directories:**
46
- - JSONL persister writes to real temp files
47
- - SQLite persister uses in-memory databases
48
- - File watcher uses real file system events (with delays)
49
-
50
- ### Testing Gaps
51
-
52
- #### Gap 1: Provider Integration Tests
53
-
54
- All provider tests use mocks. No tests verify actual integration with:
55
-
56
- | Provider | Mock Strategy | Integration Gap |
57
- |----------|---------------|-----------------|
58
- | **BeadsProvider** | Mocks `child_process.exec` | Never calls real `bd` CLI |
59
- | **ClaudeTasksProvider** | Uses in-memory store | Never interacts with Claude Code task system |
60
- | **NativeProvider** | Mocks GraphStore | N/A (no external system) |
61
-
62
- #### Gap 2: End-to-End Agent Workflows
63
-
64
- No tests verify complete agent workflows:
65
- - Agent creates context → links tasks → provides feedback
66
- - Multi-agent coordination with blocking dependencies
67
- - Full daemon lifecycle with real IPC communication
68
-
69
- #### Gap 3: Cross-System Integration
70
-
71
- No tests verify:
72
- - OpenTasks ↔ Beads bidirectional sync
73
- - OpenTasks ↔ Claude Code task materialization
74
- - Multi-location graph operations
75
-
76
- #### Gap 4: Performance and Stress Testing
77
-
78
- No tests for:
79
- - Large graph operations (10k+ nodes)
80
- - High-frequency flush operations
81
- - Concurrent multi-client access
82
-
83
- ---
84
-
85
- ## Tiered Testing Strategy
86
-
87
- ### Test Flags
88
-
89
- Tests are gated by environment flags to control which tests run:
90
-
91
- | Flag | Purpose | When to Use |
92
- |------|---------|-------------|
93
- | (none) | Unit tests only | Every commit, CI default |
94
- | `RUN_SLOW_TESTS=1` | + Integration tests | Pre-merge, nightly CI |
95
- | `RUN_FULL_AGENT_TESTS=1` | + E2E agent tests | Release validation, manual |
96
-
97
- **Flag behavior:**
98
- - `RUN_SLOW_TESTS` enables storage durability, daemon IPC, and provider integration tests
99
- - `RUN_FULL_AGENT_TESTS` enables full agent workflow tests (implies `RUN_SLOW_TESTS`)
100
- - Tests check flags via `process.env` and skip with descriptive messages
101
-
102
- ```typescript
103
- // Example usage in tests
104
- const SLOW_TESTS = process.env.RUN_SLOW_TESTS === '1'
105
- const AGENT_TESTS = process.env.RUN_FULL_AGENT_TESTS === '1'
106
-
107
- describe.skipIf(!SLOW_TESTS)('Storage Durability', () => {
108
- // These tests take 10+ seconds each
109
- })
110
-
111
- describe.skipIf(!AGENT_TESTS)('Multi-Agent Coordination', () => {
112
- // These tests require full system setup
113
- })
114
- ```
115
-
116
- ---
117
-
118
- ### Tier 1: Unit Tests (Current)
119
-
120
- **Status:** ✅ Complete (723 tests)
121
-
122
- **Purpose:** Verify individual components work correctly in isolation.
123
-
124
- **Characteristics:**
125
- - Fast execution (<5 seconds total)
126
- - No external dependencies
127
- - Mocked collaborators
128
- - Run on every commit
129
-
130
- **Location:** `src/**/__tests__/*.test.ts`
131
-
132
- **Flag:** None (always run)
133
-
134
- ### Tier 2: Integration Tests
135
-
136
- **Status:** ✅ Phases 1-4 Complete (127 tests)
137
-
138
- **Purpose:** Verify components work together with real I/O and external systems.
139
-
140
- **Characteristics:**
141
- - Slower execution (10-60 seconds per test)
142
- - Real file I/O, process spawning, IPC
143
- - Run before merge, nightly CI
144
-
145
- **Location:** `tests/integration/`
146
-
147
- **Flag:** `RUN_SLOW_TESTS=1`
148
-
149
- #### 2.1 Storage Integration Tests (Priority: High)
150
-
151
- **Purpose:** Verify persistence durability and performance under stress.
152
-
153
- **Requirements:**
154
- - File system access
155
- - Sufficient disk space for large tests
156
-
157
- **Test Cases:**
158
- ```typescript
159
- // tests/integration/storage/jsonl-durability.integration.test.ts
160
-
161
- const SLOW_TESTS = process.env.RUN_SLOW_TESTS === '1'
162
-
163
- describe.skipIf(!SLOW_TESTS)('JSONL Durability', () => {
164
- describe('crash recovery', () => {
165
- it('should recover from incomplete write (simulated crash)', async () => {
166
- // Write partial line, verify recovery on reload
167
- })
168
-
169
- it('should handle corrupted trailing entry', async () => {
170
- // Append garbage, verify load skips bad entry
171
- })
172
- })
173
-
174
- describe('compaction', () => {
175
- it('should compact correctly with 1000+ entries', async () => {
176
- // Create 1000 nodes, delete 500, compact, verify
177
- })
178
-
179
- it('should maintain data integrity during compaction', async () => {
180
- // Verify no data loss during compaction
181
- })
182
- })
183
-
184
- describe('concurrent access', () => {
185
- it('should handle concurrent readers during write', async () => {
186
- // Spawn multiple read processes while writing
187
- })
188
- })
189
- })
190
- ```
191
-
192
- ```typescript
193
- // tests/integration/storage/sqlite-durability.integration.test.ts
194
-
195
- describe.skipIf(!SLOW_TESTS)('SQLite Durability', () => {
196
- describe('crash recovery', () => {
197
- it('should survive simulated crash during transaction', async () => {
198
- // Use WAL mode, kill process mid-transaction, verify recovery
199
- })
200
- })
201
-
202
- describe('performance', () => {
203
- it('should handle 10k+ nodes efficiently', async () => {
204
- // Create 10k nodes, measure insert/query times
205
- // Assert: bulk insert < 5s, query < 100ms
206
- })
207
-
208
- it('should handle complex graph queries', async () => {
209
- // Create deep dependency chains, measure traversal
210
- })
211
- })
212
-
213
- describe('WAL mode', () => {
214
- it('should support concurrent readers and single writer', async () => {
215
- // Spawn reader processes while writing
216
- })
217
- })
218
- })
219
- ```
220
-
221
- #### 2.2 Daemon Integration Tests (Priority: High)
222
-
223
- **Purpose:** Verify daemon lifecycle and IPC with real processes.
224
-
225
- **Requirements:**
226
- - Ability to spawn child processes
227
- - IPC socket access
228
- - Process signal handling
229
-
230
- **Test Cases:**
231
- ```typescript
232
- // tests/integration/daemon/lifecycle.integration.test.ts
233
-
234
- describe.skipIf(!SLOW_TESTS)('Daemon Lifecycle', () => {
235
- let daemonProcess: ChildProcess
236
-
237
- afterEach(async () => {
238
- if (daemonProcess) {
239
- daemonProcess.kill('SIGTERM')
240
- await waitForExit(daemonProcess)
241
- }
242
- })
243
-
244
- describe('startup', () => {
245
- it('should start and create socket file', async () => {
246
- daemonProcess = spawn('node', ['./dist/daemon.js', '--socket', socketPath])
247
- await waitForSocket(socketPath, 5000)
248
- expect(existsSync(socketPath)).toBe(true)
249
- })
250
-
251
- it('should detect existing daemon and refuse to start', async () => {
252
- // Start first daemon
253
- daemonProcess = spawn('node', ['./dist/daemon.js', '--socket', socketPath])
254
- await waitForSocket(socketPath)
255
-
256
- // Try to start second daemon
257
- const second = spawn('node', ['./dist/daemon.js', '--socket', socketPath])
258
- const exitCode = await waitForExit(second)
259
- expect(exitCode).toBe(1)
260
- })
261
- })
262
-
263
- describe('shutdown', () => {
264
- it('should flush pending writes on SIGTERM', async () => {
265
- daemonProcess = spawn('node', ['./dist/daemon.js'])
266
- await waitForSocket(socketPath)
267
-
268
- // Make some writes via IPC
269
- const client = createIPCClient(socketPath)
270
- await client.connect()
271
- await client.createNode({ type: 'context', title: 'Test' })
272
-
273
- // Send SIGTERM
274
- daemonProcess.kill('SIGTERM')
275
- await waitForExit(daemonProcess)
276
-
277
- // Verify data persisted
278
- const persister = createJSONLPersister(dataPath)
279
- const data = await persister.load()
280
- expect(data.nodes).toHaveLength(1)
281
- })
282
-
283
- it('should clean up socket file on exit', async () => {
284
- daemonProcess = spawn('node', ['./dist/daemon.js', '--socket', socketPath])
285
- await waitForSocket(socketPath)
286
-
287
- daemonProcess.kill('SIGTERM')
288
- await waitForExit(daemonProcess)
289
-
290
- expect(existsSync(socketPath)).toBe(false)
291
- })
292
- })
293
- })
294
- ```
295
-
296
- ```typescript
297
- // tests/integration/daemon/ipc.integration.test.ts
298
-
299
- describe.skipIf(!SLOW_TESTS)('Daemon IPC', () => {
300
- let daemon: ChildProcess
301
- let client: IPCClient
302
-
303
- beforeAll(async () => {
304
- daemon = spawn('node', ['./dist/daemon.js', '--socket', socketPath])
305
- await waitForSocket(socketPath, 5000)
306
- client = createIPCClient(socketPath)
307
- await client.connect()
308
- })
309
-
310
- afterAll(async () => {
311
- await client.disconnect()
312
- daemon.kill('SIGTERM')
313
- await waitForExit(daemon)
314
- })
315
-
316
- describe('round-trip', () => {
317
- it('should handle create → get → update → delete cycle', async () => {
318
- const created = await client.createNode({ type: 'context', title: 'Test' })
319
- expect(created.id).toMatch(/^s-/)
320
-
321
- const fetched = await client.getNode(created.id)
322
- expect(fetched?.title).toBe('Test')
323
-
324
- const updated = await client.updateNode(created.id, { title: 'Updated' })
325
- expect(updated.title).toBe('Updated')
326
-
327
- await client.deleteNode(created.id)
328
- const deleted = await client.getNode(created.id)
329
- expect(deleted).toBeNull()
330
- })
331
- })
332
-
333
- describe('concurrent clients', () => {
334
- it('should handle 10 concurrent clients', async () => {
335
- const clients = await Promise.all(
336
- Array.from({ length: 10 }, async () => {
337
- const c = createIPCClient(socketPath)
338
- await c.connect()
339
- return c
340
- })
341
- )
342
-
343
- // All clients create nodes concurrently
344
- const results = await Promise.all(
345
- clients.map((c, i) => c.createNode({ type: 'task', title: `Issue ${i}` }))
346
- )
347
-
348
- expect(results).toHaveLength(10)
349
- expect(new Set(results.map(r => r.id)).size).toBe(10) // All unique IDs
350
-
351
- await Promise.all(clients.map(c => c.disconnect()))
352
- })
353
- })
354
-
355
- describe('error handling', () => {
356
- it('should return error for invalid node ID', async () => {
357
- await expect(client.getNode('invalid-id')).rejects.toThrow()
358
- })
359
-
360
- it('should recover from client disconnect', async () => {
361
- const tempClient = createIPCClient(socketPath)
362
- await tempClient.connect()
363
- await tempClient.createNode({ type: 'context', title: 'Before disconnect' })
364
-
365
- // Abrupt disconnect (no graceful close)
366
- tempClient.socket.destroy()
367
-
368
- // Original client should still work
369
- const result = await client.createNode({ type: 'context', title: 'After disconnect' })
370
- expect(result.id).toBeDefined()
371
- })
372
- })
373
- })
374
- ```
375
-
376
- #### 2.3 BeadsProvider Integration Tests (Priority: Medium)
377
-
378
- **Purpose:** Verify BeadsProvider works with real `bd` CLI.
379
-
380
- **Requirements:**
381
- - Beads (`bd`) CLI installed and configured
382
- - Test Beads directory with fixtures
383
-
384
- **Test Fixtures:**
385
- ```
386
- tests/fixtures/beads/
387
- ├── .beads/ # Beads database directory
388
- │ └── beads.db # SQLite database
389
- ├── bd-test1.md # Test bead with known content
390
- ├── bd-test2.md # Test bead for update operations
391
- └── bd-temp.md # For create/delete tests
392
- ```
393
-
394
- **Test Cases:**
395
-
396
- ```typescript
397
- // tests/integration/providers/beads.integration.test.ts
398
-
399
- const SLOW_TESTS = process.env.RUN_SLOW_TESTS === '1'
400
-
401
- // Additional check: skip if bd CLI not available
402
- async function checkBdAvailable(): Promise<boolean> {
403
- try {
404
- await exec('bd --version')
405
- return true
406
- } catch {
407
- return false
408
- }
409
- }
410
-
411
- describe.skipIf(!SLOW_TESTS)('BeadsProvider Integration', () => {
412
- beforeAll(async () => {
413
- if (!(await checkBdAvailable())) {
414
- console.log('Skipping: bd CLI not installed')
415
- return
416
- }
417
- })
418
-
419
- describe('read operations', () => {
420
- it('should read existing bead from real Beads directory')
421
- it('should parse bead frontmatter correctly')
422
- it('should handle bead with links')
423
- it('should return null for non-existent bead')
424
- })
425
-
426
- describe('write operations', () => {
427
- it('should create new bead via bd CLI')
428
- it('should update existing bead')
429
- it('should delete bead')
430
- })
431
-
432
- describe('search operations', () => {
433
- it('should search beads by content')
434
- it('should filter by type/tags')
435
- })
436
-
437
- describe('URI handling', () => {
438
- it('should resolve relative beads:// URIs')
439
- it('should handle workspace-relative paths')
440
- })
441
- })
442
- ```
443
-
444
- **Dev Dependencies:**
445
- - None required (uses system `bd` CLI)
446
- - CI skips if `bd` not available
447
-
448
- #### 2.4 ClaudeTasksProvider Integration Tests (Priority: Low)
449
-
450
- **Purpose:** Verify file-backed task store persistence.
451
-
452
- **Challenge:** Claude Code's task system is not directly accessible outside of Claude Code sessions. Integration tests focus on the file-backed store abstraction.
453
-
454
- **Test Cases:**
455
- ```typescript
456
- // tests/integration/providers/claude-tasks.integration.test.ts
457
-
458
- const SLOW_TESTS = process.env.RUN_SLOW_TESTS === '1'
459
-
460
- describe.skipIf(!SLOW_TESTS)('ClaudeTasksProvider File Store', () => {
461
- let tempDir: string
462
-
463
- beforeEach(async () => {
464
- tempDir = await mkdtemp(join(tmpdir(), 'claude-tasks-'))
465
- })
466
-
467
- afterEach(async () => {
468
- await rm(tempDir, { recursive: true })
469
- })
470
-
471
- describe('persistence', () => {
472
- it('should persist tasks to JSON file', async () => {
473
- const store = createFileBackedTaskStore(join(tempDir, 'tasks.json'))
474
- await store.create({ subject: 'Test', description: 'Desc' })
475
-
476
- // Reload from file
477
- const store2 = createFileBackedTaskStore(join(tempDir, 'tasks.json'))
478
- const tasks = await store2.list()
479
- expect(tasks).toHaveLength(1)
480
- })
481
-
482
- it('should handle concurrent access', async () => {
483
- const path = join(tempDir, 'tasks.json')
484
- const stores = Array.from({ length: 5 }, () => createFileBackedTaskStore(path))
485
-
486
- // Concurrent writes
487
- await Promise.all(
488
- stores.map((s, i) => s.create({ subject: `Task ${i}`, description: '' }))
489
- )
490
-
491
- const finalStore = createFileBackedTaskStore(path)
492
- const tasks = await finalStore.list()
493
- expect(tasks.length).toBeGreaterThanOrEqual(1) // At least some should persist
494
- })
495
- })
496
- })
497
- ```
498
-
499
- **Recommendation:** Full Claude Tasks integration best tested via E2E tests (Tier 3) running within actual Claude Code sessions.
500
-
501
- ### Tier 3: End-to-End Tests (Proposed)
502
-
503
- **Purpose:** Verify complete workflows from agent perspective.
504
-
505
- **Characteristics:**
506
- - Slowest execution (minutes)
507
- - Requires full system setup (daemon, storage, providers)
508
- - Run before release, manual validation
509
-
510
- **Location:** `tests/e2e/`
511
-
512
- **Flag:** `RUN_FULL_AGENT_TESTS=1` (implies `RUN_SLOW_TESTS=1`)
513
-
514
- #### 3.1 Agent Workflow E2E Tests
515
-
516
- **Test Harness:**
517
- ```typescript
518
- // tests/e2e/harness.ts
519
-
520
- interface TestAgent {
521
- // Simulates an agent making tool calls
522
- link(params: LinkParams): Promise<LinkResult>
523
- query(params: QueryParams): Promise<QueryResult>
524
- annotate(params: AnnotateParams): Promise<AnnotateResult>
525
- }
526
-
527
- function createTestAgent(client: OpenTasksClient): TestAgent
528
- ```
529
-
530
- **Test Cases:**
531
- ```typescript
532
- // tests/e2e/workflows/context-driven-development.e2e.test.ts
533
-
534
- const AGENT_TESTS = process.env.RUN_FULL_AGENT_TESTS === '1'
535
-
536
- describe.skipIf(!AGENT_TESTS)('Context-Driven Development Workflow', () => {
537
- let agent: TestAgent
538
-
539
- it('should complete full context→task→implementation cycle', async () => {
540
- // 1. Create context
541
- const contextResult = await agent.link({
542
- action: 'create',
543
- type: 'context',
544
- title: 'Test Feature',
545
- content: 'Feature requirements...',
546
- })
547
- expect(contextResult.id).toMatch(/^c-/)
548
-
549
- // 2. Create implementing issue
550
- const issueResult = await agent.link({
551
- action: 'create',
552
- type: 'task',
553
- title: 'Implement Test Feature',
554
- implements: specResult.id,
555
- })
556
-
557
- // 3. Query ready work
558
- const readyResult = await agent.query({ type: 'ready' })
559
- expect(readyResult.nodes).toContainEqual(
560
- expect.objectContaining({ id: issueResult.id })
561
- )
562
-
563
- // 4. Provide feedback
564
- await agent.annotate({
565
- target_id: specResult.id,
566
- feedback_type: 'comment',
567
- content: 'Implementation complete',
568
- })
569
-
570
- // 5. Close issue
571
- await agent.link({
572
- action: 'update',
573
- id: issueResult.id,
574
- status: 'closed',
575
- })
576
-
577
- // 6. Verify issue no longer ready
578
- const finalReady = await agent.query({ type: 'ready' })
579
- expect(finalReady.nodes).not.toContainEqual(
580
- expect.objectContaining({ id: issueResult.id })
581
- )
582
- })
583
- })
584
- ```
585
-
586
- #### 3.2 Multi-Agent Coordination E2E Tests
587
-
588
- ```typescript
589
- // tests/e2e/workflows/multi-agent.e2e.test.ts
590
-
591
- const AGENT_TESTS = process.env.RUN_FULL_AGENT_TESTS === '1'
592
-
593
- describe.skipIf(!AGENT_TESTS)('Multi-Agent Coordination', () => {
594
- let agent1: TestAgent
595
- let agent2: TestAgent
596
-
597
- it('should coordinate via blocking dependencies', async () => {
598
- // Agent 1 creates foundation issue
599
- const foundationIssue = await agent1.link({
600
- action: 'create',
601
- type: 'task',
602
- title: 'Foundation Work',
603
- })
604
-
605
- // Agent 1 creates dependent issue
606
- const dependentIssue = await agent1.link({
607
- action: 'create',
608
- type: 'task',
609
- title: 'Dependent Work',
610
- blocked_by: [foundationIssue.id],
611
- })
612
-
613
- // Agent 2 sees only foundation as ready
614
- const agent2Ready = await agent2.query({ type: 'ready' })
615
- expect(agent2Ready.nodes).toHaveLength(1)
616
- expect(agent2Ready.nodes[0].id).toBe(foundationIssue.id)
617
-
618
- // Agent 1 completes foundation
619
- await agent1.link({
620
- action: 'update',
621
- id: foundationIssue.id,
622
- status: 'closed',
623
- })
624
-
625
- // Agent 2 now sees dependent as ready
626
- const agent2ReadyAfter = await agent2.query({ type: 'ready' })
627
- expect(agent2ReadyAfter.nodes[0].id).toBe(dependentIssue.id)
628
- })
629
- })
630
- ```
631
-
632
- #### 3.3 Provider Sync E2E Tests
633
-
634
- ```typescript
635
- // tests/e2e/workflows/provider-sync.e2e.test.ts
636
-
637
- const AGENT_TESTS = process.env.RUN_FULL_AGENT_TESTS === '1'
638
-
639
- describe.skipIf(!AGENT_TESTS)('Provider Synchronization', () => {
640
- describe('OpenTasks ↔ Beads', () => {
641
- it('should materialize Beads reference on first access')
642
- it('should refresh stale materialized nodes')
643
- it('should sync changes back to Beads')
644
- })
645
-
646
- describe('OpenTasks ↔ Claude Tasks', () => {
647
- it('should bridge Claude task to OpenTasks issue')
648
- it('should update Claude task when issue closes')
649
- })
650
- })
651
- ```
652
-
653
- ---
654
-
655
- ## Test Infrastructure
656
-
657
- ### Test Configuration
658
-
659
- ```typescript
660
- // vitest.config.ts additions
661
-
662
- export default defineConfig({
663
- test: {
664
- // Unit tests (fast, no external deps)
665
- include: ['src/**/__tests__/*.test.ts'],
666
-
667
- // Integration tests (separate config)
668
- // Run with: vitest --config vitest.integration.config.ts
669
- },
670
- })
671
- ```
672
-
673
- ```typescript
674
- // vitest.integration.config.ts
675
-
676
- export default defineConfig({
677
- test: {
678
- include: ['tests/integration/**/*.test.ts'],
679
- testTimeout: 30000, // 30 seconds for external calls
680
- hookTimeout: 60000, // 60 seconds for setup/teardown
681
- },
682
- })
683
- ```
684
-
685
- ```typescript
686
- // vitest.e2e.config.ts
687
-
688
- export default defineConfig({
689
- test: {
690
- include: ['tests/e2e/**/*.test.ts'],
691
- testTimeout: 120000, // 2 minutes per test
692
- hookTimeout: 300000, // 5 minutes for full setup
693
- maxConcurrency: 1, // Run sequentially
694
- },
695
- })
696
- ```
697
-
698
- ### npm Scripts
699
-
700
- ```json
701
- {
702
- "scripts": {
703
- "test": "vitest run",
704
- "test:watch": "vitest",
705
- "test:slow": "RUN_SLOW_TESTS=1 vitest run",
706
- "test:slow:watch": "RUN_SLOW_TESTS=1 vitest",
707
- "test:e2e": "RUN_FULL_AGENT_TESTS=1 vitest run",
708
- "test:all": "RUN_FULL_AGENT_TESTS=1 vitest run"
709
- }
710
- }
711
- ```
712
-
713
- **Usage:**
714
- ```bash
715
- # Fast unit tests only (CI default)
716
- npm test
717
-
718
- # Include integration tests (slower, real I/O)
719
- npm run test:slow
720
-
721
- # Full test suite including E2E (slowest)
722
- npm run test:e2e
723
-
724
- # Watch mode with integration tests
725
- npm run test:slow:watch
726
- ```
727
-
728
- ### CI Pipeline
729
-
730
- ```yaml
731
- # .github/workflows/test.yml
732
-
733
- name: Tests
734
-
735
- on: [push, pull_request]
736
-
737
- jobs:
738
- unit:
739
- name: Unit Tests
740
- runs-on: ubuntu-latest
741
- steps:
742
- - uses: actions/checkout@v4
743
- - uses: actions/setup-node@v4
744
- with:
745
- node-version: '20'
746
- cache: 'npm'
747
- - run: npm ci
748
- - run: npm test
749
-
750
- integration:
751
- name: Integration Tests (RUN_SLOW_TESTS)
752
- runs-on: ubuntu-latest
753
- needs: unit
754
- steps:
755
- - uses: actions/checkout@v4
756
- - uses: actions/setup-node@v4
757
- with:
758
- node-version: '20'
759
- cache: 'npm'
760
- - run: npm ci
761
- - run: npm run build # Need compiled daemon
762
- - name: Run integration tests
763
- run: npm run test:slow
764
- env:
765
- RUN_SLOW_TESTS: '1'
766
-
767
- e2e:
768
- name: E2E Tests (RUN_FULL_AGENT_TESTS)
769
- runs-on: ubuntu-latest
770
- needs: integration
771
- if: github.ref == 'refs/heads/main' || github.event_name == 'release'
772
- steps:
773
- - uses: actions/checkout@v4
774
- - uses: actions/setup-node@v4
775
- with:
776
- node-version: '20'
777
- cache: 'npm'
778
- - run: npm ci
779
- - run: npm run build
780
- - name: Run E2E tests
781
- run: npm run test:e2e
782
- env:
783
- RUN_FULL_AGENT_TESTS: '1'
784
- ```
785
-
786
- **Note:** Beads integration tests will skip automatically if `bd` CLI is not installed. To run Beads tests in CI, add a step to install the CLI.
787
-
788
- ---
789
-
790
- ## Implementation Roadmap
791
-
792
- ### Phase 1: Integration Test Infrastructure ✅ COMPLETE
793
-
794
- 1. ✅ Create `tests/integration/` directory structure
795
- 2. ✅ Add `vitest.integration.config.ts`
796
- 3. ✅ Add npm scripts with flag support
797
- 4. ✅ Create test helper utilities (process spawning, temp dirs, wait helpers)
798
-
799
- **Deliverables:**
800
- - ✅ `tests/integration/helpers/` - shared utilities (flags, process, wait, temp)
801
- - ✅ `vitest.integration.config.ts`
802
- - ✅ Updated `package.json` scripts
803
-
804
- ### Phase 2: Storage Integration Tests (RUN_SLOW_TESTS) ✅ COMPLETE
805
-
806
- **Priority: High** - Foundation for all persistence
807
-
808
- 1. ✅ Create JSONL durability tests (16 tests)
809
- - Crash recovery (partial writes, corrupted entries)
810
- - Compaction with 1000+ entries
811
- - Concurrent readers
812
- - Performance baselines
813
- 2. ✅ Create SQLite durability tests (17 tests)
814
- - Transaction crash recovery
815
- - 10k+ node performance baselines (insert <1s, query <500ms)
816
- - WAL mode concurrent access
817
- - Complex graph queries
818
- 3. ✅ Add performance assertions
819
-
820
- **Deliverables:**
821
- - ✅ `tests/integration/storage/jsonl-durability.integration.test.ts`
822
- - ✅ `tests/integration/storage/sqlite-durability.integration.test.ts`
823
-
824
- ### Phase 3: Daemon Integration Tests (RUN_SLOW_TESTS) ✅ COMPLETE
825
-
826
- **Priority: High** - Foundation for client-server architecture
827
-
828
- 1. ✅ Create daemon spawn/lifecycle helpers
829
- 2. ✅ Write lifecycle tests (19 tests: startup, shutdown, lock, registry)
830
- 3. ✅ Write IPC round-trip tests (21 tests: request/response, error handling)
831
- 4. ✅ Write concurrent client tests
832
- 5. ✅ Write connection tracking tests
833
-
834
- **Deliverables:**
835
- - ✅ `tests/integration/daemon/helpers.ts`
836
- - ✅ `tests/integration/daemon/lifecycle.integration.test.ts`
837
- - ✅ `tests/integration/daemon/ipc.integration.test.ts`
838
-
839
- ### Phase 4: Provider & Graph Integration Tests (RUN_SLOW_TESTS) ✅ COMPLETE
840
-
841
- **Priority: Medium** - External system integration and federated graph
842
-
843
- 1. ✅ BeadsProvider integration (17 tests)
844
- - CRUD operations (create, get, list, update, delete)
845
- - Search operations
846
- - URI handling
847
- - Error handling
848
- - Concurrent operations (5 creates, 10 reads)
849
- - Workspace isolation
850
- - Uses temp directories with git init + bd init
851
-
852
- 2. ✅ Federated Graph integration (26 tests)
853
- - Schema migration (edge metadata columns)
854
- - Edge type registry with inverse relationships
855
- - Graphology adapter synchronization
856
- - Traversal API (related, reachable, shortestPath, traverse)
857
- - Provider hydration with TTL caching
858
- - Federated ready query with external blockers
859
- - Cross-provider edge resolution
860
- - Cache staleness detection
861
- - Cycle handling
862
-
863
- 3. ClaudeTasksProvider file store
864
- - File-backed persistence tests (future work)
865
-
866
- **Deliverables:**
867
- - ✅ `tests/integration/providers/beads.integration.test.ts`
868
- - ✅ `tests/integration/graph/federated-graph.integration.test.ts`
869
- - `tests/integration/providers/claude-tasks.integration.test.ts` (future)
870
-
871
- **Provider Fixes Made:**
872
- - Fixed shell escaping for arguments with spaces
873
- - Fixed "not found" detection to handle bd error messages
874
- - Fixed bd show/update returning arrays instead of single objects
875
-
876
- ### Phase 5: E2E Test Infrastructure (RUN_FULL_AGENT_TESTS) ✅ COMPLETE
877
-
878
- 1. ✅ Create `tests/e2e/` directory structure
879
- 2. ✅ Add `vitest.e2e.config.ts`
880
- 3. ✅ Create TestAgent harness wrapping client
881
- 4. ✅ Create full system setup/teardown helpers
882
-
883
- **Deliverables:**
884
- - ✅ `tests/e2e/helpers/system-setup.ts` - Full system setup (IPC server, SQLite storage, graph store, tool handlers, provider registry)
885
- - ✅ `tests/e2e/helpers/test-agent.ts` - TestAgent wrapper with 3-tool interface + provider operations + convenience methods
886
- - ✅ `tests/e2e/helpers/assertions.ts` - Assertion helpers (expectReady, expectNotReady, expectBlocks, expectBlockers, expectFeedback)
887
- - ✅ `tests/e2e/helpers/fixtures.ts` - Fixture helpers (createTestContext, createTestTask, createBlockingChain, createDiamondDependency)
888
- - ✅ `tests/e2e/helpers/index.ts` - Exports
889
- - ✅ `tests/e2e/infrastructure.e2e.test.ts` - 39 infrastructure tests
890
- - ✅ `vitest.e2e.config.ts` - E2E-specific configuration
891
-
892
- **Infrastructure Features:**
893
- - `setupE2ESystem()` / `withE2ESystem()` - Create isolated test environment with storage, IPC, client, and provider registry
894
- - `createTestAgent()` - Wrap client with named agent, logging, and provider operations (createContext, createTask, updateNode, closeTask, getNode)
895
- - `createMultiAgents()` - Create multiple agents for coordination tests
896
- - Assertion helpers for common test patterns
897
- - Fixture helpers for creating test data structures (chains, diamonds, context+tasks)
898
- - Automatic cleanup on teardown
899
-
900
- ### Phase 6: Agent Workflow E2E Tests (RUN_FULL_AGENT_TESTS) ✅ COMPLETE
901
-
902
- **Priority: High** - Core value proposition validation
903
-
904
- 1. ✅ Context-driven development workflow (10 tests)
905
- - Full context→task→close cycle
906
- - Multiple tasks implementing one context
907
- - Task status filtering (open vs in_progress vs closed)
908
- - Priority storage and retrieval
909
- - Context content preservation and updates
910
-
911
- 2. ✅ Multi-agent coordination (9 tests)
912
- - Sequential blocking between agents
913
- - Cross-agent blocking relationships
914
- - Diamond dependency resolution
915
- - Concurrent issue creation
916
- - Transitive blocking queries (blockers/blocking with transitive option)
917
- - Agent isolation with shared state
918
-
919
- 3. ✅ Feedback loop tests (10 tests)
920
- - Basic feedback operations (add, query, types)
921
- - Feedback with issue context (from_id)
922
- - Resolve/reopen feedback lifecycle
923
- - Dismiss and filter feedback
924
- - Filter by type
925
- - Anchored feedback
926
- - Feedback assertion helper
927
-
928
- **Deliverables:**
929
- - ✅ `tests/e2e/workflows/context-driven.e2e.test.ts` - 10 tests
930
- - ✅ `tests/e2e/workflows/multi-agent.e2e.test.ts` - 9 tests
931
- - ✅ `tests/e2e/workflows/feedback-loop.e2e.test.ts` - 10 tests
932
-
933
- **Key Learnings:**
934
- - Ready query only returns `status: 'open'` tasks (not `in_progress`)
935
- - Ready query doesn't sort by priority
936
- - LinkResult uses `success` and `edge_id` fields
937
-
938
- ### Phase 7: Provider Sync E2E Tests (RUN_FULL_AGENT_TESTS) ✅ COMPLETE
939
-
940
- **Priority: Medium** - Cross-provider integration validation
941
-
942
- **Purpose:** Test cross-provider blocking dependencies between NativeProvider and BeadsProvider, hydration/caching behavior, materialization strategies, and background sync.
943
-
944
- **Requirements:**
945
- - `bd` CLI installed (tests skip gracefully if unavailable)
946
- - `RUN_FULL_AGENT_TESTS=1` environment variable
947
-
948
- 1. ✅ Hydration & Caching tests (12 tests)
949
- - First access hydration from BeadsProvider
950
- - cached_at timestamp tracking
951
- - Cache reuse without re-fetching when fresh
952
- - Staleness detection (TTL-based, non-hydrated nodes)
953
- - Missing/non-existent node handling
954
- - Concurrent hydration (same node, different nodes)
955
- - Resolve API (single and batch resolution)
956
-
957
- 2. ✅ Cross-provider edges (8 tests, 1 skipped)
958
- - Native → External edge creation and queries
959
- - External → Native edge creation and queries
960
- - Bidirectional traversal via federated graph
961
- - Transitive cross-provider chains (Native → Beads → Native)
962
- - Ready query with cross-provider blockers
963
- - Status change detection (skipped - requires cache invalidation investigation)
964
-
965
- 3. ✅ Federated ready query (10 tests)
966
- - Basic ready query (unblocked, closed blocker, open blocker)
967
- - Cross-provider blockers (open external blocks, closed external unblocks)
968
- - Multiple blockers (all native, mixed native+external)
969
- - External status mapping (closed, open, in_progress)
970
-
971
- 4. ✅ Materialization strategies (10 tests)
972
- - Lazy strategy (materialize on resolve, explicit flag)
973
- - On-demand strategy (explicit request only)
974
- - Eager strategy (all access types)
975
- - None strategy (never materialize)
976
- - Per-provider strategy overrides
977
- - Staleness detection (TTL, missing cached_at, stale flag)
978
- - URI extraction for strategy lookup
979
-
980
- 5. ✅ Background sync (16 tests)
981
- - Start/stop lifecycle (running state, stop behavior)
982
- - Configuration (interval=0 disables, negative interval, multiple starts)
983
- - Materialization context (access types, explicit flag)
984
- - Strategy handling (lazy, eager, on-demand, none)
985
- - Default configuration and partial config merging
986
-
987
- **Deliverables:**
988
- - ✅ `tests/e2e/helpers/beads-helpers.ts` - Beads CLI helpers (isBdAvailable, createBeadsTask, getBeadsTask, updateBeadsStatus)
989
- - ✅ `tests/e2e/workflows/provider-sync/hydration.e2e.test.ts` - 12 tests
990
- - ✅ `tests/e2e/workflows/provider-sync/cross-provider-edges.e2e.test.ts` - 8 tests (1 skipped)
991
- - ✅ `tests/e2e/workflows/provider-sync/federated-ready.e2e.test.ts` - 10 tests
992
- - ✅ `tests/e2e/workflows/provider-sync/materialization.e2e.test.ts` - 10 tests
993
- - ✅ `tests/e2e/workflows/provider-sync/background-sync.e2e.test.ts` - 16 tests
994
-
995
- **Key Technical Patterns:**
996
- - Cross-provider queries use `HydratingFederatedGraph.related()` instead of daemon queries
997
- - Native nodes use `native://` URI prefix and must be added to GraphologyAdapter
998
- - bd CLI only supports statuses: `open`, `closed`, `blocked`, `in_progress`
999
- - CLOSED_STATUSES list includes: `closed`, `done`, `resolved`, `completed`, `cancelled`
1000
-
1001
- **Running Provider Sync Tests:**
1002
- ```bash
1003
- # Run all provider sync tests (requires bd CLI)
1004
- RUN_FULL_AGENT_TESTS=1 npx vitest run tests/e2e/workflows/provider-sync/
1005
-
1006
- # Tests skip gracefully if bd CLI is not available
1007
- ```
1008
-
1009
- ---
1010
-
1011
- ## Dev Dependencies to Consider
1012
-
1013
- | Package | Purpose | Decision Criteria |
1014
- |---------|---------|-------------------|
1015
- | `execa` | Better child process handling | If spawn tests become complex |
1016
- | `tempy` | Temp directory management | If current approach insufficient |
1017
- | `wait-for-expect` | Async assertion helpers | If timeout handling needed |
1018
- | `msw` | Mock Service Worker | Only if HTTP mocking needed |
1019
-
1020
- **Current recommendation:** Start without additional dependencies, add as needed.
1021
-
1022
- ---
1023
-
1024
- ## Success Metrics
1025
-
1026
- ### Coverage Targets
1027
-
1028
- | Tier | Target | Current |
1029
- |------|--------|---------|
1030
- | Unit | >90% | 926 tests ✅ |
1031
- | Integration | >70% of external interfaces | 127 tests (Phases 1-4) ✅ |
1032
- | E2E | >80% of documented workflows | 124 tests (Phases 5-7) ✅ |
1033
-
1034
- ### Performance Baselines
1035
-
1036
- | Operation | Target | Measured |
1037
- |-----------|--------|----------|
1038
- | Unit test suite | <10s | ~3s ✅ |
1039
- | Integration test suite | <2min | ~20s ✅ |
1040
- | E2E test suite | <10min | ~2s (124 tests) ✅ |
1041
- | Create 1000 nodes (JSONL) | <1s | <500ms ✅ |
1042
- | Load 1000 nodes (JSONL) | <500ms | <100ms ✅ |
1043
- | Insert 10k nodes (SQLite) | <5s | ~650ms ✅ |
1044
- | Query 10k nodes (SQLite) | <1s | ~15ms ✅ |
1045
-
1046
- ---
1047
-
1048
- ## Next Steps
1049
-
1050
- 1. ~~**Immediate:** Implement Phase 1 (test infrastructure, helpers, config)~~ ✅ DONE
1051
- 2. ~~**Short-term:** Implement Phases 2-3 (storage + daemon integration tests)~~ ✅ DONE
1052
- 3. ~~**Medium-term:** Implement Phase 4 (provider + graph integration)~~ ✅ DONE
1053
- 4. ~~**Next:** Implement Phase 5 (E2E infrastructure)~~ ✅ DONE
1054
- 5. ~~**Next:** Implement Phase 6 (agent workflow E2E tests)~~ ✅ DONE
1055
- 6. ~~**Next:** Implement Phase 7 (provider sync E2E tests)~~ ✅ DONE
1056
-
1057
- **All phases complete!** Future work may include:
1058
- - ClaudeTasksProvider integration tests (when accessible outside Claude Code sessions)
1059
- - Additional stress/performance tests for large graphs
1060
- - CI integration with bd CLI installation
1061
-
1062
- The testing strategy prioritizes system-level tests (storage, daemon) first as they:
1063
- - Have no external dependencies (no `bd` CLI needed)
1064
- - Test the foundation that all other features rely on
1065
- - Can be gated with `RUN_SLOW_TESTS` for fast CI cycles
1066
-
1067
- ## Progress Summary
1068
-
1069
- | Phase | Status | Tests |
1070
- |-------|--------|-------|
1071
- | Phase 1: Infrastructure | ✅ Complete | 11 helper tests |
1072
- | Phase 2: Storage | ✅ Complete | 33 tests (JSONL + SQLite) |
1073
- | Phase 3: Daemon | ✅ Complete | 40 tests (lifecycle + IPC) |
1074
- | Phase 4: Providers & Graph | ✅ Complete | 43 tests (BeadsProvider + FederatedGraph) |
1075
- | Phase 5: E2E Infrastructure | ✅ Complete | 39 tests (system setup, TestAgent, providers, assertions, fixtures) |
1076
- | Phase 6: Agent Workflows | ✅ Complete | 29 tests (context-driven, multi-agent, feedback-loop) |
1077
- | Phase 7: Provider Sync | ✅ Complete | 56 tests (hydration, cross-provider, federated-ready, materialization, background-sync) |
1078
-
1079
- **Total Tests:** 1177 (926 unit + 127 integration + 124 E2E)
1080
-
1081
- **Note:** Provider sync tests require `bd` CLI and skip gracefully if unavailable. Run with `RUN_FULL_AGENT_TESTS=1`.