Compare commits

...

4 Commits

7 changed files with 8 additions and 14 deletions

View File

@@ -12,4 +12,6 @@
## Phase 3: Approval UX Modal [checkpoint: 21157f9]
- [x] Task: Design the "Approve Worker Spawn" modal in DearPyGui. 21157f9
- [x] Task: Populate the modal with the target role, the exact prompt, and a read-only view of the specific file context. 21157f9
- [x] Task: Wire the "Approve", "Modify", and "Reject" buttons to resume or cancel the intercepted spawn. 21157f9
- [x] Task: Wire the "Approve", "Modify", and "Reject" buttons to resume or cancel the intercepted spawn. 21157f9
## Phase: Review Fixes
- [x] Task: Apply review suggestions 82f73e7

View File

@@ -27,7 +27,7 @@
## Configuration & Tooling
- **tree-sitter & tree-sitter-python:** For deterministic AST parsing and automated generation of curated "Skeleton Views" (signatures and docstrings) to minimize context bloat for sub-agents.
- **ast (Standard Library):** For deterministic AST parsing and automated generation of curated "Skeleton Views" (signatures and docstrings) to minimize context bloat for sub-agents.
- **pydantic / dataclasses:** For defining strict state schemas (Tracks, Tickets) used in linear orchestration.
- **tomli-w:** For writing TOML configuration files.
- **tomllib:** For native TOML parsing (Python 3.11+).

View File

@@ -18,12 +18,6 @@ This file tracks all major tracks for the project. Each track has its own detail
- [~] **Track: get gui_2 working with latest changes to the project.**
*Link: [./tracks/gui2_feature_parity_20260223/](./tracks/gui2_feature_parity_20260223/)*
---
- [x] **Track: Tiered Context Scoping & HITL Approval**
*Link: [./tracks/tiered_context_scoping_hitl_approval/](./tracks/tiered_context_scoping_hitl_approval/)*
---
- [x] **Track: MMA Dashboard Visualization Overhaul**

View File

@@ -1,6 +1,8 @@
import ai_client
import json
import asyncio
import threading
import time
from typing import List, Optional, Tuple
from dataclasses import asdict
import events
@@ -146,9 +148,6 @@ def confirm_execution(payload: str, event_queue: events.AsyncEventQueue, ticket_
"""
Pushes an approval request to the GUI and waits for response.
"""
import threading
import time
import asyncio
# We use a list container so the GUI can inject the actual Dialog object back to us
# since the dialog is created in the GUI thread.
dialog_container = [None]
@@ -187,9 +186,6 @@ def confirm_spawn(role: str, prompt: str, context_md: str, event_queue: events.A
Pushes a spawn approval request to the GUI and waits for response.
Returns (approved, modified_prompt, modified_context)
"""
import threading
import time
import asyncio
dialog_container = [None]
@@ -238,6 +234,8 @@ def confirm_spawn(role: str, prompt: str, context_md: str, event_queue: events.A
return approved, modified_prompt, modified_context
return False, prompt, context_md
def run_worker_lifecycle(ticket: Ticket, context: WorkerContext, context_files: List[str] = None, event_queue: events.AsyncEventQueue = None, engine: Optional['ConductorEngine'] = None, md_content: str = ""):
"""
Simulates the lifecycle of a single agent working on a ticket.