avocet/app
pyr0ball 79b9ccbd3d feat(fleet): profile editor, assignments tab, node management polish
Backend:
- app/nodes.py: fix coordinator response envelope (.get("nodes"/"services"))
- app/nodes.py: add PUT /nodes/{id}/profile (atomic YAML write + reload)
- app/nodes.py: add POST /nodes/{id}/profile/generate (coordinator-seeded skeleton)
- tests/test_nodes.py: fix mock envelopes; add deploy model + profile tests

Frontend:
- NodeManagementView: tab bar switching nodes / assignments panels
- AssignmentsTab: full product.task → model routing UI (add/edit/delete)
- ProfileEditorPanel: full YAML profile editor with GPU + service sections
- CatalogEntryFormModal: add/edit model catalog entries per service
- ServiceFormModal: add/edit service config blocks
- NodeCard, GpuRow, ServiceBadge, OllamaModelPanel, HfNodeModelPanel: polish pass
- ModelsView: model download additions
- nodes.ts: extend types for full profile editing (ServiceManaged, CatalogEntryFull)
2026-05-17 11:23:47 -07:00
..
data feat: log corpus receiver — accept Turnstone push batches and label for logreading fine-tune 2026-05-11 17:07:54 -07:00
eval feat: add embed-bench rate and export endpoints 2026-05-11 08:07:17 -07:00
train fix: align train job/results API envelope, config_json key, progress SSE, dashboard model_key 2026-05-02 21:22:18 -07:00
api.py feat: log corpus receiver — accept Turnstone push batches and label for logreading fine-tune 2026-05-11 17:07:54 -07:00
cforch.py fix(tests): resolve 5 pre-existing test failures on main (closes #56) 2026-05-17 11:21:58 -07:00
cloud_session.py refactor: import detect_byok from cf-core, remove local copy 2026-04-25 16:45:47 -07:00
dashboard.py feat: multi-bench dashboard, API path migration, benchmark reliability fixes 2026-05-11 09:05:12 -07:00
imap_fetch.py feat: extract fetch routes and IMAP helpers into app/data/fetch.py 2026-05-01 21:57:31 -07:00
imitate.py feat: move imitate API into app/data/imitate.py 2026-05-01 22:12:19 -07:00
models.py fix(tests): resolve 5 pre-existing test failures on main (closes #56) 2026-05-17 11:21:58 -07:00
nodes.py feat(fleet): profile editor, assignments tab, node management polish 2026-05-17 11:23:47 -07:00
plans_bench.py fix: restore real plans_bench.py (was accidentally stubbed) 2026-05-01 22:25:22 -07:00
sft.py feat: move SFT corrections API into app/data/corrections.py 2026-05-01 22:02:22 -07:00
style.py refactor(bench): extract benchmark tabs — classifier, compare, llm-eval, style, voice 2026-04-24 14:56:17 -07:00
utils.py fix: restore ensure_ascii=False in utils jsonl helpers; remove dead _last_action from api.py 2026-05-01 20:59:44 -07:00
voice.py refactor(bench): extract benchmark tabs — classifier, compare, llm-eval, style, voice 2026-04-24 14:56:17 -07:00