Skip to content

Remove Phase-1 hard completion audit gate (preserve tool-call recovery & shell guardrails) - #277

Merged
mmprotest merged 1 commit into
mmprotest/implement-phase-1-runner-hardeningfrom
mmprotest/remove-hard-completion-audit
Apr 9, 2026
Merged

Remove Phase-1 hard completion audit gate (preserve tool-call recovery & shell guardrails)#277
mmprotest merged 1 commit into
mmprotest/implement-phase-1-runner-hardeningfrom
mmprotest/remove-hard-completion-audit

Conversation

@mmprotest

Copy link
Copy Markdown
Owner

Motivation

  • Phase 1 introduced an end-of-run structural completion audit that is too heavy and causes verification loops and false-negative completion blocking, so it must be removed while retaining other Phase 1 hardening that improves execution discipline.

Description

  • Deleted the villani_code/completion_audit.py module which implemented claim-to-path extraction, structural checks, CompletionAuditResult, repair-brief generation, and completion-blocking logic.
  • Removed the run_completion_audit(...) import and all calls to run_completion_audit(...) in both finalization paths inside Runner.run in villani_code/state.py, and removed emission of completion_audit_blocked events and repair-brief message injection that looped the agent back into repair mode.
  • Kept and did not alter the malformed structured tool-call recovery code path and its eventing (tool_schema_recovery_triggered) in villani_code/state.py so repeated malformed tool calls still trigger schema-focused recovery.
  • Preserved environment-aware shell guardrails in villani_code/shells.py and the related command_rejected debug/event visibility in state.py (Windows-incompatible bash forms remain rejected).
  • Updated tests: replaced the completion-audit-specific blocking test in tests/test_runner_phase1_hardening.py with a test asserting completion is not blocked after a text-only assistant turn, while keeping tests that verify malformed tool-call recovery and shell guardrails.

Testing

  • Ran pytest -q tests/test_runner_phase1_hardening.py and the suite passed (3 passed).

Codex Task

@mmprotest
mmprotest merged commit 506dce6 into mmprotest/implement-phase-1-runner-hardening Apr 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant