docs: remove coordinator and mothership terminology from all documentation#210
Merged
docs: remove coordinator and mothership terminology from all documentation#210
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR corrects terminology introduced in PR #208, replacing the incorrect "coordinator" concept with accurate peer-to-peer architecture documentation. All Flash endpoints are equal peers that discover each other via State Manager GraphQL—there is no privileged central coordinator node.
Changes:
- Removed "coordinator", "mothership", and "hub-and-spoke" terminology from all documentation
- Updated architecture diagrams to show flat peer topology instead of hierarchical coordinator model
- Clarified that reconciliation happens at deploy time via CLI (
flash deploy), not at endpoint boot - Scoped
FLASH_IS_MOTHERSHIPas a legacy environment variable with no architectural significance in production
Reviewed changes
Copilot reviewed 46 out of 47 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
tests/unit/test_skeleton.py |
Updated tests to reflect new flat-file skeleton structure (gpu_worker.py, cpu_worker.py, lb_worker.py) |
tests/unit/resources/test_serverless.py |
Added tests for live provisioning health check behavior and template exclusion logic |
tests/unit/cli/test_run.py |
Extensive new tests for auto-discovery, hot-reload, server generation, and numeric directory handling |
tests/unit/cli/commands/build_utils/test_path_utilities.py |
New test file for path utility functions (file_to_url_prefix, file_to_resource_name, file_to_module_path) |
tests/unit/cli/commands/build_utils/test_manifest_mothership.py |
Deleted file - mothership detection tests no longer needed |
tests/integration/test_run_auto_provision.py |
Deleted file - auto-provision tests moved to unit tests |
src/runpod_flash/stubs/registry.py |
Added CpuLiveLoadBalancer stub registration |
src/runpod_flash/stubs/load_balancer_sls.py |
Updated to use LiveServerlessMixin instead of specific LiveLoadBalancer class |
src/runpod_flash/core/resources/serverless.py |
Added live provisioning health check skip, template exclusion logic, and FLASH_MODULE_PATH injection |
src/runpod_flash/core/resources/resource_manager.py |
Removed verbose URL logging |
src/runpod_flash/core/resources/load_balancer_sls_resource.py |
Updated logging for LB endpoint deployment |
src/runpod_flash/core/api/runpod.py |
Updated GraphQL logging messages |
src/runpod_flash/client.py |
Added LB route handler passthrough logic for direct execution on LB endpoints |
src/runpod_flash/cli/commands/run.py |
Major rewrite: auto-discovery of @remote functions, .flash/server.py generation, hot-reload via watchfiles |
src/runpod_flash/cli/commands/init.py |
Updated output to show new flat-file structure |
src/runpod_flash/cli/commands/build_utils/scanner.py |
Added path utility functions and is_lb_route_handler field |
src/runpod_flash/cli/commands/build_utils/manifest.py |
Removed mothership detection, added file_path/local_path_prefix/module_path fields |
src/runpod_flash/cli/commands/build_utils/lb_handler_generator.py |
Removed reconciliation logic from LB handler lifespan |
src/runpod_flash/cli/commands/build.py |
Removed main.py requirement from project validation |
src/runpod_flash/cli/commands/_run_server_helpers.py |
New file: helpers for LB route execution in dev server |
src/runpod_flash/cli/utils/skeleton_template/* |
Complete restructure: removed workers/, main.py, mothership.py; added gpu_worker.py, cpu_worker.py, lb_worker.py |
docs/*.md |
Updated all architecture documentation to remove coordinator terminology and reflect peer-to-peer topology |
src/runpod_flash/cli/docs/*.md |
Updated CLI documentation to reflect auto-discovery and new skeleton structure |
README.md |
Updated quickstart guide to reflect new flat-file structure and auto-discovery |
PRD.md |
New file: Product Requirements Document for zero-boilerplate experience |
scripts/validate-wheel.sh |
Updated to validate new skeleton template files |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 47 out of 48 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The previous doc round incorrectly replaced "mothership" with "coordinator", implying a hub-and-spoke architecture. Flash endpoints are equal peers that discover each other via State Manager GraphQL. - Replace hub-and-spoke diagrams with flat peer topology - Remove "coordinator endpoint", "child endpoint", "primary endpoint" - Reconciliation happens at deploy time via CLI, not at boot - Scope FLASH_IS_MOTHERSHIP as legacy env var, not architectural concept - Merge endpoint boot phases into single peer-based flow
Replace mothership_id with flash_environment_id in StateManagerClient examples, remove MothershipsProvisioner from prose, drop legacy FLASH_IS_MOTHERSHIP env var sections, remove outdated Docker testing section, and delete obsolete VERIFICATION.md.
79806e5 to
50fb688
Compare
KAJdev
approved these changes
Feb 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
mothership_idwithflash_environment_idin StateManagerClient examplesMothershipsProvisionerreferences, legacyFLASH_IS_MOTHERSHIPenv var sections, and outdated Docker testing sectionVERIFICATION.mdflash deploy), not at endpoint bootChanged files
Architecture docs:
Deployment_Architecture.md,Flash_Deploy_Guide.md,Cross_Endpoint_Routing.md,Load_Balancer_Endpoints.mdCLI docs:
flash-deploy.md,flash-build.mdRoot:
README.mdDeleted:
VERIFICATION.mdContext
The previous doc round (PR #208) correctly removed old skeleton patterns (
main.py,workers/, FastAPI boilerplate) but incorrectly replaced "mothership" with "coordinator", creating a false impression of a hub-and-spoke architecture with a privileged central node. This PR corrects that in two passes:d168633): All diagrams and prose now reflect the flat peer topology where endpoints discover each other via State Manager GraphQL.dd22a72): Remaining mothership references removed --mothership_id→flash_environment_id,MothershipsProvisionerprose removed,FLASH_IS_MOTHERSHIPenv var sections dropped, Docker testing section removed,VERIFICATION.mddeleted.Test plan
make quality-checkpasses (format, lint, 1033+ tests, 68.70% coverage)grep -ri "coordinator" docs/ src/runpod_flash/cli/docs/ README.mdreturns zero user-facing hitsgrep -ri "mothership" docs/ src/runpod_flash/cli/docs/ README.mdreturns zero user-facing hits