yoi/.yoi/tickets/00001KTNWXKVG/thread.md

14 KiB

作成

LocalTicketBackend によって作成されました。


Intake summary

既存 Ticket を精査し、重複ではなく実装可能な concrete work item と判断した。目的は action_required / attention_required を current Ticket schema、TicketCreate/TicketList/TicketShow などの tool/API output、Panel action 判定から削除し、routing を止める不足は state: planning・typed thread reason・relation metadata に寄せること。非目標は typed relation metadata / Objective / 新しい Panel 確認 UX / planning-return policy 全体の再設計。リスク/レビュー重点は ticket-schema、tool-api、panel-behavior、workflow/docs 更新、legacy/current record compatibility。実装は current output から両 field を消し、ready Ticket の Queue 判定を attention_required に依存させず、既存 docs/workflows/tests/examples の current 記述を更新し、historical audit mention は残してよい。検証は Ticket doctor、focused Ticket/Panel/tool output tests、cargo fmt --check、git diff --check、必要に応じて nix build .#yoi を含める。関連する既存作業として explicit workflow state 導入 00001KTFEVH3R、YAML frontmatter strict 化 00001KTJ3EQZ8、Panel close safety 00001KTJM0QY0、Ticket state commit policy 00001KTJ1YA5G を確認済みで、いずれもこの Ticket の duplicate ではない。


State changed

Intake classified this Ticket as ready to queue: the purpose, schema/tool/panel/doc scope, non-goals, acceptance criteria, validation expectations, and migration/compatibility boundary are explicit enough for Orchestrator routing.


State changed

Ticket を workspace-panel が queued にしました。


Decision

Routing decision: waiting_for_active_tool_api_migration

This Ticket is queued and appears implementation-ready, but I am intentionally not accepting it to inprogress yet.

Reason:

  • 00001KTNVGT8G (Tool実行にToolExecutionContextを渡す) is already active, with Coder Pod coder-tool-execution-context running in .worktree/tool-execution-context.
  • This Ticket touches Ticket schema, Ticket tool API output/input, and Panel action behavior.
  • Running it in parallel with a core Tool execution API migration would create avoidable conflict across tool/Ticket surfaces and make review less reliable.

State decision:

  • Leave this Ticket queued.
  • Do not create a worktree or spawn a coder yet.

Next action:

  • Complete and merge 00001KTNVGT8G first.
  • Re-read this Ticket after that lands, then accept from queued if still unblocked.

Decision

Routing decision update: still_waiting_due_surface_overlap

The user asked to prefer parallel work when conflicts are absent or expected to be small. I re-evaluated this Ticket under that policy and am still leaving it queued.

Reason:

  • This Ticket removes action_required / attention_required from Ticket schema/tool API/Panel behavior.
  • 00001KTNSA2K0 now runs in parallel and also changes TicketList/tool output.
  • 00001KTNS1AA8 now runs in parallel and changes Panel behavior/key/display.
  • Running this cleanup at the same time would overlap both active Ticket tool output and Panel behavior surfaces; this is more than a small mechanical conflict.

State decision:

  • Leave this Ticket queued.
  • Re-read and route it after either TicketList output slimming or Panel display work lands, depending on which surface remains active.

State changed

Accepted queued implementation after TicketList and Panel display work landed and workspace is clean. This Ticket removes obsolete action/attention fields from current Ticket schema/tool/API/panel behavior and can proceed in parallel with Profile feature-flag work because expected conflicts are small/manageable.


Decision

Routing decision: implementation_ready_parallel

Reason:

  • The earlier blockers are resolved: ToolExecutionContext, TicketList output slimming, and Panel composer/display work have landed.
  • This Ticket is a bounded Ticket schema/API/panel cleanup to remove obsolete action_required and attention_required fields.
  • It can run in parallel with Profile feature flags work because expected overlap is small/manageable.

IntentPacket:

