Skip to content

docs(architecture): document persona detection pipeline (LFXV2-2205)#1022

Merged
audigregorie merged 8 commits into
mainfrom
feat/lfxv2-2205-persona-view-docs
Jun 30, 2026
Merged

docs(architecture): document persona detection pipeline (LFXV2-2205)#1022
audigregorie merged 8 commits into
mainfrom
feat/lfxv2-2205-persona-view-docs

Conversation

@audigregorie

@audigregorie audigregorie commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds architecture documentation for how personas are detected end to end — from the upstream persona-service contract through BFF mapping, caching, and SSR hydration. Cross-links the new doc from the lens system and content matrix indexes so it is discoverable alongside related dashboard docs.

Document upstream persona-service contract, BFF mapping, caching, and SSR
hydration; wire cross-links from lens system and content matrix indexes.

Signed-off-by: Audi Young <audi.mycloud@gmail.com>
Copilot AI review requested due to automatic review settings June 24, 2026 10:57
@audigregorie audigregorie requested a review from a team as a code owner June 24, 2026 10:57
@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds docs/architecture/frontend/persona-detection.md and links it from related architecture docs. The new document describes the persona model, upstream NATS contract, BFF processing, API shape, SSR hydration, and frontend persona service behavior.

Changes

Persona Detection Pipeline Documentation

Layer / File(s) Summary
Persona model and upstream contract
docs/architecture/frontend/persona-detection.md
Defines persona presentation context, lists the four PersonaType values, describes multi-persona priority ordering, and documents the upstream lfx-v2-persona-service NATS request/reply contract and detection source tokens.
BFF mapping and caching
docs/architecture/frontend/persona-detection.md
Describes identity resolution, NATS normalization, detection-to-persona mapping, request-scoped overrides, organization extraction, caching rules, and the enrichment step that attaches project metadata.
API, SSR, and frontend service
docs/architecture/frontend/persona-detection.md
Documents the persona API response shape, SSR cookie and TransferState behavior, client refresh flow, PersonaService signals, pin handling, and downstream consumers.
Cross-links and flow diagram
docs/architecture/README.md, docs/architecture/frontend/README.md, docs/architecture/frontend/lens-system.md, docs/architecture/frontend/persona-content-matrix.md, docs/architecture/frontend/persona-detection.md
Adds the end-to-end data flow diagram, related documentation links, and new references to persona-detection.md from the architecture index, frontend README, lens system, and persona content matrix.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • linuxfoundation/lfx-self-serve#875: Overlaps on docs/architecture/frontend/persona-content-matrix.md, where the access rules and write-gating documentation are expanded.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: documenting the persona detection pipeline in architecture docs.
Description check ✅ Passed The description accurately matches the changeset by describing the new persona pipeline doc and added cross-links.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/lfxv2-2205-persona-view-docs

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds new frontend architecture documentation that explains, end-to-end, how user personas are detected and propagated through the system (upstream NATS contract → BFF detection/enrichment/caching → SSR cookie + TransferState hydration), and links it from existing lens/persona docs for discoverability.

Changes:

  • Added a new “Persona Detection Pipeline” architecture doc covering the upstream lfx-v2-persona-service contract, server mapping rules, caching, and SSR hydration flow.
  • Cross-linked the new doc from the main architecture index, the frontend architecture index, the lens system doc, and the persona × lens content matrix.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
docs/architecture/README.md Adds the new persona detection doc to the top-level architecture index.
docs/architecture/frontend/README.md Adds “Lens & Persona System” and “Persona Detection Pipeline” entries to the frontend docs index.
docs/architecture/frontend/persona-detection.md New end-to-end documentation for persona detection, mapping, caching, API endpoint shape, and SSR hydration.
docs/architecture/frontend/persona-content-matrix.md Adds a pointer to the new persona detection pipeline doc for upstream context.
docs/architecture/frontend/lens-system.md Adds a related link to the new persona detection pipeline doc.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/architecture/frontend/persona-detection.md Outdated
@github-actions

Copy link
Copy Markdown

🚀 Deployment Status

Your branch has been deployed to: https://ui-pr-1022.dev.v2.cluster.linuxfound.info

Deployment Details:

  • Environment: Development
  • Namespace: ui-pr-1022
  • ArgoCD App: ui-pr-1022

The deployment will be automatically removed when this PR is closed.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/architecture/frontend/persona-detection.md (1)

1-250: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Run Prettier for this file before merge.

