Work packages completed: - WP1: packages/forge — pipeline runner, stage adapter, board tasks, brief classifier, persona loader with project-level overrides. 89 tests, 95.62% coverage. - WP2: packages/macp — credential resolver, gate runner, event emitter, protocol types. 65 tests, 96.24% coverage. Full Python-to-TS port preserving all behavior. - WP3: plugins/mosaic-framework — OC rails injection plugin (before_agent_start + subagent_spawning hooks for Mosaic contract enforcement). - WP4: profiles/ (domains, tech-stacks, workflows), guides/ (17 docs), skills/ (5 universal skills), forge pipeline assets (48 markdown files). Board deliberation: docs/reviews/consolidation-board-memo.md Brief: briefs/monorepo-consolidation.md Consolidates mosaic/stack (forge, MACP, bootstrap framework) into mosaic/mosaic-stack. 154 new tests total. Zero Python — all TypeScript/ESM.
31 lines
839 B
Markdown
31 lines
839 B
Markdown
---
|
|
class: technical
|
|
---
|
|
|
|
# Brief: Add User Preferences API Endpoint
|
|
|
|
## Source PRD
|
|
|
|
mosaic-stack PRD — Mission Control Dashboard
|
|
|
|
## Scope
|
|
|
|
Add a REST endpoint for storing and retrieving user dashboard preferences (layout, theme, sidebar state). This enables the Mission Control dashboard to persist user customization.
|
|
|
|
## Success Criteria
|
|
|
|
1. GET /api/users/:id/preferences returns stored preferences (JSON)
|
|
2. PUT /api/users/:id/preferences stores/updates preferences
|
|
3. Preferences persist across sessions
|
|
4. Default preferences returned for users with no stored preferences
|
|
5. Only the authenticated user can read/write their own preferences
|
|
|
|
## Estimated Complexity
|
|
|
|
Medium — new endpoint, new DB table, auth integration
|
|
|
|
## Dependencies
|
|
|
|
- Requires existing auth system (JWT guards)
|
|
- Requires existing user entity in database
|