Add code_review phase with approval gate, reviewer≠implementer enforcement, and structured CODE_REVIEW.md
CI / build (push) Has been cancelled
CI / build (push) Has been cancelled
- Insert code_review phase between implement and bug_find - Approval gate: code_review:awaiting_approval → code_review:approved - Read-only phase — no edits, no fixes, no returning to implement - Reviewer≠implementer: .state.implementer tracking + --claim enforcement - Structured CODE_REVIEW.md: spec compliance, design conformance, quality scorecard, items found (severity/category/location/resolution), test coverage - Updated status.py (10 data structures), dashboard (4 files), prompts (3 files), agent routing, tests (6 new test classes, 19 new tests)
This commit is contained in:
+3
-3
@@ -45,7 +45,7 @@ def test_implementation_state(tmp_path: Path) -> None:
|
||||
{"SPEC.md": "# Spec", "TEST_PLAN.md": "# Tests", "IMPLEMENTATION.md": "# Impl"},
|
||||
)
|
||||
state, _ = determine_task_state(task_dir)
|
||||
assert state == TaskState.BUG_FIND
|
||||
assert state == TaskState.IMPLEMENT
|
||||
|
||||
|
||||
def test_implementation_from_test_plan(tmp_path: Path) -> None:
|
||||
@@ -196,10 +196,10 @@ class TestVerdictParsing:
|
||||
class TestStateMachineAlignment:
|
||||
"""Tests for state machine alignment with orchestrate.md (R4)."""
|
||||
|
||||
def test_implementation_alone_shows_bug_find(self, tmp_path: Path) -> None:
|
||||
def test_implementation_alone_shows_implement(self, tmp_path: Path) -> None:
|
||||
task_dir = _make_task(tmp_path, "impl-only", {"IMPLEMENTATION.md": "# Impl"})
|
||||
state, _ = determine_task_state(task_dir)
|
||||
assert state == TaskState.BUG_FIND
|
||||
assert state == TaskState.IMPLEMENT
|
||||
|
||||
def test_bug_report_without_adversarial(self, tmp_path: Path) -> None:
|
||||
task_dir = _make_task(
|
||||
|
||||
Reference in New Issue
Block a user