ticket: close builtin yoi local backend config

This commit is contained in:
Keisuke Hirata 2026-06-06 06:26:56 +09:00
parent 8c7e94f6fc
commit 1ea10e02ce
No known key found for this signature in database
6 changed files with 111 additions and 24 deletions

View File

@ -2,12 +2,12 @@
id: 20260605-203006-builtin-yoi-local-ticket-backend-config id: 20260605-203006-builtin-yoi-local-ticket-backend-config
slug: builtin-yoi-local-ticket-backend-config slug: builtin-yoi-local-ticket-backend-config
title: Builtin yoi_local Ticket backend config title: Builtin yoi_local Ticket backend config
status: open status: closed
kind: task kind: task
priority: P1 priority: P1
labels: [ticket, backend, config] labels: [ticket, backend, config]
created_at: 2026-06-05T20:30:06Z created_at: 2026-06-05T20:30:06Z
updated_at: 2026-06-05T21:10:22Z updated_at: 2026-06-05T21:26:56Z
assignee: null assignee: null
legacy_ticket: null legacy_ticket: null
--- ---

View File

@ -0,0 +1,31 @@
Implemented canonical Yoi local Ticket backend provider config.
Final backend config schema:
```toml
[backend]
provider = "builtin:yoi_local"
root = "work-items"
```
`provider = "builtin:yoi_local"` is the canonical spelling. Existing `kind = "local"` config is accepted as a short transitional alias so existing local workspaces/tests do not break during the migration, but docs now show the provider spelling.
Default root behavior intentionally remains `<workspace>/work-items` for missing config and for this transitional provider config. This ticket did not move storage to `.yoi/tickets`; that is owned by the follow-up `migrate-ticket-storage-to-yoi-tickets` ticket.
Implementation commit was merged from branch `work/builtin-yoi-local-ticket-backend-config`.
Validation after merge:
- `cargo test -p ticket config`
- `cargo test -p ticket`
- `cargo test -p pod ticket --lib`
- `cargo test -p yoi ticket`
- `cargo check --workspace --all-targets`
- `cargo fmt --check`
- `git diff --check HEAD~1..HEAD`
- `target/debug/yoi ticket doctor`
- `./tickets.sh doctor`
- `nix build .#yoi --no-link`
External review approved with no requested changes.
`migrate-ticket-storage-to-yoi-tickets` can proceed next.

View File

@ -0,0 +1,78 @@
<!-- event: create author: tickets.sh at: 2026-06-05T20:30:06Z -->
## Created
Created by tickets.sh create.
---
<!-- event: plan author: hare at: 2026-06-05T21:10:22Z -->
## Plan
Preflight result: `implementation-ready` with transitional root behavior.
`provider = "builtin:yoi_local"` should become the canonical backend spelling now, but this ticket must not move records yet. Until `migrate-ticket-storage-to-yoi-tickets` lands, missing config should continue to resolve the active root to `<workspace>/work-items` so existing Ticket tools/CLI remain usable.
Implementation should add provider parsing/diagnostics and update active docs/examples, while leaving storage migration and `tickets.sh` removal to follow-up tickets.
Detailed delegation intent is recorded in `artifacts/delegation-intent.md`.
---
<!-- event: review author: hare at: 2026-06-05T21:26:56Z status: approve -->
## Review: approve
External reviewer approved the implementation.
Review summary:
- No blocking issues found.
- `provider = "builtin:yoi_local"` is supported as the canonical backend spelling.
- Transitional `work-items` storage is preserved.
- Unsupported providers fail closed.
- Legacy `kind = "local"` is retained only as a documented transitional alias.
- Tests/docs were updated sufficiently for this ticket.
---
<!-- event: close author: hare at: 2026-06-05T21:26:56Z status: closed -->
## Closed
Implemented canonical Yoi local Ticket backend provider config.
Final backend config schema:
```toml
[backend]
provider = "builtin:yoi_local"
root = "work-items"
```
`provider = "builtin:yoi_local"` is the canonical spelling. Existing `kind = "local"` config is accepted as a short transitional alias so existing local workspaces/tests do not break during the migration, but docs now show the provider spelling.
Default root behavior intentionally remains `<workspace>/work-items` for missing config and for this transitional provider config. This ticket did not move storage to `.yoi/tickets`; that is owned by the follow-up `migrate-ticket-storage-to-yoi-tickets` ticket.
Implementation commit was merged from branch `work/builtin-yoi-local-ticket-backend-config`.
Validation after merge:
- `cargo test -p ticket config`
- `cargo test -p ticket`
- `cargo test -p pod ticket --lib`
- `cargo test -p yoi ticket`
- `cargo check --workspace --all-targets`
- `cargo fmt --check`
- `git diff --check HEAD~1..HEAD`
- `target/debug/yoi ticket doctor`
- `./tickets.sh doctor`
- `nix build .#yoi --no-link`
External review approved with no requested changes.
`migrate-ticket-storage-to-yoi-tickets` can proceed next.
---

View File

@ -1,22 +0,0 @@
<!-- event: create author: tickets.sh at: 2026-06-05T20:30:06Z -->
## Created
Created by tickets.sh create.
---
<!-- event: plan author: hare at: 2026-06-05T21:10:22Z -->
## Plan
Preflight result: `implementation-ready` with transitional root behavior.
`provider = "builtin:yoi_local"` should become the canonical backend spelling now, but this ticket must not move records yet. Until `migrate-ticket-storage-to-yoi-tickets` lands, missing config should continue to resolve the active root to `<workspace>/work-items` so existing Ticket tools/CLI remain usable.
Implementation should add provider parsing/diagnostics and update active docs/examples, while leaving storage migration and `tickets.sh` removal to follow-up tickets.
Detailed delegation intent is recorded in `artifacts/delegation-intent.md`.
---