ed
d42f3cce34
conductor(checkpoint): UI Polish track complete
2026-06-03 12:24:51 -04:00
ed
55eb923bd9
feat(files-media): group files by directory + add 'Add Directory' button
...
- render_files_and_media now wraps the per-file loop in directory groups
via aggregate.group_files_by_dir + imscope.tree_node_ex (mirrors the
Context Composition visual style at gui_2.py:3114)
- New 'Add Directory' button next to 'Add Files to Inventory':
uses filedialog.askdirectory() + os.walk to bulk-import a folder tree
- Button IDs (i, add_f_{i}, rem_f_{i}) preserve global uniqueness via
file_indices map (regression-safe across the directory wrap)
- Test uses mock button=False, mock filedialog.askopenfilenames/askdirectory
to avoid opening a real Tk dialog during test run
2026-06-03 12:24:51 -04:00
ed
ab54d6b8a8
conductor(checkpoint): Phase 4 complete
2026-06-03 12:12:30 -04:00
ed
3a86407610
feat(ops-hub): add Vendor State tab with quota + context + cache
...
- New module-level render_vendor_state(app) in gui_2.py
- New 'Vendor State' tab in render_operations_hub tab_bar
- Renders 5 stable metrics: provider_model, context_window, cache, quota, last_error
- Each row: Metric label | Value | State (colored ok/warn/error/info)
- Tooltips via imgui.set_tooltip on the value cell
ImGui scope linter: render_vendor_state OK. Pre-existing 2 errors at lines
2684 and 4994 unrelated to this commit.
2026-06-03 12:12:29 -04:00
ed
7aeed5e01f
feat(vendor-state): add vendor_quota/last_error/token_tracker to AppController
...
- AppController.__init__: public vendor_quota: Dict[str,Any], last_error: Optional[Dict[str,str]], token_tracker: Dict[str,Any]
- set_vendor_quota(provider, remaining_pct, reset_at): public API for ai_client quota paths
- clear_last_error(): reset hook
- _refresh_api_metrics: read vendor_quota and error from payload, populate state
ai_client per-provider quota wire-up deferred to a future track (per-provider
signals differ; this commit establishes the state shape and read path).
2026-06-03 11:53:56 -04:00
ed
375e30e427
feat(vendor-state): add pure aggregator with stable metric keys
2026-06-03 11:31:29 -04:00
ed
b155578179
conductor(checkpoint): Phase 3 complete
2026-06-03 11:28:59 -04:00
ed
8fac9c34c9
fix(log): Refresh Registry button now calls load_registry() on the live instance
...
ROOT CAUSE: gui_2.py:1675 re-instantiated LogRegistry() which opens the TOML
but never called .load_registry() so the table stayed empty.
FIX: in-place load_registry() on the existing instance — preserves in-memory
state (any pending update_session_metadata call) and matches the user's intent
of 'refresh from disk'.
2026-06-03 11:28:36 -04:00
ed
e8c9a0d460
conductor(checkpoint): Phase 2 complete
2026-06-03 11:27:25 -04:00
ed
d0b06575c7
fix(gui): widen Keep Pairs input (80->140) and switch to drag_int
...
- src/gui_2.py:3829 set_next_item_width 80 -> 140, input_int -> drag_int
- Tests adapted to mock drag_int alongside input_int (5 test files)
2026-06-03 11:27:04 -04:00
ed
38d1354b9c
conductor(checkpoint): Phase 1 complete
2026-06-03 11:11:00 -04:00
ed
79ac9210ef
feat(markdown): intercept GFM tables and render via imgui.begin_table
2026-06-03 11:10:30 -04:00
ed
f72e72c92c
feat(markdown): implement table rendering with imgui.begin_table
2026-06-03 11:08:58 -04:00
ed
4d410c8ff4
feat(markdown): implement GFM table parser
2026-06-03 11:06:03 -04:00
ed
44f631c9a5
test(markdown): add GFM table parser failing tests
2026-06-03 10:59:57 -04:00
ed
11253e8d60
conductor(plan): UI Polish track - 5 phases, design spec + impl plan
2026-06-03 10:29:25 -04:00
ed
f0b72494f4
fix(docker): add tk/X11 deps for headless; improve sloppy.py web mode
2026-06-03 10:13:57 -04:00
ed
b56b62fa1e
feat(docker): convert push script to PowerShell
2026-06-03 09:01:43 -04:00
ed
1208ccd89d
docs(docker): add Gitea registry push and pull instructions
2026-06-03 08:48:42 -04:00
ed
08abc9f907
feat(docker): add Gitea registry push script
2026-06-03 08:48:12 -04:00
ed
df96c6a4ed
test(docker): add Docker Desktop auto-start and detection
2026-06-03 08:33:10 -04:00
ed
dd52df7e11
conductor(plan): Mark docker web frontend plan complete
2026-06-03 08:28:22 -04:00
ed
99a84bd683
conductor(checkpoint): Docker & web frontend complete
2026-06-03 08:27:28 -04:00
ed
ea3bbbc828
docs(docker): add Unraid deployment guide
2026-06-03 08:26:35 -04:00
ed
7708b76286
test(docker): add opt-in build and container-run tests
2026-06-03 08:25:37 -04:00
ed
fa8f473716
test(pytest): add docker marker
2026-06-03 08:24:35 -04:00
ed
36a6874e03
feat(docker): add build and run shell scripts
2026-06-03 08:23:40 -04:00
ed
46c66277b2
feat(docker): add docker-compose.yml for Unraid deployment
2026-06-03 08:23:01 -04:00
ed
1c62e88cbd
feat(docker): add Dockerfile and .dockerignore for containerized deployment
2026-06-03 08:22:17 -04:00
ed
067d228d9e
feat(sloppy): add --web-host and --web-port args for web mode
2026-06-03 08:20:28 -04:00
ed
db177e4494
docs(api): correct endpoint /api/mma_status -> /api/gui/mma_status across docs
2026-06-03 00:56:32 -04:00
ed
6ce119dffe
conductor(checkpoint): Fix markdown_helper.py for imgui-bundle >=1.92.801 complete
2026-06-03 00:54:07 -04:00
ed
b306f8f609
test(clean-install): use correct endpoint /api/gui/mma_status (not /api/mma_status)
2026-06-03 00:52:08 -04:00
ed
7a34edf605
fixes
2026-06-03 00:47:40 -04:00
ed
79a12d2c3e
conductor(tracks): register Clean Install Test track with checkpoint d14ae3b
2026-06-03 00:33:13 -04:00
ed
d14ae3bd08
conductor(checkpoint): Clean install test complete
2026-06-03 00:31:55 -04:00
ed
d171c18717
test(clean-install): add opt-in clone-and-verify pytest test
2026-06-03 00:30:00 -04:00
ed
573d289941
test(pytest): register clean_install marker for opt-in clone-and-verify test
2026-06-03 00:28:20 -04:00
ed
0309420ba1
conductor(checkpoint): Archive Completed Tracks (2026-05 to 2026-06) complete
2026-06-03 00:19:13 -04:00
ed
b87742ecba
conductor(tracks): fix 25 broken links in Phase 5/6/Hot Reload sections after archival
2026-06-03 00:17:38 -04:00
ed
56ea316afa
conductor(tracks): consolidate 'Earlier Archives' into 'Recent Completed Tracks (2026-05+)' with archive/ links
2026-06-03 00:14:45 -04:00
ed
594f14f943
conductor(archive): move 39 completed tracks (2026-05 to 2026-06) to archive/
2026-06-03 00:09:52 -04:00
ed
0ffeccc7d3
conductor(tracks): register 4 completed 2026-06-02 tracks with checkpoint SHAs
2026-06-03 00:02:15 -04:00
ed
f93dac7d8f
conductor(guidelines): add See Also section linking to per-file conventions
2026-06-02 23:53:31 -04:00
ed
f03b24eaca
conductor(refactor): update OOP tracker with Phase 4 progress and 2026-06-02 log
2026-06-02 23:53:05 -04:00
ed
f210d228ec
conductor(style): add See Also section linking to per-file pattern demonstrations
2026-06-02 23:51:20 -04:00
ed
7f8a9c4496
conductor(tracks): mark command_palette done, add documentation_refresh track entry
2026-06-02 23:50:34 -04:00
ed
fe62b87dd7
conductor(index): point active track to command_palette; mark doc refresh complete
2026-06-02 23:49:50 -04:00
ed
da03350ffc
conductor(tech-stack): update tool count 26->45, add api_hooks + command_palette, link 8 new per-file guides
2026-06-02 23:49:06 -04:00
ed
8b02b8a238
conductor(product): add 7 per-source-file + 1 testing guide to architecture reference
2026-06-02 23:47:34 -04:00