feat: @mosaic/coord — migrate from v0, gateway integration (P2-005) #77

Merged
jason.woltje merged 1 commits from feat/p2-005-coord-migration into main 2026-03-13 03:32:21 +00:00
Owner

Summary

  • Migrated @mosaic/coord package from v0 with file-based mission/task lifecycle management
  • Added gateway CoordModule with REST API at for orchestration status queries
  • Added 3 agent tools (coord_mission_status, coord_list_tasks, coord_task_detail) for AI agent access to orchestration state
  • Package includes: types, mission create/load/save, TASKS.md parsing with file locking, subprocess runner, status queries

Test plan

mosaic-stack@ format:check /home/jwoltje/src/mosaic-mono-v1
prettier --check "**/*.{ts,tsx,js,jsx,json,md}"

Checking formatting...
All matched files use Prettier code style! — pass

mosaic-stack@ typecheck /home/jwoltje/src/mosaic-mono-v1
turbo run typecheck

• Packages in scope: @mosaic/agent, @mosaic/auth, @mosaic/brain, @mosaic/cli, @mosaic/coord, @mosaic/db, @mosaic/design-tokens, @mosaic/discord-plugin, @mosaic/gateway, @mosaic/log, @mosaic/memory, @mosaic/mosaic, @mosaic/prdy, @mosaic/quality-rails, @mosaic/queue, @mosaic/telegram-plugin, @mosaic/types, @mosaic/web
• Running typecheck in 18 packages
• Remote caching disabled
@mosaic/log:typecheck: cache hit, replaying logs 1c2847cc893c0cbb
@mosaic/log:typecheck:
@mosaic/log:typecheck: > @mosaic/log@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/log
@mosaic/log:typecheck: > tsc --noEmit
@mosaic/log:typecheck:
@mosaic/discord-plugin:typecheck: cache hit, replaying logs d0bea9e124419080
@mosaic/discord-plugin:typecheck:
@mosaic/discord-plugin:typecheck: > @mosaic/discord-plugin@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/plugins/discord
@mosaic/discord-plugin:typecheck: > tsc --noEmit
@mosaic/discord-plugin:typecheck:
@mosaic/types:typecheck: cache hit, replaying logs 2bd52810ff500a8d
@mosaic/types:typecheck:
@mosaic/types:typecheck: > @mosaic/types@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/types
@mosaic/types:typecheck: > tsc --noEmit
@mosaic/types:typecheck:
@mosaic/telegram-plugin:typecheck: cache hit, replaying logs c1106526dc000f6b
@mosaic/telegram-plugin:typecheck:
@mosaic/telegram-plugin:typecheck: > @mosaic/telegram-plugin@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/plugins/telegram
@mosaic/telegram-plugin:typecheck: > tsc --noEmit
@mosaic/telegram-plugin:typecheck:
@mosaic/cli:typecheck: cache hit, replaying logs 1ede38aa95d1fb24
@mosaic/cli:typecheck:
@mosaic/cli:typecheck: > @mosaic/cli@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/cli
@mosaic/cli:typecheck: > tsc --noEmit
@mosaic/cli:typecheck:
@mosaic/mosaic:typecheck: cache hit, replaying logs c378492df3acb7f8
@mosaic/mosaic:typecheck:
@mosaic/mosaic:typecheck: > @mosaic/mosaic@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/mosaic
@mosaic/mosaic:typecheck: > tsc --noEmit
@mosaic/mosaic:typecheck:
@mosaic/design-tokens:typecheck: cache hit, replaying logs 3e4f80961c12a5fc
@mosaic/design-tokens:typecheck:
@mosaic/design-tokens:typecheck: > @mosaic/design-tokens@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/design-tokens
@mosaic/design-tokens:typecheck: > tsc --noEmit
@mosaic/design-tokens:typecheck:
@mosaic/prdy:typecheck: cache hit, replaying logs ce383a7714efda3b
@mosaic/prdy:typecheck:
@mosaic/prdy:typecheck: > @mosaic/prdy@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/prdy
@mosaic/prdy:typecheck: > tsc --noEmit
@mosaic/prdy:typecheck:
@mosaic/db:typecheck: cache hit, replaying logs e5e99f43a8793dc0
@mosaic/db:typecheck:
@mosaic/db:typecheck: > @mosaic/db@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/db
@mosaic/db:typecheck: > tsc --noEmit
@mosaic/db:typecheck:
@mosaic/quality-rails:typecheck: cache hit, replaying logs 74681e8281ae4f01
@mosaic/quality-rails:typecheck:
@mosaic/quality-rails:typecheck: > @mosaic/quality-rails@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/quality-rails
@mosaic/quality-rails:typecheck: > tsc --noEmit
@mosaic/quality-rails:typecheck:
@mosaic/web:typecheck: cache hit, replaying logs a68697544d80baed
@mosaic/web:typecheck:
@mosaic/web:typecheck: > @mosaic/web@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/apps/web
@mosaic/web:typecheck: > tsc --noEmit
@mosaic/web:typecheck:
@mosaic/queue:typecheck: cache hit, replaying logs b6e42861de216887
@mosaic/queue:typecheck:
@mosaic/queue:typecheck: > @mosaic/queue@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/queue
@mosaic/queue:typecheck: > tsc --noEmit
@mosaic/queue:typecheck:
@mosaic/coord:typecheck: cache hit, replaying logs 0adee184327a0657
@mosaic/coord:typecheck:
@mosaic/coord:typecheck: > @mosaic/coord@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/coord
@mosaic/coord:typecheck: > tsc --noEmit
@mosaic/coord:typecheck:
@mosaic/agent:typecheck: cache hit, replaying logs de857f2657999713
@mosaic/agent:typecheck:
@mosaic/agent:typecheck: > @mosaic/agent@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/agent
@mosaic/agent:typecheck: > tsc --noEmit
@mosaic/agent:typecheck:
@mosaic/memory:typecheck: cache hit, replaying logs 061772cc1de64329
@mosaic/memory:typecheck:
@mosaic/memory:typecheck: > @mosaic/memory@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/memory
@mosaic/memory:typecheck: > tsc --noEmit
@mosaic/memory:typecheck:
@mosaic/auth:typecheck: cache hit, replaying logs 4df5234101b0bc4d
@mosaic/auth:typecheck:
@mosaic/auth:typecheck: > @mosaic/auth@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/auth
@mosaic/auth:typecheck: > tsc --noEmit
@mosaic/auth:typecheck:
@mosaic/brain:typecheck: cache hit, replaying logs 214b6c96c6c206f6
@mosaic/brain:typecheck:
@mosaic/brain:typecheck: > @mosaic/brain@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/brain
@mosaic/brain:typecheck: > tsc --noEmit
@mosaic/brain:typecheck:
@mosaic/gateway:typecheck: cache hit, replaying logs 231a160df075a406
@mosaic/gateway:typecheck:
@mosaic/gateway:typecheck: > @mosaic/gateway@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/apps/gateway
@mosaic/gateway:typecheck: > tsc --noEmit
@mosaic/gateway:typecheck:

Tasks: 18 successful, 18 total
Cached: 18 cached, 18 total
Time: 41ms >>> FULL TURBO — pass (18/18)

mosaic-stack@ lint /home/jwoltje/src/mosaic-mono-v1
turbo run lint

• Packages in scope: @mosaic/agent, @mosaic/auth, @mosaic/brain, @mosaic/cli, @mosaic/coord, @mosaic/db, @mosaic/design-tokens, @mosaic/discord-plugin, @mosaic/gateway, @mosaic/log, @mosaic/memory, @mosaic/mosaic, @mosaic/prdy, @mosaic/quality-rails, @mosaic/queue, @mosaic/telegram-plugin, @mosaic/types, @mosaic/web
• Running lint in 18 packages
• Remote caching disabled
@mosaic/discord-plugin:lint: cache hit, replaying logs 0c31a0d5849c425f
@mosaic/discord-plugin:lint:
@mosaic/discord-plugin:lint: > @mosaic/discord-plugin@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/plugins/discord
@mosaic/discord-plugin:lint: > eslint src
@mosaic/discord-plugin:lint:
@mosaic/cli:lint: cache hit, replaying logs 0c39ed65115528df
@mosaic/cli:lint:
@mosaic/cli:lint: > @mosaic/cli@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/cli
@mosaic/cli:lint: > eslint src
@mosaic/cli:lint:
@mosaic/quality-rails:lint: cache hit, replaying logs ed73ce2ac27fbcb8
@mosaic/quality-rails:lint:
@mosaic/quality-rails:lint: > @mosaic/quality-rails@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/quality-rails
@mosaic/quality-rails:lint: > eslint src
@mosaic/quality-rails:lint:
@mosaic/log:lint: cache hit, replaying logs 6d672563e9c0a3fa
@mosaic/log:lint:
@mosaic/log:lint: > @mosaic/log@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/log
@mosaic/log:lint: > eslint src
@mosaic/log:lint:
@mosaic/telegram-plugin:lint: cache hit, replaying logs d5d9da0ad8f60f19
@mosaic/telegram-plugin:lint:
@mosaic/telegram-plugin:lint: > @mosaic/telegram-plugin@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/plugins/telegram
@mosaic/telegram-plugin:lint: > eslint src
@mosaic/telegram-plugin:lint:
@mosaic/web:lint: cache hit, replaying logs 8f6e5564ede9636e
@mosaic/web:lint:
@mosaic/web:lint: > @mosaic/web@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/apps/web
@mosaic/web:lint: > eslint src
@mosaic/web:lint:
@mosaic/mosaic:lint: cache hit, replaying logs 4e24093b77b99cbe
@mosaic/mosaic:lint:
@mosaic/mosaic:lint: > @mosaic/mosaic@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/mosaic
@mosaic/mosaic:lint: > eslint src
@mosaic/mosaic:lint:
@mosaic/design-tokens:lint: cache hit, replaying logs c3d76f896eaa4699
@mosaic/design-tokens:lint:
@mosaic/design-tokens:lint: > @mosaic/design-tokens@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/design-tokens
@mosaic/design-tokens:lint: > eslint src
@mosaic/design-tokens:lint:
@mosaic/prdy:lint: cache hit, replaying logs 116cdc535c4dbeb6
@mosaic/prdy:lint:
@mosaic/prdy:lint: > @mosaic/prdy@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/prdy
@mosaic/prdy:lint: > eslint src
@mosaic/prdy:lint:
@mosaic/db:lint: cache hit, replaying logs 00de21176cbdb245
@mosaic/db:lint:
@mosaic/db:lint: > @mosaic/db@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/db
@mosaic/db:lint: > eslint src
@mosaic/db:lint:
@mosaic/types:lint: cache hit, replaying logs 43d1159315c2933e
@mosaic/types:lint:
@mosaic/types:lint: > @mosaic/types@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/types
@mosaic/types:lint: > eslint src
@mosaic/types:lint:
@mosaic/auth:lint: cache hit, replaying logs 9128dbbd0df2aa85
@mosaic/auth:lint:
@mosaic/auth:lint: > @mosaic/auth@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/auth
@mosaic/auth:lint: > eslint src
@mosaic/auth:lint:
@mosaic/memory:lint: cache hit, replaying logs 6273bde77746506c
@mosaic/memory:lint:
@mosaic/memory:lint: > @mosaic/memory@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/memory
@mosaic/memory:lint: > eslint src
@mosaic/memory:lint:
@mosaic/brain:lint: cache hit, replaying logs 2849d13829495b56
@mosaic/brain:lint:
@mosaic/brain:lint: > @mosaic/brain@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/brain
@mosaic/brain:lint: > eslint src
@mosaic/brain:lint:
@mosaic/agent:lint: cache hit, replaying logs 554df7eaa17f1337
@mosaic/agent:lint:
@mosaic/agent:lint: > @mosaic/agent@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/agent
@mosaic/agent:lint: > eslint src
@mosaic/agent:lint:
@mosaic/coord:lint: cache hit, replaying logs 3f133877c0861b54
@mosaic/coord:lint:
@mosaic/coord:lint: > @mosaic/coord@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/coord
@mosaic/coord:lint: > eslint src
@mosaic/coord:lint:
@mosaic/queue:lint: cache hit, replaying logs efbe96d454820500
@mosaic/queue:lint:
@mosaic/queue:lint: > @mosaic/queue@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/queue
@mosaic/queue:lint: > eslint src
@mosaic/queue:lint:
@mosaic/gateway:lint: cache hit, replaying logs 2eaa233d259738a0
@mosaic/gateway:lint:
@mosaic/gateway:lint: > @mosaic/gateway@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/apps/gateway
@mosaic/gateway:lint: > eslint src
@mosaic/gateway:lint:

