Add environment feasibility gates#70
Conversation
Introduce cross-platform hardware and toolchain detection as a non-blocking capability layer. The environment is collected asynchronously early in the agent flow so it can later power feasibility gates without blocking issue discovery or scoring. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Detect virtualized environments (Hyper-V, VirtualBox, VMware, KVM, QEMU, Parallels, WSL), Docker containers, and CI platforms (GitHub Actions, GitLab CI, Jenkins, etc.) as part of the local capability profile. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Summary
Validation
|
|
Thanks your contribution.But you need to provide more information about this pr. |
This PR adds a local environment detection layer so the agent can understand what the current The main motivation is to avoid discovering infeasible tasks too late. For example, some issues require CUDA/GPU, This PR introduces:
The intended workflow is:
This should make the agent more reliable on machines with limited hardware or missing runtime dependencies, especially |
|
This is a PR worthy of merging. Let me take a moment to review it first. |
NianJiuZst
left a comment
There was a problem hiding this comment.
I think there is still one threshold mismatch to fix in the preset flow before this lands.
In src/orchestration/agent.ts the preset gate still checks rankedIssues[0]?.opportunity.overallScore >= config.automation.minMatchScore (both in the machine path and the interactive path), but issueRankingService.selectIssueForAutomation() now evaluates candidates with the feasibility-adjusted score via getAdjustedOverallScore().
That means a preset issue can become selectable after feasibility adjustment, but the flow never reaches selectIssueForAutomation() because presetIssueFlowAllowed is decided from the pre-adjustment score and short-circuits to repository-analysis fallback instead. A simple example would be an issue at 73 that gets adjusted to 76 against a threshold of 75.
Can we make this gate use the same adjusted-score semantics as selectIssueForAutomation() (or defer the threshold decision to that method entirely) so preset mode actually honors the new feasibility ranking?
Thanks, good catch. I updated the preset issue gate in both the machine and interactive paths to use the same I also updated preset issue aggregation to sort/dedupe by adjusted score, so multi-repo presets do not accidentally |
|
Thanks your contributions.Merged |
Add environment feasibility gates