Intent:

  • Remove action_required and attention_required from current Ticket schema/tool/API/panel behavior, replacing any remaining current behavior with existing state/relation/orchestration-plan concepts where appropriate.

Binding decisions / invariants:

  • New/current Ticket frontmatter must not include action_required or attention_required.
  • Current parser/schema/tool/CLI/panel surfaces must not expose those fields as current metadata.
  • Existing local Ticket records must be migrated to remove the fields.
  • Do not replace them with another generic vague field.
  • Use canonical state, Ticket relations, OrchestrationPlan waiting/blocker notes, and thread events for concrete state/context where appropriate.
  • Historical thread/resolution prose may remain audit history unless it is a current fixture or maintained guidance.
  • Do not change Ticket identity, lifecycle state model, relation metadata semantics, or Objective semantics.
  • Do not implement a broad panel UX redesign here.

Reviewer focus:

  • Verify all current frontmatter records are migrated.
  • Verify TicketCreate/List/Show/tool schemas and Panel view models no longer carry action/attention fields.
  • Verify maintained guidance no longer treats these fields as current authority.
  • Verify doctor catches obsolete fields if appropriate.

Validation:

  • Focused Ticket schema/parser/writer/tool tests.
  • Focused yoi CLI/list/show tests and panel/view model tests if touched.
  • cargo fmt --check, git diff --check, cargo run -q -p yoi -- ticket doctor, cargo check --workspace, nix build .#yoi.

Implementation report

Implementation routing started in parallel with the Profile feature-flag work.

Worktree/branch:

  • Worktree: .worktree/remove-action-attention-ticket-fields
  • Branch: remove-action-attention-ticket-fields
  • Base/routing commit: 41133e0 ticket: route feature flags and attention cleanup

Spawned sibling Coder Pod:

  • coder-remove-action-attention-ticket-fields
  • Scope: non-recursive read on parent workspace root plus recursive write limited to the child worktree.

Parallel-routing rationale:

  • ToolExecutionContext, TicketList, and Panel work have landed.
  • This Ticket is primarily Ticket schema/tool/API/panel metadata cleanup.
  • It is expected to have only small/manageable overlap with Profile feature-flag work.

Implementation report

Implemented removal of action_required and attention_required from current Ticket schema/tool/API/panel behavior.

Summary:

  • Removed both fields from NewTicket, parsed/public metadata structs, list/show JSON output, TicketCreate params/schema, CLI list hints, and workspace panel row state.
  • Removed Panel ready-ticket blocker and safe-close guards that depended on those fields; relation blockers continue to block via existing relation metadata.
  • Added doctor obsolete-frontmatter diagnostics for both fields and updated focused tests to assert new writes/schema/output omit them.
  • Updated maintained Intake/Orchestrator workflow guidance and development routing classification text away from the obsolete fields.
  • Checked local .yoi/tickets/**/item.md frontmatter: no action_required or attention_required entries were present, so no non-null current values required migration or replacement.

