chore(web): remove /agents/json screen #1114

Merged
charles merged 1 commit from chore/remove-agents-json-screen into main 2026-05-11 22:14:45 +00:00
Collaborator

Summary

  • Delete the legacy "Agent types (JSON)" route + smoke test (apps/web/src/routes/agents.json.{tsx,test.tsx}).
  • Drop the JSON nav entry from the AGENTS section + matching nav_sections_item_json keys in en.json / fr.json + the Braces lucide import.
  • Update nav-sections.test.tsx + agents.facets.test.tsx expectations.
  • Regenerate routeTree.gen.ts.

The screen was a holdover from when agent config lived in a real agents.json file. Since SC-10 (#632) and DOB-1 (#793) the data is fully DB-backed and the Roster + Config screens cover every field through dedicated forms; the JSON editor was a dormant escape hatch nobody uses.

Shared API helpers (fetchAgentConfig / putAgentConfig / AgentConfigResponse / GlobalWatchdogsConfig) stay — they are still consumed by /agents/config and features/agents/sections.tsx.

Test plan

  • bun x turbo run typecheck --force passes
  • just lint clean
  • just fmt-check clean
  • just i18n-string-check passes
  • Pre-push browser tests pass (Vitest browser mode in agent container)
  • Manual: /agents nav has no JSON entry; visiting /agents/json 404s; Roster/Config screens unaffected

🤖 Generated with Claude Code

## Summary - Delete the legacy "Agent types (JSON)" route + smoke test (`apps/web/src/routes/agents.json.{tsx,test.tsx}`). - Drop the JSON nav entry from the AGENTS section + matching `nav_sections_item_json` keys in `en.json` / `fr.json` + the `Braces` lucide import. - Update `nav-sections.test.tsx` + `agents.facets.test.tsx` expectations. - Regenerate `routeTree.gen.ts`. The screen was a holdover from when agent config lived in a real `agents.json` file. Since SC-10 (#632) and DOB-1 (#793) the data is fully DB-backed and the Roster + Config screens cover every field through dedicated forms; the JSON editor was a dormant escape hatch nobody uses. Shared API helpers (`fetchAgentConfig` / `putAgentConfig` / `AgentConfigResponse` / `GlobalWatchdogsConfig`) stay — they are still consumed by `/agents/config` and `features/agents/sections.tsx`. ## Test plan - [x] `bun x turbo run typecheck --force` passes - [x] `just lint` clean - [x] `just fmt-check` clean - [x] `just i18n-string-check` passes - [x] Pre-push browser tests pass (Vitest browser mode in agent container) - [ ] Manual: `/agents` nav has no JSON entry; visiting `/agents/json` 404s; Roster/Config screens unaffected 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chore(web): remove /agents/json screen
All checks were successful
qa / dockerfile (pull_request) Successful in 9s
qa / i18n-string-check (pull_request) Successful in 10s
qa / sql-layer-check (pull_request) Successful in 34s
qa / db-schema (pull_request) Successful in 37s
qa / qa-1 (pull_request) Successful in 4m4s
qa / qa (pull_request) Successful in 0s
e993084f0f
The "Agent types (JSON)" page was a holdover from when agent
config lived in a JSON file. The Roster + Config screens now
cover every field through dedicated forms, and the underlying
data is DB-backed via /api/agent-types/* + /api/service-config
(SC-10 #632, DOB-1 #793).

- delete route + smoke test (apps/web/src/routes/agents.json.{tsx,test.tsx})
- drop nav entry + i18n keys (nav_sections_item_json)
- drop Braces icon import
- update agents.facets.test.tsx + nav-sections.test.tsx
- regenerate routeTree.gen.ts

The shared API helpers (fetchAgentConfig / putAgentConfig /
AgentConfigResponse / GlobalWatchdogsConfig) stay — they are
consumed by /agents/config and features/agents/sections.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
charles deleted branch chore/remove-agents-json-screen 2026-05-11 22:14:46 +00:00
Sign in to join this conversation.
No reviewers
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
charles/claude-hooks!1114
No description provided.