Files
stack/docs/PRDs/2026-08-31_PRD_rev1/PRD.0-index.md
T
jason.woltje 13968e9a8b
ci/woodpecker/pr/ci Pipeline failed
docs: PRD rev1 review Q90 — Prettier-format the bundle, add rev0 archive README
Addresses CPS-PRD-REV1-REVIEW-Q90 findings F1 and F3 on PR #1491:

F1 (format gate): `prettier --write` on the 18 rev1 bundle documents.
Whitespace, table padding, list markers and emphasis delimiters only — a
normalized token comparison of every file before/after shows zero content
difference, so the ratified text is unchanged and no re-ratification applies.

F3 (rev0 relative links): the archived rev0 PRD stays byte-identical
(sha256 60cc2f98...36afdf verified) per GOV.1 archive-never-edit. A sibling
docs/PRDs/2026-08-26_PRD_rev0/README.md records the digest, the original
location, the owner disposition that the in-file links are intentionally
historical, and a resolution table for all 9 targets (11 occurrences), each
verified to exist. Future relocated archives ship the same README instead of
edited bytes.

F2 (test step) is investigated separately against the CI log.
2026-09-02 09:40:46 -05:00

4.9 KiB

id, status, ratified
id status ratified
PRD.0 ratified 2026-09-01 (Jason Woltje; PRD rev1 ratification PR)

PRD.0 — Index: naming standard, domain registry, reading order

This file is the order authority for the PRD section documents. Lexical sort of the directory is not authoritative; this index is.

Naming standard (ratified 2026-08-31)

<DOMAIN>.<n[.n[.n]]>-<kebab-slug>.md — e.g. AUTHN.1.1-oidc.md

  • Domain code: short uppercase code from the registry below. Codes are append-only; a code is never reused or renamed.
  • Number: hierarchical, dotted, append-only at every level. A new subtopic under AUTHN.1 takes the next free number (AUTHN.1.3). Nothing ever renumbers; depth absorbs insertions. Added topics augment, never reshuffle.
  • Slug: kebab-case; names only what the number does not. The domain word is never repeated in the slug (AUTHN.1.1-oidc.md, not AUTHN.1.1-authentication-oidc.md).
  • Separators: dots between number levels only; one hyphen between number and slug; hyphens inside the slug. No underscores, no spaces.
  • ID in three places that must agree: filename, frontmatter id:, H1. Wikilinks use the basename, e.g. [[AUTHN.1.1-oidc]] (illustrative — no such section exists yet).
  • Flat directory: hierarchy lives in the number, not nested folders.

Domain registry (append-only)

Code Domain
PRD The PRD assembly itself: index, preamble, revision log
GOV Governance: document lifecycle, decision registers, amendment process, ratification
VIS Vision / north star: what the Stack is, premises, non-goals
AUTHZ Authorization & enforcement: capabilities, role policy, mosaic-core, L2 contracts, gap register
AUTHN Authentication: provider accounts, OAuth/API keys, renewal, deactivation, allowed harnesses
ROLE Roles: manifests, role config surfaces, role/seat separation
SEAT Seats: profiles, launch config, seat config surfaces, profile.json consolidation
HARN Harnesses: install/enable, model availability, reasoning, linked auth
PROV Providers: supported providers, local providers (Ollama, LM Studio), provider config
SESS Sessions: Stack session identity, continuity, mid-stream harness/model/provider switching
UI WebUI: pages, page-scope rules, interaction patterns, audit surfaces
CLI mosaic CLI: command surface, CLI↔WebUI parity
DATA Record classes & storage: J1 git/DB authority split, flat-file vs DB, reconciliation

New domains append below this line with a dated note.

Reading order

Order is by lifecycle of understanding, not by code:

  1. PRD.0-index (this file)
  2. GOV.1-prd-lifecycle
  3. GOV.2-docs-inventory
  4. GOV.3-decision-map
  5. VIS.1-north-star
  6. DATA.1-record-authority
  7. AUTHZ.1-capability-authority
  8. ROLE.1-role-governanceSEAT.1-seat-profile (separation is load-bearing; role before seat)
  9. HARN.1-harness-configPROV.1-providersAUTHN.1-auth-accounts
  10. SESS.1-session-continuity
  11. UI.1-webui-surfacesCLI.1-parity (surfaces last; they project everything above)
  12. GOV.4-workstream-contracts (preserved contracts; bind after the model is understood)
  13. GOV.5-open-questions (the grill list; ratification gate)

Pulled sources (inputs, never ratified): rev0 PRD, the operator DECISION-REGISTER (estate brain docs/guides/proposed/DECISION-REGISTER.md, snapshot 2026-08-28, sha256 2cc81be1…aabec; operator-only corpus, not shipped).

Sections are added to this list as they are authored; an unlisted file is a defect.

Structural rulings (2026-08-31, Jason)

  • The finished PRD is the project SOT. docs/PRD.md in the stack repo becomes a shim to the current dated revision. Missions reference the PRD, never usurp it. See GOV.1-prd-lifecycle.
  • The entire PRD lives in the stack repo (mosaicstack/stack, trunk next). Brain documents are operator-instance documents that cite it.
  • This work is the successor to the 2026-08-26 "North Star" PRD on origin/next (snapshot: rev0 PRD).
  • Revisions archive, never delete. Each ratified revision is a frozen bundle directory — docs/PRDs/YYYY-MM-DD_PRD_revN/ holding the PRD, this index, and every section doc as a set (layout: GOV.1-prd-lifecycle §Revision bundles).
  • Shim and revision immutability are convention, not enforcement (no hook or CI guard yet).