# Mission — Mosaic Framework Constitution & Public Sanitization (Alpha) **Branch:** `feat/framework-constitution-alpha` (off `main` + #543 agency patterns) **Repo:** `mosaicstack/stack` → `packages/mosaic/framework/` **Mode:** Orchestrator (autonomous loop to alpha release) ## Objective Re-architect the public framework so universal **Constitution** law is cleanly separated from per-user **customization** (agent persona, operator profile, preferences); sanitize all personal data from the public package; make customization upgrade-safe; keep it robust across Claude/Codex/Pi/OpenCode; ship a solid alpha. ## Phase status | # | Phase | State | Artifact | |---|-------|-------|----------| | 0 | Land agency patterns (#543) | ⏳ CI running, auto-merge on green | PR #543 / issue #542 | | 1 | Ground + brief panel | ✅ done | `BRIEF.md` | | 2 | Expert conference (debate→synthesis→redteam→design) | ⏳ running (wf_eecc3723-36b) | `debate/`, `synthesis-v1.md`, `DESIGN.md`, `OPEN-QUESTIONS.md` | | 3 | Author PRD from DESIGN.md | pending | `docs/PRD.md` (mission) | | 4 | Implement (sanitize + constitution split + upgrade-safe customization) | pending | framework files | | 5 | Independent review + remediate | pending | — | | 6 | Alpha release (PR → CI green → squash-merge → tag) | pending | `mosaic-vX.Y.Z-alpha` | ## In-flight / background - `bhssrdyef` — PR #543 CI wait. On green → merge squash, close #542. - `w2gklkvrg` / `wf_eecc3723-36b` — expert conference. On done → read DESIGN.md, author PRD. ## Known facts (ground truth) - 29 public files contain personal-identity strings (jarvis/jason/woltje/PDA). - `defaults/SOUL.md` hardcodes "Jarvis" + PDA; `runtime/claude/settings-overlays/jarvis-loop.json`; stray `defaults/AUDIT-2026-02-17-*.md`. - A `templates/` layer with `{{PLACEHOLDER}}` tokens already exists but is under-used. - Deployed `~/.config/mosaic` has drifted ahead of source (extra SOUL guardrails) — reconciliation needed. ## Decisions / guardrails for this mission - Do NOT weaken existing hard gates; this is about *where rules live* + *how they customize*. - Public package: zero PII/secrets. Personal data lives only in user-generated (init-time) files, gitignored or outside the package. - aiguide repo (`mosaicstack/aiguide`) may be updated in parallel as the narrative "why"; keep consistent with Constitution. - Every change lands via reviewed PR + green CI (author≠reviewer).