checkpoint

This commit is contained in:
2026-02-27 18:35:11 -05:00
parent 3b2d82ed0d
commit 7a614cbe8c
17 changed files with 119 additions and 104 deletions

View File

@@ -1,5 +1,5 @@
[ai]
provider = "gemini"
provider = "gemini_cli"
model = "gemini-2.5-flash-lite"
temperature = 0.0
max_tokens = 8192
@@ -9,7 +9,7 @@ system_prompt = ""
[theme]
palette = "ImGui Dark"
font_size = 16.0
scale = 1.0
scale = 1.2999999523162842
font_path = ""
[projects]
@@ -32,7 +32,7 @@ active = "C:\\projects\\manual_slop\\tests\\temp_project.toml"
"Discussion Hub" = true
"Operations Hub" = true
Theme = true
"Log Management" = false
"Log Management" = true
Diagnostics = true
[headless]

View File

@@ -5,6 +5,8 @@ main_context = "MainContext.md"
system_prompt = ""
word_wrap = true
summary_only = false
auto_scroll_comms = true
auto_scroll_tool_calls = true
[output]
output_dir = "./md_gen"
@@ -42,3 +44,9 @@ search_files = true
get_file_summary = true
web_search = true
fetch_url = true
[gemini_cli]
binary_path = "gemini"
[mma]
epic = ""

View File

@@ -85,5 +85,5 @@ history = [
[discussions."test gemini mock interaction"]
git_commit = ""
last_updated = "2026-02-24T22:12:47"
last_updated = "2026-02-27T11:50:13"
history = []

View File

@@ -78,8 +78,8 @@ Collapsed=0
DockId=0x0000000F,2
[Window][Theme]
Pos=0,17
Size=588,545
Pos=0,20
Size=832,824
Collapsed=0
DockId=0x00000005,1
@@ -89,14 +89,14 @@ Size=900,700
Collapsed=0
[Window][Diagnostics]
Pos=590,17
Size=530,1228
Pos=834,20
Size=1343,935
Collapsed=0
DockId=0x0000000E,0
DockId=0x00000010,0
[Window][Context Hub]
Pos=0,17
Size=588,545
Pos=0,20
Size=832,824
Collapsed=0
DockId=0x00000005,0
@@ -107,26 +107,26 @@ Collapsed=0
DockId=0x0000000D,0
[Window][Discussion Hub]
Pos=1122,17
Size=558,1228
Pos=2179,20
Size=1262,1634
Collapsed=0
DockId=0x00000004,0
[Window][Operations Hub]
Pos=590,17
Size=530,1228
Pos=834,20
Size=1343,935
Collapsed=0
DockId=0x0000000E,1
DockId=0x00000010,1
[Window][Files & Media]
Pos=0,564
Size=588,681
Pos=0,846
Size=832,808
Collapsed=0
DockId=0x00000006,1
[Window][AI Settings]
Pos=0,564
Size=588,681
Pos=0,846
Size=832,808
Collapsed=0
DockId=0x00000006,0
@@ -136,32 +136,51 @@ Size=416,325
Collapsed=0
[Window][MMA Dashboard]
Pos=157,466
Size=676,653
Pos=834,957
Size=1343,697
Collapsed=0
DockId=0x00000011,0
[Table][0xFB6E3870,3]
[Window][Log Management]
Pos=2179,20
Size=1262,1634
Collapsed=0
DockId=0x00000004,1
[Table][0xFB6E3870,4]
RefScale=13
Column 0 Width=80
Column 1 Weight=1.0000
Column 2 Width=100
Column 3 Width=120
[Table][0xFC15AE63,7]
Column 0 Weight=1.4012
Column 1 Weight=0.5285
Column 2 Weight=0.5347
Column 3 Weight=2.4767
Column 4 Weight=0.6084
Column 5 Weight=0.4425
Column 6 Weight=1.0079
[Docking][Data]
DockNode ID=0x00000008 Pos=3125,170 Size=593,1157 Split=Y
DockNode ID=0x00000009 Parent=0x00000008 SizeRef=1029,147 Selected=0x0469CA7A
DockNode ID=0x0000000A Parent=0x00000008 SizeRef=1029,145 Selected=0xDF822E02
DockSpace ID=0xAFC85805 Window=0x079D3A04 Pos=0,17 Size=1680,1228 Split=Y
DockSpace ID=0xAFC85805 Window=0x079D3A04 Pos=0,20 Size=3441,1634 Split=Y
DockNode ID=0x0000000C Parent=0xAFC85805 SizeRef=1362,1041 Split=X Selected=0x5D11106F
DockNode ID=0x00000003 Parent=0x0000000C SizeRef=1120,1183 Split=X
DockNode ID=0x00000003 Parent=0x0000000C SizeRef=2177,1183 Split=X
DockNode ID=0x0000000B Parent=0x00000003 SizeRef=404,1186 Split=Y Selected=0xF4139CA2
DockNode ID=0x00000002 Parent=0x0000000B SizeRef=1029,1119 Split=X Selected=0xF4139CA2
DockNode ID=0x00000007 Parent=0x00000002 SizeRef=588,858 Split=Y Selected=0x8CA2375C
DockNode ID=0x00000005 Parent=0x00000007 SizeRef=295,545 Selected=0xF4139CA2
DockNode ID=0x00000006 Parent=0x00000007 SizeRef=295,636 CentralNode=1 Selected=0x7BD57D6A
DockNode ID=0x0000000E Parent=0x00000002 SizeRef=530,858 Selected=0x418C7449
DockNode ID=0x00000007 Parent=0x00000002 SizeRef=832,858 Split=Y Selected=0x8CA2375C
DockNode ID=0x00000005 Parent=0x00000007 SizeRef=295,824 Selected=0xF4139CA2
DockNode ID=0x00000006 Parent=0x00000007 SizeRef=295,724 CentralNode=1 Selected=0x7BD57D6A
DockNode ID=0x0000000E Parent=0x00000002 SizeRef=1343,858 Split=Y Selected=0x418C7449
DockNode ID=0x00000010 Parent=0x0000000E SizeRef=868,887 Selected=0x418C7449
DockNode ID=0x00000011 Parent=0x0000000E SizeRef=868,661 Selected=0x3AEC3498
DockNode ID=0x00000001 Parent=0x0000000B SizeRef=1029,775 Selected=0x8B4EBFA6
DockNode ID=0x0000000D Parent=0x00000003 SizeRef=435,1186 Selected=0x363E93D6
DockNode ID=0x00000004 Parent=0x0000000C SizeRef=558,1183 Selected=0x6F2B5B04
DockNode ID=0x00000004 Parent=0x0000000C SizeRef=1262,1183 Selected=0x6F2B5B04
DockNode ID=0x0000000F Parent=0xAFC85805 SizeRef=1362,451 Selected=0xDD6419BC
;;;<<<Layout_655921752_Default>>>;;;

View File

@@ -29,3 +29,8 @@ search_files = true
get_file_summary = true
web_search = true
fetch_url = true
[mma]
epic = ""
active_track_id = ""
tracks = []

View File

@@ -8,5 +8,5 @@ active = "main"
[discussions.main]
git_commit = ""
last_updated = "2026-02-26T21:32:42"
last_updated = "2026-02-27T13:51:45"
history = []

View File

@@ -33,3 +33,8 @@ search_files = true
get_file_summary = true
web_search = true
fetch_url = true
[mma]
epic = ""
active_track_id = ""
tracks = []

View File

@@ -10,5 +10,5 @@ auto_add = true
[discussions.main]
git_commit = ""
last_updated = "2026-02-26T21:33:34"
last_updated = "2026-02-27T13:50:46"
history = []

View File

@@ -30,3 +30,6 @@ search_files = true
get_file_summary = true
web_search = true
fetch_url = true
[mma]
epic = ""

View File

@@ -6,10 +6,10 @@ roles = [
"Reasoning",
]
history = []
active = "TestDisc_1772159592"
active = "TestDisc_1772218225"
auto_add = true
[discussions.TestDisc_1772159592]
[discussions.TestDisc_1772218225]
git_commit = ""
last_updated = "2026-02-26T21:33:27"
last_updated = "2026-02-27T13:50:39"
history = []

View File

@@ -20,7 +20,7 @@ base_dir = "."
paths = []
[gemini_cli]
binary_path = "gemini"
binary_path = "\"C:\\projects\\manual_slop\\.venv\\Scripts\\python.exe\" \"C:\\projects\\manual_slop\\tests\\mock_gemini_cli.py\""
[deepseek]
reasoning_effort = "medium"
@@ -33,3 +33,8 @@ search_files = true
get_file_summary = true
web_search = true
fetch_url = true
[mma]
epic = ""
active_track_id = ""
tracks = []

View File

@@ -10,5 +10,5 @@ auto_add = true
[discussions.main]
git_commit = ""
last_updated = "2026-02-26T21:34:05"
last_updated = "2026-02-27T13:51:49"
history = []

View File

@@ -33,3 +33,8 @@ search_files = true
get_file_summary = true
web_search = true
fetch_url = true
[mma]
epic = ""
active_track_id = ""
tracks = []

View File

@@ -10,5 +10,5 @@ auto_add = true
[discussions.main]
git_commit = ""
last_updated = "2026-02-26T21:33:51"
last_updated = "2026-02-27T13:51:03"
history = []

View File

@@ -6,7 +6,7 @@ main_context = ""
word_wrap = true
summary_only = false
auto_scroll_comms = true
auto_scroll_tool_calls = true
auto_scroll_tool_calls = false
[output]
output_dir = "./md_gen"
@@ -33,3 +33,8 @@ search_files = true
get_file_summary = true
web_search = true
fetch_url = true
[mma]
epic = ""
active_track_id = ""
tracks = []

View File

@@ -5,17 +5,20 @@ roles = [
"System",
"Reasoning",
]
active = "mma_human veriffication"
active = "AutoDisc"
auto_add = true
[discussions.main]
git_commit = ""
last_updated = "2026-02-26T22:00:42"
last_updated = "2026-02-27T13:51:58"
history = [
"@2026-02-26T22:00:02\nSystem:\n[PERFORMANCE ALERT] CPU usage high: 92.2%. Please consider optimizing recent changes or reducing load.",
"@2026-02-27T13:51:51\nUser:\nHello! This is an automated test. Just say 'Acknowledged'.",
"@2026-02-27T13:51:58\nAI:\nAcknowledged.",
]
[discussions."mma_human veriffication"]
[discussions.AutoDisc]
git_commit = ""
last_updated = "2026-02-26T22:07:06"
history = []
last_updated = "2026-02-27T18:34:58"
history = [
"@2026-02-27T18:18:46\nSystem:\n[PERFORMANCE ALERT] Frame time high: 61.9ms. Please consider optimizing recent changes or reducing load.",
]

View File

@@ -1,15 +1,14 @@
import subprocess
import time
import sys
import os
import glob # Will be used to find api_hook_client.py path if needed, though sys.path modification is better.
import glob
# --- Configuration ---
GUI_SCRIPT = 'gui_2.py'
TEST_HOOKS_FLAG = '--enable-test-hooks'
API_HOOK_CLIENT_MODULE = 'api_hook_client'
PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) # Calculate project root
PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
# Ensure project root is in sys.path to import modules like api_hook_client
if PROJECT_ROOT not in sys.path:
@@ -27,7 +26,7 @@ except ImportError as e:
def run_visual_mma_verification():
print("Starting visual MMA verification test...")
# Change current directory to project root to ensure relative paths are correct for gui_2.py
# Change current directory to project root
original_dir = os.getcwd()
if original_dir != PROJECT_ROOT:
try:
@@ -47,7 +46,7 @@ def run_visual_mma_verification():
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True,
cwd=PROJECT_ROOT # Explicitly set working directory
cwd=PROJECT_ROOT
)
print(f"GUI process started with PID: {gui_process.pid}")
except FileNotFoundError:
@@ -57,32 +56,25 @@ def run_visual_mma_verification():
print(f"Error starting GUI process: {e}")
return
# Give the GUI a moment to start and open the hook server.
# Wait for GUI to start
print("Waiting for GUI to initialize and hook server to start (5 seconds)...")
time.sleep(5)
# Check if the GUI process exited prematurely
if gui_process.poll() is not None:
print(f"Error: GUI process exited prematurely with return code {gui_process.returncode}.")
stderr_output = gui_process.stderr.read()
if stderr_output:
print("--- GUI Stderr ---")
print(stderr_output)
print("------------------")
return
# 2. Use api_hook_client.ApiHookClient to push events
# 2. Use ApiHookClient
try:
client = ApiHookClient()
print("ApiHookClient initialized successfully.")
except Exception as e:
print(f"Failed to initialize ApiHookClient. Ensure the hook server is running on port 8999. Error: {e}")
print(f"Failed to initialize ApiHookClient. Error: {e}")
if gui_process:
gui_process.terminate()
gui_process.wait()
return
# 3. Include at least 5 tickets in different states
# 3. Setup MMA data
track_data = {
"id": "visual_test_track",
"title": "Visual Verification Track",
@@ -109,8 +101,6 @@ def run_visual_mma_verification():
except Exception as e:
print(f" - Warning: Failed to push mma_state_update: {e}")
# 4. After a short delay, push an 'mma_step_approval' event
print("\nWaiting for GUI to render ticket queue and progress bar (3 seconds)...")
time.sleep(3)
print("Pushing 'mma_step_approval' event to trigger HITL modal...")
@@ -125,60 +115,27 @@ def run_visual_mma_verification():
print(f"Error pushing mma_step_approval event: {e}")
# 5. Provide clear print statements for manual verification
print("
--- Manual Verification Instructions ---")
print("\n--- Manual Verification Instructions ---")
print("Please visually inspect the running GUI application:")
print("1. MMA Dashboard: Ensure the 'MMA Dashboard' panel is visible and active.")
print("2. Ticket Queue: Verify the 'Ticket Queue' section displays all 5 tickets with correct statuses:")
print(" - TICKET-001: Should be 'todo'")
print(" - TICKET-002: Should be 'running'")
print(" - TICKET-003: Should be 'complete'")
print(" - TICKET-004: Should be 'blocked'")
print(" - TICKET-005: Should be 'paused'")
print(" Observe the distinct status colors for each ticket.")
print("3. Progress Bar: Check that the progress bar correctly reflects the completed/total tickets (e.g., 1/5).")
print("2. Ticket Queue: Verify the 'Ticket Queue' section displays all 5 tickets with correct statuses.")
print("3. Progress Bar: Check that the progress bar correctly reflects the completed/total tickets.")
print("4. Approval Modal: Confirm that an 'MMA Step Approval' modal has appeared.")
print(" - Verify it contains a 'Proposed Tool Call' section (e.g., showing 'powershell -Command...').")
print(" - Ensure there is an option/button to 'Edit Payload'.")
print("
--------------------------------------")
print("\n--------------------------------------")
print("The test script has finished its automated actions.")
print("The GUI application is still running. Please perform manual verification.")
print("Press Enter in this terminal to stop the GUI process and exit the test script.")
print("The GUI application is still running. Press Enter to exit.")
try:
input()
except EOFError:
print("EOF received, exiting.")
pass
print("
Stopping GUI process...")
print("\nStopping GUI process...")
if gui_process:
try:
gui_process.terminate()
gui_process.wait(timeout=10)
print("GUI process terminated gracefully.")
except subprocess.TimeoutExpired:
print("GUI process did not terminate within the timeout. Killing it forcefully.")
gui_process.kill()
gui_process.wait()
except Exception as e:
print(f"Error during GUI process termination: {e}")
else:
print("GUI process was not started or already terminated.")
gui_process.wait(timeout=5)
print("Visual MMA verification test script finished.")
# Restore original directory
if original_dir != PROJECT_ROOT:
try:
os.chdir(original_dir)
print(f"Restored original working directory: {original_dir}")
except FileNotFoundError:
print(f"Warning: Could not restore original working directory '{original_dir}'.")
# --- Main execution ---
if __name__ == "__main__":
# When the script is executed directly, ensure it runs from the correct context.
run_visual_mma_verification()