From 78120f536031f337b697aebc948ea42cd3ab4215 Mon Sep 17 00:00:00 2001 From: Hare Date: Fri, 5 Jun 2026 15:00:33 +0900 Subject: [PATCH] ticket: close ticket feature tools --- .../artifacts/.gitkeep | 0 .../artifacts/delegation-intent.md | 0 .../artifacts/implementation-report.md | 0 .../artifacts/review.md | 0 .../item.md | 4 +- .../resolution.md | 48 ++++++++++++++++ .../thread.md | 56 +++++++++++++++++++ 7 files changed, 106 insertions(+), 2 deletions(-) rename work-items/{open => closed}/20260605-040104-ticket-built-in-feature-tools/artifacts/.gitkeep (100%) rename work-items/{open => closed}/20260605-040104-ticket-built-in-feature-tools/artifacts/delegation-intent.md (100%) rename work-items/{open => closed}/20260605-040104-ticket-built-in-feature-tools/artifacts/implementation-report.md (100%) rename work-items/{open => closed}/20260605-040104-ticket-built-in-feature-tools/artifacts/review.md (100%) rename work-items/{open => closed}/20260605-040104-ticket-built-in-feature-tools/item.md (98%) create mode 100644 work-items/closed/20260605-040104-ticket-built-in-feature-tools/resolution.md rename work-items/{open => closed}/20260605-040104-ticket-built-in-feature-tools/thread.md (85%) diff --git a/work-items/open/20260605-040104-ticket-built-in-feature-tools/artifacts/.gitkeep b/work-items/closed/20260605-040104-ticket-built-in-feature-tools/artifacts/.gitkeep similarity index 100% rename from work-items/open/20260605-040104-ticket-built-in-feature-tools/artifacts/.gitkeep rename to work-items/closed/20260605-040104-ticket-built-in-feature-tools/artifacts/.gitkeep diff --git a/work-items/open/20260605-040104-ticket-built-in-feature-tools/artifacts/delegation-intent.md b/work-items/closed/20260605-040104-ticket-built-in-feature-tools/artifacts/delegation-intent.md similarity index 100% rename from work-items/open/20260605-040104-ticket-built-in-feature-tools/artifacts/delegation-intent.md rename to work-items/closed/20260605-040104-ticket-built-in-feature-tools/artifacts/delegation-intent.md diff --git a/work-items/open/20260605-040104-ticket-built-in-feature-tools/artifacts/implementation-report.md b/work-items/closed/20260605-040104-ticket-built-in-feature-tools/artifacts/implementation-report.md similarity index 100% rename from work-items/open/20260605-040104-ticket-built-in-feature-tools/artifacts/implementation-report.md rename to work-items/closed/20260605-040104-ticket-built-in-feature-tools/artifacts/implementation-report.md diff --git a/work-items/open/20260605-040104-ticket-built-in-feature-tools/artifacts/review.md b/work-items/closed/20260605-040104-ticket-built-in-feature-tools/artifacts/review.md similarity index 100% rename from work-items/open/20260605-040104-ticket-built-in-feature-tools/artifacts/review.md rename to work-items/closed/20260605-040104-ticket-built-in-feature-tools/artifacts/review.md diff --git a/work-items/open/20260605-040104-ticket-built-in-feature-tools/item.md b/work-items/closed/20260605-040104-ticket-built-in-feature-tools/item.md similarity index 98% rename from work-items/open/20260605-040104-ticket-built-in-feature-tools/item.md rename to work-items/closed/20260605-040104-ticket-built-in-feature-tools/item.md index 021f5ac2..12189627 100644 --- a/work-items/open/20260605-040104-ticket-built-in-feature-tools/item.md +++ b/work-items/closed/20260605-040104-ticket-built-in-feature-tools/item.md @@ -2,12 +2,12 @@ id: 20260605-040104-ticket-built-in-feature-tools slug: ticket-built-in-feature-tools title: Ticket built-in feature tools -status: open +status: closed kind: task priority: P1 labels: [ticket, feature, tool, orchestration] created_at: 2026-06-05T04:01:04Z -updated_at: 2026-06-05T05:58:39Z +updated_at: 2026-06-05T06:00:22Z assignee: null legacy_ticket: null --- diff --git a/work-items/closed/20260605-040104-ticket-built-in-feature-tools/resolution.md b/work-items/closed/20260605-040104-ticket-built-in-feature-tools/resolution.md new file mode 100644 index 00000000..915e2461 --- /dev/null +++ b/work-items/closed/20260605-040104-ticket-built-in-feature-tools/resolution.md @@ -0,0 +1,48 @@ +Ticket built-in feature tools are complete and merged. + +Implementation: + +- `afd7f04 feat: add built-in ticket tools` +- merge commit: `4486a81 merge: add ticket feature tools` + +Summary: + +- Added the MVP Ticket tool surface: + - `TicketCreate` + - `TicketList` + - `TicketShow` + - `TicketComment` + - `TicketReview` + - `TicketStatus` + - `TicketClose` + - `TicketDoctor` +- Kept Ticket tool behavior in `crates/ticket/src/tool.rs`. +- Kept `pod` as a thin adapter in `crates/pod/src/feature/builtin/ticket.rs`. +- Added `HostAuthority::TicketBackend { root }` to distinguish typed Ticket backend authority from generic filesystem access. +- Wired Ticket tools through the existing built-in feature contribution / ToolRegistry path. +- Resolved local backend root as `/work-items`; unusable roots register no Ticket tools and emit a warning diagnostic. +- Did not add Ticket tools to `crates/tools`. +- Did not shell out to `tickets.sh`. +- Did not implement Intake workflow, Orchestrator routing, TUI changes, external tracker integration, MCP/plugin loading, scheduler/lease behavior, or feature-api extraction. + +Review: + +- External sibling reviewer approved with no blockers. +- Non-blocker follow-ups: + - Feature install report currently records Ticket as installed even when backend root is unusable and no tools are registered; diagnostics may deserve more visible surfacing later. + - `HostAuthority::TicketBackend { root }` currently uses the pre-canonical backend path while backend use is canonicalized; future explicit grant comparisons should normalize consistently. + +Post-merge validation passed: + +- `cargo test -p ticket` +- `cargo test -p pod ticket --lib` +- `cargo test -p pod feature --lib` +- `cargo test -p pod --lib` +- `cargo test -p tools --lib` +- `cargo fmt --check` +- `git diff --check` +- `./tickets.sh doctor` +- `cargo check --workspace --all-targets` +- `nix build .#yoi --no-link` + +This clears the tool-surface prerequisite for `ticket-intake-workflow` and `ticket-orchestrator-routing`. diff --git a/work-items/open/20260605-040104-ticket-built-in-feature-tools/thread.md b/work-items/closed/20260605-040104-ticket-built-in-feature-tools/thread.md similarity index 85% rename from work-items/open/20260605-040104-ticket-built-in-feature-tools/thread.md rename to work-items/closed/20260605-040104-ticket-built-in-feature-tools/thread.md index 8950fa00..69f8a5f2 100644 --- a/work-items/open/20260605-040104-ticket-built-in-feature-tools/thread.md +++ b/work-items/closed/20260605-040104-ticket-built-in-feature-tools/thread.md @@ -270,4 +270,60 @@ External sibling reviewer approved with no blockers. Yes. +--- + + + +## Closed + +Ticket built-in feature tools are complete and merged. + +Implementation: + +- `afd7f04 feat: add built-in ticket tools` +- merge commit: `4486a81 merge: add ticket feature tools` + +Summary: + +- Added the MVP Ticket tool surface: + - `TicketCreate` + - `TicketList` + - `TicketShow` + - `TicketComment` + - `TicketReview` + - `TicketStatus` + - `TicketClose` + - `TicketDoctor` +- Kept Ticket tool behavior in `crates/ticket/src/tool.rs`. +- Kept `pod` as a thin adapter in `crates/pod/src/feature/builtin/ticket.rs`. +- Added `HostAuthority::TicketBackend { root }` to distinguish typed Ticket backend authority from generic filesystem access. +- Wired Ticket tools through the existing built-in feature contribution / ToolRegistry path. +- Resolved local backend root as `/work-items`; unusable roots register no Ticket tools and emit a warning diagnostic. +- Did not add Ticket tools to `crates/tools`. +- Did not shell out to `tickets.sh`. +- Did not implement Intake workflow, Orchestrator routing, TUI changes, external tracker integration, MCP/plugin loading, scheduler/lease behavior, or feature-api extraction. + +Review: + +- External sibling reviewer approved with no blockers. +- Non-blocker follow-ups: + - Feature install report currently records Ticket as installed even when backend root is unusable and no tools are registered; diagnostics may deserve more visible surfacing later. + - `HostAuthority::TicketBackend { root }` currently uses the pre-canonical backend path while backend use is canonicalized; future explicit grant comparisons should normalize consistently. + +Post-merge validation passed: + +- `cargo test -p ticket` +- `cargo test -p pod ticket --lib` +- `cargo test -p pod feature --lib` +- `cargo test -p pod --lib` +- `cargo test -p tools --lib` +- `cargo fmt --check` +- `git diff --check` +- `./tickets.sh doctor` +- `cargo check --workspace --all-targets` +- `nix build .#yoi --no-link` + +This clears the tool-surface prerequisite for `ticket-intake-workflow` and `ticket-orchestrator-routing`. + + ---