docs: add comprehensive connection flow documentation#41
Merged
Conversation
…ckage discovery Fixes two critical build issues in the GitHub Actions publish workflow: 1. License configuration: Changed from deprecated table format to SPDX expression format (required by setuptools>=77.0.0) 2. Package discovery: Added explicit setuptools configuration to exclude 'script' directory and prevent "multiple top-level packages" error The build now completes without deprecation warnings or errors. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
The no-commit-to-branch pre-commit hook was failing during squash-and-merge operations because GitHub creates a direct commit to main/dev when merging PRs. This hook is meant for local development to prevent accidental direct commits. In CI, we want the check to pass since merges are intentional and controlled through the PR process. Solution: Set SKIP=no-commit-to-branch environment variable in the pre-commit action to bypass this check in CI while keeping it active locally. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Adds detailed documentation explaining how PyISYoX establishes connections and initializes ISY controller data. New Documentation: - docs/connection-flow.md: Complete narrative of connection lifecycle - Phase 1: Initialization (no network calls) - Phase 2: Connection testing via /rest/config - Phase 3: Parallel platform loading (nodes, programs, variables, etc.) - Phase 4: Event stream setup (WebSocket or TCP) - Complete endpoint call sequence (12 total REST calls) - Connection architecture (pooling, retries, semaphores, state machine) Updates to CLAUDE.md: - Added "Connection Flow & Initialization" section in Architecture - Quick summary of 4-phase process with endpoint breakdown - Performance characteristics (connection limits by platform) - Link to full connection-flow.md documentation Benefits: - Developers can understand complete initialization sequence - Easier debugging of connection issues - Clear performance expectations (11-12 parallel calls) - Foundation for future optimization work 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
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
Adds comprehensive documentation explaining how PyISYoX establishes connections and initializes ISY controller data.
Changes
New Documentation
docs/connection-flow.md: Complete narrative of the connection lifecycle/rest/configUpdates to CLAUDE.md
Benefits
Documentation Highlights
🤖 Generated with Claude Code