-
Notifications
You must be signed in to change notification settings - Fork 42
Docs update for setup #347
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. Warning Rate limit exceeded@nk-ag has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 13 minutes and 42 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
📝 WalkthroughSummary by CodeRabbit
WalkthroughDocumentation overhaul: added a comprehensive Docker Compose setup (cloud/local MongoDB, beta, health checks, troubleshooting), a new Exosphere Local Setup guide, "Getting Started" callouts and diagrams across multiple pages, a reworked Getting Started/index with examples and branding, and MkDocs mermaid support. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor User
participant Compose as Docker Compose
participant Mongo as MongoDB
participant SM as State Manager
participant UI as Dashboard
User->>Compose: docker compose pull/config && docker compose up -d --wait
Compose->>Mongo: start container (local or cloud connection)
Note over Mongo: healthcheck / readiness
Compose->>SM: start after Mongo healthy
SM->>Mongo: connect via MONGO_URI
Note over SM: /health ready
Compose->>UI: start after SM healthy
UI->>SM: API calls (dashboard & docs)
User->>UI: open http://localhost:3000
User->>SM: check http://localhost:8000/health
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Poem
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @nk-ag, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request focuses on a major overhaul of the project's documentation, aiming to significantly improve the user onboarding experience and clarity of setup instructions. The changes centralize local development information, provide more structured and detailed guides for Docker Compose, and introduce visual diagrams to explain complex architectural concepts. The main project overview has also been updated to better articulate Exosphere's capabilities.
Highlights
- Documentation Restructuring: The setup guides have been significantly reorganized and enhanced for clarity and ease of use, particularly for Docker Compose setups.
- New Centralized Local Setup Guide: A new
local-setup.mdfile has been introduced to serve as a comprehensive, single source for setting up Exosphere locally, linking to more detailed guides where necessary. - Improved Docker Compose Instructions: The
docker-compose-setup.mdfile has been completely rewritten with tabbed sections for different MongoDB configurations, streamlined beta version setup, and new sections for accessing services, development commands, health checks, and testing. - Visual Aids with Mermaid Diagrams: Mermaid diagram support has been added to the documentation, and new diagrams illustrating Node Lifecycle Architecture and Data Flow Architecture have been integrated to improve understanding of core concepts.
- Enhanced Project Overview: The main
index.mdpage has been updated with a richer project description, visual badges, and new sections detailing Exosphere's capabilities in scalable AI workflows, developer experience, production infrastructure, and AI agent capabilities.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request significantly improves the structure and clarity of the setup documentation. The introduction of a dedicated local setup guide and the use of tabs to organize different configurations are great enhancements. I've found a critical issue with swapped ports in one of the setup descriptions and a few medium-severity issues related to redundant commands and minor formatting that would improve the user experience. Overall, these are excellent updates to the documentation.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 15
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (10)
docs/docs/exosphere/create-runtime.md (1)
14-18: Compose command style consistency.Elsewhere you recommend “docker compose” (v2). Consider aligning this snippet or add a note referencing the Legacy v1 section.
- docker-compose up -d + docker compose up -ddocs/docs/exosphere/state-manager-setup.md (3)
149-161: Fix broken YAML indentation and Swarm vs Compose mismatch.
- The environment key is misindented; YAML will fail to parse.
- The example uses a Swarm-only deploy section but the command uses docker-compose, which ignores deploy/replicas.
Proposed fix:
ports: - "8000:8000" - environment: + environment: - MONGO_URI=${MONGO_URI} - MONGO_DATABASE_NAME=${MONGO_DATABASE_NAME} - STATE_MANAGER_SECRET=${STATE_MANAGER_SECRET} - SECRETS_ENCRYPTION_KEY=${SECRETS_ENCRYPTION_KEY} - deploy: - replicas: 3 - update_config: - parallelism: 1 - delay: 10s - restart_policy: - condition: on-failureAnd either:
- Use Docker Compose without Swarm fields:
- docker-compose -f docker-compose.prod.yml up -d + docker compose -f docker-compose.prod.yml up -dOr keep Swarm fields and use stack deploy:
- docker-compose -f docker-compose.prod.yml up -d + docker stack deploy -c docker-compose.prod.yml exosphere
212-219: Align “Required” with defaults in the config table.MONGO_DATABASE_NAME has a default of exosphere below, so it isn’t “Required”.
-| `MONGO_DATABASE_NAME` | Database name | Yes | `exosphere` | +| `MONGO_DATABASE_NAME` | Database name | No | `exosphere` |
96-96: Clarify grammar for readability.Current: “The state manager uri and key would be configured accordingly while setting up nodes and graphs as per the config given locally.”
Suggestion:
-The state manager uri and key would be configured accordingly while setting up nodes and graphs as per the config given locally. +Configure the state manager URI and API key in your nodes and graphs to match your local configuration.docs/docs/exosphere/register-node.md (1)
158-159: Tighten wording and US spelling.-Organise nodes to a namespace to reuse them across flows in that namespace +Organize nodes into a namespace to reuse them across flows in that namespace.docs/docs/index.md (5)
89-95: Guard the blocking runtime start.Avoid accidental double-starts with reloaders and imports by using a main guard.
-# Initialize the runtime -Runtime( - namespace="MyProject", - name="HelloWorld", - nodes=[HelloWorldNode] -).start() # Note: This blocks the main thread +# Initialize the runtime +if __name__ == "__main__": + Runtime( + namespace="MyProject", + name="HelloWorld", + nodes=[HelloWorldNode], + ).start() # Note: This blocks the main thread
140-149: Don’t use bare except; return a clearer error.Narrow the exception to
json.JSONDecodeErrorand standardize the status message.- try: - data = json.loads(self.inputs.data) - except: - return self.Outputs( - result="", - status="error: invalid json" - ) + try: + data = json.loads(self.inputs.data) + except json.JSONDecodeError: + return self.Outputs( + result="", + status="error: invalid JSON", + )
137-139: Secrets are defined but unused.Either remove
Secretsfrom the example to reduce noise, or demonstrate usage (e.g., read an API key for a call).- class Secrets(BaseModel): - api_key: str + # class Secrets(BaseModel): + # api_key: str
161-167: Apply the main guard to the second example too.Consistency and safety for reloaders/imports.
-# Initialize the runtime -Runtime( - namespace="MyProject", - name="DataProcessor", - nodes=[DataProcessorNode] -).start() +# Initialize the runtime +if __name__ == "__main__": + Runtime( + namespace="MyProject", + name="DataProcessor", + nodes=[DataProcessorNode], + ).start()
172-181: Fix grammar/clarity in “Open Source Commitment.”User-facing text: multiple run-ons and agreement issues. Tighten and correct.
-We believe that humanity would not have been able to achieve the level of innovation and progress we have today without the support of open source and community, we want to be a part of this movement and support the open source community. In following ways: +We believe our current level of innovation would be impossible without open source. We’re committed to supporting the community in the following ways: @@ -1. We will be open sourcing majority of our codebase for exosphere.host and making it available to the community. We welcome all sort of contributions and feedback from the community and will be happy to collaborate with you. -2. For whatever the profits which we generate from exosphere.host, we will be donating a portion of it to open source projects and communities. If you have any questions, suggestions or ideas. -3. We would be further collaborating with various open source student programs to provide with the support and encourage and mentor the next generation of open source contributors. +1. Open-sourcing the majority of the exosphere.host codebase and welcoming contributions and feedback. +2. Donating a portion of profits to open-source projects and communities. +3. Collaborating with student programs to support, encourage, and mentor the next generation of contributors. @@ -Please feel free to reach out to us at [nivedit@exosphere.host](mailto:nivedit@exosphere.host). Lets push the boundaries of possibilities for humanity together! +Questions or ideas? Reach us at [nivedit@exosphere.host](mailto:nivedit@exosphere.host). Let’s push the boundaries of what’s possible—together.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
💡 Knowledge Base configuration:
- MCP integration is disabled by default for public repositories
- Jira integration is disabled by default for public repositories
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (2)
docs/docs/assets/logo-with-bg.pngis excluded by!**/*.pngdocs/uv.lockis excluded by!**/*.lock
📒 Files selected for processing (11)
docs/docs/docker-compose-setup.md(3 hunks)docs/docs/exosphere/architecture.md(1 hunks)docs/docs/exosphere/create-runtime.md(1 hunks)docs/docs/exosphere/dashboard.md(1 hunks)docs/docs/exosphere/local-setup.md(1 hunks)docs/docs/exosphere/register-node.md(2 hunks)docs/docs/exosphere/state-manager-setup.md(1 hunks)docs/docs/exosphere/trigger-graph.md(1 hunks)docs/docs/getting-started.md(1 hunks)docs/docs/index.md(3 hunks)docs/mkdocs.yml(3 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/docs/exosphere/create-runtime.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...r Local Setup Guide. ## Runtime Setup Before creating a runtime...
(QB_NEW_EN)
docs/docs/exosphere/local-setup.md
[grammar] ~1-~1: Use correct spacing
Context: # Local Setup Guide This guide walks you through setting up ...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~3-~3: Use correct spacing
Context: ...ning them individually for more control. ## Overview Exosphere consists of two main...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~5-~5: There might be a problem here.
Context: ...ividually for more control. ## Overview Exosphere consists of two main components that wo...
(QB_NEW_EN_MERGED_MATCH)
[grammar] ~7-~7: Use correct spacing
Context: ... two main components that work together: 1. State Manager - Backend service that h...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[typographical] ~9-~9: To join two clauses or set off examples, consider using an em dash.
Context: ... that work together: 1. State Manager - Backend service that handles workflow execution...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~9-~9: There might be a mistake here.
Context: ... workflow execution and state management 2. Dashboard - Web interface for monitori...
(QB_NEW_EN_OTHER)
[typographical] ~10-~10: To join two clauses or set off examples, consider using an em dash.
Context: ...tion and state management 2. Dashboard - Web interface for monitoring and managing w...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~10-~10: There might be a mistake here.
Context: ...ce for monitoring and managing workflows You can set these up using: - **Docker ...
(QB_NEW_EN_OTHER)
[grammar] ~12-~12: There might be a mistake here.
Context: ...anaging workflows You can set these up using: - Docker Compose (recommended for quick ...
(QB_NEW_EN_OTHER)
[typographical] ~14-~14: To join two clauses or set off examples, consider using an em dash.
Context: ...Docker Compose** (recommended for quick start) - runs both services together - **Individual S...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~14-~14: There might be a mistake here.
Context: ...ick start) - runs both services together - Individual Setup - run each service se...
(QB_NEW_EN_OTHER)
[typographical] ~15-~15: To join two clauses or set off examples, consider using an em dash.
Context: ...h services together - Individual Setup - run each service separately for development...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~15-~15: There might be a mistake here.
Context: ... each service separately for development ## Prerequisites Before you begin, ensure ...
(QB_NEW_EN_OTHER)
[grammar] ~17-~17: Use correct spacing
Context: ...rately for development ## Prerequisites Before you begin, ensure you have: - [D...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~19-~19: Use correct spacing
Context: ...ites Before you begin, ensure you have: - [Docker](https://docs.docker.com/get-dock...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~21-~21: There might be a mistake here.
Context: ... installed (for Docker Compose approach) - [Python 3.12+](https://www.python.org/dow...
(QB_NEW_EN)
[grammar] ~22-~22: There might be a mistake here.
Context: ...n.org/downloads/) (for individual setup) - Node.js 18+ (for d...
(QB_NEW_EN)
[grammar] ~23-~23: There might be a mistake here.
Context: ...nodejs.org/) (for dashboard development) - [MongoDB](https://www.mongodb.com/try/dow...
(QB_NEW_EN)
[grammar] ~24-~24: Use correct spacing
Context: ...oad/community) instance (cloud or local) ## Setup === "Docker Compose Setup (Recomm...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~26-~26: Use correct spacing
Context: ...ity) instance (cloud or local) ## Setup === "Docker Compose Setup (Recommended)"...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~28-~28: Use correct spacing
Context: ...=== "Docker Compose Setup (Recommended)" The fastest way to get Exosphere running locally is using Docker Compose. This approach handles all the configuration and networking automatically. Follow the guide: Get Exosphere running locally with Docker === "Individual Component Setup" If...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~34-~34: Use correct spacing
Context: ...up.md) === "Individual Component Setup" If you prefer more control over each component or want to develop locally, you can set up the state manager and dashboard separately. To get Exosphere state manager running, follow State Manager Setup For complete monitoring dashboard setup details, see our Dashboard Guide. ## Testing Your Setup Once both services a...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~43-~43: Use correct spacing
Context: ..../dashboard.md). ## Testing Your Setup Once both services are running, test the...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~45-~45: Use correct spacing
Context: ...es are running, test the complete setup: 1. Verify state manager: ```bash cu...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~47-~47: Use correct spacing
Context: ...ete setup: 1. Verify state manager: bash curl http://localhost:8000/health 2. Verify dashboard: ```bash curl h...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~52-~52: Use correct spacing
Context: .../health 2. **Verify dashboard**: bash curl http://localhost:3000 ``` 3. Check API documentation: - Open htt...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~57-~57: There might be a mistake here.
Context: ... ``` 3. Check API documentation: - Open http://localhost:8000/docs in your ...
(QB_NEW_EN)
[grammar] ~58-~58: There might be a mistake here.
Context: ...tp://localhost:8000/docs in your browser - Test the /health endpoint ## Next Ste...
(QB_NEW_EN_OTHER)
[grammar] ~59-~59: There might be a mistake here.
Context: ...browser - Test the /health endpoint ## Next Steps With your local Exosphere in...
(QB_NEW_EN_OTHER)
[grammar] ~61-~61: Use correct spacing
Context: ...st the /health endpoint ## Next Steps With your local Exosphere instance runni...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~63-~63: Use correct spacing
Context: ...phere instance running, you're ready to: 1. **[Register your first node](./register-nod...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~65-~65: There might be a mistake here.
Context: ...e.md)** - Create custom processing logic 2. **[Create and run workflows](./create-graph...
(QB_NEW_EN_OTHER)
[grammar] ~67-~67: There might be a mistake here.
Context: ...** - Use the dashboard to track progress ## Troubleshooting ### Common Issues **Po...
(QB_NEW_EN_OTHER)
[grammar] ~69-~69: Use correct spacing
Context: ...rd to track progress ## Troubleshooting ### Common Issues Port conflicts: If po...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~71-~71: Use correct spacing
Context: ...s ## Troubleshooting ### Common Issues Port conflicts: If ports 8000 or 3000 ...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~73-~73: Use correct spacing
Context: ... Docker commands or configuration files. MongoDB connection: Ensure your MongoD...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~75-~75: Use correct spacing
Context: ...le and the connection string is correct. Authentication errors: Verify that `EX...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~77-~77: Use correct spacing
Context: ...API_KEYmatchesSTATE_MANAGER_SECRET`. Dashboard can't connect: Check that th...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~79-~79: Use correct spacing
Context: ...ng and accessible at the configured URI. ### Getting Help - Check the [Docker Compos...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~81-~81: Use correct spacing
Context: ...at the configured URI. ### Getting Help - Check the [Docker Compose Setup Guide](....
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~83-~83: There might be a mistake here.
Context: ...ose-setup.md) for detailed configuration - Review the [State Manager Setup Guide](....
(QB_NEW_EN_OTHER)
[grammar] ~86-~86: There might be a mistake here.
Context: ...scord.com/invite/zT92CAgvkj) for support ## Production Considerations For productio...
(QB_NEW_EN_OTHER)
[grammar] ~88-~88: Use correct spacing
Context: ...or support ## Production Considerations For production deployment options, see o...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
docs/docs/exosphere/dashboard.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...r Local Setup Guide. ## Dashboard Overview The Exosphere dashbo...
(QB_NEW_EN)
docs/docs/exosphere/architecture.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...r Local Setup Guide. ## Overview Exosphere is built around a **...
(QB_NEW_EN)
docs/docs/exosphere/register-node.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...r Local Setup Guide. ## Node Structure Every node inherits from...
(QB_NEW_EN)
[grammar] ~34-~34: Use correct spacing
Context: ...ss ### Node Lifecycle Architecture mermaid stateDiagram-v2 [] --> Registered Registered --> Ready Ready --> Executing Executing --> Completed Executing --> Failed Failed --> Ready Completed --> Ready state Executing { [] --> ValidateInputs ValidateInputs --> ProcessData ProcessData --> ValidateOutputs ValidateOutputs --> [*] } note right of Failed Automatic retry with exponential backoff end note ``` ### Inputs Define the data your node expect...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
docs/docs/exosphere/state-manager-setup.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...r Local Setup Guide. ## Overview The Exosphere state manager is...
(QB_NEW_EN)
docs/docs/exosphere/trigger-graph.md
[grammar] ~5-~5: There might be a mistake here.
Context: ...r Local Setup Guide. The recommended way to trigger graphs is...
(QB_NEW_EN)
docs/docs/index.md
[grammar] ~14-~14: Use correct spacing
Context: ...: Distributed AI Workflow Infrastructure Exosphere is an open-source, Kubernete...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~16-~16: Use correct spacing
Context: ... processing and long-running operations. ## What Exosphere Can Do Exosphere provide...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~18-~18: Use correct spacing
Context: ...ng operations. ## What Exosphere Can Do Exosphere provides a powerful foundation...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~20-~20: Use correct spacing
Context: ...pplications with these key capabilities: ### Scalable AI Workflows - **Infinite Par...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~22-~22: There might be a mistake here.
Context: ...pabilities: ### Scalable AI Workflows - Infinite Parallel Agents: Run multiple...
(QB_NEW_EN)
[grammar] ~23-~23: There might be a mistake here.
Context: ...eously across distributed infrastructure - Dynamic State Management: Create and m...
(QB_NEW_EN_OTHER)
[grammar] ~25-~25: There might be a mistake here.
Context: ...ry mechanisms for production reliability ### Developer Experience - **Plug-and-Play...
(QB_NEW_EN_OTHER)
[grammar] ~27-~27: There might be a mistake here.
Context: ... reliability ### Developer Experience - Plug-and-Play Nodes: Create reusable, ...
(QB_NEW_EN)
[grammar] ~28-~28: There might be a mistake here.
Context: ...components that can be mixed and matched - Python-First: Native Python support wi...
(QB_NEW_EN_OTHER)
[grammar] ~29-~29: There might be a mistake here.
Context: ...ntic models for type-safe inputs/outputs ### Production Infrastructure - **Kubernet...
(QB_NEW_EN_OTHER)
[grammar] ~31-~31: There might be a mistake here.
Context: ...outputs ### Production Infrastructure - Kubernetes Native: Deploy seamlessly o...
(QB_NEW_EN)
[grammar] ~32-~32: There might be a mistake here.
Context: ...lusters for enterprise-grade scalability - State Persistence: Maintain workflow s...
(QB_NEW_EN_OTHER)
[grammar] ~34-~34: There might be a mistake here.
Context: ...agement, monitoring, and debugging tools ### AI Agent Capabilities - **Autonomous E...
(QB_NEW_EN_OTHER)
[grammar] ~36-~36: There might be a mistake here.
Context: ...gging tools ### AI Agent Capabilities - Autonomous Execution: Build agents tha...
(QB_NEW_EN)
[grammar] ~37-~37: There might be a mistake here.
Context: ... decisions and execute complex workflows - Data Processing: Handle large datasets...
(QB_NEW_EN_OTHER)
[grammar] ~39-~39: There might be a mistake here.
Context: ...ices and APIs through configurable nodes Whether you're building data pipelines, ...
(QB_NEW_EN_OTHER)
[grammar] ~41-~41: Use correct spacing
Context: ...lications production-ready and scalable. --- Watch the Step by Step Demo: <a href=...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~66-~66: Use correct spacing
Context: ...xospherehost ## Example ### Create Create a file `main.py` with: python...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~100-~100: Use correct spacing
Context: ... for non-blocking alternatives. ### Run Run the server with: ```bash uv run mai...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~102-~102: Use correct spacing
Context: ...rnatives. ### Run Run the server with: bash uv run main.py ### Check Your runtime is now running and r...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~108-~108: Use correct spacing
Context: ...: bash uv run main.py ### Check Your runtime is now running and ready to...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~110-~110: Use correct spacing
Context: ... running and ready to process workflows! ### Local Development Get the Exosphere Sta...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~113-~113: Use correct spacing
Context: ...ocess workflows! ### Local Development Get the Exosphere State Manager and Dash...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~115-~115: Use correct spacing
Context: ...ady to start building workflows locally. Ref: [Local Setup](./exosphere/local-set...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~117-~117: Use correct spacing
Context: ...ng workflows locally. Ref: Local Setup ## Example graph Now modify the file `main...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
docs/docs/getting-started.md
[grammar] ~173-~173: Use correct spacing
Context: ... processing and workflows ## Next Steps Now that you have the basics, explore: ...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~175-~175: Use correct spacing
Context: ... Now that you have the basics, explore: - **Local Setup...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~177-~177: There might be a mistake here.
Context: ...here locally for development and testing - **[Register Node](./exosphere/register-node...
(QB_NEW_EN)
[grammar] ~178-~178: There might be a mistake here.
Context: ... how to create and register custom nodes - **[Create Runtime](./exosphere/create-runti...
(QB_NEW_EN)
[grammar] ~179-~179: There might be a mistake here.
Context: ...how to set up and configure your runtime - **[Create Graph](./exosphere/create-graph.m...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...d workflows by connecting nodes together - **[Trigger Graph](./exosphere/trigger-graph...
(QB_NEW_EN)
[grammar] ~181-~181: Use correct spacing
Context: ...our workflows and monitor their progress ### Data Flow Architecture ```mermaid seque...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~184-~184: Use correct spacing
Context: ...ir progress ### Data Flow Architecture mermaid sequenceDiagram participant Client as Client Application participant Runtime as Runtime participant Node as Node Executor participant StateMgr as State Manager participant MongoDB as State Store Client->>Runtime: Initialize with nodes Runtime->>StateMgr: Register runtime & nodes StateMgr->>MongoDB: Store registration info loop Workflow Execution StateMgr->>Runtime: Trigger node execution Runtime->>Node: Execute node logic Node->>Runtime: Return outputs Runtime->>StateMgr: Update execution state StateMgr->>MongoDB: Persist state changes StateMgr->>Runtime: Trigger next node (if any) end StateMgr->>Client: Return final results ## Data Model (v1) Important: In v1, a...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
docs/docs/docker-compose-setup.md
[grammar] ~3-~3: Use correct spacing
Context: ... with Docker Compose in under 2 minutes. ## Setup This guide provides everything yo...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~5-~5: Use correct spacing
Context: ...r Compose in under 2 minutes. ## Setup This guide provides everything you need ...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~7-~7: Use correct spacing
Context: ...ack locally for development and testing. Exosphere uses MongoDB as the database t...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~9-~9: There might be a problem here.
Context: ...e to manage states. You can either have mongodb setup locally or use a cloud hosted instance(...
(QB_NEW_EN_MERGED_MATCH)
[grammar] ~9-~9: There might be a mistake here.
Context: ...ave mongodb setup locally or use a cloud hosted instance(recommended) === "Exosp...
(QB_NEW_EN_OTHER)
[grammar] ~9-~9: There might be a mistake here.
Context: ...odb setup locally or use a cloud hosted instance(recommended) === "Exosphere Local Setu...
(QB_NEW_EN_OTHER)
[grammar] ~9-~9: There might be a mistake here.
Context: ...use a cloud hosted instance(recommended) === "Exosphere Local Setup with Cloud Mo...
(QB_NEW_EN_OTHER)
[grammar] ~11-~11: There might be a mistake here.
Context: ... === "Exosphere Local Setup with Cloud MongoDB(Rec)" 1) Download Docker Compose F...
(QB_NEW_EN_OTHER)
[grammar] ~11-~11: Use correct spacing
Context: ...ere Local Setup with Cloud MongoDB(Rec)" 1) Download Docker Compose Files First, download the Docker Compose files from the GitHub repository: === "curl" bash # Download docker-compose file for cloud MongoDB (recommended) curl -O https://raw.githubusercontent.com/exospherehost/exospherehost/main/docker-compose/docker-compose.yml === "wget" bash # Download docker-compose file for cloud MongoDB (recommended) wget https://raw.githubusercontent.com/exospherehost/exospherehost/main/docker-compose/docker-compose.yml 2) Set up a cloud MongoDB Set up a mongodb cluster in a provider of your choice MongoDB Atlas, AWS DocumentDB. Get the mongo db url. 3) Set up the secrets in env === ".env file" Create a .env file with your MongoDB connection: bash MONGO_URI=mongodb+srv://username:password@your-cluster.mongodb.net/ === "Environment Variables" On your terminal: bash export MONGO_URI=mongodb+srv://username:password@your-cluster.mongodb.net/ 4) Download and start the services: bash curl -O https://raw.githubusercontent.com/exospherehost/exospherehost/main/docker-compose/docker-compose.yml && docker compose -f docker-compose.yml up -d 5) Done! This will start: - Exosphere State Manager : http://localhost:8000 - Exosphere Dashboard: http://localhost:3000 === "Exosphere Local Setup with Local Mo...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~53-~53: Use correct spacing
Context: ...xosphere Local Setup with Local MongoDB" For quick local testing only: 1) Download Docker Compose Files First, download the Docker Compose files from the GitHub repository: === "curl" bash # Download docker-compose file with local MongoDB included curl -O https://raw.githubusercontent.com/exospherehost/exospherehost/main/docker-compose/docker-compose-with-mongodb.yml === "wget" bash # Download docker-compose file with local MongoDB included wget https://raw.githubusercontent.com/exospherehost/exospherehost/main/docker-compose/docker-compose-with-mongodb.yml 2) Download and start the services: bash curl -O https://raw.githubusercontent.com/exospherehost/exospherehost/main/docker-compose/docker-compose-with-mongodb.yml && docker compose -f docker-compose-with-mongodb.yml up -d 3) Done! This will start: - MongoDB database: http://localhost:27017 - Exosphere Dashboard: http://localhost:8000 - Exosphere State Manager: http://localhost:3000 ## Beta Version To run the latest beta ver...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~85-~85: Use correct spacing
Context: ...http://localhost:3000) ## Beta Version To run the latest beta version of Exosph...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~87-~87: Use correct spacing
Context: ...place container tags with beta-latest: === ".env File" ```bash EXOSPHE...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~89-~89: Use correct spacing
Context: ...ags with beta-latest: === ".env File" bash EXOSPHERE_TAG=beta-latest === "Environment Variables" ```bash...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~94-~94: Use correct spacing
Context: ...test === "Environment Variables" bash export EXOSPHERE_TAG=beta-latest ``` Get the docker image running: === "Clou...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~100-~100: Use correct spacing
Context: ...t Get the docker image running: === "Cloud Mongodb" bash doc...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~102-~102: Use proper capitalization
Context: ...t the docker image running: === "Cloud Mongodb" bash docker compose -f docker-compose.yml up -d === "Local Mongodb" ```bash doc...
(QB_NEW_EN_OTHER_ERROR_IDS_6)
[grammar] ~107-~107: Use proper capitalization
Context: ...er-compose.yml up -d === "Local Mongodb" bash docker compose -f docker-compose-with-mongodb.yml up -d ``` ## Access Your Services After running the ...
(QB_NEW_EN_OTHER_ERROR_IDS_6)
[grammar] ~113-~113: Use correct spacing
Context: ...l up -d ``` ## Access Your Services After running the Docker Compose command...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~115-~115: Use correct spacing
Context: ...fter running the Docker Compose command: - Exosphere Dashboard: `http://localhost...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~117-~117: There might be a mistake here.
Context: ...se command: - Exosphere Dashboard: http://localhost:3000 - State Manager API: `http://localhost:8...
(QB_NEW_EN)
[grammar] ~118-~118: There might be a mistake here.
Context: ...ocalhost:3000- **State Manager API**:http://localhost:8000` - MongoDB (if using with-mongodb): `mong...
(QB_NEW_EN)
[typographical] ~119-~119: To join two clauses or set off examples, consider using an em dash.
Context: ...godb): mongodb://localhost:27017 (not HTTP - use MongoDB clients like MongoDB Compass or...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~119-~119: There might be a mistake here.
Context: ...clients like MongoDB Compass or mongosh) - API Documentation: `http://localhost:8...
(QB_NEW_EN)
[grammar] ~120-~120: Use correct spacing
Context: ...ss or mongosh) - API Documentation: http://localhost:8000/docs ## Development Commands === "Cloud Mongodb...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~122-~122: Use correct spacing
Context: ...host:8000/docs` ## Development Commands === "Cloud Mongodb" ```bash # St...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~124-~124: Use proper capitalization
Context: ...s` ## Development Commands === "Cloud Mongodb" ```bash # Start services in backgrou...
(QB_NEW_EN_OTHER_ERROR_IDS_6)
[grammar] ~125-~125: Use correct spacing
Context: ...ommands === "Cloud Mongodb" ```bash # Start services in background docke...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~126-~126: Use correct spacing
Context: ...`bash # Start services in background docker compose -f docker-compose.yml up ...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~127-~127: Use correct spacing
Context: ...cker compose -f docker-compose.yml up -d # View logs docker compose -f docker-compose.yml logs -f # Stop services docker compose -f docker-compose.yml down # Stop services and remove volumes docker compose -f docker-compose.yml down -v # Pull latest images docker compose -f docker-compose.yml pull # Restart a specific service docker compose -f docker-compose.yml restart exosphere-state-manager === "Local Mongodb" bash # St...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~144-~144: Use proper capitalization
Context: ...sphere-state-manager === "Local Mongodb" bash # Start services in backgrou...
(QB_NEW_EN_OTHER_ERROR_IDS_6)
[grammar] ~145-~145: Use correct spacing
Context: ... === "Local Mongodb" bash # Start services in background docke...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~146-~146: Use correct spacing
Context: ...`bash # Start services in background docker compose -f docker-compose-with-mo...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~147-~147: Use correct spacing
Context: ...-f docker-compose-with-mongodb.yml up -d # View logs docker compose -f docker-compose-with-mongodb.yml logs -f # Stop services docker compose -f docker-compose-with-mongodb.yml down # Stop services and remove volumes (
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~166-~166: Use correct spacing
Context: ...nager ### Check Service Health === "Cloud Mongodb" bash # Ch...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~168-~168: Use proper capitalization
Context: ... ### Check Service Health === "Cloud Mongodb" ```bash # Check if all containers ar...
(QB_NEW_EN_OTHER_ERROR_IDS_6)
[grammar] ~170-~170: There might be a mistake here.
Context: ... # Check if all containers are running docker compose -f docker-compose.yml ps ...
(QB_NEW_EN_OTHER)
[grammar] ~171-~171: Use correct spacing
Context: ... docker compose -f docker-compose.yml ps # Check state manager health curl http://localhost:8000/health # View container logs docker compose -f docker-compose.yml logs exosphere-state-manager === "Local Mongodb" bash # Ch...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~181-~181: Use proper capitalization
Context: ...here-state-manager === "Local Mongodb" bash # Check if all containers ar...
(QB_NEW_EN_OTHER_ERROR_IDS_6)
[grammar] ~182-~182: Use correct spacing
Context: ... === "Local Mongodb" bash # Check if all containers are running ...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~183-~183: There might be a mistake here.
Context: ... # Check if all containers are running docker compose -f docker-compose-with-mo...
(QB_NEW_EN_OTHER)
[grammar] ~184-~184: Use correct spacing
Context: ...se -f docker-compose-with-mongodb.yml ps # Check state manager health curl http://localhost:8000/health # View container logs docker compose -f docker-compose-with-mongodb.yml logs exosphere-state-manager ``` ### Testing Your Setup You can validate you...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~193-~193: Use correct spacing
Context: ...-manager ``` ### Testing Your Setup You can validate your docker-compose con...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~195-~195: Use correct spacing
Context: ... configuration before starting services: === "Cloud Mongodb" ```bash # Te...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~197-~197: Use proper capitalization
Context: ...n before starting services: === "Cloud Mongodb" ```bash # Test configuration syntax ...
(QB_NEW_EN_OTHER_ERROR_IDS_6)
[grammar] ~200-~200: Use correct spacing
Context: ...ker compose -f docker-compose.yml config # Pull all required images docker compose -f docker-compose.yml pull # Start with health monitoring (--wait waits for all health checks) docker compose -f docker-compose.yml up -d --wait The `--wait` flag ensures all services pass their health checks before returning. The startup sequence will be: 1. State Manager starts and passes health check (~10-30 seconds) 2. Dashboard starts and passes health check (~10-30 seconds) === "Local Mongodb" bash # Te...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~214-~214: Use proper capitalization
Context: ...alth check (~10-30 seconds) === "Local Mongodb" ```bash # Test configuration syntax ...
(QB_NEW_EN_OTHER_ERROR_IDS_6)
[grammar] ~215-~215: Use correct spacing
Context: ...econds) === "Local Mongodb" ```bash # Test configuration syntax docker c...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~216-~216: Use correct spacing
Context: ... ```bash # Test configuration syntax docker compose -f docker-compose-with-mo...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~217-~217: Use correct spacing
Context: ...f docker-compose-with-mongodb.yml config # Pull all required images docker compose -f docker-compose-with-mongodb.yml pull # Start with health monitoring (--wait waits for all health checks) docker compose -f docker-compose-with-mongodb.yml up -d --wait ``` The --wait flag ensures all services pass their health checks before returning. The startup sequence will be: 1. MongoDB starts and passes health check (~10-30 seconds) 2. State Manager starts and passes health check (~10-30 seconds) 3. Dashboard starts and passes health check (~10-30 seconds) ## Environment Variables ### Environment V...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[typographical] ~248-~248: To join two clauses or set off examples, consider using an em dash.
Context: ...ariables #### Server-Side Variables (REQUIRED - NOT exposed to browser) | Variable | Desc...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~248-~248: There might be a mistake here.
Context: ...bles (REQUIRED - NOT exposed to browser)** | Variable | Description | Default Value...
(QB_NEW_EN)
[grammar] ~249-~249: There might be a mistake here.
Context: ...Variable | Description | Default Value | |----------|-------------|--------------...
(QB_NEW_EN)
[grammar] ~250-~250: There might be a mistake here.
Context: ...---------|-------------|---------------| | EXOSPHERE_STATE_MANAGER_URI | State ...
(QB_NEW_EN)
[grammar] ~251-~251: There might be a mistake here.
Context: ... http://exosphere-state-manager:8000 | | EXOSPHERE_API_KEY | REQUIRED: Se...
(QB_NEW_EN)
[grammar] ~252-~252: Use correct spacing
Context: ...state manager access | exosphere@123 | #### **Client-Side Variables (Optional - expose...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[typographical] ~254-~254: To join two clauses or set off examples, consider using an em dash.
Context: ...e@123` | #### Client-Side Variables (Optional - exposed to browser) | Variable | Description ...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~254-~254: There might be a mistake here.
Context: ...ariables (Optional - exposed to browser)** | Variable | Description | Default Value...
(QB_NEW_EN)
[grammar] ~335-~335: Use correct spacing
Context: ...-base64 32 ``` ## Security Architecture ### Server-Side Rendering (SSR) Implementati...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~337-~337: Use correct spacing
Context: ...rver-Side Rendering (SSR) Implementation The Exosphere Dashboard has been refacto...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~339-~339: Use correct spacing
Context: ...ext.js API routes for enhanced security: - API Key Protection: All sensitive cred...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~341-~341: Use hyphens correctly
Context: ...itive credentials are stored server-side - Secure Communication: Client never dir...
(QB_NEW_EN_OTHER_ERROR_IDS_29)
[grammar] ~342-~342: There might be a mistake here.
Context: ...n**: Client never directly communicates with state-manager - **Environment Isolation...
(QB_NEW_EN)
[grammar] ~342-~342: Use hyphens correctly
Context: ...t never directly communicates with state-manager - Environment Isolation: Sen...
(QB_NEW_EN_OTHER_ERROR_IDS_29)
[grammar] ~342-~342: Use hyphens correctly
Context: ...directly communicates with state-manager - Environment Isolation: Sensitive confi...
(QB_NEW_EN_OTHER_ERROR_IDS_29)
[grammar] ~343-~343: Use modal and auxiliary verbs correctly
Context: ... - Environment Isolation: Sensitive config separated from public code - **Producti...
(QB_NEW_EN_OTHER_ERROR_IDS_24)
[grammar] ~343-~343: There might be a mistake here.
Context: ...sitive config separated from public code - Production Ready: Enterprise-grade sec...
(QB_NEW_EN_OTHER)
[grammar] ~344-~344: There might be a mistake here.
Context: ...rade security for production deployments ### API Route Structure ``` /api/runs ...
(QB_NEW_EN_OTHER)
[grammar] ~346-~346: Use correct spacing
Context: ...ion deployments ### API Route Structure /api/runs → Secure runs fetching with pagination /api/graph-structure → Protected graph visualization data /api/namespace-overview → Secure namespace summary /api/graph-template → Protected template management ### Security Benefits 1. **No API Key Expos...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~355-~355: Use correct spacing
Context: ...te management ``` ### Security Benefits 1. No API Key Exposure: Credentials never...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~357-~357: There might be a mistake here.
Context: ...**: Credentials never visible in browser 2. Server-Side Validation: All requests v...
(QB_NEW_EN)
[grammar] ~358-~358: Use hyphens correctly
Context: ...requests validated before reaching state-manager 3. Environment Security: Sen...
(QB_NEW_EN_OTHER_ERROR_IDS_29)
[grammar] ~358-~358: There might be a mistake here.
Context: ... validated before reaching state-manager 3. Environment Security: Sensitive variab...
(QB_NEW_EN)
[grammar] ~359-~359: There might be a mistake here.
Context: ...ve variables isolated from client bundle 4. Audit Trail: All API calls logged serv...
(QB_NEW_EN)
[grammar] ~360-~360: Use correct spacing
Context: ... calls logged server-side for monitoring ### Docker Security Features - **Environmen...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~362-~362: Use correct spacing
Context: ...monitoring ### Docker Security Features - Environment Variable Isolation: Server...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~364-~364: Use commas correctly
Context: ...ainers and available to server processes, but are not exposed to the browser/clie...
(QB_NEW_EN_OTHER_ERROR_IDS_33)
[grammar] ~364-~364: There might be a mistake here.
Context: ...not exposed to the browser/client bundle - Network Security: Services communicate...
(QB_NEW_EN_OTHER)
[grammar] ~367-~367: There might be a mistake here.
Context: ... resource constraints for production use > 🔐 Authentication: When making API req...
(QB_NEW_EN_OTHER)
[grammar] ~369-~369: Use hyphens correctly
Context: ...*: When making API requests to the state-manager, the EXOSPHERE_API_KEY value i...
(QB_NEW_EN_OTHER_ERROR_IDS_29)
[grammar] ~369-~369: Use hyphens correctly
Context: ...STATE_MANAGER_SECRET` value in the state-manager container. *Example SDK setup...
(QB_NEW_EN_OTHER_ERROR_IDS_29)
[grammar] ~369-~369: There might be a mistake here.
Context: ...T` value in the state-manager container. Example SDK setup: ```bash # Set envir...
(QB_NEW_EN)
[grammar] ~371-~371: Use correct spacing
Context: ...nager container. Example SDK setup: bash # Set environment variables for SDK export EXOSPHERE_STATE_MANAGER_URI=http://localhost:8000 export EXOSPHERE_API_KEY=exosphere@123 # Or add to your .env file for your Python project echo "EXOSPHERE_STATE_MANAGER_URI=http://localhost:8000" >> .env echo "EXOSPHERE_API_KEY=exosphere@123" >> .env > **
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~382-~382: There might be a mistake here.
Context: ...re@123" >> .env ``` >
(QB_NEW_EN_OTHER)
[grammar] ~382-~382: Use correct spacing
Context: ...elopment Only — Do Not Use in Production** > > The MongoDB credentials above (`MONGO_IN...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~384-~384: Use correct spacing
Context: ...ying to any non-development environment. ## Legacy Docker Compose v1 Compatibility ...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~386-~386: Use correct spacing
Context: ...# Legacy Docker Compose v1 Compatibility If you have the legacy docker-compose ...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~388-~388: Use correct spacing
Context: ...u can use the hyphenated command format: bash # Legacy v1 commands (replace "docker compose" with "docker-compose"): docker-compose -f docker-compose.yml up -d docker-compose -f docker-compose-with-mongodb.yml up -d docker-compose -f docker-compose-with-mongodb.yml logs -f docker-compose -f docker-compose-with-mongodb.yml down Creating an alias (optional): To use t...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~398-~398: Use correct spacing
Context: ...as shown in this guide, create an alias: bash # Add to your shell profile (~/.bashrc, ~/.zshrc, etc.): alias 'docker compose'='docker-compose' # Or install the v2 plugin: # https://docs.docker.com/compose/install/ ## Troubleshooting ### Common Issues 1. *...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~407-~407: Use correct spacing
Context: ...compose/install/ ``` ## Troubleshooting ### Common Issues 1. *Port already in use...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
🪛 YAMLlint (1.37.1)
docs/mkdocs.yml
[error] 132-132: wrong indentation: expected 8 but found 12
(indentation)
🪛 markdownlint-cli2 (0.17.2)
docs/docs/exosphere/local-setup.md
42-42: Multiple consecutive blank lines
Expected: 1; Actual: 2
(MD012, no-multiple-blanks)
48-48: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
48-48: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
53-53: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
53-53: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
58-58: Bare URL used
(MD034, no-bare-urls)
90-90: Files should end with a single newline character
(MD047, single-trailing-newline)
docs/docs/exosphere/register-node.md
5-5: Inline HTML
Element: a
(MD033, no-inline-html)
5-5: Inline HTML
Element: img
(MD033, no-inline-html)
6-6: Inline HTML
Element: a
(MD033, no-inline-html)
6-6: Inline HTML
Element: img
(MD033, no-inline-html)
36-36: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
37-37: Lists should be surrounded by blank lines
(MD032, blanks-around-lists)
47-47: Inline HTML
Element: a
(MD033, no-inline-html)
48-48: Inline HTML
Element: img
(MD033, no-inline-html)
51-51: Multiple consecutive blank lines
Expected: 1; Actual: 2
(MD012, no-multiple-blanks)
docs/docs/getting-started.md
183-183: Multiple consecutive blank lines
Expected: 1; Actual: 2
(MD012, no-multiple-blanks)
docs/docs/docker-compose-setup.md
3-3: Trailing spaces
Expected: 0 or 2; Actual: 1
(MD009, no-trailing-spaces)
84-84: Multiple consecutive blank lines
Expected: 1; Actual: 2
(MD012, no-multiple-blanks)
165-165: Multiple consecutive blank lines
Expected: 1; Actual: 2
(MD012, no-multiple-blanks)
180-180: Multiple consecutive blank lines
Expected: 1; Actual: 2
(MD012, no-multiple-blanks)
248-248: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
249-249: Tables should be surrounded by blank lines
(MD058, blanks-around-tables)
254-254: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below
(MD022, blanks-around-headings)
348-348: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
348-348: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
372-372: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
372-372: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
390-390: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
399-399: Fenced code blocks should be surrounded by blank lines
(MD031, blanks-around-fences)
399-399: Code block style
Expected: indented; Actual: fenced
(MD046, code-block-style)
🔇 Additional comments (19)
docs/mkdocs.yml (2)
130-135: Verify Mermaid actually renders with current Material version.If the site doesn’t load mermaid.js automatically, you’ll need extra_javascript + init. Otherwise keep as-is. Please confirm deployed docs render Mermaid blocks.
146-146: Nav entry looks correct.Path exosphere/local-setup.md matches the new page. Nothing else needed.
docs/docs/docker-compose-setup.md (2)
85-112: Beta tag may be a no-op if compose files don’t reference EXOSPHERE_TAG.Ensure images use
${EXOSPHERE_TAG:-latest}(or similar) in docker-compose*.yml, otherwise setting EXOSPHERE_TAG won’t change pulled tags.
372-385: Add “development only” emphasis is good.The warning block clearly flags credentials as dev-only. LGTM.
docs/docs/exosphere/dashboard.md (2)
5-6: Getting Started link path is correct.local-setup.md is in the same folder; link resolves.
132-151: Ensure site supports Mermaid blocks used here.You added Mermaid site-wide; confirm diagrams render after the mkdocs.yml fix.
docs/docs/exosphere/create-runtime.md (1)
5-6: Getting Started link path is correct.Consistent with other pages.
docs/docs/exosphere/architecture.md (2)
5-6: Getting Started link path is correct.Consistent relative pathing.
86-99: Sanity-check status names in docs match implementation.The terminal statuses listed for ALL_DONE (SUCCESS, ERRORED, CANCELLED, NEXT_CREATED_ERROR, PRUNED) should match the backend enum; otherwise docs will confuse users.
docs/docs/exosphere/state-manager-setup.md (1)
5-6: Consistent “Getting Started” callout — LGTM.The cross-link to the Local Setup Guide helps discovery.
docs/docs/exosphere/trigger-graph.md (2)
5-6: Consistent “Getting Started” callout — LGTM.Matches other pages and improves onboarding.
49-51: Fix typos in Next Steps.
- Change ARchitecture to Architecture
- Update description from “Learn about fanout, unites” to “Learn about fan-out patterns and retries” (confirm
architecture.mdcovers retries)docs/docs/exosphere/register-node.md (2)
5-6: Getting Started callout — LGTM.Clear link to Local Setup Guide.
36-57: Mermaid support is already enabled in docs/mkdocs.yml via the pymdownx.superfences custom_fences mapping.docs/docs/getting-started.md (1)
136-147: Use public APIruntime.start()instead of private_start.
Replace-runtime_task = asyncio.create_task(runtime._start()) +runtime_task = runtime.start()
runtime.start()returns anasyncio.Taskwhen called inside an event loop, so there’s no need to call_start()directly.Likely an incorrect or invalid review comment.
docs/docs/exosphere/local-setup.md (2)
32-32: No action required:../docker-compose-setup.mdexists atdocs/docs/docker-compose-setup.mdand is listed indocs/mkdocs.yml.
28-41: Add blank lines around fenced code blocks and headings for markdownlint.-=== "Docker Compose Setup (Recommended)" +=== "Docker Compose Setup (Recommended)" The fastest way to get Exosphere running locally is using Docker Compose. This approach handles all the configuration and networking automatically. Follow the guide: [Get Exosphere running locally with Docker](../docker-compose-setup.md) -=== "Individual Component Setup" +=== "Individual Component Setup" If you prefer more control over each component or want to develop locally, you can set up the state manager and dashboard separately. To get Exosphere state manager running, follow [State Manager Setup](./state-manager-setup.md) For complete monitoring dashboard setup details, see our [Dashboard Guide](./dashboard.md).Likely an incorrect or invalid review comment.
docs/docs/index.md (2)
97-99: Verify anchor exists for non-blocking runtime guidance.Ensure
getting-started.md#important-blocking-behaviorexists or update the fragment to the correct section.
60-63: Clarifyuv addusage for initialized projects vs one-offs-```bash -uv add exospherehost -``` +```bash +# Option A: project setup +uv init # if starting fresh in this directory +uv add exospherehost + +# Option B: ephemeral/one-off +uv pip install exospherehost +# or: pip install exospherehost +```
docs/docs/docker-compose-setup.md
Outdated
| Exosphere uses MongoDB as the database to manage states. You can either have mongodb setup locally or use a cloud hosted instance(recommended) | ||
|
|
||
| === "Exosphere Local Setup with Cloud MongoDB(Rec)" | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Tighten wording and capitalization in intro.
Capitalize MongoDB, add spaces around parentheses, and clarify recommendation.
-Exosphere uses MongoDB as the database to manage states. You can either have mongodb setup locally or use a cloud hosted instance(recommended)
+Exosphere uses MongoDB as the database to manage states. You can either run MongoDB locally or use a cloud-hosted instance (recommended).📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Exosphere uses MongoDB as the database to manage states. You can either have mongodb setup locally or use a cloud hosted instance(recommended) | |
| === "Exosphere Local Setup with Cloud MongoDB(Rec)" | |
| Exosphere uses MongoDB as the database to manage states. You can either run MongoDB locally or use a cloud-hosted instance (recommended). | |
| === "Exosphere Local Setup with Cloud MongoDB(Rec)" |
🧰 Tools
🪛 LanguageTool
[grammar] ~9-~9: There might be a problem here.
Context: ...e to manage states. You can either have mongodb setup locally or use a cloud hosted instance(...
(QB_NEW_EN_MERGED_MATCH)
[grammar] ~9-~9: There might be a mistake here.
Context: ...ave mongodb setup locally or use a cloud hosted instance(recommended) === "Exosp...
(QB_NEW_EN_OTHER)
[grammar] ~9-~9: There might be a mistake here.
Context: ...odb setup locally or use a cloud hosted instance(recommended) === "Exosphere Local Setu...
(QB_NEW_EN_OTHER)
[grammar] ~9-~9: There might be a mistake here.
Context: ...use a cloud hosted instance(recommended) === "Exosphere Local Setup with Cloud Mo...
(QB_NEW_EN_OTHER)
[grammar] ~11-~11: There might be a mistake here.
Context: ... === "Exosphere Local Setup with Cloud MongoDB(Rec)" 1) Download Docker Compose F...
(QB_NEW_EN_OTHER)
[grammar] ~11-~11: Use correct spacing
Context: ...ere Local Setup with Cloud MongoDB(Rec)" 1) Download Docker Compose Files First, download the Docker Compose files from the GitHub repository: === "curl" bash # Download docker-compose file for cloud MongoDB (recommended) curl -O https://raw.githubusercontent.com/exospherehost/exospherehost/main/docker-compose/docker-compose.yml === "wget" bash # Download docker-compose file for cloud MongoDB (recommended) wget https://raw.githubusercontent.com/exospherehost/exospherehost/main/docker-compose/docker-compose.yml 2) Set up a cloud MongoDB Set up a mongodb cluster in a provider of your choice MongoDB Atlas, AWS DocumentDB. Get the mongo db url. 3) Set up the secrets in env === ".env file" Create a .env file with your MongoDB connection: bash MONGO_URI=mongodb+srv://username:password@your-cluster.mongodb.net/ === "Environment Variables" On your terminal: bash export MONGO_URI=mongodb+srv://username:password@your-cluster.mongodb.net/ 4) Download and start the services: bash curl -O https://raw.githubusercontent.com/exospherehost/exospherehost/main/docker-compose/docker-compose.yml && docker compose -f docker-compose.yml up -d 5) Done! This will start: - Exosphere State Manager : http://localhost:8000 - Exosphere Dashboard: http://localhost:3000 === "Exosphere Local Setup with Local Mo...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
🤖 Prompt for AI Agents
In docs/docs/docker-compose-setup.md around lines 9 to 12, the intro copy needs
tightened wording and consistent capitalization: change "mongodb" to "MongoDB",
add spaces around parentheses, and reword the recommendation for clarity (e.g.,
"You can either set up MongoDB locally or use a cloud-hosted instance
(recommended)." and change the heading to "Exosphere Local Setup with Cloud
MongoDB (Recommended)"). Ensure punctuation and spacing are consistent.
| 2) Set up a cloud MongoDB | ||
| Set up a mongodb cluster in a provider of your choice MongoDB Atlas, AWS DocumentDB. Get the mongo db url. | ||
|
|
||
| 3) Set up the secrets in env | ||
| === ".env file" | ||
| Create a `.env` file with your MongoDB connection: | ||
| ```bash | ||
| MONGO_URI=mongodb+srv://username:password@your-cluster.mongodb.net/ | ||
| ``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Clarify cloud DB step and connection string.
Improve grammar and name common providers; keep to standard URI wording.
-Set up a mongodb cluster in a provider of your choice MongoDB Atlas, AWS DocumentDB. Get the mongo db url.
+Create a MongoDB cluster with a provider (e.g., MongoDB Atlas, AWS DocumentDB) and obtain the connection string (MONGO_URI).-Create a `.env` file with your MongoDB connection:
+Create a `.env` file with your MongoDB connection string:📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| 2) Set up a cloud MongoDB | |
| Set up a mongodb cluster in a provider of your choice MongoDB Atlas, AWS DocumentDB. Get the mongo db url. | |
| 3) Set up the secrets in env | |
| === ".env file" | |
| Create a `.env` file with your MongoDB connection: | |
| ```bash | |
| MONGO_URI=mongodb+srv://username:password@your-cluster.mongodb.net/ | |
| ``` | |
| 2) Set up a cloud MongoDB | |
| Create a MongoDB cluster with a provider (e.g., MongoDB Atlas, AWS DocumentDB) and obtain the connection string (MONGO_URI). | |
| 3) Set up the secrets in env | |
| === ".env file" | |
| Create a `.env` file with your MongoDB connection string: |
🤖 Prompt for AI Agents
In docs/docs/docker-compose-setup.md around lines 28 to 36, the cloud DB step
needs clearer grammar, named common providers, and a standard URI description:
reword the section to call out popular providers (MongoDB Atlas, AWS DocumentDB,
Azure Cosmos DB), instruct readers to obtain the connection string from their
provider, and update the .env example to use standard URI wording (refer to the
provider’s connection string format with placeholders for username, password,
cluster host, and optional database/parameters) rather than the current informal
text.
| Get the docker image running: | ||
|
|
||
| # Download docker-compose file with local MongoDB included | ||
| wget https://raw.githubusercontent.com/exospherehost/exospherehost/main/docker-compose/docker-compose-with-mongodb.yml | ||
| ``` | ||
| === "Cloud Mongodb" | ||
|
|
||
| ## Quick Start | ||
| ```bash | ||
| docker compose -f docker-compose.yml up -d | ||
| ``` | ||
| === "Local Mongodb" | ||
|
|
||
| We **recommend using a cloud MongoDB managed service** (MongoDB Atlas, AWS DocumentDB, etc.) for better performance, reliability, and security. | ||
| ```bash | ||
| docker compose -f docker-compose-with-mongodb.yml up -d | ||
| ``` | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Consistent capitalization: MongoDB.
Unify section labels.
-=== "Cloud Mongodb"
+=== "Cloud MongoDB"
-=== "Local Mongodb"
+=== "Local MongoDB"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| Get the docker image running: | |
| # Download docker-compose file with local MongoDB included | |
| wget https://raw.githubusercontent.com/exospherehost/exospherehost/main/docker-compose/docker-compose-with-mongodb.yml | |
| ``` | |
| === "Cloud Mongodb" | |
| ## Quick Start | |
| ```bash | |
| docker compose -f docker-compose.yml up -d | |
| ``` | |
| === "Local Mongodb" | |
| We **recommend using a cloud MongoDB managed service** (MongoDB Atlas, AWS DocumentDB, etc.) for better performance, reliability, and security. | |
| ```bash | |
| docker compose -f docker-compose-with-mongodb.yml up -d | |
| ``` | |
| Get the docker image running: | |
| === "Cloud MongoDB" |
🧰 Tools
🪛 LanguageTool
[grammar] ~100-~100: Use correct spacing
Context: ...t Get the docker image running: === "Cloud Mongodb" bash doc...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~102-~102: Use proper capitalization
Context: ...t the docker image running: === "Cloud Mongodb" bash docker compose -f docker-compose.yml up -d === "Local Mongodb" ```bash doc...
(QB_NEW_EN_OTHER_ERROR_IDS_6)
[grammar] ~107-~107: Use proper capitalization
Context: ...er-compose.yml up -d === "Local Mongodb" bash docker compose -f docker-compose-with-mongodb.yml up -d ``` ## Access Your Services After running the ...
(QB_NEW_EN_OTHER_ERROR_IDS_6)
🤖 Prompt for AI Agents
In docs/docs/docker-compose-setup.md around lines 100 to 112, the section labels
use inconsistent capitalization ("Mongodb"); update both labels to consistently
read "MongoDB" (e.g., "Cloud MongoDB" and "Local MongoDB") so headings match the
proper product casing across the document; scan adjacent lines for any other
occurrences of "Mongodb" and correct them to "MongoDB" to ensure uniformity.
| ## Access Your Services | ||
|
|
||
| 1. Set up a cloud MongoDB instance (MongoDB Atlas, AWS DocumentDB, etc.) | ||
| After running the Docker Compose command: | ||
|
|
||
| 2. Create a `.env` file with your MongoDB connection: | ||
| ```bash | ||
| MONGO_URI=mongodb+srv://username:password@your-cluster.mongodb.net/ | ||
| ``` | ||
| - **Exosphere Dashboard**: `http://localhost:3000` | ||
| - **State Manager API**: `http://localhost:8000` | ||
| - **MongoDB** (if using with-mongodb): `mongodb://localhost:27017` (not HTTP - use MongoDB clients like MongoDB Compass or mongosh) | ||
| - **API Documentation**: `http://localhost:8000/docs` | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Minor clarity on MongoDB bullet.
Use an em dash and clarify non-HTTP.
-- **MongoDB** (if using with-mongodb): `mongodb://localhost:27017` (not HTTP - use MongoDB clients like MongoDB Compass or mongosh)
+- **MongoDB** (if using with-mongodb): `mongodb://localhost:27017` — not HTTP; use MongoDB Compass or mongosh.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ## Access Your Services | |
| 1. Set up a cloud MongoDB instance (MongoDB Atlas, AWS DocumentDB, etc.) | |
| After running the Docker Compose command: | |
| 2. Create a `.env` file with your MongoDB connection: | |
| ```bash | |
| MONGO_URI=mongodb+srv://username:password@your-cluster.mongodb.net/ | |
| ``` | |
| - **Exosphere Dashboard**: `http://localhost:3000` | |
| - **State Manager API**: `http://localhost:8000` | |
| - **MongoDB** (if using with-mongodb): `mongodb://localhost:27017` (not HTTP - use MongoDB clients like MongoDB Compass or mongosh) | |
| - **API Documentation**: `http://localhost:8000/docs` | |
| ## Access Your Services | |
| After running the Docker Compose command: | |
| - **Exosphere Dashboard**: `http://localhost:3000` | |
| - **State Manager API**: `http://localhost:8000` | |
| - **MongoDB** (if using with-mongodb): `mongodb://localhost:27017` — not HTTP; use MongoDB Compass or mongosh. | |
| - **API Documentation**: `http://localhost:8000/docs` |
🧰 Tools
🪛 LanguageTool
[grammar] ~113-~113: Use correct spacing
Context: ...l up -d ``` ## Access Your Services After running the Docker Compose command...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~115-~115: Use correct spacing
Context: ...fter running the Docker Compose command: - Exosphere Dashboard: `http://localhost...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~117-~117: There might be a mistake here.
Context: ...se command: - Exosphere Dashboard: http://localhost:3000 - State Manager API: `http://localhost:8...
(QB_NEW_EN)
[grammar] ~118-~118: There might be a mistake here.
Context: ...ocalhost:3000- **State Manager API**:http://localhost:8000` - MongoDB (if using with-mongodb): `mong...
(QB_NEW_EN)
[typographical] ~119-~119: To join two clauses or set off examples, consider using an em dash.
Context: ...godb): mongodb://localhost:27017 (not HTTP - use MongoDB clients like MongoDB Compass or...
(QB_NEW_EN_DASH_RULE_EM)
[grammar] ~119-~119: There might be a mistake here.
Context: ...clients like MongoDB Compass or mongosh) - API Documentation: `http://localhost:8...
(QB_NEW_EN)
[grammar] ~120-~120: Use correct spacing
Context: ...ss or mongosh) - API Documentation: http://localhost:8000/docs ## Development Commands === "Cloud Mongodb...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
🤖 Prompt for AI Agents
In docs/docs/docker-compose-setup.md around lines 113 to 121, the MongoDB bullet
needs clearer punctuation and wording to indicate it is not an HTTP service;
replace the parentheses note with an em dash and rephrase to something like:
"MongoDB — mongodb://localhost:27017 — not an HTTP endpoint; use MongoDB clients
such as MongoDB Compass or mongosh" so the dash visually separates the URI and
the non-HTTP clarification.
| ## Next Steps | ||
|
|
||
| ``` | ||
| +-------------------+ +--------------------+ +-------------------+ | ||
| | Your Nodes | | Runtime | | State Manager | | ||
| | |<-->| |<-->| | | ||
| | • Inputs | | • Registration | | • Orchestration | | ||
| | • Outputs | | • Execution | | • State Mgmt | | ||
| | • Secrets | | • Error Handling | | • Dashboard | | ||
| +-------------------+ +--------------------+ +-------------------+ | ||
| Now that you have the basics, explore: | ||
|
|
||
| - **[Local Setup](./exosphere/local-setup.md)** - Set up Exosphere locally for development and testing | ||
| - **[Register Node](./exosphere/register-node.md)** - Understand how to create and register custom nodes | ||
| - **[Create Runtime](./exosphere/create-runtime.md)** - Learn how to set up and configure your runtime | ||
| - **[Create Graph](./exosphere/create-graph.md)** - Build workflows by connecting nodes together | ||
| - **[Trigger Graph](./exosphere/trigger-graph.md)** - Execute your workflows and monitor their progress | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Resolve extra blank lines to satisfy MD012 and improve flow.
-## Next Steps
-
-Now that you have the basics, explore:
+## Next Steps
+Now that you have the basics, explore:📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ## Next Steps | |
| ``` | |
| +-------------------+ +--------------------+ +-------------------+ | |
| | Your Nodes | | Runtime | | State Manager | | |
| | |<-->| |<-->| | | |
| | • Inputs | | • Registration | | • Orchestration | | |
| | • Outputs | | • Execution | | • State Mgmt | | |
| | • Secrets | | • Error Handling | | • Dashboard | | |
| +-------------------+ +--------------------+ +-------------------+ | |
| Now that you have the basics, explore: | |
| - **[Local Setup](./exosphere/local-setup.md)** - Set up Exosphere locally for development and testing | |
| - **[Register Node](./exosphere/register-node.md)** - Understand how to create and register custom nodes | |
| - **[Create Runtime](./exosphere/create-runtime.md)** - Learn how to set up and configure your runtime | |
| - **[Create Graph](./exosphere/create-graph.md)** - Build workflows by connecting nodes together | |
| - **[Trigger Graph](./exosphere/trigger-graph.md)** - Execute your workflows and monitor their progress | |
| ## Next Steps | |
| Now that you have the basics, explore: | |
| - **[Local Setup](./exosphere/local-setup.md)** - Set up Exosphere locally for development and testing | |
| - **[Register Node](./exosphere/register-node.md)** - Understand how to create and register custom nodes | |
| - **[Create Runtime](./exosphere/create-runtime.md)** - Learn how to set up and configure your runtime | |
| - **[Create Graph](./exosphere/create-graph.md)** - Build workflows by connecting nodes together | |
| - **[Trigger Graph](./exosphere/trigger-graph.md)** - Execute your workflows and monitor their progress |
🧰 Tools
🪛 LanguageTool
[grammar] ~173-~173: Use correct spacing
Context: ... processing and workflows ## Next Steps Now that you have the basics, explore: ...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~175-~175: Use correct spacing
Context: ... Now that you have the basics, explore: - **Local Setup...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~177-~177: There might be a mistake here.
Context: ...here locally for development and testing - **[Register Node](./exosphere/register-node...
(QB_NEW_EN)
[grammar] ~178-~178: There might be a mistake here.
Context: ... how to create and register custom nodes - **[Create Runtime](./exosphere/create-runti...
(QB_NEW_EN)
[grammar] ~179-~179: There might be a mistake here.
Context: ...how to set up and configure your runtime - **[Create Graph](./exosphere/create-graph.m...
(QB_NEW_EN)
[grammar] ~180-~180: There might be a mistake here.
Context: ...d workflows by connecting nodes together - **[Trigger Graph](./exosphere/trigger-graph...
(QB_NEW_EN)
[grammar] ~181-~181: Use correct spacing
Context: ...our workflows and monitor their progress ### Data Flow Architecture ```mermaid seque...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
🤖 Prompt for AI Agents
In docs/docs/getting-started.md around lines 173 to 182, there are extra blank
lines between the "Next Steps" heading and the subsequent list that trigger
MD012; remove the redundant blank lines so there's exactly one blank line
between the heading and the list and no consecutive blank lines inside the
block, preserving the existing list items and links and ensuring consistent
single spacing for proper Markdown linting and improved flow.
| @@ -1,14 +1,46 @@ | |||
| # Exosphere Docs | |||
|  | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Verification agent
🧩 Analysis chain
Fix broken/fragile asset path and add rel to external link.
- Mixed paths for assets:
assets/...(Line 1) vs../assets/...(Line 48). One of these will 404 depending on where assets live. Standardize. - Add
rel="noopener noreferrer"to the YouTube link usingtarget="_blank".
-<a href="https://www.youtube.com/watch?v=f41UtzInhp8" target="_blank">
- <img src="../assets/parallel-nodes-demo.png" alt="Step by Step Execution of an Exosphere Workflow">
+<a href="https://www.youtube.com/watch?v=f41UtzInhp8" target="_blank" rel="noopener noreferrer">
+ <img src="assets/parallel-nodes-demo.png" alt="Step-by-step execution of an Exosphere workflow">
</a>Please confirm the actual asset location (docs/docs/assets vs docs/assets) and adjust both images to the same base.
Also applies to: 47-49
🏁 Script executed:
#!/bin/bash
# List all directories named assets to confirm their location
echo "Asset directories:"
find . -type d -name assets
# Show initial lines of docs/docs/index.md
echo "Index.md content (lines 1-60):"
sed -n '1,60p' docs/docs/index.md
# Show lines around usage of ../assets in docs/docs/index.md
echo "Index.md content (lines 40-90):"
sed -n '40,90p' docs/docs/index.mdLength of output: 4634
🏁 Script executed:
#!/bin/bash
# Confirm asset file locations
echo "Finding logo-with-bg.png:"
find . -type f -name 'logo-with-bg.png' || echo "logo-with-bg.png not found"
echo "Finding parallel-nodes-demo.png:"
find . -type f -name 'parallel-nodes-demo.png' || echo "parallel-nodes-demo.png not found"Length of output: 301
Standardize asset paths and secure external link.
- Both images live in docs/docs/assets, so change the demo screenshot path from
../assets/...toassets/.... - Add
rel="noopener noreferrer"to the<a>tag withtarget="_blank".
-<a href="https://www.youtube.com/watch?v=f41UtzInhp8" target="_blank">
- <img src="../assets/parallel-nodes-demo.png" alt="Step by Step Execution of an Exosphere Workflow">
+<a href="https://www.youtube.com/watch?v=f41UtzInhp8" target="_blank" rel="noopener noreferrer">
+ <img src="assets/parallel-nodes-demo.png" alt="Step-by-step execution of an Exosphere workflow">
</a>Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In docs/docs/index.md around lines 1 to 1, the demo screenshot path and external
link markup need two fixes: update any image references that use ../assets/...
to use assets/... (since both images live in docs/docs/assets) and add
rel="noopener noreferrer" to the anchor tag(s) that use target="_blank" to
secure the external link; make these exact textual edits in the Markdown/HTML so
paths point to assets/... and anchors include rel="noopener noreferrer".
| # Exosphere: Distributed AI Workflow Infrastructure | ||
|
|
||
| --- | ||
| **Exosphere** is an open-source, Kubernetes-native infrastructure platform designed to run distributed AI workflows and autonomous agents at scale. Built with Python and based on a flexible node-based architecture, Exosphere enables developers to create, deploy, and manage robust AI workflows that can handle large-scale data processing and long-running operations. | ||
|
|
||
| ## What Exosphere Can Do | ||
|
|
||
| Exosphere provides a powerful foundation for building and orchestrating AI applications with these key capabilities: | ||
|
|
||
| ### **Scalable AI Workflows** | ||
| - **Infinite Parallel Agents**: Run multiple AI agents simultaneously across distributed infrastructure | ||
| - **Dynamic State Management**: Create and manage state at runtime with persistent storage | ||
| - **Fault Tolerance**: Built-in failure handling and recovery mechanisms for production reliability | ||
|
|
||
| **Documentation**: [https://docs.exosphere.host](https://docs.exosphere.host) | ||
| ### **Developer Experience** | ||
| - **Plug-and-Play Nodes**: Create reusable, atomic workflow components that can be mixed and matched | ||
| - **Python-First**: Native Python support with Pydantic models for type-safe inputs/outputs | ||
|
|
||
| **Source Code**: [https://github.com/exospherehost/exospherehost](https://github.com/exospherehost/exospherehost) | ||
| ### **Production Infrastructure** | ||
| - **Kubernetes Native**: Deploy seamlessly on Kubernetes clusters for enterprise-grade scalability | ||
| - **State Persistence**: Maintain workflow state across restarts and failures | ||
| - **Interactive Dashboard**: Visual workflow management, monitoring, and debugging tools | ||
|
|
||
| ### **AI Agent Capabilities** | ||
| - **Autonomous Execution**: Build agents that can make decisions and execute complex workflows | ||
| - **Data Processing**: Handle large datasets with distributed processing capabilities | ||
| - **API Integration**: Connect to external services and APIs through configurable nodes | ||
|
|
||
| Whether you're building data pipelines, AI agents, or complex workflow orchestrations, Exosphere provides the infrastructure backbone to make your AI applications production-ready and scalable. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Normalize Markdown spacing/line breaks.
Multiple extra spaces around headings/lists flagged by tooling. Run a formatter (mdformat/prettier) to standardize.
Also applies to: 66-117, 119-171, 182-189
🧰 Tools
🪛 LanguageTool
[grammar] ~14-~14: Use correct spacing
Context: ...: Distributed AI Workflow Infrastructure Exosphere is an open-source, Kubernete...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~16-~16: Use correct spacing
Context: ... processing and long-running operations. ## What Exosphere Can Do Exosphere provide...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~18-~18: Use correct spacing
Context: ...ng operations. ## What Exosphere Can Do Exosphere provides a powerful foundation...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~20-~20: Use correct spacing
Context: ...pplications with these key capabilities: ### Scalable AI Workflows - **Infinite Par...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
[grammar] ~22-~22: There might be a mistake here.
Context: ...pabilities: ### Scalable AI Workflows - Infinite Parallel Agents: Run multiple...
(QB_NEW_EN)
[grammar] ~23-~23: There might be a mistake here.
Context: ...eously across distributed infrastructure - Dynamic State Management: Create and m...
(QB_NEW_EN_OTHER)
[grammar] ~25-~25: There might be a mistake here.
Context: ...ry mechanisms for production reliability ### Developer Experience - **Plug-and-Play...
(QB_NEW_EN_OTHER)
[grammar] ~27-~27: There might be a mistake here.
Context: ... reliability ### Developer Experience - Plug-and-Play Nodes: Create reusable, ...
(QB_NEW_EN)
[grammar] ~28-~28: There might be a mistake here.
Context: ...components that can be mixed and matched - Python-First: Native Python support wi...
(QB_NEW_EN_OTHER)
[grammar] ~29-~29: There might be a mistake here.
Context: ...ntic models for type-safe inputs/outputs ### Production Infrastructure - **Kubernet...
(QB_NEW_EN_OTHER)
[grammar] ~31-~31: There might be a mistake here.
Context: ...outputs ### Production Infrastructure - Kubernetes Native: Deploy seamlessly o...
(QB_NEW_EN)
[grammar] ~32-~32: There might be a mistake here.
Context: ...lusters for enterprise-grade scalability - State Persistence: Maintain workflow s...
(QB_NEW_EN_OTHER)
[grammar] ~34-~34: There might be a mistake here.
Context: ...agement, monitoring, and debugging tools ### AI Agent Capabilities - **Autonomous E...
(QB_NEW_EN_OTHER)
[grammar] ~36-~36: There might be a mistake here.
Context: ...gging tools ### AI Agent Capabilities - Autonomous Execution: Build agents tha...
(QB_NEW_EN)
[grammar] ~37-~37: There might be a mistake here.
Context: ... decisions and execute complex workflows - Data Processing: Handle large datasets...
(QB_NEW_EN_OTHER)
[grammar] ~39-~39: There might be a mistake here.
Context: ...ices and APIs through configurable nodes Whether you're building data pipelines, ...
(QB_NEW_EN_OTHER)
[grammar] ~41-~41: Use correct spacing
Context: ...lications production-ready and scalable. --- Watch the Step by Step Demo: <a href=...
(QB_NEW_EN_OTHER_ERROR_IDS_5)
🤖 Prompt for AI Agents
In docs/docs/index.md around lines 14 to 41 (also apply to ranges 66-117,
119-171, 182-189): the Markdown has inconsistent spacing and extra blank lines
around headings and list items; run a Markdown formatter (mdformat or prettier)
or manually normalize line breaks so headings have a single blank line above and
below, list items have a single space after bullets, and remove trailing/extra
blank lines; ensure consistent use of single blank lines between sections and
re-run the linter/formatter to confirm no spacing issues remain.
| ### **Production Infrastructure** | ||
| - **Kubernetes Native**: Deploy seamlessly on Kubernetes clusters for enterprise-grade scalability | ||
| - **State Persistence**: Maintain workflow state across restarts and failures | ||
| - **Interactive Dashboard**: Visual workflow management, monitoring, and debugging tools | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick (assertive)
Link the “Interactive Dashboard” bullet to the dashboard guide (or drop if deprecated).
If the dashboard is still supported, link it for discoverability; if not, remove to avoid confusion with the new Local Development focus.
🧰 Tools
🪛 LanguageTool
[grammar] ~31-~31: There might be a mistake here.
Context: ...outputs ### Production Infrastructure - Kubernetes Native: Deploy seamlessly o...
(QB_NEW_EN)
[grammar] ~32-~32: There might be a mistake here.
Context: ...lusters for enterprise-grade scalability - State Persistence: Maintain workflow s...
(QB_NEW_EN_OTHER)
[grammar] ~34-~34: There might be a mistake here.
Context: ...agement, monitoring, and debugging tools ### AI Agent Capabilities - **Autonomous E...
(QB_NEW_EN_OTHER)
🤖 Prompt for AI Agents
In docs/docs/index.md around lines 31 to 35, the "Interactive Dashboard" bullet
is ambiguous; either convert it to a link pointing to the dashboard guide (e.g.,
docs/guides/dashboard.md or docs/dashboard/index.md) by replacing the plain text
with a markdown link to the canonical dashboard docs, or remove the bullet
entirely if the dashboard is deprecated; update the table of contents or
frontmatter links as needed and verify dashboard support before committing.
| - pymdownx.superfences: | ||
| custom_fences: | ||
| - name: mermaid | ||
| class: mermaid | ||
| format: !!python/name:pymdownx.superfences.fence_code_format | ||
| - admonition |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix YAML indentation for custom_fences (build break).
Indentation under pymdownx.superfences is off; YAMLlint flags Line 132. Correct to two-space steps so the list item is at 6 spaces and its keys at 8.
Apply:
- - pymdownx.superfences:
- custom_fences:
- - name: mermaid
- class: mermaid
- format: !!python/name:pymdownx.superfences.fence_code_format
+ - pymdownx.superfences:
+ custom_fences:
+ - name: mermaid
+ class: mermaid
+ format: !!python/name:pymdownx.superfences.fence_code_format📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - pymdownx.superfences: | |
| custom_fences: | |
| - name: mermaid | |
| class: mermaid | |
| format: !!python/name:pymdownx.superfences.fence_code_format | |
| - admonition | |
| - pymdownx.superfences: | |
| custom_fences: | |
| - name: mermaid | |
| class: mermaid | |
| format: !!python/name:pymdownx.superfences.fence_code_format | |
| - admonition |
🧰 Tools
🪛 YAMLlint (1.37.1)
[error] 132-132: wrong indentation: expected 8 but found 12
(indentation)
🤖 Prompt for AI Agents
In docs/mkdocs.yml around lines 130-135, the YAML indentation under
pymdownx.superfences is incorrect and breaks the build; adjust so
"custom_fences:" is indented as a child of pymdownx.superfences (two-space
steps), the list item "- name: mermaid" sits at 6 spaces and its keys ("class"
and "format") at 8 spaces, and ensure "admonition" aligns with the other
top-level extensions entries (same indentation level as pymdownx.superfences).
No description provided.