spicyv
This commit is contained in:
@@ -46,6 +46,7 @@ For deep implementation details when planning or implementing tracks, consult `d
|
||||
- **Parallel Tool Execution:** Executes independent tool calls (e.g., parallel file reads) concurrently within a single agent turn using an asynchronous execution engine, significantly reducing end-to-end latency.
|
||||
- **Automated Tier 4 QA:** Integrates real-time error interception in the shell runner, automatically forwarding technical failures to cheap sub-agents for 20-word diagnostic summaries injected back into the worker history.
|
||||
- **High-Fidelity Selectable UI:** Most read-only labels and logs across the interface (including discussion history, comms payloads, tool outputs, and telemetry metrics) are now implemented as selectable text fields. This enables standard OS-level text selection and copying (Ctrl+C) while maintaining a high-density, non-editable aesthetic.
|
||||
- **High-Fidelity UI Rendering:** Employs advanced 3x font oversampling and sub-pixel positioning to ensure crisp, high-clarity text rendering across all resolutions, enhancing readability for dense logs and complex code fragments.
|
||||
- **Enhanced MMA Observability:** Worker streams and ticket previews now support direct text selection, allowing for easy extraction of specific logs or reasoning fragments during parallel execution.
|
||||
- **Detailed History Management:** Rich discussion history with branching, timestamping, and specific git commit linkage per conversation.
|
||||
- **Advanced Log Management:** Optimizes log storage by offloading large data (AI-generated scripts and tool outputs) to unique files within the session directory, using compact `[REF:filename]` pointers in JSON-L logs to minimize token overhead during analysis. Features a dedicated **Log Management panel** for monitoring, whitelisting, and pruning session logs.
|
||||
|
||||
14
config.toml
14
config.toml
@@ -1,6 +1,6 @@
|
||||
[ai]
|
||||
provider = "deepseek"
|
||||
model = "deepseek-chat"
|
||||
provider = "minimax"
|
||||
model = "MiniMax-M2.5"
|
||||
temperature = 0.0
|
||||
max_tokens = 24000
|
||||
history_trunc_limit = 900000
|
||||
@@ -42,10 +42,12 @@ Theme = true
|
||||
Diagnostics = false
|
||||
|
||||
[theme]
|
||||
palette = "DPG Default"
|
||||
font_path = ""
|
||||
font_size = 14.0
|
||||
scale = 1.0
|
||||
palette = "Nord Dark"
|
||||
font_path = "C:/projects/manual_slop/assets/fonts/Inter-Regular.ttf"
|
||||
font_size = 12.0
|
||||
scale = 1.25
|
||||
transparency = 0.6499999761581421
|
||||
child_transparency = 0.7200000286102295
|
||||
|
||||
[mma]
|
||||
max_workers = 4
|
||||
|
||||
@@ -49,10 +49,9 @@ Size=1065,548
|
||||
Collapsed=0
|
||||
|
||||
[Window][Response]
|
||||
Pos=826,1416
|
||||
Size=873,721
|
||||
Pos=1009,1217
|
||||
Size=1036,351
|
||||
Collapsed=0
|
||||
DockId=0x00000014,1
|
||||
|
||||
[Window][Tool Calls]
|
||||
Pos=99,730
|
||||
@@ -74,8 +73,8 @@ Collapsed=0
|
||||
DockId=0xAFC85805,2
|
||||
|
||||
[Window][Theme]
|
||||
Pos=0,17
|
||||
Size=824,961
|
||||
Pos=0,26
|
||||
Size=848,827
|
||||
Collapsed=0
|
||||
DockId=0x00000005,1
|
||||
|
||||
@@ -85,14 +84,14 @@ Size=900,700
|
||||
Collapsed=0
|
||||
|
||||
[Window][Diagnostics]
|
||||
Pos=2813,17
|
||||
Size=1027,2120
|
||||
Pos=2622,27
|
||||
Size=1218,2110
|
||||
Collapsed=0
|
||||
DockId=0x00000004,2
|
||||
DockId=0x00000004,1
|
||||
|
||||
[Window][Context Hub]
|
||||
Pos=0,17
|
||||
Size=824,961
|
||||
Pos=0,26
|
||||
Size=848,827
|
||||
Collapsed=0
|
||||
DockId=0x00000005,0
|
||||
|
||||
@@ -103,26 +102,26 @@ Collapsed=0
|
||||
DockId=0x0000000D,0
|
||||
|
||||
[Window][Discussion Hub]
|
||||
Pos=1761,17
|
||||
Size=1050,1397
|
||||
Pos=1736,26
|
||||
Size=884,1463
|
||||
Collapsed=0
|
||||
DockId=0x00000013,0
|
||||
|
||||
[Window][Operations Hub]
|
||||
Pos=826,17
|
||||
Size=933,1397
|
||||
Pos=850,26
|
||||
Size=884,1463
|
||||
Collapsed=0
|
||||
DockId=0x00000012,0
|
||||
|
||||
[Window][Files & Media]
|
||||
Pos=0,1560
|
||||
Size=824,577
|
||||
Pos=0,1885
|
||||
Size=848,252
|
||||
Collapsed=0
|
||||
DockId=0x00000002,0
|
||||
|
||||
[Window][AI Settings]
|
||||
Pos=0,980
|
||||
Size=824,578
|
||||
Pos=0,855
|
||||
Size=848,1028
|
||||
Collapsed=0
|
||||
DockId=0x00000001,0
|
||||
|
||||
@@ -132,43 +131,43 @@ Size=416,325
|
||||
Collapsed=0
|
||||
|
||||
[Window][MMA Dashboard]
|
||||
Pos=2813,17
|
||||
Size=1027,2120
|
||||
Collapsed=0
|
||||
DockId=0x00000004,0
|
||||
|
||||
[Window][Log Management]
|
||||
Pos=2813,17
|
||||
Size=1027,2120
|
||||
Pos=2622,26
|
||||
Size=1218,2111
|
||||
Collapsed=0
|
||||
DockId=0x00000004,1
|
||||
|
||||
[Window][Log Management]
|
||||
Pos=2622,26
|
||||
Size=1218,2111
|
||||
Collapsed=0
|
||||
DockId=0x00000004,0
|
||||
|
||||
[Window][Track Proposal]
|
||||
Pos=709,326
|
||||
Size=262,209
|
||||
Collapsed=0
|
||||
|
||||
[Window][Tier 1: Strategy]
|
||||
Pos=826,1416
|
||||
Size=873,721
|
||||
Pos=850,1491
|
||||
Size=306,646
|
||||
Collapsed=0
|
||||
DockId=0x00000014,0
|
||||
|
||||
[Window][Tier 2: Tech Lead]
|
||||
Pos=1701,1416
|
||||
Size=353,721
|
||||
Pos=1158,1491
|
||||
Size=550,646
|
||||
Collapsed=0
|
||||
DockId=0x00000016,0
|
||||
|
||||
[Window][Tier 4: QA]
|
||||
Pos=2542,1416
|
||||
Size=269,721
|
||||
Pos=2215,1491
|
||||
Size=405,646
|
||||
Collapsed=0
|
||||
DockId=0x00000019,0
|
||||
|
||||
[Window][Tier 3: Workers]
|
||||
Pos=2056,1416
|
||||
Size=484,721
|
||||
Pos=1710,1491
|
||||
Size=503,646
|
||||
Collapsed=0
|
||||
DockId=0x00000018,0
|
||||
|
||||
@@ -307,6 +306,21 @@ Pos=532,397
|
||||
Size=616,406
|
||||
Collapsed=0
|
||||
|
||||
[Window][Markdown Test]
|
||||
Pos=447,895
|
||||
Size=1286,827
|
||||
Collapsed=0
|
||||
|
||||
[Window][Dear ImGui Demo]
|
||||
Pos=650,49
|
||||
Size=550,680
|
||||
Collapsed=0
|
||||
|
||||
[Window][Theme Tweaks]
|
||||
Pos=755,679
|
||||
Size=420,966
|
||||
Collapsed=0
|
||||
|
||||
[Table][0xFB6E3870,4]
|
||||
RefScale=13
|
||||
Column 0 Width=80
|
||||
@@ -338,11 +352,11 @@ Column 3 Width=20
|
||||
Column 4 Weight=1.0000
|
||||
|
||||
[Table][0x2A6000B6,4]
|
||||
RefScale=13
|
||||
Column 0 Width=40
|
||||
Column 1 Width=60
|
||||
RefScale=14
|
||||
Column 0 Width=42
|
||||
Column 1 Width=64
|
||||
Column 2 Weight=1.0000
|
||||
Column 3 Width=100
|
||||
Column 3 Width=107
|
||||
|
||||
[Table][0x8BCC69C7,6]
|
||||
RefScale=13
|
||||
@@ -354,47 +368,68 @@ Column 4 Weight=1.0000
|
||||
Column 5 Width=50
|
||||
|
||||
[Table][0x3751446B,4]
|
||||
RefScale=13
|
||||
Column 0 Width=40
|
||||
Column 1 Width=60
|
||||
RefScale=14
|
||||
Column 0 Width=42
|
||||
Column 1 Width=64
|
||||
Column 2 Weight=1.0000
|
||||
Column 3 Width=100
|
||||
Column 3 Width=106
|
||||
|
||||
[Table][0x2C515046,4]
|
||||
RefScale=13
|
||||
Column 0 Width=57
|
||||
RefScale=14
|
||||
Column 0 Width=61
|
||||
Column 1 Weight=1.0000
|
||||
Column 2 Width=150
|
||||
Column 3 Width=40
|
||||
Column 2 Width=161
|
||||
Column 3 Width=42
|
||||
|
||||
[Table][0xD99F45C5,4]
|
||||
Column 0 Sort=0v
|
||||
|
||||
[Table][0x1829A682,7]
|
||||
Column 0 Weight=0.5786
|
||||
Column 1 Weight=1.4145
|
||||
Column 2 Weight=0.9966
|
||||
Column 3 Weight=0.7956
|
||||
Column 4 Weight=1.2055
|
||||
Column 5 Weight=1.0046
|
||||
Column 6 Weight=1.0046
|
||||
|
||||
[Table][0x5386208F,3]
|
||||
RefScale=13
|
||||
Column 0 Width=150
|
||||
Column 1 Width=100
|
||||
Column 2 Weight=1.0000
|
||||
|
||||
[Table][0xA02D8C87,3]
|
||||
RefScale=14
|
||||
Column 0 Width=160
|
||||
Column 1 Width=106
|
||||
Column 2 Weight=1.0000
|
||||
|
||||
[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=3840,2120 Split=X
|
||||
DockNode ID=0x00000003 Parent=0xAFC85805 SizeRef=2811,1183 Split=X
|
||||
DockSpace ID=0xAFC85805 Window=0x079D3A04 Pos=0,26 Size=3840,2111 Split=X
|
||||
DockNode ID=0x00000003 Parent=0xAFC85805 SizeRef=2620,1183 Split=X
|
||||
DockNode ID=0x0000000B Parent=0x00000003 SizeRef=404,1186 Split=X Selected=0xF4139CA2
|
||||
DockNode ID=0x00000007 Parent=0x0000000B SizeRef=824,858 Split=Y Selected=0x8CA2375C
|
||||
DockNode ID=0x00000005 Parent=0x00000007 SizeRef=295,961 Selected=0xF4139CA2
|
||||
DockNode ID=0x00000006 Parent=0x00000007 SizeRef=295,1157 Split=Y Selected=0x7BD57D6A
|
||||
DockNode ID=0x00000001 Parent=0x00000006 SizeRef=824,578 CentralNode=1 Selected=0x7BD57D6A
|
||||
DockNode ID=0x00000002 Parent=0x00000006 SizeRef=824,577 Selected=0x1DCB2623
|
||||
DockNode ID=0x0000000E Parent=0x0000000B SizeRef=1985,858 Split=Y Selected=0x418C7449
|
||||
DockNode ID=0x00000010 Parent=0x0000000E SizeRef=868,1397 Split=X Selected=0x418C7449
|
||||
DockNode ID=0x00000012 Parent=0x00000010 SizeRef=933,402 Selected=0x418C7449
|
||||
DockNode ID=0x00000013 Parent=0x00000010 SizeRef=1050,402 Selected=0x6F2B5B04
|
||||
DockNode ID=0x00000011 Parent=0x0000000E SizeRef=868,721 Split=X Selected=0x5CDB7A4B
|
||||
DockNode ID=0x00000014 Parent=0x00000011 SizeRef=873,837 Selected=0x0D5A5273
|
||||
DockNode ID=0x00000015 Parent=0x00000011 SizeRef=1110,837 Split=X Selected=0x5CDB7A4B
|
||||
DockNode ID=0x00000016 Parent=0x00000015 SizeRef=353,837 Selected=0x390E7942
|
||||
DockNode ID=0x00000017 Parent=0x00000015 SizeRef=755,837 Split=X Selected=0x655BC6E9
|
||||
DockNode ID=0x00000018 Parent=0x00000017 SizeRef=484,874 Selected=0x655BC6E9
|
||||
DockNode ID=0x00000019 Parent=0x00000017 SizeRef=269,874 Selected=0x5CDB7A4B
|
||||
DockNode ID=0x00000007 Parent=0x0000000B SizeRef=848,858 Split=Y Selected=0x8CA2375C
|
||||
DockNode ID=0x00000005 Parent=0x00000007 SizeRef=295,827 Selected=0x8CA2375C
|
||||
DockNode ID=0x00000006 Parent=0x00000007 SizeRef=295,1286 Split=Y Selected=0x7BD57D6A
|
||||
DockNode ID=0x00000001 Parent=0x00000006 SizeRef=824,1032 CentralNode=1 Selected=0x7BD57D6A
|
||||
DockNode ID=0x00000002 Parent=0x00000006 SizeRef=824,252 Selected=0x1DCB2623
|
||||
DockNode ID=0x0000000E Parent=0x0000000B SizeRef=1770,858 Split=Y Selected=0x418C7449
|
||||
DockNode ID=0x00000010 Parent=0x0000000E SizeRef=868,1466 Split=X Selected=0x418C7449
|
||||
DockNode ID=0x00000012 Parent=0x00000010 SizeRef=884,402 Selected=0x418C7449
|
||||
DockNode ID=0x00000013 Parent=0x00000010 SizeRef=884,402 Selected=0x6F2B5B04
|
||||
DockNode ID=0x00000011 Parent=0x0000000E SizeRef=868,647 Split=X Selected=0x5CDB7A4B
|
||||
DockNode ID=0x00000014 Parent=0x00000011 SizeRef=306,837 Selected=0xBB346584
|
||||
DockNode ID=0x00000015 Parent=0x00000011 SizeRef=1462,837 Split=X Selected=0x5CDB7A4B
|
||||
DockNode ID=0x00000016 Parent=0x00000015 SizeRef=550,837 Selected=0x390E7942
|
||||
DockNode ID=0x00000017 Parent=0x00000015 SizeRef=910,837 Split=X Selected=0x655BC6E9
|
||||
DockNode ID=0x00000018 Parent=0x00000017 SizeRef=503,874 Selected=0x655BC6E9
|
||||
DockNode ID=0x00000019 Parent=0x00000017 SizeRef=405,874 Selected=0x5CDB7A4B
|
||||
DockNode ID=0x0000000D Parent=0x00000003 SizeRef=435,1186 Selected=0x363E93D6
|
||||
DockNode ID=0x00000004 Parent=0xAFC85805 SizeRef=1027,1183 Selected=0x2C0206CE
|
||||
DockNode ID=0x00000004 Parent=0xAFC85805 SizeRef=1218,1183 Selected=0x2C0206CE
|
||||
|
||||
;;;<<<Layout_655921752_Default>>>;;;
|
||||
;;;<<<HelloImGui_Misc>>>;;;
|
||||
@@ -404,6 +439,6 @@ Name=Default
|
||||
Show=false
|
||||
ShowFps=true
|
||||
[Theme]
|
||||
Name=SoDark_AccentRed
|
||||
Name=ImGuiColorsClassic
|
||||
;;;<<<SplitIds>>>;;;
|
||||
{"gImGuiSplitIDs":{"MainDockSpace":2949142533}}
|
||||
|
||||
20
project.toml
20
project.toml
@@ -3,10 +3,6 @@ name = "project"
|
||||
git_dir = ""
|
||||
system_prompt = ""
|
||||
main_context = ""
|
||||
word_wrap = true
|
||||
summary_only = false
|
||||
auto_scroll_comms = true
|
||||
auto_scroll_tool_calls = true
|
||||
|
||||
[output]
|
||||
output_dir = "./md_gen"
|
||||
@@ -59,19 +55,3 @@ py_set_var_declaration = false
|
||||
epic = ""
|
||||
active_track_id = ""
|
||||
tracks = []
|
||||
|
||||
[mma.tier_models."Tier 1"]
|
||||
model = "gemini-3.1-pro-preview"
|
||||
provider = "gemini"
|
||||
|
||||
[mma.tier_models."Tier 2"]
|
||||
model = "gemini-3-flash-preview"
|
||||
provider = "gemini"
|
||||
|
||||
[mma.tier_models."Tier 3"]
|
||||
model = "gemini-2.5-flash-lite"
|
||||
provider = "gemini"
|
||||
|
||||
[mma.tier_models."Tier 4"]
|
||||
model = "gemini-2.5-flash-lite"
|
||||
provider = "gemini"
|
||||
|
||||
@@ -6,9 +6,8 @@ roles = [
|
||||
"Context",
|
||||
]
|
||||
active = "main"
|
||||
auto_add = false
|
||||
|
||||
[discussions.main]
|
||||
git_commit = ""
|
||||
last_updated = "2026-03-08T03:12:45"
|
||||
last_updated = "2026-03-08T22:48:42"
|
||||
history = []
|
||||
|
||||
@@ -32,7 +32,7 @@ from src import aggregate
|
||||
from src import orchestrator_pm
|
||||
from src import conductor_tech_lead
|
||||
from src import multi_agent_conductor
|
||||
from src import theme
|
||||
from src import theme_2 as theme
|
||||
|
||||
def hide_tk_root() -> Tk:
|
||||
root = Tk()
|
||||
@@ -744,6 +744,7 @@ class AppController:
|
||||
def init_state(self):
|
||||
"""Initializes the application state from configurations."""
|
||||
self.config = models.load_config()
|
||||
theme.load_from_config(self.config)
|
||||
ai_cfg = self.config.get("ai", {})
|
||||
self._current_provider = ai_cfg.get("provider", "gemini")
|
||||
self._current_model = ai_cfg.get("model", "gemini-2.5-flash-lite")
|
||||
@@ -2085,14 +2086,18 @@ class AppController:
|
||||
self.config["ai"]["system_prompt"] = self.ui_global_system_prompt
|
||||
self.config["projects"] = {"paths": self.project_paths, "active": self.active_project_path}
|
||||
from src import bg_shader
|
||||
self.config["gui"] = {
|
||||
# Update gui section while preserving other keys like bg_shader_enabled
|
||||
gui_cfg = self.config.get("gui", {})
|
||||
gui_cfg.update({
|
||||
"show_windows": self.show_windows,
|
||||
"separate_message_panel": getattr(self, "ui_separate_message_panel", False),
|
||||
"separate_response_panel": getattr(self, "ui_separate_response_panel", False),
|
||||
"separate_tool_calls_panel": getattr(self, "ui_separate_tool_calls_panel", False),
|
||||
"bg_shader_enabled": bg_shader.get_bg().enabled
|
||||
}
|
||||
# Explicitly call theme save to ensure self.config is updated
|
||||
})
|
||||
self.config["gui"] = gui_cfg
|
||||
|
||||
# Explicitly save theme state into the config dict
|
||||
theme.save_to_config(self.config)
|
||||
|
||||
def _do_generate(self) -> tuple[str, Path, list[dict[str, Any]], str, str]:
|
||||
|
||||
@@ -52,6 +52,9 @@ def load_config() -> dict[str, Any]:
|
||||
|
||||
def save_config(config: dict[str, Any]) -> None:
|
||||
import tomli_w
|
||||
import sys
|
||||
sys.stderr.write(f"[DEBUG] Saving config. Theme: {config.get('theme')}\n")
|
||||
sys.stderr.flush()
|
||||
with open(CONFIG_PATH, "wb") as f:
|
||||
tomli_w.dump(config, f)
|
||||
|
||||
|
||||
@@ -334,6 +334,7 @@ def set_scale(factor: float) -> None:
|
||||
|
||||
def save_to_config(config: dict) -> None:
|
||||
"""Persist theme settings into the config dict under [theme]."""
|
||||
import sys
|
||||
config.setdefault("theme", {})
|
||||
config["theme"]["palette"] = _current_palette
|
||||
config["theme"]["font_path"] = _current_font_path
|
||||
@@ -341,11 +342,16 @@ def save_to_config(config: dict) -> None:
|
||||
config["theme"]["scale"] = _current_scale
|
||||
config["theme"]["transparency"] = _transparency
|
||||
config["theme"]["child_transparency"] = _child_transparency
|
||||
sys.stderr.write(f"[DEBUG theme_2] save_to_config: palette={_current_palette}, transparency={_transparency}\n")
|
||||
sys.stderr.flush()
|
||||
|
||||
def load_from_config(config: dict) -> None:
|
||||
"""Read [theme] from config. Font is handled separately at startup."""
|
||||
import sys
|
||||
global _current_font_path, _current_font_size, _current_scale, _current_palette, _transparency, _child_transparency
|
||||
t = config.get("theme", {})
|
||||
sys.stderr.write(f"[DEBUG theme_2] load_from_config raw: {t}\n")
|
||||
sys.stderr.flush()
|
||||
_current_palette = t.get("palette", "10x Dark")
|
||||
if _current_palette in ("", "DPG Default"):
|
||||
_current_palette = "10x Dark"
|
||||
@@ -355,6 +361,8 @@ def load_from_config(config: dict) -> None:
|
||||
_current_scale = float(t.get("scale", 1.0))
|
||||
_transparency = float(t.get("transparency", 1.0))
|
||||
_child_transparency = float(t.get("child_transparency", 1.0))
|
||||
sys.stderr.write(f"[DEBUG theme_2] load_from_config effective: palette={_current_palette}, transparency={_transparency}\n")
|
||||
sys.stderr.flush()
|
||||
|
||||
def apply_current() -> None:
|
||||
"""Apply the loaded palette and scale. Call after imgui context exists."""
|
||||
|
||||
Reference in New Issue
Block a user