M26-4 Lifecycle config: schema, defaults, dashboard CRUD surface #591
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks#591
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
User story
As a service operator, I want
lifecycleandidle_stop_secondsto be first-class agent config exposed through the dashboard, so that I can flip a role between lazy and hot, or tune its idle window, without editing JSON files or restarting the service.Acceptance criteria
Schema
config/agents.jsonAgentTypeConfig (and the SQLiteagentsrow) gain:container.lifecycle: "hot" | "lazy"(default:lazy)container.idle_stop_seconds: number(default:300)@claude-hooks/sharedtypes updated; both fields propagate throughwebhook-config.ts→listResolvedAgents.lifecycle = "lazy",idle_stop_seconds = 300for every role exceptforeman(host-mode, fields ignored).Dashboard
lifecycleas a select (lazy/hot),idle_stop_secondsas a number input (min 60, max 3600).Migration
just devboot is non-destructive on existing DB.Tests
lifecyclevalues and out-of-rangeidle_stop_seconds.lifecycle→ reconcile recreates container with new--restartflag.Out of scope
References
specs/container-lazy-lifecycle.md§Role classification / §Idle threshold.apps/web/Agents page (A6).apps/server/src/shared/config/webhook-config.ts.apps/server/src/infrastructure/database/.