archiving tracks
This commit is contained in:
58
conductor/archive/manual_block_control_20260306/plan.md
Normal file
58
conductor/archive/manual_block_control_20260306/plan.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# Implementation Plan: Manual Block/Unblock Control (manual_block_control_20260306)
|
||||
|
||||
> **Reference:** [Spec](./spec.md) | [Architecture Guide](../../../docs/guide_architecture.md)
|
||||
|
||||
## Phase 1: Add Manual Block Fields
|
||||
Focus: Add manual_block flag to Ticket
|
||||
|
||||
- [x] Task 1.1: Initialize MMA Environment
|
||||
- [x] Task 1.2: Add manual_block field to Ticket (094a6c3)
|
||||
- WHERE: `src/models.py` `Ticket` dataclass
|
||||
- WHAT: Add `manual_block: bool = False`
|
||||
- HOW:
|
||||
```python
|
||||
manual_block: bool = False
|
||||
```
|
||||
|
||||
- [x] Task 1.3: Add mark_manual_block method (094a6c3)
|
||||
- WHERE: `src/models.py` `Ticket`
|
||||
- WHAT: Method to set manual block with reason
|
||||
- HOW:
|
||||
```python
|
||||
def mark_manual_block(self, reason: str) -> None:
|
||||
self.status = "blocked"
|
||||
self.blocked_reason = f"[MANUAL] {reason}"
|
||||
self.manual_block = True
|
||||
```
|
||||
|
||||
## Phase 2: Block/Unblock UI
|
||||
Focus: Add block buttons to ticket display
|
||||
|
||||
- [x] Task 2.1: Add block button (2ff5a8b)
|
||||
- WHERE: `src/gui_2.py` ticket rendering
|
||||
- WHAT: Button to block with reason input
|
||||
- HOW: Modal with text input for reason
|
||||
|
||||
- [x] Task 2.2: Add unblock button (2ff5a8b)
|
||||
- WHERE: `src/gui_2.py` ticket rendering
|
||||
- WHAT: Button to clear manual block
|
||||
- HOW:
|
||||
```python
|
||||
if ticket.manual_block and ticket.status == "blocked":
|
||||
if imgui.button("Unblock"):
|
||||
ticket.status = "todo"
|
||||
ticket.blocked_reason = None
|
||||
ticket.manual_block = False
|
||||
```
|
||||
|
||||
## Phase 3: Cascade Integration
|
||||
Focus: Trigger cascade on block/unblock
|
||||
|
||||
- [x] Task 3.1: Call cascade_blocks after manual block (c6d0bc8)
|
||||
- WHERE: `src/gui_2.py` or `src/multi_agent_conductor.py`
|
||||
- WHAT: Update downstream tickets
|
||||
- HOW: `self.dag.cascade_blocks()`
|
||||
|
||||
## Phase 4: Testing
|
||||
- [x] Task 4.1: Write unit tests
|
||||
- [x] Task 4.2: Conductor - Phase Verification
|
||||
Reference in New Issue
Block a user