54 lines
2.3 KiB
Markdown
54 lines
2.3 KiB
Markdown
---
|
|
title: "Builtin yoi_local Ticket backend config"
|
|
state: "closed"
|
|
created_at: "2026-06-05T20:30:06Z"
|
|
updated_at: "2026-06-05T21:26:56Z"
|
|
---
|
|
|
|
## Background
|
|
|
|
The Ticket backend should be configured as an explicit built-in Yoi local backend rather than an implicit generic local root.
|
|
|
|
The desired config is:
|
|
|
|
```toml
|
|
[backend]
|
|
provider = "builtin:yoi_local"
|
|
root = ".yoi/tickets"
|
|
```
|
|
|
|
This makes the backend an explicit Yoi product capability and prepares for removing `tickets.sh` and moving storage under `.yoi/`.
|
|
|
|
## Requirements
|
|
|
|
- Extend `.yoi/ticket.config.toml` backend schema from `kind = "local"` toward `provider = "builtin:yoi_local"`.
|
|
- Support `provider = "builtin:yoi_local"` as the canonical spelling.
|
|
- Decide whether old `kind = "local"` is rejected immediately or accepted only as a short transitional alias. Prefer avoiding long-term compatibility aliases.
|
|
- Default backend provider should become `builtin:yoi_local`.
|
|
- Default backend root should become `.yoi/tickets` once migration is ready, or support a transition mode if this ticket lands before storage migration.
|
|
- Update Ticket tools / Pod Ticket feature adapter to use the configured provider/root.
|
|
- Update role launcher/TUI paths if they inspect backend diagnostics.
|
|
- Keep backend root path containment and fail-closed behavior.
|
|
- Do not auto-create active storage unless the CLI command explicitly creates/migrates records.
|
|
|
|
## Non-goals
|
|
|
|
- Moving existing records; handled by `migrate-ticket-storage-to-yoi-tickets`.
|
|
- Removing `tickets.sh`; handled by `remove-tickets-sh`.
|
|
- External provider implementation.
|
|
- GitHub/Linear/Jira/MCP backend support.
|
|
- TUI UI changes.
|
|
|
|
## Acceptance criteria
|
|
|
|
- `.yoi/ticket.config.toml` with `provider = "builtin:yoi_local"` parses and resolves.
|
|
- Missing config defaults to the selected built-in backend semantics.
|
|
- Tests cover provider parsing, unsupported provider diagnostics, relative root resolution, missing/unusable root behavior, and Pod Ticket feature adapter integration.
|
|
- Docs/examples use `provider = "builtin:yoi_local"`.
|
|
- `cargo test -p ticket` and focused Pod Ticket tests pass.
|
|
- `cargo check --workspace --all-targets`, `cargo fmt --check`, `git diff --check`, and Ticket doctor validations pass.
|
|
|
|
## Dependency
|
|
|
|
Prefer after `yoi-ticket-cli-parity`, so validation and migration can use `yoi ticket doctor`.
|