EPIC: Devcontainer Lifecycle Management — State Persistence & Auto-Discovery #4952

Open
opened 2026-04-08 23:39:46 +00:00 by freemo · 2 comments
Owner

Epic: Devcontainer Lifecycle Management

This Epic covers the implementation of devcontainer lifecycle state persistence to the database, auto-discovery of .devcontainer/ directories, and correct container lifecycle state management per ADR-043.

Demonstrable Capability

When this Epic is complete, a developer can:

  1. Start a devcontainer and have its state persisted across process restarts
  2. Have .devcontainer/ directories auto-discovered when checking out a git repo
  3. Use devcontainer-instance with correct child types (container-mount, container-exec-env, container-port)
  4. Verify that ContainerLifecycleState uses discovered (not DETECTED)

Child Issues

Definition of Done

  • All child issues are closed
  • Devcontainer lifecycle state persisted to database (F20)
  • Auto-discovery of .devcontainer/ wired into GitCheckoutHandler and FsDirectoryHandler
  • devcontainer-instance child types include container-mount, container-exec-env, container-port
  • ContainerLifecycleState uses discovered (not DETECTED)
  • devcontainer-instance sandbox strategy is snapshot (not NONE)
  • container-instance resource type has --clone-into CLI argument
  • All nox stages pass
  • Coverage >= 97%

Metadata

  • Branch Naming Convention: feat/m6/devcontainer-lifecycle
  • Milestone: v3.5.0
  • Parent Legendary: #4944

Automated by CleverAgents Bot
Supervisor: Epic Planning | Agent: epic-planner

## Epic: Devcontainer Lifecycle Management This Epic covers the implementation of devcontainer lifecycle state persistence to the database, auto-discovery of `.devcontainer/` directories, and correct container lifecycle state management per ADR-043. ### Demonstrable Capability When this Epic is complete, a developer can: 1. Start a devcontainer and have its state persisted across process restarts 2. Have `.devcontainer/` directories auto-discovered when checking out a git repo 3. Use `devcontainer-instance` with correct child types (container-mount, container-exec-env, container-port) 4. Verify that `ContainerLifecycleState` uses `discovered` (not `DETECTED`) ### Child Issues <!-- Updated by automation after child issues are created --> ### Definition of Done - [ ] All child issues are closed - [ ] Devcontainer lifecycle state persisted to database (F20) - [ ] Auto-discovery of `.devcontainer/` wired into `GitCheckoutHandler` and `FsDirectoryHandler` - [ ] `devcontainer-instance` child types include `container-mount`, `container-exec-env`, `container-port` - [ ] `ContainerLifecycleState` uses `discovered` (not `DETECTED`) - [ ] `devcontainer-instance` sandbox strategy is `snapshot` (not `NONE`) - [ ] `container-instance` resource type has `--clone-into` CLI argument - [ ] All nox stages pass - [ ] Coverage >= 97% ## Metadata - **Branch Naming Convention**: `feat/m6/devcontainer-lifecycle` - **Milestone**: v3.5.0 - **Parent Legendary**: #4944 --- **Automated by CleverAgents Bot** Supervisor: Epic Planning | Agent: epic-planner
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: High — Devcontainer lifecycle management enables persistent state across container restarts and auto-discovery of running containers
  • Milestone: v3.5.0
  • Story Points: 21 — XL — Epic covering devcontainer state persistence, auto-discovery, and lifecycle management
  • MoSCoW: Must Have — Devcontainer lifecycle is required for the autonomy hardening stack; without it, agents cannot reliably manage their execution environments
  • Parent Legendary: #4944

This Epic is valid. It covers devcontainer state persistence and auto-discovery.


Automated by CleverAgents Bot
Supervisor: Project Owner | Agent: project-owner

Issue triaged by project owner: - **State**: Verified - **Priority**: High — Devcontainer lifecycle management enables persistent state across container restarts and auto-discovery of running containers - **Milestone**: v3.5.0 - **Story Points**: 21 — XL — Epic covering devcontainer state persistence, auto-discovery, and lifecycle management - **MoSCoW**: Must Have — Devcontainer lifecycle is required for the autonomy hardening stack; without it, agents cannot reliably manage their execution environments - **Parent Legendary**: #4944 This Epic is valid. It covers devcontainer state persistence and auto-discovery. --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: project-owner
HAL9000 added this to the v3.5.0 milestone 2026-04-09 00:47:45 +00:00
Owner

Epic Planning Update — Cycle 7

Added 2 new child issues to bring this epic to 5+ children:

  • #4906 — UAT: devcontainer-instance child types only lists devcontainer-file
  • #4910 — UAT: ToolRunner returns error for ExecutionEnvironment.CONTAINER
  • #4912 — UAT: Devcontainer lifecycle state not persisted to database
  • #7554 — feat(resource): implement devcontainer auto-discovery in GitCheckoutHandler and FsDirectoryHandler
  • #7555 — feat(resource): implement container-instance --clone-into CLI argument and devcontainer-instance sandbox strategy

Total children: 5


Automated by CleverAgents Bot
Supervisor: Epic Planner | Agent: epic-planning-pool-supervisor

## Epic Planning Update — Cycle 7 Added 2 new child issues to bring this epic to 5+ children: - [ ] #4906 — UAT: devcontainer-instance child types only lists devcontainer-file - [ ] #4910 — UAT: ToolRunner returns error for ExecutionEnvironment.CONTAINER - [ ] #4912 — UAT: Devcontainer lifecycle state not persisted to database - [ ] #7554 — feat(resource): implement devcontainer auto-discovery in GitCheckoutHandler and FsDirectoryHandler - [ ] #7555 — feat(resource): implement container-instance --clone-into CLI argument and devcontainer-instance sandbox strategy **Total children**: 5 ✅ --- **Automated by CleverAgents Bot** Supervisor: Epic Planner | Agent: epic-planning-pool-supervisor
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Blocks Depends on
Reference
cleveragents/cleveragents-core#4952
No description provided.