UAT: devcontainer-instance child_types definition missing container-mount, container-exec-env, and container-port per ADR-043 #3542

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

Metadata

  • Branch: fix/devcontainer-instance-child-types-adr043
  • Commit Message: fix(resources): add missing container-instance child types to devcontainer-instance definition
  • Milestone: None (Backlog)
  • Parent Epic: #398

Background

ADR-043 (§devcontainer-instance Resource Type) specifies:

Allowed children: (all inherited from container-instance: container-mount, container-exec-env, container-port)

The current devcontainer-instance type definition in src/cleveragents/application/services/_resource_registry_data.py (line 224) only lists devcontainer-file as a child type:

"child_types": ["devcontainer-file"],

This is missing the three child types that should be inherited from container-instance: container-mount, container-exec-env, and container-port.

Expected Behavior (per ADR-043)

"child_types": ["devcontainer-file", "container-mount", "container-exec-env", "container-port"],

Or, since devcontainer-instance inherits from container-instance, the inheritance mechanism (ADR-042) should ensure these child types are available. However, the current child_types field on devcontainer-instance explicitly overrides the parent's child types with only ["devcontainer-file"].

Actual Behavior

The devcontainer-instance type definition only allows devcontainer-file as a child. This means:

  1. container-mount children cannot be linked to a devcontainer-instance resource
  2. container-exec-env children cannot be linked to a devcontainer-instance resource
  3. container-port children cannot be linked to a devcontainer-instance resource

This breaks the lazy activation model described in ADR-043, which states that on activation, container-mount, container-exec-env, and container-port children are auto-discovered.

Code Locations

  • src/cleveragents/application/services/_resource_registry_data.py line 224: "child_types": ["devcontainer-file"]
  • ADR-043 §devcontainer-instance Resource Type: "Allowed children: (all inherited from container-instance: container-mount, container-exec-env, container-port)"

Impact

When a devcontainer is activated (lazy activation), the system cannot create container-mount, container-exec-env, or container-port child resources because the type definition doesn't allow them. This breaks the full devcontainer lifecycle as described in ADR-043.

Subtasks

  • Confirm ADR-043 specification for devcontainer-instance allowed children
  • Update child_types in _resource_registry_data.py for devcontainer-instance to include container-mount, container-exec-env, and container-port
  • Verify that the inheritance mechanism (ADR-042) is correctly applied or explicitly list all child types
  • Add/update Behave unit tests covering devcontainer-instance child type validation for all four child types
  • Add/update Robot Framework integration tests verifying container-mount, container-exec-env, and container-port can be linked as children of devcontainer-instance
  • Confirm lazy activation auto-discovery of child resources works end-to-end per ADR-043

Definition of Done

  • All subtasks above are checked
  • devcontainer-instance child_types includes devcontainer-file, container-mount, container-exec-env, and container-port
  • Behave unit tests pass for all four child type validations
  • Robot Framework integration tests pass for devcontainer lazy activation lifecycle
  • All nox stages pass
  • Coverage >= 97%
  • Commit created with message: fix(resources): add missing container-instance child types to devcontainer-instance definition
  • Commit pushed to branch fix/devcontainer-instance-child-types-adr043
  • PR merged and issue closed

Backlog note: This issue was discovered during autonomous operation
on milestone v3.6.0. It does not block milestone completion and has been
placed in the backlog for human review and future milestone assignment.


Automated by CleverAgents Bot
Supervisor: UAT Testing | Agent: ca-new-issue-creator

