2025-10-14 - 2026-04-14
Overview
13 Releases published by 1 user
Published
mosaic-v0.0.29
mosaic v0.0.29
Published
mosaic-v0.0.28
mosaic-v0.0.28
Published
mosaic-v0.0.27
mosaic-v0.0.27
Published
mosaic-v0.0.26
mosaic-v0.0.26 — Bootstrap Hotfix
Published
mosaic-v0.0.25
@mosaicstack/mosaic 0.0.25 — install UX hardening
Published
mosaic-v0.0.24
mosaic v0.0.24
Published
v0.2.0
Published
v0.1.0
Published
v0.0.8
v0.0.8 — Phase 7: Feature Completion
Published
v0.0.7
v0.0.7 — Phase 6: CLI & Tools
Published
v0.0.6
v0.0.6 — Phase 5: Remote Control
Published
v0.0.5
v0.0.5 — Phase 4: Memory & Intelligence
Published
v0.0.4
v0.0.4 — Phase 3: Web Dashboard
264 Pull requests merged by 1 user
Merged
#459 chore(release): @mosaicstack/mosaic 0.0.30
Merged
#458 fix(mosaic): seed TOOLS.md from defaults on install
Merged
#456 docs(scratchpad): finalize yolo runtime hotfix evidence
Merged
#455 fix(mosaic): stop yolo runtime from leaking runtime name as first user message
Merged
#453 chore(release): @mosaicstack/mosaic 0.0.29
Merged
#452 fix(installer): preserve credentials dir and seed STANDARDS.md
Merged
#451 feat(framework): superpowers enforcement, typecheck hook, file-ownership rules
Merged
#450 chore(release): @mosaicstack/mosaic 0.0.28
Merged
#448 chore: sweep mosaicstack/mosaic-stack → mosaicstack/stack + add short install URL
Merged
#449 fix(mosaic): mask password input in TUI login prompt
Merged
#447 docs: update README for mosaicstack/stack repo rename
Merged
#446 feat(mosaic): drill-down main menu + provider-first flow + quick start
Merged
#445 docs: orchestrator close-out IUV-M02
Merged
#444 feat(mosaic): IUV-M02 — CORS/FQDN UX polish + skill installer rework
Merged
#443 docs: orchestrator close-out IUV-M01 — mark tasks done, append session 2
Merged
#442 docs: mark IUV-M01 complete — mosaic-v0.0.26 released (#436)
Merged
#441 fix: add vitest.config.ts to eslint allowDefaultProject (#440 build fix)
Merged
#440 fix: bootstrap hotfix — DTO erasure, wizard failure, port prefill, Pi SDK copy (mosaic-v0.0.26)
Merged
#439 docs: scaffold install-ux-v2 mission
Merged
#435 chore(release): @mosaicstack/mosaic 0.0.25
Merged
#434 docs: close out install-ux-hardening mission
Merged
#433 feat: unified first-run flow — merge wizard + gateway install (IUH-M03)
Merged
#432 docs: mark IUH-M02 complete, start IUH-M03
Merged
#431 feat: wizard remediation — password mask, hooks preview, headless (IUH-M02)
Merged
#430 docs: scaffold install-ux-hardening mission + archive cli-unification
Merged
#429 feat: mosaic uninstall (IUH-M01)
Merged
#424 docs: finalize CLI unification mission at mosaic-v0.0.24
Merged
#423 fix: bump memory/queue/storage to 0.0.4 to force republish
Merged
#422 fix: bump stale sub-package versions (brain/forge/log)
Merged
#421 fix: revert mosaic to 0.0.22 alpha + republish macp
Merged
#420 docs: mission cli-unification-20260404 complete
Merged
#419 docs: CLI unification release v0.1.0 (M8)
Merged
#418 feat(mosaic): unified first-run UX wizard -> gateway install -> verify
Merged
#417 feat(mosaic): mosaic telemetry command (M6 CU-06-01..05)
Merged
#416 docs: session 2 orchestrator bookkeeping (M3/M4/M5 complete)
Merged
#415 fix(macp): align exports + add CLI smoke test
Merged
#410 feat(macp): mosaic macp CLI surface
Merged
#414 fix(mosaic): gateway token recovery review remediations
Merged
#413 feat(mosaic): mosaic auth CLI surface
Merged
#412 feat(forge): mosaic forge CLI surface
Merged
#407 feat(log): mosaic log CLI surface
Merged
#405 feat(storage): mosaic storage CLI surface
Merged
#406 feat(memory): mosaic memory CLI surface
Merged
#411 feat(mosaic): gateway token recovery via BetterAuth cookie
Merged
#408 feat(mosaic): top-level mosaic config command
Merged
#404 feat(queue): mosaic queue CLI surface
Merged
#403 feat(brain): mosaic brain CLI surface
Merged
#402 feat(mosaic): alphabetize and group mosaic --help output
Merged
#401 docs(plan): gateway admin token recovery flow
Merged
#400 docs: capture planning decisions + session 1 handoff
Merged
#399 docs: archive stale mission, scaffold CLI unification mission
Merged
#398 chore: remove legacy @mosaicstack/cli package
Merged
#397 chore: bump @mosaicstack/mosaic to 0.0.21 for republish
Merged
#396 ci: fail publish pipeline loudly on registry/auth/network errors
Merged
#395 fix: populate KNOWN_PACKAGES for mosaic update command
Merged
#394 fix: update Gitea org references from mosaic/ to mosaicstack/
Merged
#393 fix(mosaic): resumable gateway install + prominent admin token
Merged
#392 fix: rename @mosaic/* packages to @mosaicstack/*
Merged
#389 fix(packages): bump db/memory/queue for PGlite + adapter factories
Merged
#388 fix: simplify updater to @mosaic/mosaic only, add explicit tea repo/login flags
Merged
#386 fix(packages): republish @mosaic/config and bump dependents
Merged
#384 fix: retarget updater to @mosaic/mosaic
Merged
#385 fix(mosaic): resolve framework scripts via import.meta.url
Merged
#381 feat(mosaic): merge @mosaic/cli into @mosaic/mosaic
Merged
#379 chore: bump @mosaic/cli and @mosaic/mosaic to 0.0.16
Merged
#378 refactor(storage): replace better-sqlite3 with PGlite adapter
Merged
#377 fix: remediate npm deprecation warnings in @mosaic/gateway 0.0.3
Merged
#376 fix: gateway install preserves npm prefix via registry flag
Merged
#375 chore: move gateway default port from 4000 to 14242
Merged
#374 fix: scope Gitea registry to @mosaic packages only
Merged
#373 fix: gateway install uses Gitea registry instead of npmjs
Merged
#372 chore: bump @mosaic/mosaic and @mosaic/cli to 0.0.11
Merged
#371 feat: local tier gateway with PGlite + Gitea-only publishing
Merged
#370 feat: gateway publishability + npmjs publish script
Merged
#369 feat: mosaic gateway CLI daemon management + admin token auth
Merged
#368 fix: add build tools to CI install step for better-sqlite3 native bindings
Merged
#366 fix: add build tools to CI install step for better-sqlite3 native bindings
Merged
#367 fix: allow better-sqlite3 build script in pnpm 10
Merged
#365 feat: storage abstraction retrofit — adapters for queue, storage, memory (phases 1-4)
Merged
#364 fix: quality-rails Commander version mismatch + installer defaults
Merged
#363 fix: installer copies default framework files (AGENTS.md) to mosaicHome
Merged
#362 fix: all CLI script resolution uses bundled-first resolveTool()
Merged
#361 fix: fwScript prefers npm-bundled scripts over stale deployed copies
Merged
#360 chore: bump @mosaic/mosaic and @mosaic/cli to 0.0.6
Merged
#359 fix: auto-migrate customized skills to skills-local/ on sync
Merged
#358 fix: stale update banner + skill sync dirty worktree crash
Merged
#357 chore: bump @mosaic/mosaic and @mosaic/cli to 0.0.4
Merged
#356 fix: syncDirectory same-path guard, nested .git exclusion, and sync stash handling
Merged
#355 fix: make mosaic init idempotent — detect existing config files
Merged
#354 chore: bump all packages to 0.0.2 — drop alpha prerelease tag
Merged
#352 feat: complete CLI command parity — coord, prdy, seq, upgrade
Merged
#351 feat: unify mosaic CLI — single binary, no PATH conflict
Merged
#350 docs: add project README
Merged
#349 chore: bump all packages to 0.0.1-alpha.2
Merged
#348 feat: add web search, file edit, MCP management, file refs, and /stop to CLI/TUI
Merged
#347 feat: unified install.sh + auto-update checker (deprecates mosaic/bootstrap)
Merged
#346 fix: remove stale bootstrap repo references
Merged
#345 feat: complete bootstrap → monorepo migration (archive-ready)
Merged
#344 feat: integrate framework files into monorepo
Merged
#343 fix(web): add public/ directory — fixes Docker build COPY failure
Merged
#342 fix(ci): use gitea_token secret for npm publish
Merged
#341 feat: npm publish pipeline + package versioning (0.0.1-alpha.1)
Merged
#340 feat: mosaic-* skill naming, board/forge/prdy skills, doctor --fix auto-wiring
Merged
#339 feat: add Pi as first-class Mosaic runtime
Merged
#338 fix(ci): pass DATABASE_URL through Turbo to test tasks
Merged
#337 fix(db): add missing migration to Drizzle journal — fixes CI test failures
Merged
#335 feat(ci): Docker build+push pipeline for gateway and web images
Merged
#336 fix: parse VALKEY_URL into RedisOptions for BullMQ — fixes ECONNREFUSED 6379
Merged
#333 fix: remove all hardcoded user paths — dynamic OC SDK resolution
Merged
#332 fix: update MACP plugin paths from /home/jarvis to local environment
Merged
#331 feat: monorepo consolidation — forge, MACP, framework plugin, profiles/guides/skills
Merged
#330 fix(oc-plugin): MACP OC bridge — route through controller queue instead of Pi-direct
Merged
#329 feat(oc-plugin): MACP ACP runtime backend — sessions_spawn(runtime:macp)
Merged
#327 chore: Harness Foundation mission COMPLETE — v0.2.0
Merged
#326 docs: add M7-003 through M7-007 Matrix architecture sections
Merged
#324 feat(M5-008,M6-001-005): session hardening tests + BullMQ job queue
Merged
#325 feat(M6-006,M6-007,M7-001,M7-002): admin jobs API, job event logging, channel adapter interface, message protocol
Merged
#323 feat(M4-013,M5-001,M5-002,M5-003): routing e2e tests, agent config loading, model+agent switching
Merged
#321 feat(M5-004,M5-005,M5-006,M5-007): session-conversation binding, session:info broadcast, agent creation from TUI, and session metrics
Merged
#320 feat(M4-009,M4-010,M4-011): routing rules CRUD, per-user overrides, agent capabilities
Merged
#319 test(M3-012): provider adapter integration tests for all 5 providers
Merged
#318 feat(routing): implement routing decision pipeline — M4-006
Merged
#317 fix(ci)+feat(M3-010/011): skip DB-gated tests in CI + provider_credentials migration
Merged
#316 feat(routing): task classifier + default rules + CI test fixes — M4-004/005
Merged
#314 feat(M3-005): ZaiAdapter for Z.ai GLM-5 provider
Merged
#315 feat(routing): routing_rules schema + types — M4-001/002/003
Merged
#312 chore: update TASKS.md — 25/65 done, Wave 5 in progress
Merged
#311 feat(providers): OpenRouter adapter + Ollama embedding support — M3-004/006
Merged
#310 feat(M3-003): OpenAI provider adapter for Codex gpt-5.4
Merged
#309 feat(M3-002): implement AnthropicAdapter for Claude Sonnet 4.6, Opus 4.6, and Haiku 4.5
Merged
#308 feat(M3-007,M3-009): provider health check scheduler and Ollama embedding default
Merged
#307 chore: M1 + M2 milestones complete — 18/65 tasks done
Merged
#303 feat(M3-008): define model capability matrix
Merged
#305 test(M2-007): cross-user data isolation integration test
Merged
#306 feat(M3-001): refactor ProviderService into IProviderAdapter pattern
Merged
#304 test(persistence): M1-008 verification — 20 integration tests
Merged
#302 chore: Wave 2 complete — 14/65 tasks done
Merged
#301 feat(gateway): load conversation history on session resume (M1-004, M1-005)
Merged
#299 feat(conversations): add search endpoint — M1-006
Merged
#298 fix(security): M2-008 Valkey key audit — SCAN over KEYS, restrict /gc to admin
Merged
#297 feat(tui): add /history command — M1-007
Merged
#296 chore: Wave 1 complete — fix merge conflicts, update task status
Merged
#290 fix(memory): scope InsightsRepo operations to userId — M2-001/002
Merged
#293 fix(M2-005,M2-006): enforce user ownership at repo level for conversations and agents
Merged
#295 chore: mark M1-001/002/003 and M2-003/004 done
Merged
#294 fix(security): scope memory tools to session userId — M2-003/004
Merged
#292 feat(chat): persist messages to DB via ConversationsRepo (M1-001/002/003)
Merged
#289 chore: bootstrap Harness Foundation mission (Phase 9)
Merged
#223 chore: mark P8-001/002/003 done in TASKS.md
Merged
#222 feat(web): conversation sidebar with search, rename, delete
Merged
#221 feat(web): design system — ms-* tokens, ThemeProvider, MosaicLogo, sidebar
Merged
#220 feat(auth): add WorkOS and Keycloak SSO providers (rebased)
Merged
#219 chore: mark P8-001/002/003 in-progress, P8-004 done
Merged
#216 feat(web): chat interface — model selector, keybindings, thinking display, v0 styled header
Merged
#215 chore: fix prettier formatting on markdown files
Merged
#212 feat(gateway): add Anthropic, OpenAI, Z.ai LLM providers (P8-002)
Merged
#211 perf: gateway + DB + frontend optimizations (P8-003)
Merged
#210 feat(auth): add WorkOS and Keycloak SSO providers (P8-001)
Merged
#214 docs: add TASKS.md agent-column schema to AGENTS.md
Merged
#213 chore: add agent model column to TASKS.md
Merged
#204 fix(web): conversation DELETE — resolve Failed to fetch TypeError
Merged
#205 fix(cli): TUI polish — Ctrl+T, React keys, clipboard, version
Merged
#203 fix(web): admin page role check — stop false redirect to /chat
Merged
#201 fix(cli): sidebar delete conversation — fix silent failure
Merged
#202 fix(gateway): filter projects by ownership — close data privacy leak
Merged
#200 feat(gateway): Discord channel auto-creation on project bootstrap
Merged
#198 feat(gateway): /system override condensation — accumulate + Haiku merge
Merged
#190 feat(gateway): project bootstrap — docs structure + default agent
Merged
#189 fix(gateway): system override TTL 5min → 7 days
Merged
#188 fix(cli): disable Ink exitOnCtrlC so double-press handler runs
Merged
#187 fix(cli): wire command:result + system:reload socket events in TUI
Merged
#186 docs: mark mission complete — 9/9 milestones, all ACs verified (v0.1.0)
Merged
#185 feat: verify Phase 8 platform architecture + integration tests (P8-019)
Merged
#184 feat(cli): TUI autocomplete sidebar + fuzzy match + arg hints + input history (P8-017)
Merged
#183 feat(gateway): WorkspaceService + ProjectBootstrapService + TeamsService (P8-015)
Merged
#182 feat(gateway): MosaicPlugin lifecycle + ReloadService + hot reload (P8-013)
Merged
#181 feat(gateway): /agent, /provider, /mission, /prdy, /tools commands (P8-012)
Merged
#179 feat(gateway): SessionGCService three-tier GC + /gc command + cron (P8-014)
Merged
#180 feat(gateway): PreferencesService + /preferences REST + /system Valkey override (P8-011)
Merged
#178 feat(gateway): CommandRegistryService + CommandExecutorService (P8-010)
Merged
#177 feat(gateway): tool path hardening + sandbox escape prevention (P8-016)
Merged
#176 feat(cli): TUI slash command parsing + local commands (P8-009)
Merged
#175 feat(db): teams schema + preferences.mutable migration
Merged
#174 feat(types): CommandDef, CommandManifest, slash command socket events
Merged
#173 docs: agent platform architecture plan — augmentation + task breakdown
Merged
#159 docs: update TASKS.md and scratchpad for CLI command architecture
Merged
#158 feat(cli): command architecture — agents, missions, gateway-aware prdy
Merged
#157 feat(cli): TUI complete overhaul — components, sidebar, search, branding
Merged
#156 fix(ci): remove from_secret to unblock PR pipelines
Merged
#155 fix(web): add jsdom dependency and exclude e2e from vitest
Merged
#154 chore(orchestrator): Phase 7 complete — v0.0.8 verified
Merged
#153 docs(deploy): add deployment guide and expand .env.example
Merged
#152 feat(web): Playwright E2E test suite for critical paths
Merged
#151 docs: user guide, admin guide, dev guide (closes #57)
Merged
#150 feat(admin): web admin panel — user CRUD, role assignment, system health
Merged
#149 feat(coord): DB migration — project-scoped missions, multi-tenant RBAC
Merged
#148 feat(agent): session cwd sandbox, system prompt config, tool restrictions
Merged
#147 fix(cli): remove side-effect from agent:end state updater (#133)
Merged
#146 feat(cli): add sessions list/resume/destroy subcommands
Merged
#145 feat(web): settings persistence — profile, preferences save to DB (#124)
Merged
#144 feat(cli): add --model/--provider flags and /model /provider TUI commands
Merged
#143 feat(agent): skill invocation — load and execute skills from catalog (#128)
Merged
#142 feat(web): provider management UI — list, test, model capabilities (#123)
Merged
#141 feat(gateway): MCP client — connect to external MCP servers as agent tools (#127)
Merged
#140 feat(web): project detail views — missions, tasks, PRD viewer (#122)
Merged
#139 feat(web): conversation management — search, rename, delete, archive (#121)
Merged
#138 feat(agent): expand tool registry — file, git, shell, web fetch (#126)
Merged
#137 feat(gateway): add MCP server endpoint with streamable HTTP transport
Merged
#136 feat(web): wire WebSocket chat with streaming and conversation switching (#120)
Merged
#135 chore(orchestrator): Phase 7 planning — 10-wave execution plan
Merged
#119 chore(orchestrator): rescope Phase 7 as Feature Completion, add Phase 8
Merged
#118 chore(orchestrator): rescope Phase 7 + add Phase 8
Merged
#117 fix(agent): register Ollama with api: openai-completions
Merged
#116 fix(agent): pass dummy apiKey for Ollama provider registration
Merged
#115 fix(cli): add Origin header to auth requests
Merged
#114 feat(cli): add login command and authenticated TUI sessions
Merged
#113 chore: remove deprecated husky v9 shim lines
Merged
#112 fix(auth): add CORS headers to BetterAuth raw HTTP handler
Merged
#111 fix(auth): add trustedOrigins to BetterAuth for cross-origin web dashboard
Merged
#110 fix(gateway): CORS, memory userId from session, pgvector auto-init
Merged
#109 fix(gateway): add missing @Inject() decorators causing silent startup hang
Merged
#108 fix(gateway): load .env from monorepo root via dotenv
Merged
#107 fix(ci): use from_secret syntax for Woodpecker v2
Merged
#106 ci: enable Turbo remote cache + parallelize pipeline steps
Merged
#105 chore(orchestrator): complete Phase 6 milestone v0.0.7
Merged
#104 feat(cli): add prdy, quality-rails, and wizard subcommands
Merged
#103 feat(mosaic): migrate install wizard from v0 to v1
Merged
#102 fix(gateway): resolve two startup bugs blocking E2E testing
Merged
#101 feat(prdy): migrate @mosaic/prdy from v0 to v1
Merged
#100 feat(quality-rails): migrate @mosaic/quality-rails from v0 to v1
Merged
#99 fix(gateway): wire Telegram plugin into gateway plugin host
Merged
#97 feat(auth): P5-004 Authentik OIDC adapter via Better Auth genericOAuth
Merged
#98 fix(gateway): ownership checks for TasksController findAll/create + MissionsController create
Merged
#95 fix(ci): sequential steps + single install to prevent OOM on runner
Merged
#85 fix(gateway): security hardening — auth guards, ownership checks, validation, rate limiting
Merged
#93 feat(plugins): P5-003 Telegram channel plugin
Merged
#92 feat(gateway): P5-001 plugin host module
Merged
#91 feat(Phase 4): Memory & Intelligence — memory, log, summarization, skills
Merged
#90 verify(P3-008): Phase 3 web dashboard verification
Merged
#89 feat(web): admin panel with session management
Merged
#88 feat(web): settings page with profile, providers, and models
Merged
#87 feat(web): project list and mission dashboard views
Merged
#86 feat(web): task management with list view and kanban board
Merged
#84 feat(web): chat UI with conversations and WebSocket streaming
Merged
#83 feat(web): wire auth pages with BetterAuth and route guards
Merged
#82 feat(web): scaffold Next.js 16 dashboard with design system and auth client
Merged
#81 fix: coord review remediations (path traversal, JSON parse, race condition)
Merged
#79 test: verify Phase 2 — routing + coord tests (P2-007)
Merged
#78 feat: agent session management — metrics, channels, dispose (P2-006)
Merged
#77 feat: @mosaic/coord — migrate from v0, gateway integration (P2-005)
Merged
#76 feat: tool registration — brain tools for agent sessions (P2-004)
Merged
#75 feat: agent routing engine — cost/capability matrix (P2-003)
Merged
#74 feat: multi-provider support — Anthropic + Ollama (P2-002)
Merged
#73 fix: auth handler + circular imports — Phase 1 verification (P1-009)
Merged
#72 feat: gateway CRUD routes — conversations, projects, missions, tasks (P1-005/006)
Merged
#71 feat: auth middleware, brain data layer, Valkey queue (P1-002/003/004)
Merged
#70 fix: Phase 0 verification — CI gates green (P0-009)
Merged
#69 feat: Woodpecker CI pipeline + project docs (P0-007, P0-008)
Merged
#68 feat(auth): @mosaic/auth — BetterAuth email/password setup
Merged
#67 feat(db): @mosaic/db — Drizzle schema, PG connection, migrations
Merged
#66 fix: Jaeger image tag + remap PG/Valkey ports
Merged
#65 feat: foundation — Docker Compose, OTEL, shared types
Merged
#61 feat: communication spine — gateway, TUI, Discord
Merged
#60 feat(P0-001): scaffold monorepo structure
175 Issues closed from 1 user
Closed
#457 install.sh does not seed TOOLS.md — breaks AGENTS.md mandatory load order
Closed
#454 fix(launcher): mosaic yolo runtime passes runtime name as initial user message
Closed
#438 IUV-M03: Install UX v2 — provider-first intelligent flow + drill-down main menu
Closed
#437 IUV-M02: Install UX v2 polish — CORS→FQDN, skill installer rework
Closed
#436 IUV-M01: Install UX v2 hotfix — bootstrap DTO, wizard failure propagation, port prefill, Pi SDK copy
Closed
#427 IUH-M03: Unified first-run wizard (collapse wizard + gateway install)
Closed
#426 IUH-M02: Wizard remediation — hooks visibility, password masking, headless path
Closed
#425 IUH-M01: mosaic uninstall — top-level teardown + shell wrapper
Closed
#391 Rename @mosaic/* to @mosaicstack/* and enhance update checker
Closed
#390 Test issue
Closed
#387 Simplify updater to @mosaic/mosaic only and fix Gitea wrapper repo context
Closed
#382 Fix updater to check @mosaic/mosaic instead of @mosaic/cli
Closed
#383 mosaic doctor fails with ERR_PACKAGE_PATH_NOT_EXPORTED fallback miss
Closed
#328 OC-MACP: OpenClaw MACP plugin — sessions_spawn runtime:macp with Pi dispatch and completion signaling
Closed
#288 M7-008: Publish channel-protocol.md
Closed
#286 M7-006: Design agent-to-agent communication via Matrix
Closed
#287 M7-007: Design multi-user isolation in Matrix
Closed
#285 M7-005: Design remote auth bridging
Closed
#284 M7-004: Design conversation multiplexing
Closed
#283 M7-003: Design Matrix integration
Closed
#277 M6-005: Migrate tier management → BullMQ
Closed
#276 M6-004: Migrate GC → BullMQ
Closed
#272 M5-008: Verify — /model switches, /agent switches, session resume
Closed
#273 M6-001: Add BullMQ — configure with Valkey
Closed
#275 M6-003: Migrate summarization cron → BullMQ
Closed
#274 M6-002: Queue service — typed jobs, workers, error handling
Closed
#279 M6-007: Job event logging — emit to agent_logs
Closed
#282 M7-002: Define channel message protocol
Closed
#281 M7-001: Define IChannelAdapter interface
Closed
#278 M6-006: Admin jobs API — /api/admin/jobs
Closed
#267 M5-003: /agent command — switch agent config mid-session
Closed
#265 M5-001: Wire ChatGateway — load agent config from DB on session create
Closed
#266 M5-002: /model command — end-to-end wiring
Closed
#264 M4-013: Verify — coding→Opus, summarize→GLM-5, /model override
Closed
#322 feat: M4-013/M5-001/M5-002/M5-003 — routing e2e tests + agent config + model/agent switching
Closed
#270 M5-006: Agent creation from TUI — /agent new
Closed
#271 M5-007: Session metrics — token usage, model switches, duration
Closed
#268 M5-004: Session ↔ conversation binding — persist and resume
Closed
#269 M5-005: Session info broadcast on model/agent switch
Closed
#263 M4-012: Wire routing into ChatGateway — every message routes
Closed
#259 M4-008: Routing transparency — session:info includes decision reason
Closed
#258 M4-007: Routing override — /model forces specific model
Closed
#262 M4-011: Agent specialization — declare capabilities in config
Closed
#261 M4-010: Per-user routing overrides
Closed
#260 M4-009: Routing rules CRUD — /api/routing/rules
Closed
#251 M3-012: Verify — all providers connect, list models, complete chat
Closed
#257 M4-006: Routing decision pipeline — classify → match → health → fallback
Closed
#250 M3-011: Provider config CRUD — /api/providers
Closed
#249 M3-010: OAuth token storage — encrypted per-user in DB
Closed
#256 M4-005: Task classification — regex/keyword classifier
Closed
#255 M4-004: Default routing rules — seed data
Closed
#244 M3-005: Z.ai GLM adapter — GLM-5
Closed
#252 M4-001: Define routing rule schema — DB migration
Closed
#254 M4-003: Action types — routeTo with provider, model, agentConfig
Closed
#253 M4-002: Condition types — taskType, complexity, domain, costTier, capabilities
Closed
#245 M3-006: Ollama adapter — refactor + embedding support
Closed
#243 M3-004: OpenRouter adapter — multi-model aggregator
Closed
#242 M3-003: OpenAI adapter — Codex gpt-5.4
Closed
#241 M3-002: Anthropic adapter — Claude Sonnet/Opus/Haiku 4.x
Closed
#248 M3-009: Refactor EmbeddingService — Ollama default
Closed
#246 M3-007: Provider health check — periodic probe + status endpoint
Closed
#240 M3-001: Refactor ProviderService into IProviderAdapter pattern
Closed
#247 M3-008: Model capability matrix
Closed
#238 M2-007: Integration test — cross-user isolation
Closed
#231 M1-008: Verify conversation persistence and context resume
Closed
#227 M1-004: Load conversation history into Pi session on resume
Closed
#228 M1-005: Context window management — summarize when history exceeds 80%
Closed
#300 M1-004/M1-005: Load conversation history on session resume
Closed
#229 M1-006: Conversation search endpoint
Closed
#239 M2-008: Audit Valkey keys — no cross-user enumeration
Closed
#230 M1-007: TUI /history command
Closed
#237 M2-006: Audit AgentsRepo — findAccessible scope
Closed
#236 M2-005: Audit ConversationsRepo — ownership checks
Closed
#233 M2-002: Audit InsightsRepo — userId filter on findByUser, decayOldInsights
Closed
#232 M2-001: Audit InsightsRepo — add userId to searchByEmbedding()
Closed
#235 M2-004: Audit agent memory tools — scope to session user
Closed
#234 M2-003: Audit PreferencesRepo — verify userId filtering
Closed
#226 M1-003: Store message metadata (model, provider, tokens, tool calls)
Closed
#225 M1-002: Wire agent event relay → ConversationsRepo for assistant messages
Closed
#224 M1-001: Wire ChatGateway → ConversationsRepo for user messages
Closed
#291 M1-001/002/003: Persist chat messages to DB
Closed
#53 Additional SSO providers — WorkOS + Keycloak
Closed
#194 bug(cli): /provider login — "URL copied to clipboard" but no clipboard copy occurs
Closed
#192 bug(cli): Ctrl+T types "t" in input instead of cycling thinking level
Closed
#193 bug(cli): duplicate React keys in CommandAutocomplete — "clear" and "help" collisions
Closed
#199 bug(cli): TUI displays hardcoded version "0.0.0" instead of actual semver
Closed
#195 bug(web): DELETE conversation fails with "Failed to fetch" TypeError
Closed
#196 bug(web): admin page redirects to /chat — role check fails
Closed
#191 bug(cli): sidebar "d" delete action does not delete a conversation
Closed
#197 bug(gateway): projects list endpoint returns ALL projects regardless of ownership — data privacy violation
Closed
#172 P8-019: Verify Platform Architecture — integration + E2E verification
Closed
#170 P8-017: TUI Phase 8 — autocomplete sidebar, fuzzy match, arg hints, up-arrow history
Closed
#168 P8-015: Gateway Phase 7 — WorkspaceService, ProjectBootstrapService, Teams project ownership
Closed
#166 P8-013: Gateway Phase 5 — MosaicPlugin lifecycle, ReloadService, hot reload
Closed
#165 P8-012: Gateway Phase 4 — /agent, /provider, /mission, /prdy, /tools commands
Closed
#167 P8-014: Gateway Phase 6 — SessionGCService, all three GC tiers, /gc command
Closed
#164 P8-011: Gateway Phase 3 — PreferencesService, /preferences REST, /system Valkey override
Closed
#163 P8-010: Gateway Phase 2 — CommandRegistryService, CommandExecutorService, command module
Closed
#169 P8-016: Security — strict path hardening in file/git/shell tools
Closed
#162 P8-009: TUI Phase 1 — slash command parsing, local commands, InputBar wiring
Closed
#160 P8-007: DB migrations — preferences.mutable + teams schema
Closed
#161 P8-008: @mosaic/types — CommandDef, CommandManifest, socket events
Closed
#171 P8-018: Spin-off plan stubs — Gatekeeper, Task Queue Unification, Chroot Sandboxing
Closed
#132 P7-021: Verify Phase 7 — feature-complete platform E2E
Closed
#58 Bare-metal deployment docs + .env.example
Closed
#55 E2E test suite — Playwright critical paths
Closed
#57 Documentation — user guide, admin guide, dev guide
Closed
#125 P7-014: Web admin panel — user CRUD, role assignment, system health
Closed
#131 P7-020: Coord DB migration — project-scoped missions, multi-tenant RBAC
Closed
#134 FIX-03: Agent session — cwd sandbox, system prompt, tool restrictions
Closed
#133 FIX-02: TUI agent:end — fix React state updater side-effect
Closed
#130 P7-019: CLI session management — list, resume, destroy sessions
Closed
#129 P7-018: CLI model/provider switching — --model, --provider, /model in TUI
Closed
#124 P7-013: Web settings persistence — profile, preferences save to DB
Closed
#128 P7-017: Agent skill invocation — load and execute skills from catalog
Closed
#123 P7-012: Web provider management UI — add, configure, test LLM providers
Closed
#127 P7-016: MCP client — gateway connects to external MCP servers as tools
Closed
#122 P7-011: Web project detail views — missions, tasks, PRDs, dashboards
Closed
#121 P7-010: Web conversation management — list, search, rename, delete, archive
Closed
#126 P7-015: Agent tool expansion — file ops, git, shell exec, web fetch
Closed
#52 MCP endpoint hardening — streamable HTTP transport
Closed
#120 P7-009: Web chat — WebSocket integration, streaming, conversation switching
Closed
#49 @mosaic/mosaic — install wizard for v1
Closed
#48 @mosaic/quality-rails — migrate scaffolder from v0
Closed
#51 Verify Phase 6 — CLI functional, all subcommands
Closed
#47 @mosaic/prdy — migrate PRD wizard from v0
Closed
#46 @mosaic/cli — unified CLI binary + subcommands
Closed
#45 Verify Phase 5 — Discord + Telegram + SSO working
Closed
#96 P5-004: Authentik OIDC adapter via Better Auth genericOAuth
Closed
#43 @mosaic/telegram-plugin — Telegraf bot + channel plugin
Closed
#41 Plugin host — gateway plugin loading + channel interface
Closed
#40 Verify Phase 4 — memory + log pipeline working
Closed
#39 Skill management — catalog, install, config
Closed
#38 Memory integration — inject into agent sessions
Closed
#36 @mosaic/log — log ingest, parsing, tiered storage
Closed
#37 Summarization pipeline — Haiku-tier LLM + cron
Closed
#35 Semantic search — pgvector embeddings + search API
Closed
#34 @mosaic/memory — preference + insight stores
Closed
#33 Verify Phase 3 — web dashboard functional E2E
Closed
#32 Admin panel — user management, RBAC
Closed
#31 Settings — provider config, profile, integrations
Closed
#30 Project & mission views — dashboard + PRD viewer
Closed
#29 Task management — list view + kanban board
Closed
#28 Chat UI — conversations, messages, streaming
Closed
#27 Auth pages — login, registration, SSO redirect
Closed
#26 apps/web scaffold — Next.js 16 + BetterAuth + Tailwind
Closed
#80 fix: coord review remediations — path traversal, JSON parse guards, race condition
Closed
#25 Verify Phase 2 — multi-provider routing works
Closed
#62 fix: call piSession.dispose() in AgentService.destroySession
Closed
#24 Agent session management — tmux + monitoring
Closed
#23 @mosaic/coord — migrate from v0, gateway integration
Closed
#22 Tool registration — brain, queue, memory tools
Closed
#21 Agent routing engine — cost/capability matrix
Closed
#20 Multi-provider support — Anthropic + Ollama
Closed
#18 Verify Phase 1 — gateway functional, API tested
Closed
#15 Gateway routes — tasks, projects, missions CRUD
Closed
#14 Gateway routes — conversations CRUD + messages
Closed
#12 @mosaic/brain — migrate from v0, PG backend
Closed
#13 @mosaic/queue — migrate from v0
Closed
#11 Auth middleware — BetterAuth session validation
Closed
#9 Verify Phase 0 — CI green, all packages build
Closed
#8 Project docs — AGENTS.md, CLAUDE.md, README
Closed
#7 CI pipeline — Woodpecker config
Closed
#4 @mosaic/auth — BetterAuth email/password setup
Closed
#3 @mosaic/db — Drizzle schema and PG connection
Closed
#2 @mosaic/types — migrate and extend shared types
Closed
#6 OTEL foundation — OpenTelemetry SDK setup
Closed
#5 Docker Compose — PG 17, Valkey 8, SigNoz
Closed
#16 WebSocket server — chat streaming
Closed
#10 apps/gateway scaffold — NestJS + Fastify adapter
Closed
#17 Basic agent dispatch — single provider
Closed
#19 @mosaic/agent — Pi SDK integration + agent pool
Closed
#50 Pi TUI integration — mosaic tui
Closed
#42 @mosaic/discord-plugin — Discord bot + channel plugin
Closed
#1 Scaffold monorepo
188 Issues created by 1 user
Opened
#1 Scaffold monorepo
Opened
#2 @mosaic/types — migrate and extend shared types
Opened
#3 @mosaic/db — Drizzle schema and PG connection
Opened
#5 Docker Compose — PG 17, Valkey 8, SigNoz
Opened
#8 Project docs — AGENTS.md, CLAUDE.md, README
Opened
#6 OTEL foundation — OpenTelemetry SDK setup
Opened
#7 CI pipeline — Woodpecker config
Opened
#4 @mosaic/auth — BetterAuth email/password setup
Opened
#9 Verify Phase 0 — CI green, all packages build
Opened
#10 apps/gateway scaffold — NestJS + Fastify adapter
Opened
#14 Gateway routes — conversations CRUD + messages
Opened
#11 Auth middleware — BetterAuth session validation
Opened
#13 @mosaic/queue — migrate from v0
Opened
#16 WebSocket server — chat streaming
Opened
#15 Gateway routes — tasks, projects, missions CRUD
Opened
#12 @mosaic/brain — migrate from v0, PG backend
Opened
#17 Basic agent dispatch — single provider
Opened
#18 Verify Phase 1 — gateway functional, API tested
Opened
#22 Tool registration — brain, queue, memory tools
Opened
#21 Agent routing engine — cost/capability matrix
Opened
#20 Multi-provider support — Anthropic + Ollama
Opened
#19 @mosaic/agent — Pi SDK integration + agent pool
Opened
#24 Agent session management — tmux + monitoring
Opened
#23 @mosaic/coord — migrate from v0, gateway integration
Opened
#25 Verify Phase 2 — multi-provider routing works
Opened
#31 Settings — provider config, profile, integrations
Opened
#30 Project & mission views — dashboard + PRD viewer
Opened
#29 Task management — list view + kanban board
Opened
#28 Chat UI — conversations, messages, streaming
Opened
#27 Auth pages — login, registration, SSO redirect
Opened
#26 apps/web scaffold — Next.js 16 + BetterAuth + Tailwind
Opened
#33 Verify Phase 3 — web dashboard functional E2E
Opened
#32 Admin panel — user management, RBAC
Opened
#37 Summarization pipeline — Haiku-tier LLM + cron
Opened
#38 Memory integration — inject into agent sessions
Opened
#34 @mosaic/memory — preference + insight stores
Opened
#36 @mosaic/log — log ingest, parsing, tiered storage
Opened
#35 Semantic search — pgvector embeddings + search API
Opened
#39 Skill management — catalog, install, config
Opened
#40 Verify Phase 4 — memory + log pipeline working
Opened
#42 @mosaic/discord-plugin — Discord bot + channel plugin
Opened
#41 Plugin host — gateway plugin loading + channel interface
Opened
#45 Verify Phase 5 — Discord + Telegram + SSO working
Opened
#43 @mosaic/telegram-plugin — Telegraf bot + channel plugin
Opened
#44 SSO — Authentik OIDC adapter end-to-end
Opened
#46 @mosaic/cli — unified CLI binary + subcommands
Opened
#47 @mosaic/prdy — migrate PRD wizard from v0
Opened
#49 @mosaic/mosaic — install wizard for v1
Opened
#48 @mosaic/quality-rails — migrate scaffolder from v0
Opened
#51 Verify Phase 6 — CLI functional, all subcommands
Opened
#50 Pi TUI integration — mosaic tui
Opened
#52 MCP endpoint hardening — streamable HTTP transport
Opened
#53 Additional SSO providers — WorkOS + Keycloak
Opened
#54 Additional LLM providers — Codex, Z.ai, LM Studio, llama.cpp
Opened
#56 Performance optimization
Opened
#58 Bare-metal deployment docs + .env.example
Opened
#55 E2E test suite — Playwright critical paths
Opened
#57 Documentation — user guide, admin guide, dev guide
Opened
#59 Beta release gate — v0.1.0 tag
Opened
#62 fix: call piSession.dispose() in AgentService.destroySession
Opened
#63 fix: TUI agent:end handler calls setMessages inside setCurrentStreamText updater
Opened
#64 fix: agent session needs cwd sandboxing, system prompt, and tool restrictions
Opened
#80 fix: coord review remediations — path traversal, JSON parse guards, race condition
Opened
#94 feat(plugins): plugin-to-gateway WebSocket auth mechanism
Opened
#96 P5-004: Authentik OIDC adapter via Better Auth genericOAuth
Opened
#121 P7-010: Web conversation management — list, search, rename, delete, archive
Opened
#120 P7-009: Web chat — WebSocket integration, streaming, conversation switching
Opened
#122 P7-011: Web project detail views — missions, tasks, PRDs, dashboards
Opened
#123 P7-012: Web provider management UI — add, configure, test LLM providers
Opened
#124 P7-013: Web settings persistence — profile, preferences save to DB
Opened
#125 P7-014: Web admin panel — user CRUD, role assignment, system health
Opened
#126 P7-015: Agent tool expansion — file ops, git, shell exec, web fetch
Opened
#127 P7-016: MCP client — gateway connects to external MCP servers as tools
Opened
#128 P7-017: Agent skill invocation — load and execute skills from catalog
Opened
#129 P7-018: CLI model/provider switching — --model, --provider, /model in TUI
Opened
#130 P7-019: CLI session management — list, resume, destroy sessions
Opened
#131 P7-020: Coord DB migration — project-scoped missions, multi-tenant RBAC
Opened
#132 P7-021: Verify Phase 7 — feature-complete platform E2E
Opened
#133 FIX-02: TUI agent:end — fix React state updater side-effect
Opened
#134 FIX-03: Agent session — cwd sandbox, system prompt, tool restrictions
Opened
#160 P8-007: DB migrations — preferences.mutable + teams schema
Opened
#161 P8-008: @mosaic/types — CommandDef, CommandManifest, socket events
Opened
#162 P8-009: TUI Phase 1 — slash command parsing, local commands, InputBar wiring
Opened
#163 P8-010: Gateway Phase 2 — CommandRegistryService, CommandExecutorService, command module
Opened
#165 P8-012: Gateway Phase 4 — /agent, /provider, /mission, /prdy, /tools commands
Opened
#166 P8-013: Gateway Phase 5 — MosaicPlugin lifecycle, ReloadService, hot reload
Opened
#164 P8-011: Gateway Phase 3 — PreferencesService, /preferences REST, /system Valkey override
Opened
#167 P8-014: Gateway Phase 6 — SessionGCService, all three GC tiers, /gc command
Opened
#168 P8-015: Gateway Phase 7 — WorkspaceService, ProjectBootstrapService, Teams project ownership
Opened
#169 P8-016: Security — strict path hardening in file/git/shell tools
Opened
#171 P8-018: Spin-off plan stubs — Gatekeeper, Task Queue Unification, Chroot Sandboxing
Opened
#170 P8-017: TUI Phase 8 — autocomplete sidebar, fuzzy match, arg hints, up-arrow history
Opened
#172 P8-019: Verify Platform Architecture — integration + E2E verification
Opened
#191 bug(cli): sidebar "d" delete action does not delete a conversation
Opened
#192 bug(cli): Ctrl+T types "t" in input instead of cycling thinking level
Opened
#193 bug(cli): duplicate React keys in CommandAutocomplete — "clear" and "help" collisions
Opened
#194 bug(cli): /provider login — "URL copied to clipboard" but no clipboard copy occurs
Opened
#195 bug(web): DELETE conversation fails with "Failed to fetch" TypeError
Opened
#196 bug(web): admin page redirects to /chat — role check fails
Opened
#197 bug(gateway): projects list endpoint returns ALL projects regardless of ownership — data privacy violation
Opened
#199 bug(cli): TUI displays hardcoded version "0.0.0" instead of actual semver
Opened
#206 bug: Shift+Tab thinking cycle is a no-op when model has no reasoning support
Opened
#207 bug: ProviderService.getDefaultModel() returns first available model with no reasoning guarantee
Opened
#209 ux: No feedback in CLI TUI when Shift+Tab thinking cycle is unsupported for current model
Opened
#208 bug: Ollama and custom provider models always registered with reasoning: false, breaking thinking level support
Opened
#227 M1-004: Load conversation history into Pi session on resume
Opened
#224 M1-001: Wire ChatGateway → ConversationsRepo for user messages
Opened
#225 M1-002: Wire agent event relay → ConversationsRepo for assistant messages
Opened
#226 M1-003: Store message metadata (model, provider, tokens, tool calls)
Opened
#231 M1-008: Verify conversation persistence and context resume
Opened
#230 M1-007: TUI /history command
Opened
#229 M1-006: Conversation search endpoint
Opened
#228 M1-005: Context window management — summarize when history exceeds 80%
Opened
#234 M2-003: Audit PreferencesRepo — verify userId filtering
Opened
#232 M2-001: Audit InsightsRepo — add userId to searchByEmbedding()
Opened
#233 M2-002: Audit InsightsRepo — userId filter on findByUser, decayOldInsights
Opened
#236 M2-005: Audit ConversationsRepo — ownership checks
Opened
#235 M2-004: Audit agent memory tools — scope to session user
Opened
#237 M2-006: Audit AgentsRepo — findAccessible scope
Opened
#238 M2-007: Integration test — cross-user isolation
Opened
#239 M2-008: Audit Valkey keys — no cross-user enumeration
Opened
#241 M3-002: Anthropic adapter — Claude Sonnet/Opus/Haiku 4.x
Opened
#240 M3-001: Refactor ProviderService into IProviderAdapter pattern
Opened
#242 M3-003: OpenAI adapter — Codex gpt-5.4
Opened
#244 M3-005: Z.ai GLM adapter — GLM-5
Opened
#243 M3-004: OpenRouter adapter — multi-model aggregator
Opened
#245 M3-006: Ollama adapter — refactor + embedding support
Opened
#246 M3-007: Provider health check — periodic probe + status endpoint
Opened
#247 M3-008: Model capability matrix
Opened
#249 M3-010: OAuth token storage — encrypted per-user in DB
Opened
#250 M3-011: Provider config CRUD — /api/providers
Opened
#248 M3-009: Refactor EmbeddingService — Ollama default
Opened
#251 M3-012: Verify — all providers connect, list models, complete chat
Opened
#252 M4-001: Define routing rule schema — DB migration
Opened
#255 M4-004: Default routing rules — seed data
Opened
#254 M4-003: Action types — routeTo with provider, model, agentConfig
Opened
#253 M4-002: Condition types — taskType, complexity, domain, costTier, capabilities
Opened
#256 M4-005: Task classification — regex/keyword classifier
Opened
#260 M4-009: Routing rules CRUD — /api/routing/rules
Opened
#259 M4-008: Routing transparency — session:info includes decision reason
Opened
#258 M4-007: Routing override — /model forces specific model
Opened
#257 M4-006: Routing decision pipeline — classify → match → health → fallback
Opened
#261 M4-010: Per-user routing overrides
Opened
#262 M4-011: Agent specialization — declare capabilities in config
Opened
#263 M4-012: Wire routing into ChatGateway — every message routes
Opened
#264 M4-013: Verify — coding→Opus, summarize→GLM-5, /model override
Opened
#267 M5-003: /agent command — switch agent config mid-session
Opened
#265 M5-001: Wire ChatGateway — load agent config from DB on session create
Opened
#269 M5-005: Session info broadcast on model/agent switch
Opened
#266 M5-002: /model command — end-to-end wiring
Opened
#268 M5-004: Session ↔ conversation binding — persist and resume
Opened
#273 M6-001: Add BullMQ — configure with Valkey
Opened
#271 M5-007: Session metrics — token usage, model switches, duration
Opened
#270 M5-006: Agent creation from TUI — /agent new
Opened
#272 M5-008: Verify — /model switches, /agent switches, session resume
Opened
#275 M6-003: Migrate summarization cron → BullMQ
Opened
#276 M6-004: Migrate GC → BullMQ
Opened
#277 M6-005: Migrate tier management → BullMQ
Opened
#274 M6-002: Queue service — typed jobs, workers, error handling
Opened
#280 M6-008: Verify — jobs schedule, retry, admin monitors
Opened
#278 M6-006: Admin jobs API — /api/admin/jobs
Opened
#279 M6-007: Job event logging — emit to agent_logs
Opened
#281 M7-001: Define IChannelAdapter interface
Opened
#282 M7-002: Define channel message protocol
Opened
#286 M7-006: Design agent-to-agent communication via Matrix
Opened
#284 M7-004: Design conversation multiplexing
Opened
#285 M7-005: Design remote auth bridging
Opened
#283 M7-003: Design Matrix integration
Opened
#288 M7-008: Publish channel-protocol.md
Opened
#287 M7-007: Design multi-user isolation in Matrix
Opened
#291 M1-001/002/003: Persist chat messages to DB
Opened
#300 M1-004/M1-005: Load conversation history on session resume
Opened
#322 feat: M4-013/M5-001/M5-002/M5-003 — routing e2e tests + agent config + model/agent switching
Opened
#328 OC-MACP: OpenClaw MACP plugin — sessions_spawn runtime:macp with Pi dispatch and completion signaling
Opened
#382 Fix updater to check @mosaic/mosaic instead of @mosaic/cli
Opened
#383 mosaic doctor fails with ERR_PACKAGE_PATH_NOT_EXPORTED fallback miss
Opened
#387 Simplify updater to @mosaic/mosaic only and fix Gitea wrapper repo context
Opened
#390 Test issue
Opened
#391 Rename @mosaic/* to @mosaicstack/* and enhance update checker
Opened
#426 IUH-M02: Wizard remediation — hooks visibility, password masking, headless path
Opened
#427 IUH-M03: Unified first-run wizard (collapse wizard + gateway install)
Opened
#425 IUH-M01: mosaic uninstall — top-level teardown + shell wrapper
Opened
#428 IUH-M01: mosaic uninstall — top-level teardown + shell wrapper
Opened
#437 IUV-M02: Install UX v2 polish — CORS→FQDN, skill installer rework
Opened
#436 IUV-M01: Install UX v2 hotfix — bootstrap DTO, wizard failure propagation, port prefill, Pi SDK copy
Opened
#438 IUV-M03: Install UX v2 — provider-first intelligent flow + drill-down main menu
Opened
#454 fix(launcher): mosaic yolo runtime passes runtime name as initial user message
Opened
#457 install.sh does not seed TOOLS.md — breaks AGENTS.md mandatory load order