Skip to content

feat(web): Agents and Skills pages read stock deployments; create agent deploys a workflow asset (CL-8433) - #874

Merged
TheGreatAxios merged 1 commit into
mainfrom
cl-8433-agents-stock
Sep 18, 2026
Merged

TheGreatAxios merged 1 commit into
mainfrom
cl-8433-agents-stock

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Summary

  • Cuts apps/web over from the deleted /api/tenants/:t/agent-definitions/* and /planner/agent-definitions routes to stock Interchange: an agent is a workflow deployment (GET /workflows/deployments, GET/POST /workflows/runs, .../health, .../events, .../approvals).
  • Agents roster (agents-page.tsx) lists deployed definitions with their own top-level run's address, status, and 7-day run count; the per-row model-capabilities fetch and the Archive bulk action are removed (both depended on deleted routes with no stock replacement).
  • Agent detail (agent-detail-page.tsx) is now an observe-only page: definition status, its live run's address, health, event log, and approvals — the instructions/model/skills editor is gone (no stock write route backs it).
  • New apps/web/src/agent-deploy.ts generalizes myra-deploy.ts's deploy pipeline (ensure a workflow-kind asset, push a rendered source tree over git, deploy via POST /workflows/deployments) over {name, systemPrompt}, resolving the tenant's existing inference offering the same way Myra's own deploy does.
  • create-agent-panel.tsx deploys through that path via a useMutation (name + system prompt only — no drafting assist, no per-agent model/skill pins, since the routes that backed those are gone).
  • Skills pages (skills-page.tsx, skill-detail-page.tsx, create-skill-dialog.tsx) needed no changes — they already read the native kind:"skill" asset registry via skills-api.ts, never the deleted agent-definition-skill-pin route. agent-skills-picker.tsx (which only backed that pin) is deleted as dead code.
  • Data fetching follows TanStack Query throughout: reads are useQuery (useAgentDirectory, useAgentRunHealth/Events/Approvals), the deploy write is a useMutation that invalidates the directory query on success; no useEffect-driven fetches were introduced.

Verified

  • grep -rn "agent-definitions\|planner/agent" apps/web/src returns nothing outside apps/web/src/chat/api.ts (owned by a separate ticket).
  • bunx tsc -p apps/web --noEmit — clean.
  • bun run fmt / bun run lint — clean (pre-existing unrelated warnings in apps/sidecar only).
  • Targeted tests (myra-workbench.test.ts, run-status-tone-parity.test.ts, fetch-dedupe.test.tsx) pass; full apps/web suite passes except a pre-existing import.meta.glob bun-test incompatibility in tools/registry-publish.ts (unrelated to this change) and what looks like unrelated test-order flake in composer.test.tsx (passes 24/24 in isolation).

What's left / blockers

  • No pagination on the deployments/runs listing (pre-existing PAGE_LIMIT ceiling, unchanged).
  • Duplicate/Archive/Move for an existing agent have no stock backing (DELETE /workflows/runs/:runId is workflowRunOperationUnsupported) — dropped rather than shipped as dead buttons.
  • chat/api.ts's own agent-definitions/* calls (visible list, capabilities inventory, per-workbench instructions editor) are untouched, per scope — that's a separate ticket's cutover.

Test plan

  • bunx tsc -p apps/web --noEmit
  • bun run fmt
  • bun run lint
  • targeted tests pass

@linear-code

linear-code Bot commented Sep 18, 2026

Copy link
Copy Markdown

CL-8433

@TheGreatAxios
TheGreatAxios merged commit 3fb72f0 into main Sep 18, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant