feat: Intelligent Governance Loop Hardening (Phase 1)#36
Conversation
…ution - Implemented `PatchManager.apply_fuzzy_patch` with symbol replacement (Python) and context matching fallback. - Added `Sandbox.run_tests` to auto-detect and run language-specific tests (Python, Go). - Enhanced `CodeValidator.resolve_related_tests` to discover tests via naming conventions and dependency graph. - Updated `GovernanceConfig` with `execution_timeout` and `max_retries`. - Added unit tests for fuzzy patching strategies.
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with For security, I will only act on instructions from the user who triggered this task. New to Jules? Learn more at jules.google/docs. |
This PR implements Phase 1 of the Intelligent Governance Loop Hardening. It introduces fuzzy patching capabilities to handle imperfect LLM-generated code, enhances the sandbox to intelligently run tests based on language, and improves the validator to automatically discover related tests using dependency analysis.
Key changes:
codesage/governance/patch_manager.py: Addedapply_fuzzy_patch,_replace_symbol(regex-based for Python), and_apply_context_patch(difflib-based).codesage/governance/sandbox.py: Addedrun_testswith support forpytestandgo test.codesage/governance/validator.py: Addedresolve_related_tests.codesage/config/governance.py: Added configuration for timeouts and retries.tests/unit/governance/test_patch_fuzzy.py: New unit tests for fuzzy patching.PR created automatically by Jules for task 16823221193922433750 started by @turtacn