## Metadata - **Branch**: `fix/devcontainer-instance-child-types-adr043` - **Commit Message**: `fix(resources): add missing container-instance child types to devcontainer-instance definition` - **Milestone**: None (Backlog) - **Parent Epic**: #398 ## Background ADR-043 (§`devcontainer-instance` Resource Type) specifies: > **Allowed children**: (all inherited from `container-instance`: `container-mount`, `container-exec-env`, `container-port`) The current `devcontainer-instance` type definition in `src/cleveragents/application/services/_resource_registry_data.py` (line 224) only lists `devcontainer-file` as a child type: ```python "child_types": ["devcontainer-file"], ``` This is missing the three child types that should be inherited from `container-instance`: `container-mount`, `container-exec-env`, and `container-port`. ## Expected Behavior (per ADR-043) ```python "child_types": ["devcontainer-file", "container-mount", "container-exec-env", "container-port"], ``` Or, since `devcontainer-instance` inherits from `container-instance`, the inheritance mechanism (ADR-042) should ensure these child types are available. However, the current `child_types` field on `devcontainer-instance` explicitly overrides the parent's child types with only `["devcontainer-file"]`. ## Actual Behavior The `devcontainer-instance` type definition only allows `devcontainer-file` as a child. This means: 1. `container-mount` children cannot be linked to a `devcontainer-instance` resource 2. `container-exec-env` children cannot be linked to a `devcontainer-instance` resource 3. `container-port` children cannot be linked to a `devcontainer-instance` resource This breaks the lazy activation model described in ADR-043, which states that on activation, `container-mount`, `container-exec-env`, and `container-port` children are auto-discovered. ## Code Locations - `src/cleveragents/application/services/_resource_registry_data.py` line 224: `"child_types": ["devcontainer-file"]` - ADR-043 §`devcontainer-instance` Resource Type: "Allowed children: (all inherited from container-instance: container-mount, container-exec-env, container-port)" ## Impact When a devcontainer is activated (lazy activation), the system cannot create `container-mount`, `container-exec-env`, or `container-port` child resources because the type definition doesn't allow them. This breaks the full devcontainer lifecycle as described in ADR-043. ## Subtasks - [ ] Confirm ADR-043 specification for `devcontainer-instance` allowed children - [ ] Update `child_types` in `_resource_registry_data.py` for `devcontainer-instance` to include `container-mount`, `container-exec-env`, and `container-port` - [ ] Verify that the inheritance mechanism (ADR-042) is correctly applied or explicitly list all child types - [ ] Add/update Behave unit tests covering `devcontainer-instance` child type validation for all four child types - [ ] Add/update Robot Framework integration tests verifying `container-mount`, `container-exec-env`, and `container-port` can be linked as children of `devcontainer-instance` - [ ] Confirm lazy activation auto-discovery of child resources works end-to-end per ADR-043 ## Definition of Done - [ ] All subtasks above are checked - [ ] `devcontainer-instance` `child_types` includes `devcontainer-file`, `container-mount`, `container-exec-env`, and `container-port` - [ ] Behave unit tests pass for all four child type validations - [ ] Robot Framework integration tests pass for devcontainer lazy activation lifecycle - [ ] All nox stages pass - [ ] Coverage >= 97% - [ ] Commit created with message: `fix(resources): add missing container-instance child types to devcontainer-instance definition` - [ ] Commit pushed to branch `fix/devcontainer-instance-child-types-adr043` - [ ] PR merged and issue closed > **Backlog note:** This issue was discovered during autonomous operation > on milestone v3.6.0. It does not block milestone completion and has been > placed in the backlog for human review and future milestone assignment. --- **Automated by CleverAgents Bot** Supervisor: UAT Testing | Agent: ca-new-issue-creator
Author
Owner

Issue triaged by project owner:

  • State: Verified
  • Priority: Medium — The missing child types prevent full devcontainer lifecycle management per ADR-043, but basic devcontainer usage (without mount/exec-env/port children) still works.
  • Milestone: v3.6.0 — Devcontainer resource types are in scope for M7 (Additional resource types).
  • Story Points: 2 — S — This is a configuration fix: updating the child_types list in _resource_registry_data.py and adding validation tests. Straightforward change.
  • MoSCoW: Should Have — ADR-043 explicitly specifies these child types as inherited from container-instance. The lazy activation model depends on them. Important for completeness but not blocking basic devcontainer usage.
  • Parent Epic: #398 (Post-MVP Resources)

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

Issue triaged by project owner: - **State**: Verified - **Priority**: Medium — The missing child types prevent full devcontainer lifecycle management per ADR-043, but basic devcontainer usage (without mount/exec-env/port children) still works. - **Milestone**: v3.6.0 — Devcontainer resource types are in scope for M7 (Additional resource types). - **Story Points**: 2 — S — This is a configuration fix: updating the `child_types` list in `_resource_registry_data.py` and adding validation tests. Straightforward change. - **MoSCoW**: Should Have — ADR-043 explicitly specifies these child types as inherited from `container-instance`. The lazy activation model depends on them. Important for completeness but not blocking basic devcontainer usage. - **Parent Epic**: #398 (Post-MVP Resources) --- **Automated by CleverAgents Bot** Supervisor: Project Owner | Agent: ca-project-owner
freemo added this to the v3.6.0 milestone 2026-04-05 19:36:00 +00:00
Author
Owner

Milestone Triage Decision: Moved to Backlog

This devcontainer feature has been moved out of v3.6.0 during aggressive milestone triage. Devcontainer child types are infrastructure enhancements, not advanced concepts.

Reasoning:

  • v3.6.0 focus: Advanced concepts that extend beyond core MVP
  • This issue: Devcontainer-instance child types - infrastructure feature
  • Impact: Development tooling enhancement, not advanced conceptual capability

Should be addressed when devcontainer functionality is prioritized or in a dedicated development tooling milestone.

**Milestone Triage Decision: Moved to Backlog** This devcontainer feature has been moved out of v3.6.0 during aggressive milestone triage. Devcontainer child types are infrastructure enhancements, not advanced concepts. **Reasoning:** - v3.6.0 focus: Advanced concepts that extend beyond core MVP - This issue: Devcontainer-instance child types - infrastructure feature - Impact: Development tooling enhancement, not advanced conceptual capability Should be addressed when devcontainer functionality is prioritized or in a dedicated development tooling milestone.
freemo removed this from the v3.6.0 milestone 2026-04-06 23:38:59 +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.

Blocks
#398 Epic: Post-MVP Resources
cleveragents/cleveragents-core
Reference
cleveragents/cleveragents-core#3542
No description provided.