Files
stack/docs/PRDs/2026-08-31_PRD_rev1/GOV.5-open-questions.md
T
jason.woltje ad21ad7ac5
ci/woodpecker/pr/ci Pipeline failed
docs: ratify PRD rev1 — consolidated bundle, permanent shim, rev0 archived
Ratifies the Mosaic Stack PRD rev1 (Jason Woltje, 2026-09-01) as project
source of truth and installs the GOV.1 lifecycle model:

- docs/PRD.md becomes a permanent shim (kind: shim, current_rev ->
  docs/PRDs/2026-08-31_PRD_rev1/). Its path never changes again.
- docs/PRDs/2026-08-26_PRD_rev0/PRD.md archives the 2026-08-26 North Star
  verbatim (sha256 60cc2f98...36afdf unchanged). Archive, never delete.
- docs/PRDs/2026-08-31_PRD_rev1/ is the frozen rev1 bundle: 18 sectioned
  documents (VIS, DATA, AUTHN, AUTHZ, SEAT, ROLE, HARN, PROV, SESS, UI, CLI,
  GOV.1-5) consolidating rev0 D1-D15, the fleet north star, the agent-runtime
  L1/L2 contracts and the control-plane-surfaces lane findings, with a single
  decision map (GOV.3) and a closed open-questions frontier (GOV.5, grill
  rounds 1-8). Drafting inputs (_source-* snapshots) are not shipped.

Consequences of the ratified rulings carried in the same change:

- Q-T1 (ruling B, "shipped but frozen"): D3 amended in GOV.3/VIS.1;
  federation M1-M3 acknowledged as shipped behind tier === 'federated',
  excluded from the v1 bar and frozen, with a security re-audit gate before
  any resumption. docs/MISSION-MANIFEST.md, docs/federation/MISSION-MANIFEST.md
  and docs/scratchpads/mvp-20260312.md get status: superseded + banners
  (content preserved verbatim); docs/guides/deployment.md gains a
  "Relationship to the PRD (D15)" section. NORTH_STAR.yaml adds dormant
  workstream M (projects no goals by design); NORTH_STAR.md regenerated.
- Q-G2 (distinct registry prefixes): every citation of the operator
  DECISION-REGISTER in the bundle reads OD-nn; the stack registry stays
  D1-D15; L1-Dnn/L2-Dnn untouched. Prefix rule recorded in GOV.1.

Follow-ups (not in this PR): CI parity drift-gate witness (Q-C1); brain-side
DECISION-REGISTER rename to OD- with redirect table on its next touch.
2026-09-01 18:32:14 -05:00

9.9 KiB
Raw Blame History

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

GOV.5 — Open questions (the grill list)

Every question the corpus could not settle. This is the E5 ms-grill-me input; ratification is blocked until this list is empty or every remaining row is explicitly deferred with an owner. IDs are stable; answered questions get their ruling recorded here and flow into the owning section.

Frontier status (2026-09-01, grill rounds 38 complete): EMPTY. Every row is ruled, dissolved, or deferred-with-owner. The operator-side Q-T3 canon coalescence closed in round 8 and was executed the same day (brain commit 59d43270). E6 ratification executed 2026-09-01; this list is frozen with the bundle.

Data model

  • Q-D1RULED, Jason 2026-09-01: consolidate. launch.env folds into profile.json (one seat record). Precondition verified same day: mosaic-core/lib/loader.ts seatRole() parses profile.json as a generic record and reads only role — widened files tolerated by construction. Migration staged as lane work (ledger B1).
  • Q-D2RULED, Jason 2026-09-01: per-provider map + broker refs. profile.json carries a per-provider map whose values are credential-broker references (environment/service/component/secret-name), never secrets — one seat, N providers, zero secrets in the brain tree. Flows to DATA.1-record-authority and AUTHN.1-auth-accounts.
  • Q-D3RULED, Jason 2026-09-01: the projection engine owns. One writer: the role-projection engine (role apply path). The launcher seeds nothing itself — it invokes the projector; Pi and every harness get regenerated files on each role/seat change; hand edits are drift, flagged by validate. Consistent with L2-D19 + Q-T5. Unblocks the reconciliation features (lane ledger B3 → D8).
  • Q-D4RULED, Jason 2026-09-01: role ceiling + seat choice. The Role Revision defines the allowed model set (policy ceiling); the seat records preferences within it; effective models = intersection, consistent with the L2-D39 intersection chain. Flows to HARN.1-harness-config and role-harness-config DESIGN Q2 (same ruling, both doors).
  • Q-D5DEFERRED with owner (Jason 2026-09-01): the mutating config-engine half gets its own ruling after v1 read-only validate/plan ships; owner = the mosaic-config workstream. (CLI.1-parity §v1 subset)

