ticket: close role launch config validation

This commit is contained in:
Keisuke Hirata 2026-06-07 12:42:45 +09:00
parent 3064c984b5
commit 8f3f5bff2c
No known key found for this signature in database
4 changed files with 69 additions and 3 deletions

View File

@ -2,13 +2,13 @@
id: 20260607-031439-ticket-role-launch-config-strict-validation id: 20260607-031439-ticket-role-launch-config-strict-validation
slug: ticket-role-launch-config-strict-validation slug: ticket-role-launch-config-strict-validation
title: Strictly validate Ticket role launch config title: Strictly validate Ticket role launch config
status: open status: closed
kind: task kind: task
priority: P1 priority: P1
labels: [ticket, config, validation, panel, profiles] labels: [ticket, config, validation, panel, profiles]
workflow_state: ready workflow_state: done
created_at: 2026-06-07T03:14:39Z created_at: 2026-06-07T03:14:39Z
updated_at: 2026-06-07T03:42:05Z updated_at: 2026-06-07T03:42:39Z
assignee: null assignee: null
legacy_ticket: null legacy_ticket: null
--- ---

View File

@ -0,0 +1,25 @@
Implemented, reviewed, merged, and validated.
Summary:
- Added strict Ticket role launch readiness validation while preserving backend config loading/list/show behavior.
- Role launch planning now rejects missing role table, missing role `profile`, explicit top-level `profile = "inherit"`, and unresolvable concrete selectors before spawn.
- `plan_ticket_role_launch(_with_config)` uses launch-specific validation instead of implicit role defaults.
- No implicit builtin/default/inherit fallback was added.
- `TicketRoleLaunchPlan::spawn_config` still defensively rejects `inherit`.
- Diagnostics are bounded/actionable for Panel/launcher surfaces.
- Init/scaffold generation was intentionally not implemented here; `ticket-init-role-profile-scaffold` remains the next task.
Implementation:
- Child commit: `30a07b7 ticket: validate role launch config`
- Merge commit: `merge: role launch config validation`
Review:
- External reviewer `role-launch-config-validation-reviewer-20260607` approved with no blockers.
Validation after merge:
- `cargo test -p ticket config --lib`
- `cargo test -p client ticket_role --lib`
- `cargo test -p tui multi_pod --lib`
- `cargo fmt --check`
- `git diff --check`
- `target/debug/yoi ticket doctor`

View File

@ -151,3 +151,44 @@ Merge readiness:
- Worktree status clean. - Worktree status clean.
--- ---
<!-- event: state_changed author: hare at: 2026-06-07T03:42:39Z from: ready to: done reason: closed field: workflow_state -->
## State changed
Ticket closed; workflow_state set to done.
---
<!-- event: close author: hare at: 2026-06-07T03:42:39Z status: closed -->
## Closed
Implemented, reviewed, merged, and validated.
Summary:
- Added strict Ticket role launch readiness validation while preserving backend config loading/list/show behavior.
- Role launch planning now rejects missing role table, missing role `profile`, explicit top-level `profile = "inherit"`, and unresolvable concrete selectors before spawn.
- `plan_ticket_role_launch(_with_config)` uses launch-specific validation instead of implicit role defaults.
- No implicit builtin/default/inherit fallback was added.
- `TicketRoleLaunchPlan::spawn_config` still defensively rejects `inherit`.
- Diagnostics are bounded/actionable for Panel/launcher surfaces.
- Init/scaffold generation was intentionally not implemented here; `ticket-init-role-profile-scaffold` remains the next task.
Implementation:
- Child commit: `30a07b7 ticket: validate role launch config`
- Merge commit: `merge: role launch config validation`
Review:
- External reviewer `role-launch-config-validation-reviewer-20260607` approved with no blockers.
Validation after merge:
- `cargo test -p ticket config --lib`
- `cargo test -p client ticket_role --lib`
- `cargo test -p tui multi_pod --lib`
- `cargo fmt --check`
- `git diff --check`
- `target/debug/yoi ticket doctor`
---