ticket: close intake idle-shutdown

This commit is contained in:
Keisuke Hirata 2026-06-08 17:13:01 +09:00
parent f7c50606e4
commit 2bd0789713
No known key found for this signature in database
4 changed files with 101 additions and 3 deletions

View File

@ -2,13 +2,13 @@
id: '20260608-054546-shutdown-intake-pod-after-ready-idle'
slug: 'shutdown-intake-pod-after-ready-idle'
title: 'Shutdown Intake Pod after TicketIntakeReady returns to Idle'
status: 'open'
status: 'closed'
kind: 'task'
priority: 'P2'
labels: ['ticket', 'intake', 'pod', 'lifecycle', 'panel']
workflow_state: 'inprogress'
workflow_state: 'done'
created_at: '2026-06-08T05:45:46Z'
updated_at: '2026-06-08T08:10:43Z'
updated_at: '2026-06-08T08:12:36Z'
assignee: null
legacy_ticket: null
queued_by: 'workspace-panel'

View File

@ -0,0 +1,33 @@
Merged and completed the Intake Pod idle-shutdown behavior.
Summary:
- Ticket role launcher now passes a hidden process-local `--ticket-role <role>` marker to Pod runtime for Ticket role Pods.
- `TicketIntakeReady` successful tool results schedule transient shutdown-after-idle only for runtime role `intake`.
- Failed `TicketIntakeReady`, non-Intake roles, and other tools do not schedule shutdown.
- Controller executes ordinary clean shutdown only after run completion/final response/history+session commit/status transition and only when the Pod is Idle.
- The shutdown request is transient runtime state and does not mutate or remove local Ticket claim/session records.
Merged branch/worktree:
- Branch: `shutdown-intake-pod-after-ready-idle`
- Commit: `61c3231 pod: stop intake after ready idle`
- Merge commit on `develop`: `f7c5060 merge: shutdown intake after ready idle`
Validation passed after merge:
- `cargo test -p pod shutdown_after_idle --lib`
- `cargo test -p client runtime_args --lib`
- `cargo test -p client ticket_role --lib`
- `cargo test -p pod --lib`
- `cargo check -q`
- `cargo fmt --check`
- `git diff --check`
- `cargo run -q -p yoi -- ticket doctor`
- `nix build .#yoi`
Cleanup completed:
- Stopped coder/reviewer Pods and reclaimed scope.
- Removed `.worktree/shutdown-intake-pod-after-ready-idle`.
- Deleted branch `shutdown-intake-pod-after-ready-idle`.
Residual notes:
- Hidden `--ticket-role` is not an authorization boundary; manual opt-in affects only the current Pod's self-shutdown scheduling and grants no Ticket or Pod-control authority.
- Generic restore of an old Intake role session does not automatically regain the process-local role marker unless launched through the Ticket role path; this matches the non-durable shutdown signal boundary.

View File

@ -359,3 +359,68 @@ Parent/human decision needs:
- User has authorized merge-completion and cleanup after approved work. Proceeding to merge-completion unless post-merge validation fails.
---
<!-- event: review author: orchestrator at: 2026-06-08T08:12:21Z status: approve -->
## Review: approve
Final merge-completion approval after merge to `develop` and post-merge validation.
Evidence:
- Merged branch `shutdown-intake-pod-after-ready-idle` with `--no-ff`.
- Reviewer `reviewer-shutdown-intake-idle` approved the branch-local implementation.
- Post-merge validation passed: `cargo test -p pod shutdown_after_idle --lib`, `cargo test -p client runtime_args --lib`, `cargo test -p client ticket_role --lib`, `cargo test -p pod --lib`, `cargo check -q`, `cargo fmt --check`, `git diff --check`, `cargo run -q -p yoi -- ticket doctor`, and `nix build .#yoi`.
- Coder/reviewer Pods stopped and delegated scope reclaimed.
- Merged worktree removed and branch deleted.
This approval is for the merged main-branch result, not merely the branch-local reviewer verdict.
---
<!-- event: state_changed author: orchestrator at: 2026-06-08T08:12:21Z from: inprogress to: done reason: merged_and_validated field: workflow_state -->
## State changed
Merged to `develop`, post-merge validation passed, final merge-completion approval recorded, and Intake idle-shutdown branch/worktree/Pods cleaned up.
---
<!-- event: close author: hare at: 2026-06-08T08:12:36Z status: closed -->
## Closed
Merged and completed the Intake Pod idle-shutdown behavior.
Summary:
- Ticket role launcher now passes a hidden process-local `--ticket-role <role>` marker to Pod runtime for Ticket role Pods.
- `TicketIntakeReady` successful tool results schedule transient shutdown-after-idle only for runtime role `intake`.
- Failed `TicketIntakeReady`, non-Intake roles, and other tools do not schedule shutdown.
- Controller executes ordinary clean shutdown only after run completion/final response/history+session commit/status transition and only when the Pod is Idle.
- The shutdown request is transient runtime state and does not mutate or remove local Ticket claim/session records.
Merged branch/worktree:
- Branch: `shutdown-intake-pod-after-ready-idle`
- Commit: `61c3231 pod: stop intake after ready idle`
- Merge commit on `develop`: `f7c5060 merge: shutdown intake after ready idle`
Validation passed after merge:
- `cargo test -p pod shutdown_after_idle --lib`
- `cargo test -p client runtime_args --lib`
- `cargo test -p client ticket_role --lib`
- `cargo test -p pod --lib`
- `cargo check -q`
- `cargo fmt --check`
- `git diff --check`
- `cargo run -q -p yoi -- ticket doctor`
- `nix build .#yoi`
Cleanup completed:
- Stopped coder/reviewer Pods and reclaimed scope.
- Removed `.worktree/shutdown-intake-pod-after-ready-idle`.
- Deleted branch `shutdown-intake-pod-after-ready-idle`.
Residual notes:
- Hidden `--ticket-role` is not an authorization boundary; manual opt-in affects only the current Pod's self-shutdown scheduling and grants no Ticket or Pod-control authority.
- Generic restore of an old Intake role session does not automatically regain the process-local role marker unless launched through the Ticket role path; this matches the non-durable shutdown signal boundary.
---