Skip to content

Conversation

@chesterxgchen
Copy link
Collaborator

@chesterxgchen chesterxgchen commented Dec 27, 2025

Description

  1. Update FLARE overview to reflect latest changes
  2. Move FLARE architecture into separate section and make it visible from the side-bar
  3. re-write system architecture with several new diagrams.
  4. make Security Overview, design principal and Cellnet architecture visible as part of Flare Architecture
  5. make Confidential Computing section visible on the side-bar and easy to access.
  6. add new how-to guide documentation structure
  7. add how-to: develop to include different FLARE API,
  8. add FLARE API evolution documentation page
  9. add how to calculate Fed Stats
  10. add how to calculate Convert ML/FL to FL
  11. add how to do simulations
  12. add place holder for use_he.rst, use_dp,rst
  13. add production section ( deployments in aws, azure, monitoring, interaction with Flare)

Types of changes

  • Non-breaking change (fix or new feature that would not break existing functionality).
  • Breaking change (fix or new feature that would cause existing functionality to change).
  • New tests added to cover the changes.
  • Quick tests passed locally by running ./runtest.sh.
  • In-line docstrings updated.
  • Documentation updated.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Dec 27, 2025

Greptile Summary

This PR comprehensively restructures and expands the NVFLARE documentation to improve discoverability, clarity, and user experience. The changes include:

Major Structural Improvements:

  • Reorganized FLARE overview (flare_overview.rst) with enhanced feature descriptions, clearer capability sections, and better organization
  • Created new dedicated System Architecture section visible in sidebar with subsections for system architecture, security, cellnet, and design principles
  • Introduced new How-to Guide structure with task-oriented documentation split into development and production sections
  • Made Confidential Computing section more accessible via sidebar navigation

New Documentation Added:

  • API Evolution & Selection: New guides explaining FLARE API evolution (flare_api_evolution.rst) and helping users choose appropriate APIs (different_flare_apis.rst) with visual diagrams
  • Development Guides: Practical how-to guides for converting DL to FL, calculating federated analytics, and running simulations
  • Production Guides: Comprehensive guides for FLARE setup, deployment (AWS/Azure), system monitoring, and interaction with FLARE via API/console
  • Architecture Details: Expanded system architecture documentation with detailed component descriptions and new diagrams

Documentation Quality:

  • All RST syntax appears correct with proper references and cross-linking
  • Content is well-structured with clear headings and code examples
  • New diagrams added to support visual understanding (Job_architecture2.png, API diagrams, k8s diagrams)
  • Consistent formatting and style throughout

The changes align well with the PR description's stated goals and significantly improve the documentation's organization and accessibility for different user personas (data scientists, FL researchers, system integrators).

Confidence Score: 5/5

  • This documentation PR is safe to merge with no concerns
  • This is a documentation-only PR with no code changes. The updates are well-structured, improve organization and discoverability, and follow proper RST syntax. All changes enhance the user experience without introducing any risks to functionality, security, or system behavior.
  • No files require special attention

Important Files Changed

Filename Overview
docs/flare_overview.rst Comprehensive rewrite of FLARE overview with improved structure, expanded feature descriptions, and better organization of capabilities
docs/system_architecture/index.rst New architecture section index organizing system architecture, security, cellnet, and design principles
docs/system_architecture/system_architecture.rst New comprehensive system architecture documentation with detailed component descriptions and diagrams
docs/how-to-guide/develop/different_flare_apis.rst New guide explaining FLARE API evolution and helping users choose appropriate APIs for their use case
docs/programming_guide/flare_api_evolution.rst New detailed documentation on API evolution history for server, client, and wiring APIs
docs/how-to-guide/develop/dl_to_fl_guide.rst New practical guide for converting deep learning code to federated learning with clear steps
docs/how-to-guide/production/setup_nvflare.rst New comprehensive production setup guide covering provisioning, distribution, startup, and operation
docs/how-to-guide/production/interact_with_flare.rst New guide for interacting with FLARE via API and admin console with detailed code examples

Sequence Diagram

