You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Phase 1 of the SkillService: implement basic storage CRUD operations and wire into the HTTP server. This delivers a working end-to-end stack (service + API) using the SQLite storage from #3648, without waiting for OCI library, installer, or client metadata.
The existing epic tasks (#3650, #3651, #3652, #3653) then extend this foundation with OCI operations, full validation, HTTP client layer, and CLI commands.
#3648 (storage) → #3741 (this: basic service + API)
├→ #3650 (extends service with OCI/installer)
└→ #3651 (extends API with full handlers)
└→ #3652 (HTTP client) → #3653 (CLI)
Description
Phase 1 of the SkillService: implement basic storage CRUD operations and wire into the HTTP server. This delivers a working end-to-end stack (service + API) using the SQLite storage from #3648, without waiting for OCI library, installer, or client metadata.
The existing epic tasks (#3650, #3651, #3652, #3653) then extend this foundation with OCI operations, full validation, HTTP client layer, and CLI commands.
RFC: RFC-0041: SQLite-Based State Management
Dependencies: #3648
Blocks: #3650 (extends service), #3651 (extends API)
Scope — What This Delivers
SkillServiceimplementation: CRUD againstSkillStore(no OCI pull/push, no installer)createDefaultManagers()creates store + service,sqlite.Close()on shutdownScope — What This Does NOT Deliver (handled by existing tasks)
Relationship to Existing Epic Tasks
Code Pointers
pkg/skills/service.go—SkillServiceinterfacepkg/storage/interfaces.go—SkillStoreinterface (from Skill state management #3648)pkg/api/v1/skills.go— existing 501 stubspkg/api/server.go—ServerBuilder,createDefaultManagers(), shutdown path