Validation:

  • cargo test -p ticket
  • cargo test -p tui workspace_panel
  • cargo test -p tui ticket_close_action
  • cargo test -p yoi ticket
  • cargo fmt --check
  • git diff --check
  • cargo run -q -p yoi -- ticket doctor
  • cargo check --workspace
  • frontmatter grep/awk check for .yoi/tickets/*/item.md
  • nix build .#yoi

Implementation report

Reviewer routed after coder implementation commit 3afdd89.

Reviewer Pod:

  • reviewer-remove-action-attention-ticket-fields
  • Worktree: .worktree/remove-action-attention-ticket-fields

Review focus includes schema/tool/API/output removal, doctor behavior for obsolete fields, panel ready→Queue behavior despite historical overlays, maintained docs/workflows/resources cleanup, no replacement vague field, and no unrelated lifecycle/identity/relation changes.

Note: the initial reviewer prompt accidentally included a stale full commit hash; the branch HEAD in the worktree is the authority and is 3afdd89.


Implementation report

Reviewer requested changes on the initial implementation because CLI show still printed obsolete legacy frontmatter keys through the raw-frontmatter fallback. Fix applied on branch remove-action-attention-ticket-fields:

  • Added action_required and attention_required to the obsolete frontmatter key filter used by CLI show output.
  • Added a regression test that injects legacy obsolete overlay fields and verifies ticket show omits both keys and values.

Fix commit: 94db2dc fix: hide obsolete ticket fields in cli show

Validation after fix:

  • cargo test -p yoi ticket_cli_show_omits_obsolete_overlay_fields_from_legacy_frontmatter
  • cargo fmt --check
  • git diff --check
  • cargo run -q -p yoi -- ticket doctor
  • cargo check --workspace

Review: approve

Re-review result: approve.

Focus:

  • Verified prior finding is addressed: CLI ticket show now filters action_required and attention_required from ticket.document.raw_frontmatter through is_obsolete_ticket_frontmatter_key.
  • Verified regression coverage: ticket_cli_show_omits_obsolete_overlay_fields_from_legacy_frontmatter injects both obsolete overlay fields into legacy frontmatter and asserts both keys and values are absent from ticket show output.
  • Checked repository search for remaining current-surface mentions; remaining action_required / attention_required occurrences are obsolete-field diagnostics/filters and tests only.
  • No new regression found in the fix commit.

Validation run in .worktree/remove-action-attention-ticket-fields:

  • cargo test -p yoi ticket_cli::tests::ticket_cli_show_omits_obsolete_overlay_fields_from_legacy_frontmatter -- --exact — pass (1 test).
  • cargo test -p yoi ticket_cli::tests -- --nocapture — pass (12 tests).
  • cargo check -p yoi — pass.
  • git diff --check — pass.
  • cargo fmt --check — pass.
  • cargo run -q -p yoi -- ticket doctor — pass (doctor: ok).
  • nix build .#yoi — pass; result points to /nix/store/n4bxl2fmwk85gfpq7bf59fd8mny1dl9r-yoi-0.1.0.

Merge readiness:

  • Approved and merge-ready from review perspective.

Residual risks:

  • No branch-specific residual risk found. Existing live reviewer/orchestrator processes built before this branch may still expose old Ticket tool schemas until restarted/rebuilt, but that is a runtime refresh concern rather than a code issue in this branch.

State changed

Ticket を closed にしました。


完了

Merged and closed.

Implementation:

  • Removed action_required and attention_required from current Ticket metadata/schema surfaces.
  • Removed these fields from TicketCreate input and current list/show outputs.
  • Updated CLI show raw-frontmatter fallback so legacy obsolete overlay keys and values are not printed.
  • Removed Panel blocking/action behavior derived from attention_required; ready Tickets can Queue based on workflow state and real blockers instead of the old overlay.
  • Updated maintained workflow/docs references away from those fields as current authority.
  • Added obsolete-field diagnostics/regression coverage.

Commits:

  • 3afdd89 ticket: remove action attention fields
  • 94db2dc fix: hide obsolete ticket fields in cli show
  • merge: 6f36c93 merge: remove ticket attention fields

Review:

  • Initial review requested the CLI show legacy fallback fix.
  • Re-review approved after 94db2dc; merge-ready with no remaining blockers.

Post-merge validation:

  • cargo test -p ticket obsolete_overlay_fields_are_rejected --lib (no matching tests, command succeeded)
  • cargo test -p ticket tool_schema_omits_removed_ticket_create_fields --lib (no matching tests, command succeeded)
  • cargo test -p tui ready_ticket_with_legacy_attention_overlay_still_can_queue --lib (no matching tests, command succeeded)
  • cargo test -p yoi ticket_cli_show_omits_obsolete_overlay_fields_from_legacy_frontmatter
  • cargo fmt --check
  • git diff --check
  • cargo run -q -p yoi -- ticket doctor
  • cargo check --workspace
  • nix build .#yoi