feat: Assignments tab on fleet page — manage product.task → model routing #63

Open
opened 2026-05-13 08:21:19 -07:00 by pyr0ball · 0 comments
Owner

Summary

Add an Assignments tab to the Avocet fleet page for managing the task-model assignment layer introduced in cf-orch#60.

Operators need a UI to view, create, edit, and delete task assignments without editing YAML files directly.

Context

cf-orch now exposes:

  • GET/POST /api/assignments — list and upsert product.task → model_id entries
  • DELETE /api/assignments/{product}/{task} — remove an assignment
  • GET /api/model-registry — list registered models
  • GET /api/assignments/deployment-status — per-assignment node deployment status

Design spec: circuitforge-plans/circuitforge-orch/superpowers/specs/2026-05-13-task-model-assignments-design.md

Assignments tab layout

Model Assignments                          [+ New Assignment]
────────────────────────────────────────────────────────────
Filter: [All products ▾]

TURNSTONE
  log_analysis   Foundation-Sec-8B Q4 (5.2 GB)  cf-text
    ✓ heimdall  ✓ navi  ✗ sif  ✗ muninn    [Deploy ▾] [Edit]

  security_analysis  BaronLLM Q6_K (9.5 GB)  cf-text
    ✓ heimdall  ✓ navi  ✗ sif  ✗ muninn    [Deploy ▾] [Edit]

Requirements

  • Assignments list grouped by product
  • Per-row deployment status: ✓ (in catalog) / ✗ (absent) / ~ (VRAM tight) per node
  • Create/edit assignment form: product, task, model (dropdown from registry), description
  • Delete assignment with confirmation
  • Deploy button: adds catalog entry to a node; optionally triggers model download
  • Model Registry sub-section: list registered models, VRAM, service type, HF repo, node coverage count
  • cf-orch#60 (spec + coordinator implementation)
  • avocet#62 (inference routing — products calling /api/inference/task)
  • Assignments already wired: turnstone.log_analysis, turnstone.security_analysis
## Summary Add an **Assignments** tab to the Avocet fleet page for managing the task-model assignment layer introduced in cf-orch#60. Operators need a UI to view, create, edit, and delete task assignments without editing YAML files directly. ## Context cf-orch now exposes: - `GET/POST /api/assignments` — list and upsert `product.task → model_id` entries - `DELETE /api/assignments/{product}/{task}` — remove an assignment - `GET /api/model-registry` — list registered models - `GET /api/assignments/deployment-status` — per-assignment node deployment status Design spec: `circuitforge-plans/circuitforge-orch/superpowers/specs/2026-05-13-task-model-assignments-design.md` ## Assignments tab layout ``` Model Assignments [+ New Assignment] ──────────────────────────────────────────────────────────── Filter: [All products ▾] TURNSTONE log_analysis Foundation-Sec-8B Q4 (5.2 GB) cf-text ✓ heimdall ✓ navi ✗ sif ✗ muninn [Deploy ▾] [Edit] security_analysis BaronLLM Q6_K (9.5 GB) cf-text ✓ heimdall ✓ navi ✗ sif ✗ muninn [Deploy ▾] [Edit] ``` ## Requirements - Assignments list grouped by product - Per-row deployment status: ✓ (in catalog) / ✗ (absent) / ~ (VRAM tight) per node - Create/edit assignment form: product, task, model (dropdown from registry), description - Delete assignment with confirmation - Deploy button: adds catalog entry to a node; optionally triggers model download - Model Registry sub-section: list registered models, VRAM, service type, HF repo, node coverage count ## Related - cf-orch#60 (spec + coordinator implementation) - avocet#62 (inference routing — products calling /api/inference/task) - Assignments already wired: turnstone.log_analysis, turnstone.security_analysis
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Circuit-Forge/avocet#63
No description provided.