Files
stack/docs/design/framework-constitution/MISSION.md
Jason Woltje 314b1a7695
Some checks failed
ci/woodpecker/push/ci Pipeline failed
docs(design): durable resume state for session restart
Full mission status: open PRs (#543, #570), locked decisions, P0-P6 phase
status, drift re-grounding, and the step-by-step RESUME PROCEDURE.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 20:37:16 -05:00

66 lines
5.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Mission — Mosaic Framework Constitution & Public Sanitization (Alpha)
**Repo:** `mosaicstack/stack``packages/mosaic/framework/` · **Mode:** Orchestrator (autonomous loop to alpha)
**Working copy:** `/home/jwoltje/src/_ms_stack` (fresh clone of `mosaicstack/stack`)
**Last updated:** session pause for restart (2026-06-20)
## ▶ RESUME PROCEDURE (read this first on a fresh session)
1. `cd /home/jwoltje/src/_ms_stack && git fetch origin --prune`
2. Read `DESIGN.md` (canonical design) + `PRD.md` (requirements, P0P6 plan) + this file.
3. **Check the two open PRs' CI** (the repo's `pr-ci-wait` reports `state=unknown` — use Woodpecker directly):
`~/.config/mosaic/tools/woodpecker/pipeline-list.sh | grep -E 'docs/framework-agenc|feat/p0-license'`
- If a PR's pipeline is **success**`~/.config/mosaic/tools/git/pr-merge.sh -n <PR> -m squash`, then `issue-close.sh -i <issue>`.
- If **failure** → diagnose (`pipeline-status.sh <n>`), fix on the branch, re-push. (Last failure was a prettier `*x*``_x_` md fix — see #543 history.)
4. After P0 (#570) merges → start **P1** off fresh `origin/main` (see PRD §5 / DESIGN §6).
5. Continue P1→P6 autonomously. Bring the operator in only for a genuine new fork (all `OPEN-QUESTIONS.md` are resolved — see Decisions below).
## Open PRs / issues / branches (all pushed to origin — verified via ls-remote)
| Branch | SHA | PR | Issue | State |
|--------|-----|----|----|-------|
| `docs/framework-agency-patterns` | `d91d910` | **#543** | #542 | Agency patterns (7), rebased onto current main, independent-review APPROVED. CI was running at pause → check & merge, close #542. |
| `feat/p0-license-leak-sanitize` | `010bd11` | **#570** | #569 | **P0**: MIT LICENSE + cred-path + OpenBrain soft-degrade. Independent-review APPROVED. CI running at pause → check & merge, close #569. |
| `feat/framework-constitution-alpha` | `2c29349` | (none) | — | Design record (DESIGN/PRD/MISSION/BRIEF/OPEN-QUESTIONS/synthesis/debate). **Do NOT open a feat→main PR as-is** — it also carries #543's commit and would conflict. Land design docs via cherry-pick of the docs-only commits onto a later phase branch, or a fresh branch off main. |
Note: a background pipeline watcher (`b7ns5b20d`) was running at pause — it dies on restart; just re-check CI directly per step 3.
## Operator decisions (LOCKED — do not re-ask)
| Ref | Decision |
|-----|----------|
| Q1 License | **MIT**. LICENSE holder currently "Mosaic Stack" (operator may change to legal name — flagged, non-blocking). |
| Q10 Persona | **Neutral example only.** PDA/accommodation content stays in operator's private init-generated SOUL/USER, never in public package. |
| Q9 Pi | **Maintainer-internal** for alpha (public matrix = Claude/Codex/OpenCode). |
| Q7 OpenBrain hook | **Soft-degrade** (block the write; only nudge to OpenBrain if `OPENBRAIN_URL` set). |
| Q2/Q3/Q5/Q6/Q8 | Proceed on DESIGN provisional defaults. |
| Q4 CI authority | Woodpecker, config at repo-root `.woodpecker/` (`ci.yml`: install→typecheck→{lint,format,test+pg}). New gates add steps here. |
## Phase status
| Phase | Scope | State |
|-------|-------|-------|
| Conference + DESIGN + PRD | design of record | ✅ done (`DESIGN.md`, `PRD.md`) |
| #543 agency patterns | predecessor | ⏳ CI → merge, close #542 |
| **P0** legal + executable leaks | MIT license; 3 cred sites→`~/.config/mosaic`; OpenBrain soft-degrade | ⏳ #570 reviewed-APPROVE, CI → merge, close #569 |
| P1 sanitization CI gate | `verify-sanitized.sh` (2-class, self-tested) wired blocking in `.woodpecker/`; build goes red = P2 worklist | ⬜ next |
| P2 sanitize tree to green | purge 31 contaminated files; delete `defaults/SOUL.md` + `jarvis-loop.json`; relocate AUDIT; `examples/*` (neutral persona); `rails/``tools/` in both template families; the 4 tool READMEs + `agent-lint.sh:7` comment | ⬜ |
| P3 extract Constitution | `defaults/CONSTITUTION.md` by subtraction; gut `AGENTS.md`→~50-line dispatcher; `constitution/LAYER-MODEL.md`; strip restated policy from STANDARDS + 4 RUNTIME files; capability-verb sequential-thinking | ⬜ |
| P4 upgrade-safe migration | split seed lists (FRAMEWORK_OWNED overwrite vs USER_SEEDED); remove AGENTS/STANDARDS from PRESERVE_PATHS; snapshot→sync→restore; v2→v3 migration; `FRAMEWORK_VERSION=3`; non-interactive fail-closed persona; **5-fixture matrix both installers — GATES TAG** | ⬜ |
| P5 overlay composer + cross-harness | `mosaic compose-contract <harness>`; per-tier anchor + Tier-3 byte-equality test | ⬜ |
| P6 docs + tag | `CONTRIBUTING.md` + compliance matrix; resident line-count ceiling; **tag `mosaic-vX.Y.Z-alpha`**; reconcile `aiguide` | ⬜ |
## Drift re-grounding (vs current `main` @ `e834bbb`, 14 commits past the design base)
- Phase 0 cred-fix simplified: #551 kept the `jarvis-brain` fallback; fix = drop it, default `~/.config/mosaic/credentials.json` (done in P0).
- `launch.ts` anchors shifted: `checkSoul` :63, `buildPrompt` reads AGENTS.md :334, `--append-system-prompt` :649/:682.
- `install.sh`, `file-adapter.ts`, `mosaic-init`, `prevent-memory-write.sh`, `stack-health.sh` UNCHANGED → P3/P4 design holds.
- `TOOLS.md` rewritten (#554); contamination now **31 files** (new: `systemd/user/README.md`, `tools/git/test-issue-create-body-safety.sh`, `tools/bootstrap/agent-lint.sh`, `tools/{coolify,glpi}/README.md`).
- **Active concurrent fleet dev on main** → keep phase PRs small; rebase + re-verify anchors immediately before each phase's edits.
## Standing guardrails
- Do NOT weaken existing hard gates; this re-architecture is about *where rules live* + *how they customize*.
- Public package: zero PII/secrets. Every phase lands via reviewed PR (author≠reviewer) + green CI.
- `aiguide` (`mosaicstack/aiguide`) may be updated as the narrative "why"; keep consistent with the Constitution.