CI reports Prettier/format:check failures on this markdown file, so this PR is currently not merge-ready on style checks.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/architecture/frontend/persona-detection.md` around lines 1 - 250, This
markdown file is failing format checks, so update the document to match
Prettier’s style before merging. Reformat the content in
docs/architecture/frontend/persona-detection.md using the project’s standard
Prettier markdown rules, preserving the existing wording and structure while
correcting any spacing, wrapping, or table/list alignment issues.

Source: Pipeline failures

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@docs/architecture/frontend/persona-detection.md`:
- Around line 1-250: This markdown file is failing format checks, so update the
document to match Prettier’s style before merging. Reformat the content in
docs/architecture/frontend/persona-detection.md using the project’s standard
Prettier markdown rules, preserving the existing wording and structure while
correcting any spacing, wrapping, or table/list alignment issues.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 48e29728-d451-4df8-b114-4bfdcbebc5a1

📥 Commits

Reviewing files that changed from the base of the PR and between f0dc0c2 and 5f21bed.

📒 Files selected for processing (5)
  • docs/architecture/README.md
  • docs/architecture/frontend/README.md
  • docs/architecture/frontend/lens-system.md
  • docs/architecture/frontend/persona-content-matrix.md
  • docs/architecture/frontend/persona-detection.md

Document which project metadata fields are null vs defaulted to false
on the raw personas endpoint, matching PersonaDetectionService behavior.

Signed-off-by: Audi Young <audi.mycloud@gmail.com>
Fix Code Quality Checks format:check failure on persona-detection.md.

Signed-off-by: Audi Young <audi.mycloud@gmail.com>
Copilot AI review requested due to automatic review settings June 24, 2026 11:19

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Comment thread docs/architecture/frontend/persona-detection.md Outdated
Comment thread docs/architecture/frontend/persona-detection.md Outdated
Distinguish persona vs affiliated-slugs cache eviction and describe
fail-soft per-project enrichment behavior.

Signed-off-by: Audi Young <audi.mycloud@gmail.com>
)

Clarify writerGuard and meeting create gating so committee writers and
meeting coordinators are not conflated with persona level.

Signed-off-by: Audi Young <audi.mycloud@gmail.com>
Copilot AI review requested due to automatic review settings June 24, 2026 17:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Comment thread docs/architecture/frontend/persona-detection.md Outdated
Comment thread docs/architecture/frontend/persona-content-matrix.md Outdated
Signed-off-by: Audi Young <audi.mycloud@gmail.com>
Normalize markdown table column widths so format:check passes in CI.

Signed-off-by: Audi Young <audi.mycloud@gmail.com>
Copilot AI review requested due to automatic review settings June 25, 2026 13:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.

@MRashad26 MRashad26 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review — PR #1022 docs(architecture): document persona detection pipeline (LFXV2-2205)

Overview

Adds comprehensive architecture documentation for the persona detection pipeline end-to-end: the upstream lfx-v2-persona-service NATS contract → BFF detection/enrichment services → frontend signals and cache behavior. The new persona-detection.md explains the four persona types, detection source tokens, per-project mapping logic, caching strategy (15s persona cache, de-duped by email), enrichment flow, SSR hydration via cookie, and the refresh/pin behavior on the frontend. Also updates cross-linking in lens-system.md, persona-content-matrix.md, and the main README to surface the new doc and add a detailed "Meetings write paths" section clarifying committee-writer and meetingCoordinator role gating.

Code-standards audit

Documentation PR — no code changes. No violations.

Secrets / critical-constants check ✅

No secrets or hardcoded credentials introduced.

Code quality notes

  • Documentation is well-structured: upstream contract first, then BFF steps 1–7, then API shapes, then SSR/hydration, then Mermaid data-flow diagram. Follows the codebase's own patterns (e.g. links to actual service files, TypeScript interface snippets). ✅
  • Cross-linking is thorough: persona-detection links to lens-system and permission-persona-navigation preread; updates to lens-system and content-matrix link back to the new doc. ✅
  • "Personas are not authorization" callout at the top is clear and sets correct mental model (personas shape UX, not gating). ✅
  • Caching table (15s persona, 15s slugs, 1h ROOT UID) is explicit and matches code. ✅
  • Meetings write paths section is detailed: covers route guard (writeFeature: 'meetings'), dashboard CTA (canWriteMeetings), committee tab (committee.writer), and backend OpenFGA rule. Fixes prior vague language (was "Yes" for UI gating, now specific per layer). ✅

Verdict: PASS ✅

Clear, comprehensive documentation. Ready to merge.

@audigregorie audigregorie merged commit 51bc97c into main Jun 30, 2026
11 of 12 checks passed
@audigregorie audigregorie deleted the feat/lfxv2-2205-persona-view-docs branch June 30, 2026 21:26
@github-actions

Copy link
Copy Markdown

🧹 Deployment Removed

The deployment for PR #1022 has been removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants