ticket: use base32 project record ids
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
---
|
||||
title: "Separate Ticket record language from worker response language"
|
||||
state: "closed"
|
||||
created_at: "2026-06-08T03:29:11Z"
|
||||
updated_at: "2026-06-08T08:21:55Z"
|
||||
queued_by: "workspace-panel"
|
||||
queued_at: "2026-06-08T05:51:29Z"
|
||||
---
|
||||
|
||||
## Background
|
||||
|
||||
Profiles/Manifests currently provide `worker.language`, which controls normal Pod prose responses. This is not the same as the language used for durable Ticket records.
|
||||
|
||||
Ticket records are authored by multiple paths:
|
||||
|
||||
- LLM role Pods writing Ticket comments/reviews/decisions;
|
||||
- typed Ticket tools generating state-change/intake/close events;
|
||||
- Panel/CLI generated notices/resolutions;
|
||||
- scaffold/default Ticket bodies.
|
||||
|
||||
This project wants to distinguish:
|
||||
|
||||
- response language: how a Pod replies to the user in conversation;
|
||||
- Ticket record language: the language used for durable Ticket `item.md`, `thread.md`, `resolution.md`, and generated Ticket event bodies.
|
||||
|
||||
Currently `.yoi/ticket.config.toml` has no language setting. Role profiles can set `worker.language = "Japanese"`, but that does not provide a backend/tool-level policy for machine-generated Ticket text.
|
||||
|
||||
## Goal
|
||||
|
||||
Add an explicit Ticket record language configuration separate from Pod response language.
|
||||
|
||||
## Requirements
|
||||
|
||||
- Add a Ticket config setting for durable Ticket record language.
|
||||
- Candidate shape:
|
||||
|
||||
```toml
|
||||
[ticket]
|
||||
language = "Japanese"
|
||||
```
|
||||
|
||||
- Avoid overloading `[worker].language` or Profile settings for this purpose.
|
||||
- Define the boundary clearly:
|
||||
- `worker.language`: conversation/prose responses by a Pod.
|
||||
- `ticket.language`: durable Ticket records and generated Ticket event/resolution/scaffold text.
|
||||
- Make typed Ticket tool/backend generated text consult `ticket.language` where practical.
|
||||
- Ensure LLM role prompts can receive or reference Ticket record language so comments/reviews/decisions use the configured Ticket language even if the Pod response language differs.
|
||||
- Preserve existing behavior when `ticket.language` is absent, using the current/default language policy.
|
||||
- Update `.yoi/ticket.config.toml` scaffold and parser.
|
||||
- Update project `.yoi/ticket.config.toml` to set the desired Ticket record language.
|
||||
- Avoid translating protocol literals, file paths, commands, logs, identifiers, or quoted external text merely because Ticket language is set.
|
||||
|
||||
## Design questions
|
||||
|
||||
- Should the config key be `[ticket].language`, `[records].language`, or `[backend].language`?
|
||||
- Prefer `[ticket].language` because this is record-generation policy, not storage backend mechanics.
|
||||
- Should tool-generated default bodies/resolutions be localized immediately, or should this ticket only thread the config through and update the most visible generation paths?
|
||||
- How should existing Tickets be handled? Do not rewrite existing records unless explicitly requested.
|
||||
|
||||
## Acceptance criteria
|
||||
|
||||
- Ticket config can specify a Ticket record language independently of Profile/worker language.
|
||||
- Role launch prompts/tool instructions expose the Ticket record language to Intake/Orchestrator/Coder/Reviewer where they write Ticket records.
|
||||
- Typed Ticket-generated events/resolutions/scaffold have a clear policy for using the configured language.
|
||||
- Absence of `ticket.language` preserves current behavior.
|
||||
- Existing Tickets are not bulk-translated or rewritten.
|
||||
- Tests cover config parsing/scaffold/default behavior and at least one generation/role prompt path.
|
||||
- `target/debug/yoi ticket doctor`, focused tests, `cargo fmt --check`, and `git diff --check` pass.
|
||||
Reference in New Issue
Block a user