ci/woodpecker/pr/ci Pipeline failed
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.
90 lines
4.9 KiB
Markdown
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).
|