-
Notifications
You must be signed in to change notification settings - Fork 3
feat: add polkadot upgrade workflow tools and prompts #33
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
- Add list_polkadot_releases tool to discover available SDK releases - Add find_runtime_pallets tool to analyze project runtime configurations - Add polkadot_upgrade prompt for systematic release impact analysis - Enhance fetch_and_analyze_release with PR labels and structured output - Add GitHub API authentication support via GITHUB_TOKEN env var - Use zeroize crate for secure token handling - Add comprehensive test coverage for runtime discovery
41c8730 to
1f9e852
Compare
- Add is_available() method to check for substrate-node binary - Skip test gracefully with informative message when binary not found - Prevents test failure in CI/environments without substrate-node installed
- Change from skipping to panicking when substrate-node not found - Provide clear error message about requirement to install substrate-node - Ensures CI/developers are aware of the dependency requirement
- Remove '_enhanced' suffix from fetch_and_analyze_release_enhanced - Update all references to use simplified name - No functional changes, just naming consistency
Signed-off-by: Michael Assaf <[email protected]>
…cture - Add comprehensive workflow documentation with agent coordination - Implement three-agent system: Main Orchestrator, Compilation, and Analysis agents - Add evidence-based impact categorization (MUST/OPTIONAL/INHERITED/DON'T KNOW) - Include detailed tracking tables and structured reporting - Add mermaid diagrams for workflow visualization - Enhance prompt template with specific sub-agent instructions - Normalize release input to handle different git tag formats - Add comprehensive README documenting the upgrade analysis process
…cture - Add ULTRATHINK directive for improved analysis - Implement batch processing for PR analysis (10 parallel agents per batch) - Create dedicated analysis directory structure for individual PR reports - Update tracking table to include total PR count and link to analysis files - Add force parameter to fetch_and_analyze_release for cache control - Implement cache loading functionality to avoid redundant downloads - Improve compilation sub-agent requirements and constraints - Clarify single PR analysis requirement for each sub-agent - Add structured report writing to designated analysis files
fetch and analyze release Signed-off-by: Michael Assaf <[email protected]>
elfedy
left a comment
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.
👏 Nice LGTM. Only catch is that we should probably not log to stdout. If that is addressed then feel free to merge.
| let auth_value = format!("Bearer {}", token.as_str()); | ||
| if let Ok(header_value) = reqwest::header::HeaderValue::from_str(&auth_value) { | ||
| headers.insert(reqwest::header::AUTHORIZATION, header_value); | ||
| log::debug!("Using authenticated GitHub API requests"); |
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.
Unless I am missing something, stdio transport uses the process stdout for sending messages from the server to the client, and logging things to it might cause unexpected behavior. If we want to log things we should log to stderr or send a logging notification. See here
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.
I see there is no setup for logging notifications, I will just send it to stderr for now
New
polkadot_upgradeprompt for systematic release impact analysisNew tools:
list_polkadot_releasestool to discover available SDK releasesfind_runtime_palletstool to analyze project runtime configurationsAdd GitHub API authentication to enable higher rate limits