sequenceDiagram
    participant User
    participant MainIndex as Main Index (index.rst)
    participant FlareOverview as FLARE Overview
    participant SysArch as System Architecture Section
    participant HowToGuide as How-to Guide Section
    participant DevGuides as Development Guides
    participant ProdGuides as Production Guides

    User->>MainIndex: Navigate to documentation
    MainIndex->>FlareOverview: Enhanced overview with expanded features
    Note over FlareOverview: Rewritten with better structure<br/>Cross-silo & cross-device support<br/>Industry use cases added
    
    MainIndex->>SysArch: New visible architecture section
    Note over SysArch: System Architecture<br/>Security Overview<br/>Cellnet Architecture<br/>Design Principles
    
    MainIndex->>HowToGuide: New task-oriented guide structure
    HowToGuide->>DevGuides: Development guides
    Note over DevGuides: Different FLARE APIs<br/>DL to FL Conversion<br/>Federated Analytics<br/>Simulation
    
    HowToGuide->>ProdGuides: Production guides
    Note over ProdGuides: Setup NVFLARE<br/>Deploy to AWS/Azure<br/>System Monitoring<br/>Interact with FLARE
Loading

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Dec 27, 2025

Greptile found no issues!

From now on, if a review finishes and we haven't found any issues, we will not post anything, but you can confirm that we reviewed your changes in the status check section.

This feature can be toggled off in your Code Review Settings by deselecting "Create a status check for each PR".

@chesterxgchen chesterxgchen requested review from YuanTingHsieh and holgerroth and removed request for YuanTingHsieh December 27, 2025 05:09
@chesterxgchen chesterxgchen changed the title Add new how-to guide documentation structure Add new how-to guide documentation structure [skip ci] Dec 27, 2025
Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Additional Comments (1)

  1. docs/programming_guide/execution_api_type/client_api.rst, line 194 (link)

    syntax: incorrect reStructuredText syntax - triple backticks don't create references in RST

16 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Additional Comments (1)

  1. docs/system_architecture/design_principals.rst, line 1-2 (link)

    style: Filename typo: design_principals.rst should be design_principles.rst (principal vs principle)

25 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

@chesterxgchen chesterxgchen changed the title Add new how-to guide documentation structure [skip ci] Add FLARE overview, System architect updates and new how-to guide documentation structure [skip ci] Dec 28, 2025
@chesterxgchen chesterxgchen changed the title Add FLARE overview, System architect updates and new how-to guide documentation structure [skip ci] Flare Overview, System architect updates and new how-to guide documentation structure [skip ci] Dec 28, 2025
@chesterxgchen
Copy link
Collaborator Author

/build

@chesterxgchen
Copy link
Collaborator Author

/build

@chesterxgchen chesterxgchen changed the title Flare Overview, System architect updates and new how-to guide documentation structure [skip ci] [Doc] Flare Overview, System architect updates and new how-to guide structure [skip ci] Dec 28, 2025
Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

Additional Comments (9)

  1. docs/hello-world/hello-tf/index.rst, line 56 (link)

    syntax: Directory name should be 'hello-tf' not 'hello-pt' to match the actual example being documented

  2. docs/index.rst, line 38 (link)

    logic: Duplicate confidential computing reference - line 18 adds user_guide/confidential_computing/index to Introduction section, but line 38 still has the old confidential_computing/index entry in Guides section. Should the confidential_computing/index entry on line 38 be removed since it's now included in the Introduction section on line 18?

  3. docs/programming_guide/flare_api_evolution.rst, line 44 (link)

    syntax: Missing period at end of sentence

  4. docs/programming_guide/flare_api_evolution.rst, line 150 (link)

    syntax: Missing article 'a' before 'job'

  5. docs/hello-world/hello-tabular-stats/index.rst, line 96 (link)

    syntax: Markdown link syntax [adult dataset](https://archive.ics.uci.edu/dataset/2/adult) is incorrect for RST format

  6. docs/hello-world/hello-tabular-stats/index.rst, line 204-206 (link)

    syntax: Markdown-style headers ## Visualization are incorrect for RST format

  7. docs/programming_guide/execution_api_type/client_api.rst, line 69 (link)

    syntax: Incomplete sentence - missing completion after 'job Recipe and the'

  8. docs/how-to-guide/production/setup_nvflare.rst, line 209 (link)

    style: Uses @ in email addresses without code formatting

    Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

  9. docs/how-to-guide/develop/fed_analytics.rst, line 23 (link)

    logic: mentions min and max as common outputs but line 46 states they're excluded for privacy

29 files reviewed, 9 comments

Edit Code Review Agent Settings | Greptile

@chesterxgchen
Copy link
Collaborator Author

/build

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.

2 participants