feat(mma): Implement track-scoped history and optimized sub-agent toolsets
This commit is contained in:
13
gui_2.py
13
gui_2.py
@@ -754,6 +754,12 @@ class App:
|
||||
self.active_track = None
|
||||
self.active_tickets = []
|
||||
|
||||
# Load track-scoped history if track is active
|
||||
if self.active_track:
|
||||
track_history = project_manager.load_track_history(self.active_track.id, self.ui_files_base_dir)
|
||||
if track_history:
|
||||
self.disc_entries = _parse_history_entries(track_history, self.disc_roles)
|
||||
|
||||
def _save_active_project(self):
|
||||
if self.active_project_path:
|
||||
try:
|
||||
@@ -790,6 +796,10 @@ class App:
|
||||
|
||||
def _flush_disc_entries_to_project(self):
|
||||
history_strings = [project_manager.entry_to_str(e) for e in self.disc_entries]
|
||||
if self.active_track:
|
||||
project_manager.save_track_history(self.active_track.id, history_strings, self.ui_files_base_dir)
|
||||
return
|
||||
|
||||
disc_sec = self.project.setdefault("discussion", {})
|
||||
discussions = disc_sec.setdefault("discussions", {})
|
||||
disc_data = discussions.setdefault(self.active_discussion, project_manager.default_discussion())
|
||||
@@ -1398,7 +1408,8 @@ class App:
|
||||
self._save_active_project()
|
||||
self._flush_to_config()
|
||||
save_config(self.config)
|
||||
flat = project_manager.flat_config(self.project, self.active_discussion)
|
||||
track_id = self.active_track.id if self.active_track else None
|
||||
flat = project_manager.flat_config(self.project, self.active_discussion, track_id=track_id)
|
||||
full_md, path, file_items = aggregate.run(flat)
|
||||
# Build stable markdown (no history) for Gemini caching
|
||||
screenshot_base_dir = Path(flat.get("screenshots", {}).get("base_dir", "."))
|
||||
|
||||
Reference in New Issue
Block a user