Private
Public Access
0
0

fix: Robustness improvements for RAG tests and GUI stability

- Added import sys to src/api_hook_client.py.
- Fixed App.__getattr__ to use direct attribute access on controller to avoid recursion.
- Simplified _get_app_attr and _has_app_attr in src/api_hooks.py.
- Centralized RAG and symbol enrichment in AppController._handle_request_event.
- Updated 	ests/test_symbol_parsing.py to match the new enrichment flow.
- Removed redundant task appending from i_status and mma_status setters.
- Improved _sync_rag_engine to only set 'ready' status after indexing is confirmed.
- Updated 	est_status_encapsulation.py to reflect setter changes.
This commit is contained in:
2026-05-15 17:17:05 -04:00
parent a2a6d4cb65
commit 7f2f9c1989
8 changed files with 130 additions and 91 deletions
+12 -4
View File
@@ -118,6 +118,8 @@ class App:
# --- Initialization ---
self.controller.init_state()
self.workspace_manager = workspace_manager.WorkspaceManager(project_root=self.controller.active_project_root)
self.disc_entries = self.controller.disc_entries
self.disc_roles = self.controller.disc_roles
self.workspace_profiles = self.workspace_manager.load_all_profiles()
self.controller.start_services(self)
# --- Controller Callbacks & Actions ---
@@ -379,13 +381,19 @@ class App:
if name == 'controller':
raise AttributeError(name)
try:
# Use object.__getattribute__ to avoid recursion if 'controller' isn't initialized yet
ctrl = object.__getattribute__(self, 'controller')
except AttributeError:
raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'")
raise AttributeError(name)
if ctrl is not None:
try:
val = getattr(ctrl, name)
sys.stderr.write(f"[DEBUG __getattr__] name={name}, val_type={type(val).__name__}\n")
sys.stderr.flush()
return val
except AttributeError:
pass
if ctrl is not None and hasattr(ctrl, name):
return getattr(ctrl, name)
raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'")
def __setattr__(self, name: str, value: Any) -> None: