You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-up to RLAC P4 (#294). P4 (PR pending) shipped the workspace-settings admin surface — the rlacEnabled toggle, the Principals registry (list/create/delete), and the read-only Policy-audit panel. The remaining items from #294 are cross-cutting (they touch pages beyond settings and/or add global request-header state), so they're split out here:
View-as picker. A workspace-scoped "view as principal" control (KB Explorer header + ingest/edit dialogs) that sets the x-view-as-principal request header so an operator can preview the effective view for any principal. Needs a small global header-injection seam in lib/api.ts (the runtime already honors the header).
Per-document visibility picker. On the ingest + edit-document dialogs: Only-me / Public / Custom-principal-list → writes visibleTo. (The PATCH route already re-tags chunks — P1.)
Access explorer. A "who-can-see-what" view: for a document, the resolved principal set; or for a principal, the visible documents. Cheapest impl reuses View-as + the existing list endpoints.
Playwright admin-flow E2E. Browser E2E for: flip RLAC on → create principal → ingest as principal → verify another principal can't see it. Best folded into the P5 ([0.5.0][RLAC P5] Conformance fixtures + docs rewrite #295) E2E pass since it needs the full stack.
Components, hooks (useRlac), and client methods from P4 are reusable here.
Follow-up to RLAC P4 (#294). P4 (PR pending) shipped the workspace-settings admin surface — the
rlacEnabledtoggle, the Principals registry (list/create/delete), and the read-only Policy-audit panel. The remaining items from #294 are cross-cutting (they touch pages beyond settings and/or add global request-header state), so they're split out here:x-view-as-principalrequest header so an operator can preview the effective view for any principal. Needs a small global header-injection seam inlib/api.ts(the runtime already honors the header).visibleTo. (The PATCH route already re-tags chunks — P1.)Components, hooks (
useRlac), and client methods from P4 are reusable here.