2.1 KiB
2.1 KiB
Created
Created by tickets.sh create.
Decision
Decision: keep Ticket tool behavior mostly in the ticket crate and use pod only as a thin built-in feature adapter.
Rationale:
ticketshould own the Ticket domain/backend and the behavior of Ticket operations.pod::featureis still owned by thepodcrate, so feature installation/authority wiring cannot be fully crate-contained without extracting a lowerfeature-apicrate.- Extracting
feature-apiis explicitly out of scope for this ticket. - Putting Ticket tools in
crates/toolswould repeat the Task tool responsibility problem.
Dependency shape:
ticket -> llm-worker # Tool/ToolDefinition implementation only
pod -> ticket # built-in feature adapter and backend-root wiring
Forbidden:
ticket -> pod
Implementation direction:
crates/ticketmay add Ticket tool input/output types and Tool implementations.crates/pod/src/feature/builtin/ticket.*should only install/register those tools throughFeatureContributionand resolve host/backend authority.- Ticket tools must operate through typed
TicketBackend/LocalTicketBackend, not throughtickets.shor generic filesystem writes.
Plan
Preflight result: implementation-ready.
Prerequisites are complete:
ticket-local-files-backendadded the typed Ticket backend andLocalTicketBackend.feature-api-authority-separationclarified host-authority naming inpod::feature.
Scope for implementation:
- Add the MVP Ticket tool surface: create/list/show/comment/review/status/close/doctor.
- Keep Ticket tool behavior in
crates/ticketand use a thinpodadapter for built-in feature registration and backend-root/authority wiring. - Do not implement Intake workflow, Orchestrator routing, TUI changes, external trackers, MCP/plugin loading, scheduler/lease behavior, or
work-items/rename.
Detailed delegation intent is recorded in artifacts/delegation-intent.md.