From 8f3f5bff2ce738a6083f97cf7cad8071dd87dddb Mon Sep 17 00:00:00 2001 From: Hare Date: Sun, 7 Jun 2026 12:42:45 +0900 Subject: [PATCH] ticket: close role launch config validation --- .../artifacts/.gitkeep | 0 .../item.md | 6 +-- .../resolution.md | 25 +++++++++++ .../thread.md | 41 +++++++++++++++++++ 4 files changed, 69 insertions(+), 3 deletions(-) rename .yoi/tickets/{open => closed}/20260607-031439-ticket-role-launch-config-strict-validation/artifacts/.gitkeep (100%) rename .yoi/tickets/{open => closed}/20260607-031439-ticket-role-launch-config-strict-validation/item.md (97%) create mode 100644 .yoi/tickets/closed/20260607-031439-ticket-role-launch-config-strict-validation/resolution.md rename .yoi/tickets/{open => closed}/20260607-031439-ticket-role-launch-config-strict-validation/thread.md (82%) diff --git a/.yoi/tickets/open/20260607-031439-ticket-role-launch-config-strict-validation/artifacts/.gitkeep b/.yoi/tickets/closed/20260607-031439-ticket-role-launch-config-strict-validation/artifacts/.gitkeep similarity index 100% rename from .yoi/tickets/open/20260607-031439-ticket-role-launch-config-strict-validation/artifacts/.gitkeep rename to .yoi/tickets/closed/20260607-031439-ticket-role-launch-config-strict-validation/artifacts/.gitkeep diff --git a/.yoi/tickets/open/20260607-031439-ticket-role-launch-config-strict-validation/item.md b/.yoi/tickets/closed/20260607-031439-ticket-role-launch-config-strict-validation/item.md similarity index 97% rename from .yoi/tickets/open/20260607-031439-ticket-role-launch-config-strict-validation/item.md rename to .yoi/tickets/closed/20260607-031439-ticket-role-launch-config-strict-validation/item.md index d70ba7f2..0a30812a 100644 --- a/.yoi/tickets/open/20260607-031439-ticket-role-launch-config-strict-validation/item.md +++ b/.yoi/tickets/closed/20260607-031439-ticket-role-launch-config-strict-validation/item.md @@ -2,13 +2,13 @@ id: 20260607-031439-ticket-role-launch-config-strict-validation slug: ticket-role-launch-config-strict-validation title: Strictly validate Ticket role launch config -status: open +status: closed kind: task priority: P1 labels: [ticket, config, validation, panel, profiles] -workflow_state: ready +workflow_state: done created_at: 2026-06-07T03:14:39Z -updated_at: 2026-06-07T03:42:05Z +updated_at: 2026-06-07T03:42:39Z assignee: null legacy_ticket: null --- diff --git a/.yoi/tickets/closed/20260607-031439-ticket-role-launch-config-strict-validation/resolution.md b/.yoi/tickets/closed/20260607-031439-ticket-role-launch-config-strict-validation/resolution.md new file mode 100644 index 00000000..63adb61d --- /dev/null +++ b/.yoi/tickets/closed/20260607-031439-ticket-role-launch-config-strict-validation/resolution.md @@ -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` \ No newline at end of file diff --git a/.yoi/tickets/open/20260607-031439-ticket-role-launch-config-strict-validation/thread.md b/.yoi/tickets/closed/20260607-031439-ticket-role-launch-config-strict-validation/thread.md similarity index 82% rename from .yoi/tickets/open/20260607-031439-ticket-role-launch-config-strict-validation/thread.md rename to .yoi/tickets/closed/20260607-031439-ticket-role-launch-config-strict-validation/thread.md index 55e5475e..c4ea215c 100644 --- a/.yoi/tickets/open/20260607-031439-ticket-role-launch-config-strict-validation/thread.md +++ b/.yoi/tickets/closed/20260607-031439-ticket-role-launch-config-strict-validation/thread.md @@ -151,3 +151,44 @@ Merge readiness: - Worktree status clean. --- + + + +## State changed + +Ticket closed; workflow_state set to done. + + +--- + + + +## 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` + +---