diff --git a/conductor/tracks/send_result_to_send_20260616/plan.md b/conductor/tracks/send_result_to_send_20260616/plan.md index f086b5cf..053f75fa 100644 --- a/conductor/tracks/send_result_to_send_20260616/plan.md +++ b/conductor/tracks/send_result_to_send_20260616/plan.md @@ -239,14 +239,14 @@ consistency. Next: test_orchestrator_pm.py (14 refs)." ``` -### Task 3.2: Rename in `tests/test_orchestrator_pm.py` (14 refs) +### Task 3.2: Rename in `tests/test_orchestrator_pm.py` (14 refs) [5e99c20] -- [ ] **Step 1: Verify the test file currently fails** +- [x] **Step 1: Verify the test file currently fails** Run: `uv run pytest tests/test_orchestrator_pm.py 2>&1 | tail -3` Expected: failures with `send_result` AttributeError. -- [ ] **Step 2: Rename the 14 references** +- [x] **Step 2: Rename the 14 references** Run: `git grep -n "send_result" -- tests/test_orchestrator_pm.py` Expected: 14 lines. For each: @@ -260,12 +260,12 @@ Use the MCP edit tool. Be careful: this file has 3 test methods that take `mock_ Verify: `git grep "send_result" -- tests/test_orchestrator_pm.py` Expected: 0 matches. -- [ ] **Step 3: Run the test file — confirm green** +- [x] **Step 3: Run the test file — confirm green** Run: `uv run pytest tests/test_orchestrator_pm.py 2>&1 | tail -3` Expected: all tests in this file pass. -- [ ] **Step 4: Commit** +- [x] **Step 4: Commit** ```bash git add tests/test_orchestrator_pm.py @@ -275,7 +275,7 @@ git commit -m "test(ai_client): rename send_result to send in test_orchestrator_ Test file state: GREEN." ``` -- [ ] **Step 5: Attach the git note** +- [x] **Step 5: Attach the git note** ```bash git notes add -m "Task 3.2: rename in test_orchestrator_pm.py diff --git a/scripts/tier2/update_plan_t3_2.py b/scripts/tier2/update_plan_t3_2.py new file mode 100644 index 00000000..b5a22461 --- /dev/null +++ b/scripts/tier2/update_plan_t3_2.py @@ -0,0 +1,46 @@ +"""Update plan.md for Task 3.2.""" +from __future__ import annotations + +import sys +from pathlib import Path + +PLAN = Path("conductor/tracks/send_result_to_send_20260616/plan.md") +SHA = "5e99c20" + +EDITS: list[tuple[str, str]] = [ + ( + "### Task 3.2: Rename in `tests/test_orchestrator_pm.py` (14 refs)\n\n- [ ] **Step 1: Verify the test file currently fails**", + f"### Task 3.2: Rename in `tests/test_orchestrator_pm.py` (14 refs) [{SHA}]\n\n- [x] **Step 1: Verify the test file currently fails**", + ), + ("- [ ] **Step 2: Rename the 14 references**", "- [x] **Step 2: Rename the 14 references**"), + ("- [ ] **Step 3: Run the test file — confirm green**", "- [x] **Step 3: Run the test file — confirm green**"), + ("- [ ] **Step 4: Commit**", "- [x] **Step 4: Commit**"), + ("- [ ] **Step 5: Attach the git note**", "- [x] **Step 5: Attach the git note**"), +] + + +def main() -> int: + with PLAN.open("r", encoding="utf-8", newline="") as f: + content = f.read() + has_crlf = "\r\n" in content + nl = "\r\n" if has_crlf else "\n" + normalized = [(o.replace("\n", nl), n.replace("\n", nl)) for o, n in EDITS] + new_content = content + applied = 0 + for old, new in normalized: + if old in new_content: + new_content = new_content.replace(old, new, 1) + applied += 1 + else: + print(f"NOT FOUND: {old[:80]!r}", file=sys.stderr) + if applied != len(EDITS): + print(f"Only applied {applied}/{len(EDITS)} edits.", file=sys.stderr) + return 1 + with PLAN.open("w", encoding="utf-8", newline="") as f: + f.write(new_content) + print(f"Applied {applied}/{len(EDITS)} edits. Line endings: {'CRLF' if has_crlf else 'LF'}") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main())