Epic: ResourceHandler Protocol Completion #825

Open
opened 2026-03-13 20:14:01 +00:00 by freemo · 2 comments
Owner

Background

Covers the implementation of the remaining ResourceHandler protocol methods beyond the current resolve-only implementation. The specification defines 12 methods on the ResourceHandler protocol, but only resolve is implemented. The remaining 11 methods (read, write, delete, list, diff, discover_children, content_hash, create_sandbox, create_checkpoint, rollback_to, project_access) are required for the resource system to support full lifecycle operations.

This Epic ensures that resource handlers can perform all spec-defined operations, enabling the apply pipeline, sandbox management, and resource discovery to function end-to-end.

Expected Behavior

All 12 ResourceHandler protocol methods are implemented across the existing handler types (git-checkout, fs-directory, devcontainer, database). Resources can be read, written, deleted, listed, diffed, discovered, hashed, sandboxed, checkpointed, rolled back, and access-controlled through a uniform handler interface.

Child Issues

  • #827 feat(resource): implement ResourceHandler CRUD methods
  • #836 feat(resource): implement ResourceHandler sandbox/checkpoint methods
  • #837 feat(resource): implement ResourceHandler content_hash method

Definition of Done

This Epic is complete when all child issues are closed and merged. ResourceHandler protocol is fully implemented for all existing handler types.

## Background Covers the implementation of the remaining ResourceHandler protocol methods beyond the current `resolve`-only implementation. The specification defines 12 methods on the ResourceHandler protocol, but only `resolve` is implemented. The remaining 11 methods (read, write, delete, list, diff, discover_children, content_hash, create_sandbox, create_checkpoint, rollback_to, project_access) are required for the resource system to support full lifecycle operations. This Epic ensures that resource handlers can perform all spec-defined operations, enabling the apply pipeline, sandbox management, and resource discovery to function end-to-end. ## Expected Behavior All 12 ResourceHandler protocol methods are implemented across the existing handler types (git-checkout, fs-directory, devcontainer, database). Resources can be read, written, deleted, listed, diffed, discovered, hashed, sandboxed, checkpointed, rolled back, and access-controlled through a uniform handler interface. ## Child Issues - #827 feat(resource): implement ResourceHandler CRUD methods - #836 feat(resource): implement ResourceHandler sandbox/checkpoint methods - #837 feat(resource): implement ResourceHandler content_hash method ## Definition of Done This Epic is complete when all child issues are closed and merged. ResourceHandler protocol is fully implemented for all existing handler types.
freemo added this to the v3.6.0 milestone 2026-03-13 21:12:14 +00:00
Member

Gap Analysis — New Child Issues

Review of master code revealed that #827 and #836 were closed with NotImplementedError stubs on DatabaseResourceHandler and DevcontainerHandler, not matching the ticket ACs which explicitly require implementations on those handlers.

Created two new child issues to close these gaps:

  • #1241 feat(resource): implement DatabaseResourceHandler CRUD and checkpoint methods (8 points)

    • read, write, delete, list_children, diff (#827 gaps)
    • create_checkpoint, rollback_to (#836 gaps)
  • #1242 feat(resource): implement DevcontainerHandler missing protocol methods (5 points)

    • delete, list_children, diff (#827 gaps)
    • create_sandbox (#836 gaps)

Updated Epic Status

Issue Status
#827 CRUD (Git + Fs) Closed — DONE
#836 Sandbox (Git + Fs) Closed — DONE
#837 content_hash Closed — DONE
#1241 Database handler Open — NEW
#1242 Devcontainer handler Open — NEW
## Gap Analysis — New Child Issues Review of master code revealed that #827 and #836 were closed with `NotImplementedError` stubs on `DatabaseResourceHandler` and `DevcontainerHandler`, not matching the ticket ACs which explicitly require implementations on those handlers. Created two new child issues to close these gaps: - **#1241** `feat(resource): implement DatabaseResourceHandler CRUD and checkpoint methods` (8 points) - `read`, `write`, `delete`, `list_children`, `diff` (#827 gaps) - `create_checkpoint`, `rollback_to` (#836 gaps) - **#1242** `feat(resource): implement DevcontainerHandler missing protocol methods` (5 points) - `delete`, `list_children`, `diff` (#827 gaps) - `create_sandbox` (#836 gaps) ### Updated Epic Status | Issue | Status | |---|---| | #827 CRUD (Git + Fs) | Closed — DONE | | #836 Sandbox (Git + Fs) | Closed — DONE | | #837 content_hash | Closed — DONE | | **#1241 Database handler** | **Open — NEW** | | **#1242 Devcontainer handler** | **Open — NEW** |
freemo self-assigned this 2026-04-02 06:14:00 +00:00
Author
Owner

Label compliance fix applied:

  • Replaced orphaned label State/In Progress with valid label State/In progress
  • Reason: State/In Progress (capital P) is an orphaned label that no longer exists in the repository's label list. The correct label is State/In progress (lowercase p, ID: 1322).

Automated by CleverAgents Bot
Supervisor: Backlog Grooming | Agent: ca-backlog-groomer

Label compliance fix applied: - Replaced orphaned label `State/In Progress` with valid label `State/In progress` - Reason: `State/In Progress` (capital P) is an orphaned label that no longer exists in the repository's label list. The correct label is `State/In progress` (lowercase p, ID: 1322). --- **Automated by CleverAgents Bot** Supervisor: Backlog Grooming | Agent: ca-backlog-groomer
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#825
No description provided.