Repository navigation
feat(agents): cross-model validation and strict majority consensus (P0) - #35
Open
Mahajan-Sachin wants to merge 5 commits into
Open
Mahajan-Sachin wants to merge 5 commits into
Mahajan-Sachin wants to merge 5 commits into
Conversation
- Implement P0 from SCANNER_AUGMENTATION_PLAN.md to eliminate self-validation confirmation bias - Resolve validator models to independent cross-models (e.g. GPT-5.6 Sol -> Kimi K2.5) with warning when models match - Port hardened exploitability checks to VALIDATOR_PROMPT (CSRF SameSite, XXE entity resolution, XSS raw-HTML sinks, framework defaults, blank rationale) - Add strict majority voting (>=2-of-3) in ValidatorSwarmAgent to prevent ties from inflating confirmed counts - Add comprehensive unit test coverage in tests/test_cross_model_validation.py (12/12 passing)
[High impact] The PR appears safe to merge, with no outstanding findings. SummaryThe PR adds cross-model review, stricter validator prompts, and strict-majority voting.
No new actionable issues were found in the changes since the previous review.
|
…ng, and review failures - Double literal braces in VALIDATOR_PROMPT to fix str.format crash - Explicitly pass hunter_model to ValidatorSwarmAgent to prevent double-inversion - Allow executable URL attribute sinks (e.g. javascript:) in XSS prompt checks - Distinguish failed reviews (needs_more_info) from confirmed false positives - Mock ValidatorAgent.run in warning unit test to keep it fully offline
…passes generic client - In ValidatorSwarmAgent._get_models(), automatically resolve cross-model validator when caller does not pass hunter_model - Pass feature_hunter_model explicitly in scripts/run_feature_hunt.py - Add unit test verifying automatic cross-model selection when hunter_model is unset (16/16 tests passing)
Author
|
@greptile-apps Please re-review the latest changes and regenerate the confidence score. All reported issues have been addressed:
|
… reviews separately from rejections
Author
|
@greptile-apps any review, left? |
…wed instead of rejections
Author
|
Hi @ananay, This PR is ready for final review and merge! 🚀 Summary of What's Included (P0 from Augmentation Plan)
Review & Test Status
Looking forward to your review and feedback! |
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.
Closes #34
Summary
This PR implements P0 from
SCANNER_AUGMENTATION_PLAN.mdto eliminate precision inflation caused by self-validation ("model grading its own work") and ties defaulting to confirmed findings.Changes
Cross-Model Validation Resolution:
openhack/config.py, addedresolve_validator_modeland default cross-model mappings (e.g. huntergpt-5.6-sol/glm-5.2-> validatorkimi-k2.5).check_self_validation(hunter_model, validator_model)issuing startup warning log and session trace event when validator model matches hunter model.ValidatorSwarmAgentandCoordinatorAgentto resolve independent validator models by default.Hardened Exploitability Prompts:
VALIDATOR_PROMPTinopenhack/prompts/validator.py:SameSite=Lax/Strict.false_positivestrictly means mitigated or unexploitable.openhack/agents/validator.py, framed candidate findings as an unverified hypothesis for independent audit.Strict Majority Consensus Voting:
validator_votes: int = 1inSettings(can be set to 3 for strict 2-of-3 voting).ValidatorSwarmAgent, confirmed status requires a strict majority (>= (votes // 2) + 1). Ties (e.g. 1-of-2) are strictly rejected.Tests
tests/test_cross_model_validation.py(12/12 passing).