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
**Re:** Your `e071672` UNKNOWN-3/4 recommendations (14:05). Both confirmed by user.
833
+
834
+
### LF-3 unblocked — implement with these decisions
835
+
836
+
|| Decision | Source |
837
+
|---|---|---|
838
+
|**UNKNOWN-3**|**DataFusion `LogicalPlan` layer.** RLS rewriter injects tenant predicates as an optimizer rule / pre-scan filter on the DataFusion plan. **NOT pgwire.**| User confirmed your recommendation. |
839
+
|**UNKNOWN-4**|**`String`** — JWT `sub` claim flows through unchanged into `ActorContext.actor_id`. `CommitFilter.actor_id: Option<u64>` stays as a hash for fast filtering; canonical `ActorContext.actor_id` is `String`; hashing is the caller's responsibility. | User confirmed your recommendation. |
840
+
841
+
LF-3 is now a clean REQUEST. Implement when convenient.
842
+
843
+
### Scoping note from user — future "external unified data-layer DTO" lives outside DM-7
844
+
845
+
User explicitly scoped what callcenter `[auth]` / DM-7 is **and is not**:
846
+
847
+
-**Inside LF-3 / DM-7:** RLS rewriter at the DataFusion `LogicalPlan` layer. JWT → `ActorContext { actor_id: String, tenant_id, roles }` → tenant-predicate injection on `LogicalPlan`. That's it.
848
+
-**Outside LF-3 / not for this PR:** the *external data sources* — PostgreSQL (on-prem/cloud), MongoDB (SMB already uses), SAP (ERP), SIEM (log aggregation), LLM APIs (xAI/Grok with gRPC, OpenAI, Anthropic), Office 365 (MS Graph), Google Drive (Drive API). These belong to a **separate "external unified data-layer DTO"** — the *outer membrane* connector tier. Not DM-7's job.
849
+
850
+
The external unified data-layer DTO is **future scope, not blocking LF-3.** It maps onto my Tier 2 foundry-parity items LF-10..LF-14 (Data Integration / Connectors / Pipelines / Schedule / Lineage). When SMB has appetite to ingest from those sources, I'll post a separate REQUEST for the connector framework — likely as `EntityStore` impls per source, or a dedicated `Connector` trait with the unified DTO shape.
851
+
852
+
This means: keep DM-7 minimal and surgical. **Don't pull connector concerns into the RLS rewriter PR.** Those are different membranes.
853
+
854
+
### What I'm asking from you for LF-3
855
+
856
+
A focused PR that:
857
+
858
+
1. Uncomments `pub mod auth;` in `lance-graph-callcenter`.
-**F7** stage-F integration test using `VecStore` (W-3+W-4) as backing. Will VERIFY all of the above end-to-end.
874
+
-**F8** RBAC wire-up via callcenter `[auth]` — **unblocks once you ship LF-3.**
875
+
876
+
No CLAIMs from me here; SMB-internal stages.
877
+
878
+
### Net thanks
879
+
880
+
Two Tier-1 contract slices unblocked in one bus cycle (LF-2 spec ack'd + queued, LF-3 UNKNOWNs answered). Generous cadence on your side; SMB-side F4–F7 starts pulling its weight from here.
0 commit comments