diff --git a/docs/SESSIONS.md b/docs/SESSIONS.md
index f82753ca..a5c2139d 100644
--- a/docs/SESSIONS.md
+++ b/docs/SESSIONS.md
@@ -466,3 +466,5 @@ are never rewritten or removed; corrections are new entries.
2026-10-04T18:52:41Z | Sage (T3 Claude Code, thread 1ef1e4f8) | row 5 r1 routing (#1507) | pushed darkwing's queue commit 5a5013c4 (verify rev 53 ok); woke Dewey (84fb346c, stopped) with B1/B2 rework under decision 42, and Filbert's session restarted on my INFO; Sage-launched sessions running: 2 of 2 (dewey, filbert); one round 2 to both reviewers after rework
2026-10-04T19:00:33Z | Filbert (T3 Claude Code, thread 9cb9731e) | row 5 CHAT-03 I1 review round 1 (#1507) | candidate 1404341e (27 files) verified frozen in a scratch clone and an export; ยง10 suites green (conductor 17/17 needs a git clone, queue 27 + 2 canonical-only skips); changes requested: B1 terminal Enter concatenation, B2 split paste-start ESC, B3 parallel force-stop escalations corrupt claim phaseStarted, B4 no test kills decision 34, B5 K12 freeze unproven (no-freeze mutant 18/18), B6 K15 missing-path case absent (ENOENT mutant 18/18); 20 notes; comment 26683, recorded rev 54 (filbert-5-r1-changes), committed f0b13a2f via queue-commit.sh, not pushed; review file agents/filbert/work/chat-03-i1-review-r1-2026-10-04.md (0444, uncommitted); REVIEW-RESULT to Dewey, copy to Sage; Darkwing's 26681 is on #1508, not the round's #1507 (flagged to Sage); rev 55 (jason park row 32) left uncommitted
2026-10-04T19:01:37Z | Sage (T3 Claude Code, thread 1ef1e4f8) | foundation ratified, row 32 parked, row 5 r1 records | Jason ratified the foundation direction (lead decision 44; goals page superseded in part); row 32 parked on Jason's word (rev 55, 3270cc4e); row 5 r1 closed with both reviewers requesting changes (darkwing 26681, filbert 26683), both review files committed; pointer comment 26685 on #1507 for darkwing's verdict that landed on #1508; DEFERRED item for review record not checking the comment's issue
+2026-10-04T19:12:27Z | Filbert (T3 Claude Code, thread 9cb9731e) | meta-harness survey started (slice 1 step 8, Sage ASSIGNMENT) | research only in agents/filbert/work/; no commits; row 5 round 2 takes priority
+2026-10-04T19:12:38Z | Sage (T3 Claude Code, thread 1ef1e4f8) | PRDY round 1, seat launches (decision 45) | PRD draft 0.1 at docs/prd/mosaic-stack.md; launched Researcher (T3 Sonnet 5.5, thread 9bac0794) for the Vikunja and Pocket ID report; assigned Darkwing the slice 1 data model note and Filbert the meta-harness survey (both T3 Opus 5.5, existing threads); Dewey on the row 5 rework; running under the new limits: Opus 3 of 4 (dewey, darkwing, filbert), Sonnet 1 of 4 (researcher)
diff --git a/docs/plans/2026-09-26_lead-decisions.md b/docs/plans/2026-09-26_lead-decisions.md
index 311a9c78..8d4d4548 100644
--- a/docs/plans/2026-09-26_lead-decisions.md
+++ b/docs/plans/2026-09-26_lead-decisions.md
@@ -665,3 +665,30 @@ which stay with him. Each item names who decided it and what happened.
write-once files (canon invariant 5). The decision and message
tables are append-only: a correction is a new row, never an update.
That keeps invariant 9's rule for logs.
+45. **PRDY round 1 answers and more seat sessions (2026-10-04).** Jason,
+ thread 1ef1e4f8. The answers fill `docs/prd/mosaic-stack.md`
+ (draft 0.1):
+ 1. Users: "D". Jason alone for now, built so outside users can
+ install it later.
+ 2. Problems, in order: "A, C, B". Admin falls on Jason; he can't see
+ what agents are doing or what's waiting on him; agents drift.
+ 3. Hard limits: "all five". No spend without Jason. No speaking
+ externally as Jason without approval. No founder credentials in
+ agents. Not a multi-tenant SaaS in v1. It wraps the harnesses and
+ doesn't replace them.
+ 4. Hosting: "A first". Self-hosted, with cloud not ruled out later.
+ 5. v1 done: "A". Mosaic Stack builds pieces of itself from
+ one-sentence CLI requests, five in a row, with only gated
+ decisions reaching Jason and a full trail.
+ Session limit: "You are now permitted to run more than 2 agent
+ sessions. ... Opus 5.5 and Sonnet 5.5 should be able to run as many as
+ 4 sessions each." This replaces decision 42's limit of two. Sage may
+ run up to 4 Opus 5.5 and up to 4 Sonnet 5.5 roster-seat sessions at
+ once, in T3, in the mosaic-stack project. Sage's own thread isn't
+ counted. Every other limit from decision 42 stands: roster seats only,
+ each launch logged in SESSIONS, revocable with one word, and no new
+ roles, credentials, push or merge. The roster lists Pi for Darkwing,
+ Dewey, Filbert and Researcher, but their T3 sessions run on Claude
+ Code. Sage reads Jason's ruling as covering those T3 Claude sessions.
+ The first launch under it is a Researcher thread on Sonnet 5.5
+ (9bac0794), researching Vikunja and Pocket ID.
diff --git a/docs/prd/mosaic-stack.md b/docs/prd/mosaic-stack.md
new file mode 100644
index 00000000..6665039e
--- /dev/null
+++ b/docs/prd/mosaic-stack.md
@@ -0,0 +1,108 @@
+# PRD: Mosaic Stack
+
+- Status: draft, version 0.1. Jason approves it, and once approved it is
+ never edited in place. Changes after approval are a new version.
+- Owner: Jason. Sage writes it from the PRDY interview.
+- Template: PRDY "software" (`v1/packages/prdy/src/templates.ts`), filled
+ by hand until PRDY is ported.
+- Interview record: Sage's thread 1ef1e4f8. Round 1 was answered on
+ 2026-10-04 and is recorded as lead decision 45.
+
+## Introduction
+
+### Objective
+
+Working north star, ratified as lead decision 44: "Jason declares
+businesses, projects and roles. Agents in those roles carry the work end
+to end under declared policy, and only gated decisions reach him."
+
+### Context
+
+See `docs/plans/2026-10-04_foundation-direction.md`. Agents can already do
+real work here, but a person has to launch them, relay between them, hand
+them credentials and correct them. There's no CLI or complete WebUI for
+Jason, and no place where outstanding decisions collect.
+
+## Users
+
+Jason alone for now. The stack must be built so outside users can install
+it later: an installer, no paths or names specific to Jason, and
+configuration through the variable layers (round 1, answer D).
+
+## Problem statement
+
+In priority order (round 1):
+1. **Admin falls on Jason.** He launches seats, relays between them,
+ finds credentials and corrects them.
+2. **Jason can't see what the agents are doing or what's waiting on
+ him.**
+3. **Agents drift from what the business needs.** Nothing ties a piece of
+ work to a stated goal.
+
+Credential sprawl wasn't picked as a top problem. The roles work and hard
+limit C cover it.
+
+## Scope and non-goals
+
+### Hard limits
+
+Every one of these is a gated decision, or simply not done (round 1,
+"all five"):
+- A. The stack never spends money without Jason.
+- B. It never speaks externally as Jason without his approval.
+- C. Agents never hold Jason's personal credentials. Each role gets its own.
+- D. It is not a multi-tenant SaaS in v1.
+- E. It doesn't replace Claude Code, Codex or Pi. It wraps them.
+
+### Where it runs
+
+Self-hosted first, on Jason's machines and homelab (round 1, "A first").
+Cloud workers aren't ruled out later.
+
+### In scope for v1
+
+Slice 1 of the foundation direction:
+- roles, variables and credentials per role;
+- decision records and messages addressed by role;
+- tasks in Vikunja through its API;
+- the `mosaic` CLI, then the WebUI;
+- the meta-harness.
+
+### Out of scope for v1
+
+To be set in round 2.
+
+## Requirements
+
+To be set in rounds 2 and 3. Each requirement gets a stable id
+(`REQ--`). Every task the stack creates must cite one.
+
+## Acceptance criteria and success measures
+
+v1 is done when Jason gives one-sentence requests in the CLI and Mosaic
+Stack builds pieces of itself from them, five pieces in a row. For each
+piece:
+- only gated decisions reach Jason;
+- every step leaves a trail in the CLI and the WebUI.
+
+(Round 1, answer A.)
+
+## Technical considerations
+
+Ratified as lead decision 44:
+- Vikunja is integrated through its API, never annexed. Mosaic Stack's
+ own work uses a dedicated local instance. The installer offers an
+ existing instance or the bundled one.
+- Decisions and messages live in SQLite, in append-only tables. Run
+ records stay as write-once files.
+- People sign in through Pocket ID, wired in after slice 1. Agents use
+ service tokens per role.
+
+## Risks and open questions
+
+To be set in round 3.
+
+## Milestones
+
+Slice 1 first, in the order on the foundation direction page. The
+milestones get set once the requirements exist.