Sessions

  • Q-S1DEFERRED with owner (Jason 2026-09-01): the session-id ↔ incarnation-id contract is settled inside the session-lifecycle draft before it lands (which now carries the Q-S4 two-path requirement); owner = that draft's ratification. (SESS.1-session-continuity)
  • Q-S2RULED, Jason 2026-09-01: step-up re-auth required. Role rebinding is an authority-changing act: fresh principal re-authentication ≤10 minutes before the confirmation lands, matching the S2 identity-lifecycle linking precedent. Flows to SEAT.1-seat-profile §role-binding and the UI.1 seat-page spec.
  • Q-S3DEFERRED with owner (Jason 2026-09-01): the measurable continuity-degradation bar is settled inside the session-lifecycle draft before it lands; owner = that draft's ratification.
  • Q-S4RULED, Jason 2026-09-01: two-path requirement ratified. The session-lifecycle draft may not land with one relaunch path. Role change → clean-session path (new incarnation + fencing token, ephemeral context discarded, OD-02/OD-03); harness/model/provider change → continuity path (same Stack session id, checkpointed context restored, OD-57OD-61, no noticeable degradation). Binding requirement on the draft, recorded in SESS.1-session-continuity §state machine.

Audit

  • Q-A1RULED, Jason 2026-09-01: mechanical tooling. The audit is deterministic tooling over the grant/assignment record (witness-style, per the S2 writer-coverage pattern); its output feeds the audit page read-only. Agents may consume audit output but never produce the verdict ("prompt adherence is not an enforcement mechanism"). Flows to AUTHZ.1-capability-authority and UI.1-webui-surfaces §audit.
  • Q-A2DISSOLVED by the Q-A1 ruling: the auditor is code, audited by ordinary review and CI witnesses, not a seat subject to misdirection.
  • Q-A3DEFERRED with owner (Jason 2026-09-01): the computable misdirection metric is designed inside the mechanical audit tooling ruled by Q-A1; owner = the audit-tooling workstream (lane ledger C2).

Surfaces

  • Q-N1DEFERRED with owner (Jason 2026-09-01): technical investigation of the in-browser OAuth flow (tmux-bridged terminal vs server-side) runs before the auth page builds; owner = the auth-page workstream (lane ledger D6). (AUTHN.1-auth-accounts)
  • Q-C1RULED, Jason 2026-09-01: CI witness in the stack repo. The parity matrix becomes a generated artifact with a drift-gate witness (contract-9 pattern): CI regenerates the inventory from code and fails on divergence from the committed matrix. Flows to CLI.1-parity; the witness itself is E6-return follow-up work.

Governance

  • Q-G1RULED, Jason 2026-09-01: both ratified. L2-D52 (least-privilege Assignment issuance, closes G1+G2) and the G6 WebUI surface-scope fix applied per their return procedures after digest re-verification; amendment files flipped to ratified; lane ledger A3/A4 closed.
  • Q-G2RULED, Jason 2026-09-01: distinct prefixes at source. Stack keeps D1D15; the operator DECISION-REGISTER renames to OD-01…OD-65 with a redirect table at the source doc; file-local D-numbering in drafts is prohibited going forward (each decision doc declares a unique registry prefix, rule lands in GOV.1-prd-lifecycle). Applied at E6 return for stack references; brain-side rename on next DECISION-REGISTER touch.
  • Q-G3RULED, Jason 2026-09-01: Jason marks; archive in bundle. Graduation is a ratification act — Jason marks it (grill or direct ruling); the graduated contract text archives inside the then-current PRD revision bundle (GOV.4-workstream-contracts gains a graduated-set section), keeping the frozen-bundle model intact.

