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.
4.9 KiB
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.1takes 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, notAUTHN.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:
- PRD.0-index (this file)
- GOV.1-prd-lifecycle
- GOV.2-docs-inventory
- GOV.3-decision-map
- VIS.1-north-star
- DATA.1-record-authority
- AUTHZ.1-capability-authority
- ROLE.1-role-governance → SEAT.1-seat-profile (separation is load-bearing; role before seat)
- HARN.1-harness-config → PROV.1-providers → AUTHN.1-auth-accounts
- SESS.1-session-continuity
- UI.1-webui-surfaces → CLI.1-parity (surfaces last; they project everything above)
- GOV.4-workstream-contracts (preserved contracts; bind after the model is understood)
- 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.mdin 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).