Skip to content

[Doc] Flare Overview, System architect updates and new how-to guide structure [skip ci]#3922

Closed
chesterxgchen wants to merge 49 commits intoNVIDIA:mainfrom
chesterxgchen:documentation_update
Closed

[Doc] Flare Overview, System architect updates and new how-to guide structure [skip ci]#3922
chesterxgchen wants to merge 49 commits intoNVIDIA:mainfrom
chesterxgchen:documentation_update

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 significantly improves NVIDIA FLARE's documentation structure and content. The changes include:

Major Structural Improvements:

  • Reorganized system architecture into dedicated system_architecture/ section with four subsections (system architecture, security overview, cellnet architecture, design principles)
  • Created new how-to-guide/ section with development and production subsections
  • Moved confidential computing path from confidential_computing/ to user_guide/confidential_computing/ for better organization
  • Deleted old flare_system_architecure.rst (note: original had typo "architecure")

New Documentation Content:

  • Completely rewrote flare_overview.rst with expanded feature descriptions, use cases, and capabilities
  • Created comprehensive 600+ line system_architecture.rst with detailed multi-process architecture, communication framework, and deployment modes
  • Added flare_api_evolution.rst documenting the evolution of server, client, and wiring APIs
  • Created practical how-to guides: API selection guide, DL-to-FL conversion, simulation modes, federated analytics
  • Added 5 production guides covering AWS/Azure deployment, monitoring, and system interaction

Visual Assets:

  • Added 7 new diagrams (job architecture, K8s architecture, API evolution diagrams)
  • Renamed system_architecture.png to system_architecture_1.png

Documentation Quality:

  • Fixed markdown link syntax in hello-tabular-stats/index.rst (changed [text](url) to proper RST `text <url>`_)
  • Added reference labels (.. _label:) to enable cross-referencing
  • Improved formatting and structure throughout

Placeholder Content:

  • Created use_he.rst and use_dp.rst with "todo:" placeholders for future content

All changes are documentation-only with no code modifications. The restructuring makes architecture information more discoverable and provides practical task-oriented guides for users.

Confidence Score: 5/5

  • This PR is safe to merge with no risk - it contains only documentation updates with no code changes
  • Documentation-only PR with comprehensive improvements to structure and content. All image files exist, references are properly formatted, and the reorganization follows RST best practices. The placeholder files are appropriately marked with "todo:" and won't break builds.
  • No files require special attention

Important Files Changed

Filename Overview
docs/index.rst Added system architecture and how-to guide sections to main navigation, reorganized confidential computing path
docs/flare_overview.rst Comprehensive rewrite with updated feature descriptions, improved structure, and expanded content on capabilities and use cases
docs/system_architecture/system_architecture.rst New comprehensive system architecture documentation with diagrams, process model, and detailed technical explanations
docs/system_architecture/index.rst New index page organizing architecture documentation sections
docs/how-to-guide/index.rst New how-to guide index with task-oriented structure for development and deployment
docs/how-to-guide/develop/different_flare_apis.rst New guide explaining API options and recommending which APIs to use for different user roles
docs/programming_guide/flare_api_evolution.rst New documentation tracing the evolution of server, client, and wiring APIs with detailed explanations
docs/how-to-guide/develop/dl_to_fl_guide.rst New guide for converting deep learning code to federated learning with practical steps and examples

Sequence Diagram

sequenceDiagram
    participant Author as PR Author
    participant Docs as Documentation
    participant Overview as FLARE Overview
    participant SysArch as System Architecture
    participant HowTo as How-To Guides
    participant Users as Documentation Users

    Author->>Docs: Update FLARE overview with latest features
    Author->>Docs: Delete old flare_system_architecure.rst
    Author->>SysArch: Create new system_architecture/ folder
    Author->>SysArch: Write comprehensive system_architecture.rst
    Author->>SysArch: Add design_principles.rst
    Author->>SysArch: Move security_overview.rst to system_architecture/
    Author->>SysArch: Move cellnet_architecture.rst to system_architecture/
    Author->>Docs: Add system_architecture/index.rst to main navigation
    
    Author->>HowTo: Create new how-to-guide/ structure
    Author->>HowTo: Add develop/ subfolder with API guides
    Author->>HowTo: Add production/ subfolder with deployment guides
    Author->>HowTo: Create different_flare_apis.rst guide
    Author->>HowTo: Create dl_to_fl_guide.rst
    Author->>HowTo: Create fed_analytics.rst guide
    Author->>HowTo: Create simulation.rst guide
    Author->>HowTo: Add placeholder files (use_he.rst, use_dp.rst)
    
    Author->>Overview: Add flare_api_evolution.rst to programming_guide
    Author->>Docs: Add reference labels to hello-world examples
    Author->>Docs: Add new architecture diagrams (7 new images)
    Author->>Docs: Update main index.rst navigation structure
    
    Docs->>Users: Provide improved documentation structure
    Docs->>Users: Enable easier navigation to architecture info
    Docs->>Users: Offer practical how-to guides
    Users->>Docs: Access comprehensive, well-organized documentation
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

@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

@chesterxgchen
Copy link
Collaborator Author

/build

@chesterxgchen
Copy link
Collaborator Author

/build

@chesterxgchen chesterxgchen marked this pull request as draft January 5, 2026 22:18
@chesterxgchen
Copy link
Collaborator Author

this already merged using other 2 PRs, closing

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