ticket: review ticket config and feature work

This commit is contained in:
Keisuke Hirata 2026-06-07 12:58:44 +09:00
parent 550e0159ed
commit e57e410c4d
No known key found for this signature in database
4 changed files with 73 additions and 2 deletions

View File

@ -8,7 +8,7 @@ priority: P1
labels: [ticket, config, init, profiles, panel]
workflow_state: ready
created_at: 2026-06-07T03:14:39Z
updated_at: 2026-06-07T03:44:16Z
updated_at: 2026-06-07T03:58:12Z
assignee: null
legacy_ticket: null
---

View File

@ -94,3 +94,35 @@ Scope:
The child should commit implementation work in the child worktree and report diff/tests. Merge, review, Ticket closure, and cleanup remain with the parent/human workflow.
---
<!-- event: implementation_report author: hare at: 2026-06-07T03:58:12Z -->
## Implementation report
## Implementation report
Coder Pod `ticket-init-scaffold-coder-20260607` completed implementation in `.worktree/ticket-init-role-profile-scaffold`.
Commit:
- `f265098 ticket: add ticket config init scaffold`
Reported summary:
- Added narrow `yoi ticket init`.
- It creates `.yoi/ticket.config.toml` only when missing and ensures `.yoi/tickets` exists.
- Existing `.yoi/ticket.config.toml` is not overwritten and fails with an actionable diagnostic.
- Added reusable `ticket_config_scaffold()` in `crates/ticket/src/config.rs`.
- Generated config includes backend provider/root plus fixed roles intake/orchestrator/coder/reviewer/investigator.
- Each generated role uses explicit `profile = "builtin:default"` and explicit default `workflow`.
- Added tests for config shape, CLI init/no-overwrite behavior, CLI help, and launch planning for Intake/Orchestrator from the scaffold.
Reported validation:
- `cargo test -p ticket config --lib`
- `cargo test -p client ticket_role --lib`
- `cargo test -p yoi ticket`
- `cargo fmt --check`
- `git diff --check`
- `nix build .#yoi`
External review will be delegated before merge.
---

View File

@ -8,7 +8,7 @@ priority: P1
labels: [ticket, pod-feature, tools, orchestration, workflow]
workflow_state: ready
created_at: 2026-06-07T03:35:36Z
updated_at: 2026-06-07T03:48:50Z
updated_at: 2026-06-07T03:58:12Z
assignee: null
legacy_ticket: null
---

View File

@ -92,3 +92,42 @@ Parallel note:
The child should commit implementation work in the child worktree and report diff/tests. Merge, review, Ticket closure, and cleanup remain with the parent/human workflow.
---
<!-- event: implementation_report author: hare at: 2026-06-07T03:58:12Z -->
## Implementation report
## Implementation report
Coder Pod `ticket-lifecycle-feature-coder-20260607` completed implementation in `.worktree/ticket-lifecycle-pod-feature`.
Commit:
- `3d662bc pod: split ticket feature access levels`
Reported summary:
- Added `TicketFeatureAccess::{ReadOnly, Lifecycle}` for `builtin:ticket`.
- Preserved default full lifecycle behavior for `ticket_tools_feature(...)`.
- Added `ticket_tools_feature_with_access(...)` and constructors/accessors for explicit access selection.
- Feature descriptors declare only tools allowed by the configured access level.
- Feature installation registers only the configured subset.
- Added Ticket tool name partitions:
- `TICKET_READ_ONLY_TOOL_NAMES`: `TicketList`, `TicketShow`, `TicketDoctor`;
- `TICKET_MUTATING_TOOL_NAMES`: create/comment/review/intake-ready/workflow-state/status/close.
- Updated `TicketWorkflowState` tool description with the `queued -> inprogress` acceptance contract.
- Added tests proving read-only install excludes mutating tools and lifecycle install exposes lifecycle tools.
Reported validation:
- `cargo test -p pod ticket --lib`
- `cargo test -p ticket tool --lib`
- `cargo fmt --check`
- `git diff --check`
- `cargo check --workspace --all-targets`
- `nix build .#yoi`
Reported follow-up:
- Call sites still use the default full lifecycle access. Companion/status-specific callers can opt into read-only access once integration points are selected.
- Host authority remains `HostAuthority::TicketBackend`; read-only boundary is enforced by subset exposure rather than a separate read-only backend authority.
External review will be delegated before merge.
---