Skip to content

docs(prd): amend Entra PRD with Directory abstraction + multi-provider scope#418

Merged
larsgeorge-db merged 1 commit into
mainfrom
docs/directory-prd-amendment
May 21, 2026
Merged

docs(prd): amend Entra PRD with Directory abstraction + multi-provider scope#418
larsgeorge-db merged 1 commit into
mainfrom
docs/directory-prd-amendment

Conversation

@larsgeorge-db
Copy link
Copy Markdown
Collaborator

Companion doc PR for the Directory stack (#406 / #407 / #412 / #413 / #416 / #417). The plan (#375) called for this amendment as a follow-up so the PRD reflects what shipped without rewriting story content.

Summary

  • Renames the integration's manager / routes / settings keys in docs/prds/prd-entra-id-graph-integration.md to match the implementation: Directory layer, `/api/directory/`, `DIRECTORY_` settings, "Directory" tab under Integrations. The original "Entra integration" naming stays in the PRD body for historical context and is mapped in the amendment table.
  • Documents the `DirectoryProvider` ABC and the `(DirectoryProviderContext, DirectoryProviderConfig)` factory signature, so a future Okta / Ping / SCIM contributor knows the contract.
  • Documents the v1 provider set, which expanded during planning from Entra-only to entra + lakebase + file:
    • `entra` — Microsoft Graph via UC HTTP Connection (the original PRD scope).
    • `lakebase` — Postgres / Lakebase table, schema documented.
    • `file` — local CSV, format documented.
  • Surfaces the Lakebase required SQL schema and the File CSV format inline so operators have a single setup reference.
  • Re-confirms what's still out of scope (Okta/Ping, service principals, OBO, profile photos, manager hierarchy, role/team Select replacement, CSV bulk import) — the abstraction is the thing that turns the first three from "ten-file changes" into "register one factory".

What's intentionally preserved verbatim

  • Every user story (1–31) in the PRD body.
  • The disambiguation rule, both picker modes, tooltip / X-remove / two-line-row guarantees.
  • Storage-compatibility ("`string` / `List[str]`, no DB migration").
  • Graceful degradation: a failing search drops the picker into manual-entry mode for the rest of the session.
  • The full "Out of Scope" list.

What's not in this PR

Test plan

@larsgeorge-db larsgeorge-db requested a review from a team as a code owner May 21, 2026 16:54
…r scope

Documents what shipped under PRs #406 / #407 / #412 / #413 / #416 / #417:

- Renames the integration's manager / routes / settings keys in the
  PRD to match the implementation (Directory layer, /api/directory/*,
  DIRECTORY_* settings, Settings → Directory tab).
- Documents the DirectoryProvider interface and the
  (DirectoryProviderContext, DirectoryProviderConfig) factory
  signature so future provider plug-ins know what to implement.
- Documents the v1 provider set, which expanded during planning
  from Entra-only to entra + lakebase + file. The Lakebase table
  schema and CSV format are included so operators have a single
  reference.
- Preserves story content, the disambiguation rule, both picker
  modes, storage-compatibility guarantees, and graceful-degradation
  rules from the PRD body unchanged.
- Re-confirms the out-of-scope list (Okta/Ping, service principals,
  OBO, profile photos, manager hierarchy, role/team Select replacement,
  CSV bulk import) which the abstraction makes cheap to revisit.
@larsgeorge-db larsgeorge-db force-pushed the docs/directory-prd-amendment branch from 6d2617a to 4fcb14f Compare May 21, 2026 20:58
@larsgeorge-db larsgeorge-db merged commit 7c7a72d into main May 21, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant