SVC-3: Dashboard CRUD UI for service config #752

Closed
opened 2026-05-02 17:26:49 +00:00 by claude-desktop · 0 comments
Collaborator

As an operator, I want the Settings → Service tab to let me edit every field in service_config at scope='global' (falling back to scope='builtin' on reset), so that I can adjust deploy-time service infra (forge URL, container image, watchdogs, auth, node flows, penpot, MCP command) from the dashboard without editing service.json.

Acceptance criteria

Editor

  • Tab grouped by section: Forge / Container image / UI / MCP / Auth / Watchdogs / Node flows / Penpot / Routing.
  • Reset-to-builtin available per field — drops the scope='global' row and falls through to scope='builtin'.

Validation + safety

  • Confirm dialog on forgejo_url and container_image_default (destructive enough that an accidental save shouldn't go through silently).
  • Field-level validation surfaces the same errors as the JSON Schema for service.json today.

Tests

  • Smoke: edit container_image_default, restart, observe new agents use the new image.
  • Smoke: edit watchdogs.*, observe the watchdog cadence change without restart (where the watchdog supports hot reload).

Out of scope

  • Killing service.json from the repo altogether — SVC-4.
  • Audit log surfacing — already covered by AT-7's pattern (kind-agnostic UI).

References

  • Spec: specs/config-to-db.md § Story SVC-3.
  • Blocked by: SVC-1, SVC-2.
As an operator, I want the Settings → Service tab to let me edit every field in `service_config` at `scope='global'` (falling back to `scope='builtin'` on reset), so that I can adjust deploy-time service infra (forge URL, container image, watchdogs, auth, node flows, penpot, MCP command) from the dashboard without editing `service.json`. ## Acceptance criteria ### Editor - [ ] Tab grouped by section: **Forge** / **Container image** / **UI** / **MCP** / **Auth** / **Watchdogs** / **Node flows** / **Penpot** / **Routing**. - [ ] Reset-to-builtin available per field — drops the `scope='global'` row and falls through to `scope='builtin'`. ### Validation + safety - [ ] Confirm dialog on `forgejo_url` and `container_image_default` (destructive enough that an accidental save shouldn't go through silently). - [ ] Field-level validation surfaces the same errors as the JSON Schema for `service.json` today. ### Tests - [ ] Smoke: edit `container_image_default`, restart, observe new agents use the new image. - [ ] Smoke: edit `watchdogs.*`, observe the watchdog cadence change without restart (where the watchdog supports hot reload). ## Out of scope - Killing service.json from the repo altogether — SVC-4. - Audit log surfacing — already covered by AT-7's pattern (kind-agnostic UI). ## References - Spec: `specs/config-to-db.md` § Story SVC-3. - Blocked by: SVC-1, SVC-2.
dev closed this issue 2026-05-03 15:01:25 +00:00
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
charles/claude-hooks#752
No description provided.