Implement @mosaic/brain — typed structured data service with MCP + REST API,
JSON file backend, and schema validation via Zod.
Collections: tasks, projects, events, agents, tickets, appreciations,
missions, mission_tasks.
MCP tools: brain_tasks, brain_projects, brain_events, brain_agents,
brain_tickets, brain_today, brain_stale, brain_stats, brain_search,
brain_audit, brain_missions, brain_mission, brain_mission_tasks,
plus mutation tools for all collections.
REST API mirrors MCP 1:1 at /v1/*.
Bearer token auth with timing-safe comparison.
Fastify server with per-request MCP instances (stateless HTTP transport).
JSON file storage with proper-lockfile for concurrent access.
Also adds Brain* types to @mosaic/types.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Test plan
• Packages in scope: @mosaic/brain, @mosaic/cli, @mosaic/coord, @mosaic/mosaic, @mosaic/openclaw-context, @mosaic/prdy, @mosaic/quality-rails, @mosaic/queue, @mosaic/types
• Running typecheck in 9 packages
• Remote caching disabled
@mosaic/types:build: cache miss, executing 33ca6110fac069e1
@mosaic/types:typecheck: cache miss, executing e12293314201d711
@mosaic/mosaic:typecheck: cache hit, replaying logs 571d1f39904166f9
@mosaic/mosaic:typecheck:
@mosaic/mosaic:typecheck: > @mosaic/[email protected] typecheck /home/jwoltje/src/mosaic-mono-worktrees/wave2b-mosaic-wizard/packages/mosaic
@mosaic/mosaic:typecheck: > tsc --noEmit
@mosaic/mosaic:typecheck:
@mosaic/types:build: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/types:typecheck: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/types:typecheck:
@mosaic/types:typecheck: > @mosaic/[email protected] typecheck /home/jwoltje/src/mosaic-mono/packages/types
@mosaic/types:typecheck: > tsc --noEmit
@mosaic/types:typecheck:
@mosaic/types:build:
@mosaic/types:build: > @mosaic/[email protected] build /home/jwoltje/src/mosaic-mono/packages/types
@mosaic/types:build: > tsc -p tsconfig.json
@mosaic/types:build:
@mosaic/queue:typecheck: cache miss, executing 2d188e9b5e4e461a
@mosaic/openclaw-context:typecheck: cache miss, executing 295316ce12c5db4f
@mosaic/quality-rails:typecheck: cache miss, executing 51f4ee22300bea2d
@mosaic/brain:typecheck: cache miss, executing f56edb0d00a9f924
@mosaic/queue:build: cache miss, executing aef7f6ece88189f5
@mosaic/prdy:typecheck: cache miss, executing 6b82d262a2331556
@mosaic/brain:typecheck: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/quality-rails:typecheck: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/brain:typecheck:
@mosaic/brain:typecheck: > @mosaic/[email protected] typecheck /home/jwoltje/src/mosaic-mono/packages/brain
@mosaic/brain:typecheck: > tsc --noEmit
@mosaic/brain:typecheck:
@mosaic/quality-rails:typecheck:
@mosaic/quality-rails:typecheck: > @mosaic/[email protected] typecheck /home/jwoltje/src/mosaic-mono/packages/quality-rails
@mosaic/quality-rails:typecheck: > tsc --noEmit
@mosaic/quality-rails:typecheck:
@mosaic/queue:typecheck: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/prdy:typecheck: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/openclaw-context:typecheck: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/queue:typecheck:
@mosaic/queue:typecheck: > @mosaic/[email protected] typecheck /home/jwoltje/src/mosaic-mono/packages/queue
@mosaic/queue:typecheck: > tsc -p tsconfig.json --noEmit
@mosaic/queue:typecheck:
@mosaic/prdy:typecheck:
@mosaic/prdy:typecheck: > @mosaic/[email protected] typecheck /home/jwoltje/src/mosaic-mono/packages/prdy
@mosaic/prdy:typecheck: > tsc --noEmit
@mosaic/prdy:typecheck:
@mosaic/openclaw-context:typecheck:
@mosaic/openclaw-context:typecheck: > @mosaic/[email protected] typecheck /home/jwoltje/src/mosaic-mono/plugins/openclaw-context
@mosaic/openclaw-context:typecheck: > tsc --noEmit
@mosaic/openclaw-context:typecheck:
@mosaic/queue:build: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/queue:build:
@mosaic/queue:build: > @mosaic/[email protected] build /home/jwoltje/src/mosaic-mono/packages/queue
@mosaic/queue:build: > tsc -p tsconfig.build.json
@mosaic/queue:build:
@mosaic/coord:build: cache miss, executing ea297ac6a07ab461
@mosaic/coord:typecheck: cache miss, executing 4d385f3861f00300
@mosaic/coord:build: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/coord:typecheck: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/coord:build:
@mosaic/coord:build: > @mosaic/[email protected] build /home/jwoltje/src/mosaic-mono/packages/coord
@mosaic/coord:build: > tsc -p tsconfig.json
@mosaic/coord:build:
@mosaic/coord:typecheck:
@mosaic/coord:typecheck: > @mosaic/[email protected] typecheck /home/jwoltje/src/mosaic-mono/packages/coord
@mosaic/coord:typecheck: > tsc --noEmit
@mosaic/coord:typecheck:
@mosaic/cli:typecheck: cache miss, executing b33f3a533f326f7c
@mosaic/cli:typecheck: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/cli:typecheck:
@mosaic/cli:typecheck: > @mosaic/[email protected] typecheck /home/jwoltje/src/mosaic-mono/packages/cli
@mosaic/cli:typecheck: > tsc --noEmit
@mosaic/cli:typecheck:
Tasks: 12 successful, 12 total
Cached: 1 cached, 12 total
Time: 4.105s )
• Packages in scope: @mosaic/brain, @mosaic/cli, @mosaic/coord, @mosaic/mosaic, @mosaic/openclaw-context, @mosaic/prdy, @mosaic/quality-rails, @mosaic/queue, @mosaic/types
• Running build in 9 packages
• Remote caching disabled
@mosaic/types:build: cache hit, replaying logs 33ca6110fac069e1
@mosaic/types:build: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/types:build:
@mosaic/types:build: > @mosaic/[email protected] build /home/jwoltje/src/mosaic-mono/packages/types
@mosaic/types:build: > tsc -p tsconfig.json
@mosaic/types:build:
@mosaic/openclaw-context:build: cache miss, executing 43e8e0f484dd0420
@mosaic/brain:build: cache miss, executing 437fd89932a804e5
@mosaic/quality-rails:build: cache miss, executing 1bb331ed3d10677d
@mosaic/prdy:build: cache miss, executing 8ac868dd03db5897
@mosaic/queue:build: cache hit, replaying logs aef7f6ece88189f5
@mosaic/queue:build: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/queue:build:
@mosaic/queue:build: > @mosaic/[email protected] build /home/jwoltje/src/mosaic-mono/packages/queue
@mosaic/queue:build: > tsc -p tsconfig.build.json
@mosaic/queue:build:
@mosaic/mosaic:build: cache hit, replaying logs 72284e03343831be
@mosaic/mosaic:build:
@mosaic/mosaic:build: > @mosaic/[email protected] build /home/jwoltje/src/mosaic-mono-worktrees/wave2b-mosaic-wizard/packages/mosaic
@mosaic/mosaic:build: > tsdown
@mosaic/mosaic:build:
@mosaic/mosaic:build: ℹ tsdown v0.12.9 powered by rolldown v1.0.0-rc.7
@mosaic/mosaic:build: ℹ entry: src/index.ts
@mosaic/mosaic:build: ℹ tsconfig: tsconfig.json
@mosaic/mosaic:build: ℹ Build start
@mosaic/mosaic:build: [33mWarning: Invalid input options (1 issue found)
@mosaic/mosaic:build: - For the "define". Invalid key: Expected never but received "define". [0m
@mosaic/mosaic:build: ℹ dist/index.js 46.45 kB │ gzip: 13.25 kB
@mosaic/mosaic:build: ℹ dist/index.js.map 92.19 kB │ gzip: 24.02 kB
@mosaic/mosaic:build: ℹ dist/index-JtcdNmdz.d.ts 0.01 kB │ gzip: 0.03 kB
@mosaic/mosaic:build: ℹ 3 files, total: 138.66 kB
@mosaic/mosaic:build: ✔ Build complete in 863ms
@mosaic/coord:build: cache hit, replaying logs ea297ac6a07ab461
@mosaic/coord:build: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/coord:build:
@mosaic/coord:build: > @mosaic/[email protected] build /home/jwoltje/src/mosaic-mono/packages/coord
@mosaic/coord:build: > tsc -p tsconfig.json
@mosaic/coord:build:
@mosaic/cli:build: cache miss, executing c48f51d2ee99c245
@mosaic/openclaw-context:build: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/quality-rails:build: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/brain:build: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/quality-rails:build:
@mosaic/quality-rails:build: > @mosaic/[email protected] build /home/jwoltje/src/mosaic-mono/packages/quality-rails
@mosaic/quality-rails:build: > tsc -p tsconfig.json
@mosaic/quality-rails:build:
@mosaic/openclaw-context:build:
@mosaic/openclaw-context:build: > @mosaic/[email protected] build /home/jwoltje/src/mosaic-mono/plugins/openclaw-context
@mosaic/openclaw-context:build: > tsc -p tsconfig.json
@mosaic/openclaw-context:build:
@mosaic/brain:build:
@mosaic/brain:build: > @mosaic/[email protected] build /home/jwoltje/src/mosaic-mono/packages/brain
@mosaic/brain:build: > tsc -p tsconfig.json
@mosaic/brain:build:
@mosaic/prdy:build: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/prdy:build:
@mosaic/prdy:build: > @mosaic/[email protected] build /home/jwoltje/src/mosaic-mono/packages/prdy
@mosaic/prdy:build: > tsc -p tsconfig.json
@mosaic/prdy:build:
@mosaic/cli:build: WARN Issue while reading "/home/jwoltje/src/mosaic-mono/.npmrc". Failed to replace env in config: ${GITEA_NPM_TOKEN}
@mosaic/cli:build:
@mosaic/cli:build: > @mosaic/[email protected] build /home/jwoltje/src/mosaic-mono/packages/cli
@mosaic/cli:build: > tsc -p tsconfig.json
@mosaic/cli:build:
Tasks: 9 successful, 9 total
Cached: 4 cached, 9 total
Time: 2.087s )
Closes #10
🤖 Generated with Claude Code
Fixes #10