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

90 lines
4.9 KiB
Markdown

---
id: PRD.0
status: ratified
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-governance]] → [[SEAT.1-seat-profile]] (separation is load-bearing; role before seat)
9. [[HARN.1-harness-config]] → [[PROV.1-providers]] → [[AUTHN.1-auth-accounts]]
10. [[SESS.1-session-continuity]]
11. [[UI.1-webui-surfaces]] → [[CLI.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](../2026-08-26_PRD_rev0/PRD.md),
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](../2026-08-26_PRD_rev0/PRD.md)).
- 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).