Tasks: 18 successful, 18 total
Cached: 18 cached, 18 total
Time: 40ms >>> FULL TURBO — pass (18/18)

  • Pre-push hook passes (typecheck + lint + format)
  • CI pipeline green
  • Verify returns mission status
  • Verify lists orchestration tasks

Closes #23

🤖 Generated with Claude Code

## Summary - Migrated @mosaic/coord package from v0 with file-based mission/task lifecycle management - Added gateway CoordModule with REST API at for orchestration status queries - Added 3 agent tools (coord_mission_status, coord_list_tasks, coord_task_detail) for AI agent access to orchestration state - Package includes: types, mission create/load/save, TASKS.md parsing with file locking, subprocess runner, status queries ## Test plan - [x] > mosaic-stack@ format:check /home/jwoltje/src/mosaic-mono-v1 > prettier --check "**/*.{ts,tsx,js,jsx,json,md}" Checking formatting... All matched files use Prettier code style! — pass - [x] > mosaic-stack@ typecheck /home/jwoltje/src/mosaic-mono-v1 > turbo run typecheck • Packages in scope: @mosaic/agent, @mosaic/auth, @mosaic/brain, @mosaic/cli, @mosaic/coord, @mosaic/db, @mosaic/design-tokens, @mosaic/discord-plugin, @mosaic/gateway, @mosaic/log, @mosaic/memory, @mosaic/mosaic, @mosaic/prdy, @mosaic/quality-rails, @mosaic/queue, @mosaic/telegram-plugin, @mosaic/types, @mosaic/web • Running typecheck in 18 packages • Remote caching disabled @mosaic/log:typecheck: cache hit, replaying logs 1c2847cc893c0cbb @mosaic/log:typecheck: @mosaic/log:typecheck: > @mosaic/log@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/log @mosaic/log:typecheck: > tsc --noEmit @mosaic/log:typecheck: @mosaic/discord-plugin:typecheck: cache hit, replaying logs d0bea9e124419080 @mosaic/discord-plugin:typecheck: @mosaic/discord-plugin:typecheck: > @mosaic/discord-plugin@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/plugins/discord @mosaic/discord-plugin:typecheck: > tsc --noEmit @mosaic/discord-plugin:typecheck: @mosaic/types:typecheck: cache hit, replaying logs 2bd52810ff500a8d @mosaic/types:typecheck: @mosaic/types:typecheck: > @mosaic/types@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/types @mosaic/types:typecheck: > tsc --noEmit @mosaic/types:typecheck: @mosaic/telegram-plugin:typecheck: cache hit, replaying logs c1106526dc000f6b @mosaic/telegram-plugin:typecheck: @mosaic/telegram-plugin:typecheck: > @mosaic/telegram-plugin@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/plugins/telegram @mosaic/telegram-plugin:typecheck: > tsc --noEmit @mosaic/telegram-plugin:typecheck: @mosaic/cli:typecheck: cache hit, replaying logs 1ede38aa95d1fb24 @mosaic/cli:typecheck: @mosaic/cli:typecheck: > @mosaic/cli@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/cli @mosaic/cli:typecheck: > tsc --noEmit @mosaic/cli:typecheck: @mosaic/mosaic:typecheck: cache hit, replaying logs c378492df3acb7f8 @mosaic/mosaic:typecheck: @mosaic/mosaic:typecheck: > @mosaic/mosaic@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/mosaic @mosaic/mosaic:typecheck: > tsc --noEmit @mosaic/mosaic:typecheck: @mosaic/design-tokens:typecheck: cache hit, replaying logs 3e4f80961c12a5fc @mosaic/design-tokens:typecheck: @mosaic/design-tokens:typecheck: > @mosaic/design-tokens@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/design-tokens @mosaic/design-tokens:typecheck: > tsc --noEmit @mosaic/design-tokens:typecheck: @mosaic/prdy:typecheck: cache hit, replaying logs ce383a7714efda3b @mosaic/prdy:typecheck: @mosaic/prdy:typecheck: > @mosaic/prdy@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/prdy @mosaic/prdy:typecheck: > tsc --noEmit @mosaic/prdy:typecheck: @mosaic/db:typecheck: cache hit, replaying logs e5e99f43a8793dc0 @mosaic/db:typecheck: @mosaic/db:typecheck: > @mosaic/db@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/db @mosaic/db:typecheck: > tsc --noEmit @mosaic/db:typecheck: @mosaic/quality-rails:typecheck: cache hit, replaying logs 74681e8281ae4f01 @mosaic/quality-rails:typecheck: @mosaic/quality-rails:typecheck: > @mosaic/quality-rails@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/quality-rails @mosaic/quality-rails:typecheck: > tsc --noEmit @mosaic/quality-rails:typecheck: @mosaic/web:typecheck: cache hit, replaying logs a68697544d80baed @mosaic/web:typecheck: @mosaic/web:typecheck: > @mosaic/web@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/apps/web @mosaic/web:typecheck: > tsc --noEmit @mosaic/web:typecheck: @mosaic/queue:typecheck: cache hit, replaying logs b6e42861de216887 @mosaic/queue:typecheck: @mosaic/queue:typecheck: > @mosaic/queue@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/queue @mosaic/queue:typecheck: > tsc --noEmit @mosaic/queue:typecheck: @mosaic/coord:typecheck: cache hit, replaying logs 0adee184327a0657 @mosaic/coord:typecheck: @mosaic/coord:typecheck: > @mosaic/coord@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/coord @mosaic/coord:typecheck: > tsc --noEmit @mosaic/coord:typecheck: @mosaic/agent:typecheck: cache hit, replaying logs de857f2657999713 @mosaic/agent:typecheck: @mosaic/agent:typecheck: > @mosaic/agent@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/agent @mosaic/agent:typecheck: > tsc --noEmit @mosaic/agent:typecheck: @mosaic/memory:typecheck: cache hit, replaying logs 061772cc1de64329 @mosaic/memory:typecheck: @mosaic/memory:typecheck: > @mosaic/memory@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/memory @mosaic/memory:typecheck: > tsc --noEmit @mosaic/memory:typecheck: @mosaic/auth:typecheck: cache hit, replaying logs 4df5234101b0bc4d @mosaic/auth:typecheck: @mosaic/auth:typecheck: > @mosaic/auth@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/auth @mosaic/auth:typecheck: > tsc --noEmit @mosaic/auth:typecheck: @mosaic/brain:typecheck: cache hit, replaying logs 214b6c96c6c206f6 @mosaic/brain:typecheck: @mosaic/brain:typecheck: > @mosaic/brain@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/packages/brain @mosaic/brain:typecheck: > tsc --noEmit @mosaic/brain:typecheck: @mosaic/gateway:typecheck: cache hit, replaying logs 231a160df075a406 @mosaic/gateway:typecheck: @mosaic/gateway:typecheck: > @mosaic/gateway@0.0.0 typecheck /home/jwoltje/src/mosaic-mono-v1/apps/gateway @mosaic/gateway:typecheck: > tsc --noEmit @mosaic/gateway:typecheck: Tasks: 18 successful, 18 total Cached: 18 cached, 18 total Time: 41ms >>> FULL TURBO — pass (18/18) - [x] > mosaic-stack@ lint /home/jwoltje/src/mosaic-mono-v1 > turbo run lint • Packages in scope: @mosaic/agent, @mosaic/auth, @mosaic/brain, @mosaic/cli, @mosaic/coord, @mosaic/db, @mosaic/design-tokens, @mosaic/discord-plugin, @mosaic/gateway, @mosaic/log, @mosaic/memory, @mosaic/mosaic, @mosaic/prdy, @mosaic/quality-rails, @mosaic/queue, @mosaic/telegram-plugin, @mosaic/types, @mosaic/web • Running lint in 18 packages • Remote caching disabled @mosaic/discord-plugin:lint: cache hit, replaying logs 0c31a0d5849c425f @mosaic/discord-plugin:lint: @mosaic/discord-plugin:lint: > @mosaic/discord-plugin@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/plugins/discord @mosaic/discord-plugin:lint: > eslint src @mosaic/discord-plugin:lint: @mosaic/cli:lint: cache hit, replaying logs 0c39ed65115528df @mosaic/cli:lint: @mosaic/cli:lint: > @mosaic/cli@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/cli @mosaic/cli:lint: > eslint src @mosaic/cli:lint: @mosaic/quality-rails:lint: cache hit, replaying logs ed73ce2ac27fbcb8 @mosaic/quality-rails:lint: @mosaic/quality-rails:lint: > @mosaic/quality-rails@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/quality-rails @mosaic/quality-rails:lint: > eslint src @mosaic/quality-rails:lint: @mosaic/log:lint: cache hit, replaying logs 6d672563e9c0a3fa @mosaic/log:lint: @mosaic/log:lint: > @mosaic/log@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/log @mosaic/log:lint: > eslint src @mosaic/log:lint: @mosaic/telegram-plugin:lint: cache hit, replaying logs d5d9da0ad8f60f19 @mosaic/telegram-plugin:lint: @mosaic/telegram-plugin:lint: > @mosaic/telegram-plugin@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/plugins/telegram @mosaic/telegram-plugin:lint: > eslint src @mosaic/telegram-plugin:lint: @mosaic/web:lint: cache hit, replaying logs 8f6e5564ede9636e @mosaic/web:lint: @mosaic/web:lint: > @mosaic/web@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/apps/web @mosaic/web:lint: > eslint src @mosaic/web:lint: @mosaic/mosaic:lint: cache hit, replaying logs 4e24093b77b99cbe @mosaic/mosaic:lint: @mosaic/mosaic:lint: > @mosaic/mosaic@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/mosaic @mosaic/mosaic:lint: > eslint src @mosaic/mosaic:lint: @mosaic/design-tokens:lint: cache hit, replaying logs c3d76f896eaa4699 @mosaic/design-tokens:lint: @mosaic/design-tokens:lint: > @mosaic/design-tokens@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/design-tokens @mosaic/design-tokens:lint: > eslint src @mosaic/design-tokens:lint: @mosaic/prdy:lint: cache hit, replaying logs 116cdc535c4dbeb6 @mosaic/prdy:lint: @mosaic/prdy:lint: > @mosaic/prdy@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/prdy @mosaic/prdy:lint: > eslint src @mosaic/prdy:lint: @mosaic/db:lint: cache hit, replaying logs 00de21176cbdb245 @mosaic/db:lint: @mosaic/db:lint: > @mosaic/db@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/db @mosaic/db:lint: > eslint src @mosaic/db:lint: @mosaic/types:lint: cache hit, replaying logs 43d1159315c2933e @mosaic/types:lint: @mosaic/types:lint: > @mosaic/types@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/types @mosaic/types:lint: > eslint src @mosaic/types:lint: @mosaic/auth:lint: cache hit, replaying logs 9128dbbd0df2aa85 @mosaic/auth:lint: @mosaic/auth:lint: > @mosaic/auth@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/auth @mosaic/auth:lint: > eslint src @mosaic/auth:lint: @mosaic/memory:lint: cache hit, replaying logs 6273bde77746506c @mosaic/memory:lint: @mosaic/memory:lint: > @mosaic/memory@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/memory @mosaic/memory:lint: > eslint src @mosaic/memory:lint: @mosaic/brain:lint: cache hit, replaying logs 2849d13829495b56 @mosaic/brain:lint: @mosaic/brain:lint: > @mosaic/brain@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/brain @mosaic/brain:lint: > eslint src @mosaic/brain:lint: @mosaic/agent:lint: cache hit, replaying logs 554df7eaa17f1337 @mosaic/agent:lint: @mosaic/agent:lint: > @mosaic/agent@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/agent @mosaic/agent:lint: > eslint src @mosaic/agent:lint: @mosaic/coord:lint: cache hit, replaying logs 3f133877c0861b54 @mosaic/coord:lint: @mosaic/coord:lint: > @mosaic/coord@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/coord @mosaic/coord:lint: > eslint src @mosaic/coord:lint: @mosaic/queue:lint: cache hit, replaying logs efbe96d454820500 @mosaic/queue:lint: @mosaic/queue:lint: > @mosaic/queue@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/packages/queue @mosaic/queue:lint: > eslint src @mosaic/queue:lint: @mosaic/gateway:lint: cache hit, replaying logs 2eaa233d259738a0 @mosaic/gateway:lint: @mosaic/gateway:lint: > @mosaic/gateway@0.0.0 lint /home/jwoltje/src/mosaic-mono-v1/apps/gateway @mosaic/gateway:lint: > eslint src @mosaic/gateway:lint: Tasks: 18 successful, 18 total Cached: 18 cached, 18 total Time: 40ms >>> FULL TURBO — pass (18/18) - [x] Pre-push hook passes (typecheck + lint + format) - [ ] CI pipeline green - [ ] Verify returns mission status - [ ] Verify lists orchestration tasks Closes #23 🤖 Generated with [Claude Code](https://claude.com/claude-code)
jason.woltje added 1 commit 2026-03-13 03:31:48 +00:00
Migrate the orchestration coordination package from v0 with full
file-based mission/task lifecycle management. Adds gateway REST API
at /api/coord/* and agent tools for coord queries.

Package modules:
- types: Mission, task, session, milestone type definitions
- mission: Create, load, save missions with atomic file writes
- tasks-file: TASKS.md markdown table parsing/generation with file locking
- runner: Task execution subprocess spawning with session locks
- status: Mission and task status queries

Gateway integration:
- CoordModule with CoordService wrapping coord functions
- CoordController exposing status/tasks/task-detail endpoints
- Agent tools: coord_mission_status, coord_list_tasks, coord_task_detail

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
jason.woltje merged commit f3a7eadcea into main 2026-03-13 03:32:21 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#77