Triage-raised (E2 sweep, 2026-08-31)

  • Q-T1RULED B, Jason 2026-09-01: "shipped but frozen." Amend D3 to acknowledge federation M1M3 exist (Step-CA, enrollment, grants, mTLS auth guard, ScopeService, list/get/capabilities verbs; M3 landed 2026-06-24/25), are excluded from the v1 bar, and are frozen; re-home tracking in NORTH_STAR.yaml as a dormant workstream; frozen cert/auth code carries a security re-audit gate before any resumption. Consequences at E6 return: supersession/status banners on the three stale docs (root MISSION-MANIFEST, federation/MISSION-MANIFEST, scratchpads/mvp-20260312), reconcile guides/deployment.md with D15, NORTH_STAR.yaml dormant entry. The P5 scope ambiguity (governance-federation vs shipped mTLS-query federation) stays open inside the future federation PRD, not rev1. Evidence: lane FEDERATION-DOSSIER-2026-08-31.md.
  • Q-T2RULED, Jason 2026-09-01: all three re-ratified into the rev1 decision map (GOV.3-decision-map §re-ratified orphans): "No Python" in the monorepo; Matrix/MACP exactly-three-install-modes with Mode A (split-domain) primary; OpenBrain excluded from consolidation scope. The Matrix ruling's open DNS/domain prerequisite gets its own row (Q-T6).
  • Q-T3RULED (partial), Jason 2026-09-01: coalesce under the STRUCTURE-CANON name. MOSAIC-CANON's more comprehensive content is authoritative; STRUCTURE-CANON.md is the logical surviving document name; the two coalesce into one. Conflict report delivered and all six decision points ruled (grill round 8, 2026-09-01): per-seat credential slots win; doc paths corrected to fleet/auth//fleet/memory/; ENTITY.md/README.md stay required with a 42-seat backfill task; merge executed with the full reference sweep, MOSAIC-CANON reduced to a pointer shim. Record: lane CANON-COALESCENCE-2026-09-01.md. Operator-side; not a rev1 blocker.
  • Q-T4RULED, Jason 2026-09-01, two parts. (a) Two independent axes: "Standalone/Enterprise" in the S2 corpus is a multi-tenancy/isolation mode (platform_mode, D3/D11); D15's "compose standalone tier" is deployment packaging. Orthogonal. rev1 text always says "standalone mode" vs "compose tier"; mode-conversion.md needs a terminology note only, not a rewrite. (b) Own track, rev1 cites: rev1 ratifies citing the nine contracts as DRAFT successor material with status noted; each contract ratifies on its own PR when its family lands. Extraction record: lane S2-EXTRACTION-2026-08-31.md.
  • Q-T5RULED, Jason 2026-09-01: scope to files. Adopted wording: "Generated settings files are projections of the active Role Revision, never authority (L2-D19). DB settings records written through audited Gateway commands (platform_mode, registration_mode, custody_config, bootstrap.seed-company-name, and their successors) are records of authority like any other SOT row." No corpus conflict remains. Case law: contract 1 §5.4, contract 8 §2.4, contract 9 §3.2.
  • Q-T6DEFERRED with owner (Jason 2026-09-01): the Matrix/MACP Mode A DNS/domain prerequisite (archive/planning/matrix-macp/rfc-001:428) rules before any Matrix install work resumes; owner = whoever reopens Matrix. Until then Mode A is primary-on-paper only.

Deferred-by-scope (recorded, not blocking rev1)

  • Federation design (D3 — roadmap placeholder; nothing in v1 may foreclose it). Q-T1 ruled B (2026-09-01): D3 to be amended — M1M3 acknowledged, frozen, security re-audit gate before resumption; design itself stays deferred.
  • OS/kernel-level seat sandboxing (explicit lane non-goal; role-lane discipline, not process containment).