244 lines
13 KiB
Markdown
244 lines
13 KiB
Markdown
<!-- event: create author: "yoi ticket" at: 2026-07-15T19:02:13Z -->
|
|
|
|
## 作成
|
|
|
|
LocalTicketBackend によって作成されました。
|
|
|
|
---
|
|
|
|
<!-- event: intake_summary author: hare at: 2026-07-15T19:27:11Z -->
|
|
|
|
## Intake summary
|
|
|
|
Marked ready by `yoi ticket state`.
|
|
|
|
---
|
|
|
|
<!-- event: state_changed author: "yoi ticket" at: 2026-07-15T19:27:11Z from: planning to: ready reason: cli_state field: state -->
|
|
|
|
## State changed
|
|
|
|
Marked ready by `yoi ticket state`.
|
|
|
|
|
|
---
|
|
|
|
<!-- event: state_changed author: workspace-panel at: 2026-07-15T19:54:36Z from: ready to: queued reason: queued field: state -->
|
|
|
|
## State changed
|
|
|
|
Ticket を `workspace-panel` が queued にしました。
|
|
|
|
|
|
---
|
|
|
|
<!-- event: decision author: orchestrator at: 2026-07-15T19:55:37Z -->
|
|
|
|
## Decision
|
|
|
|
Routing decision: implementation_ready
|
|
|
|
Reason:
|
|
- Ticket は前回の broad Skills support scope から修正され、今回は Workflow tracking / Workflow resource / Workflow invocation path の削除に範囲が限定されている。
|
|
- Skills support は incoming dependent Ticket `00001KXKMX0QM` が `depends_on` として後続に分離されており、この Ticket 自身の blocker ではない。
|
|
- `TicketRelationQuery(00001KXKJGYGD)` は incoming dependency のみで、outgoing blocker はない。
|
|
- `TicketOrchestrationPlanQuery(00001KXKJGYGD)` は事前 record なし。今回 accepted plan を記録した。
|
|
- `TicketList(inprogress)` は 0 件。
|
|
- Orchestrator worktree `/home/hare/Projects/yoi/.worktree/orchestration` は clean で、既存 implementation worktree/branch は見当たらない。
|
|
|
|
Evidence checked:
|
|
- Ticket body / thread / relations / artifacts。
|
|
- `TicketRelationQuery`, `TicketOrchestrationPlanQuery`, `TicketList(inprogress)`。
|
|
- Orchestrator worktree / branch / worktree state。
|
|
- Previous broad scope was corrected: current title is `Remove workflow tracking and workflow resources` and body says Agent Skills is separate follow-up。
|
|
|
|
IntentPacket:
|
|
|
|
Intent:
|
|
- Legacy Workflow tracking/resource/invocation machinery を削除する。
|
|
- ActiveWorkflow obligation state と model-visible ActiveWorkflow tools を取り除く。
|
|
- Workflow resource authority と `/workflow-slug` invocation を廃止し、prompt/docs から Workflow 固有 wording を削除する。
|
|
|
|
Binding decisions / invariants:
|
|
- この Ticket では first-class Skills support を実装しない。Skills は dependent follow-up Ticket `00001KXKMX0QM` の責務。
|
|
- Workflow を scheduler / state machine / script / external-state automation layer として残さない。
|
|
- `ActiveWorkflowList` / `ActiveWorkflowComplete` / `ActiveWorkflowCancel` は model-visible tool schema から削除する。
|
|
- Worker durable state / snapshot / compaction / rehydration / system-item extension から active workflow snapshot / obligation を削除する。
|
|
- `resources/workflows` / `.yoi/workflow` は長期 authority として扱わない。
|
|
- Ticket / Worker / workdir / queue などの外部状態制御は typed feature/tool surface に残す。
|
|
- 既存 session に ActiveWorkflow storage がある場合は、初期実装では ignore / drop / diagnostic の bounded 方針にし、過剰な migration layer を作らない。
|
|
|
|
Requirements / acceptance criteria:
|
|
- ActiveWorkflow tools が schema から消えている。
|
|
- active workflow state が Worker snapshot / compaction / rehydration に残らない。
|
|
- Workflow resource discovery / invocation path が削除されている。
|
|
- Workflow prompt wording / resident workflow advertisement が消えている。
|
|
- Workflow 関連 crate/resource/API/test が削除または不要な互換なしに整理されている。
|
|
- External state control は feature/tool surface に残る。
|
|
- affected tests と `nix build .#yoi` が通る。
|
|
|
|
Implementation latitude:
|
|
- 既存 Workflow crate/resource を削除するか、必要最小限の型削除/rename にするかは dependency graph に応じて選んでよい。
|
|
- Persisted old ActiveWorkflow state は bounded compatibility として無視/drop/diagnostic のどれかを選び、設計が大きくなる場合は escalation。
|
|
- Prompt/docs cleanup の具体的な文言は Workflow authority を広告しない範囲で local tactic とする。
|
|
|
|
Escalate if:
|
|
- ActiveWorkflow state removal が destructive session migration や broad compatibility layer を必要とする場合。
|
|
- Skills support を同時実装しないと build/API が成立しない場合。
|
|
- `/slug` など user-facing invocation の代替設計をこの Ticket 内で固定する必要が出た場合。
|
|
- Workflow に external-state authority を残さないと既存 feature が動かない場合。
|
|
|
|
Validation:
|
|
- `rg "ActiveWorkflow|active_workflow|Active workflow"` with remaining hits explained or removed。
|
|
- `rg "resources/workflows|\.yoi/workflow|workflow invocation|Resident workflows"` with remaining hits explained or removed。
|
|
- `git diff --check`
|
|
- affected crate tests such as `cargo test -p worker --lib --tests`, `cargo test -p session-store --lib --tests`, `cargo test -p yoi --tests` if CLI/input touched, and workflow crate tests if crate remains。
|
|
- `cargo check -p yoi`
|
|
- `yoi ticket doctor`
|
|
- `nix build .#yoi --no-link`
|
|
|
|
Current code map / likely touch points:
|
|
- `crates/worker/src/active_workflow.rs`, `crates/worker/src/workflow`, `crates/worker/src/controller.rs`, `crates/worker/src/worker.rs`, `crates/worker/src/prompt/*`。
|
|
- `crates/workflow/*`, `resources/workflows/*`, `resources/prompts/*`。
|
|
- `crates/protocol/src/lib.rs`, `crates/session-store/src/system_item.rs`。
|
|
- CLI/TUI input path for `/slug` workflow invocation if present。
|
|
- docs mentioning Workflow / ActiveWorkflow / resident workflows。
|
|
|
|
Critical risks / reviewer focus:
|
|
- ActiveWorkflow tools/state still present under renamed or hidden paths。
|
|
- Workflow resource discovery/invocation surviving as hidden active path。
|
|
- Prompt/docs still advertising Workflow obligations or resident workflows。
|
|
- Accidentally implementing broad Skills support in this Ticket instead of leaving it to dependent follow-up。
|
|
- Ticket queue / Worker spawn / workdir management logic being moved into Workflow/Skill rather than remaining typed tools/features。
|
|
|
|
Next action:
|
|
- Record `queued -> inprogress`, create dedicated implementation worktree, and route to sibling Coder Pod。
|
|
|
|
---
|
|
|
|
<!-- event: state_changed author: orchestrator at: 2026-07-15T19:55:42Z from: queued to: inprogress reason: accepted_for_implementation field: state -->
|
|
|
|
## State changed
|
|
|
|
Dashboard queue authorization was inspected, no blockers were found, and an accepted plan was recorded. Moving queued Ticket to inprogress before creating worktree or spawning role Pods.
|
|
|
|
---
|
|
|
|
<!-- event: implementation_report author: orchestrator at: 2026-07-15T20:46:17Z -->
|
|
|
|
## Implementation report
|
|
|
|
Implementation progress report:
|
|
|
|
- Coder Pod `yoi-coder-00001KXKJGYGD-workflow-removal` completed implementation in `/home/hare/Projects/yoi/.worktree/00001KXKJGYGD-remove-workflow-tracking` on branch `work/00001KXKJGYGD-remove-workflow-tracking`。
|
|
- Implementation commit: `d801b2698bb1b3d07e0d49af71b2e4777efd3f6e` (`refactor: remove workflow machinery`)。
|
|
- Orchestrator inspected worktree status, branch log, commit stats, `git diff --check 83ad7506..HEAD`, and grep checks for ActiveWorkflow / Workflow resource references. Worktree was clean and diff check passed。
|
|
|
|
Implementation summary:
|
|
- Removed model-visible `ActiveWorkflowList`, `ActiveWorkflowComplete`, and `ActiveWorkflowCancel` tools。
|
|
- Removed Worker active-workflow durable state, extension snapshotting, compaction/rehydration handling, and prompt re-injection paths。
|
|
- Removed Workflow registry/resource loading and `/workflow-slug` invocation behavior。
|
|
- Deleted `crates/workflow` crate and tracked `resources/workflows` resources。
|
|
- Removed `WorkflowInvoke` from protocol/TUI/web generated protocol surfaces and slash workflow completion behavior。
|
|
- Removed `.yoi/workflow` memory/workspace authority and workflow usage-source handling。
|
|
- Updated prompts/docs/config/role launch code to remove resident workflow and workflow invocation wording。
|
|
- Updated Ticket role launch/config handling to use typed role launch prompts without workflow slugs。
|
|
- Added bounded old-session handling: old persisted `kind: "workflow"` `SystemItem`s deserialize as `LegacyIgnored` and replay only a non-authority ignore diagnostic。
|
|
- Confirmed broad first-class Skills support was not implemented in this Ticket。
|
|
|
|
Files/resources touched include:
|
|
- `crates/worker/src/active_workflow.rs` removed。
|
|
- `crates/worker/src/workflow/mod.rs` removed。
|
|
- `crates/workflow/*` removed。
|
|
- `resources/workflows/*` removed。
|
|
- Protocol/TUI/web generated protocol surfaces updated。
|
|
- Prompt/docs/config references updated。
|
|
|
|
Coder-reported validation passed:
|
|
- `rg "ActiveWorkflow|active_workflow|Active workflow"`: no matches。
|
|
- `rg "resources/workflows|\\.yoi/workflow|workflow invocation|Resident workflows"`: no matches。
|
|
- `git diff --check`
|
|
- `cargo test -p session-store --lib --tests`
|
|
- `cargo test -p worker --lib --tests`
|
|
- `cargo test -p yoi --tests`
|
|
- `cargo check -p yoi`
|
|
- `yoi ticket doctor`
|
|
- `nix build .#yoi --no-link`
|
|
|
|
Next action:
|
|
- Route to external Reviewer Pod before merge/close decisions。
|
|
|
|
---
|
|
|
|
<!-- event: review author: reviewer at: 2026-07-15T20:53:02Z status: request_changes -->
|
|
|
|
## Review: request changes
|
|
|
|
External review result: request_changes
|
|
|
|
Evidence reviewed:
|
|
- Implementation worktree was clean。
|
|
- `rg "ActiveWorkflow|active_workflow|Active workflow"` and `rg "resources/workflows|\\.yoi/workflow|workflow invocation|Resident workflows"` were clean。
|
|
|
|
Blockers:
|
|
|
|
1. `WorkflowInvoke` web/generated surfaces remain active。
|
|
- `web/workspace/src/lib/generated/protocol.ts:82` still includes `{ kind: "workflow_invoke", slug: string }`。
|
|
- `web/workspace/src/lib/workspace/console/composer-command.ts:191` still emits `workflow_invoke`。
|
|
- `web/workspace/src/lib/workspace/console/model.ts:322` still handles it。
|
|
- `composer-command.test.ts:28` still expects it。
|
|
- This violates workflow resource/invocation removal acceptance。
|
|
|
|
2. Relevant tests fail after removal。
|
|
- `cargo test -p ticket --lib scaffold_config_includes_backend_and_all_fixed_roles -- --nocapture` fails because `crates/ticket/src/config.rs:1115-1120` still asserts role `workflow = ...`。
|
|
- `cargo test -p tui --lib live_system_item_workflow_appends_system_message_block -- --nocapture` fails because `crates/tui/src/app.rs:3326-3340` still expects legacy workflow SystemItem rendering instead of ignored/drop/diagnostic behavior。
|
|
- This violates validation acceptance。
|
|
|
|
3. Stale docs/config wording remains。
|
|
- `docs/manifest.toml:283-293` still documents loading `skills.directories` “as Workflows,” conflicting with prompt/docs cleanup and Workflow authority removal。
|
|
|
|
Non-blocking note:
|
|
- Core Rust ActiveWorkflow/resource deletions appear largely in place, and broad new Skills support was not introduced in the inspected diff。
|
|
|
|
---
|
|
|
|
<!-- event: implementation_report author: orchestrator at: 2026-07-15T21:07:01Z -->
|
|
|
|
## Implementation report
|
|
|
|
Follow-up implementation progress report after request_changes:
|
|
|
|
- Coder Pod `yoi-coder-00001KXKJGYGD-workflow-removal` completed the focused review-blocker fix in `/home/hare/Projects/yoi/.worktree/00001KXKJGYGD-remove-workflow-tracking`。
|
|
- Follow-up commit: `d30dca2d99812f457324b91fd3549f4f126b6d7c` (`fix: remove remaining workflow invoke surfaces`)。
|
|
- Orchestrator inspected worktree status, branch log, commit stats, `git diff --check 83ad7506..HEAD`, and grep checks. Worktree was clean and diff check passed。
|
|
|
|
Fix summary:
|
|
- Removed stale web `workflow_invoke` surfaces:
|
|
- `web/workspace/src/lib/generated/protocol.ts`
|
|
- `web/workspace/src/lib/workspace/console/composer-command.ts`
|
|
- `web/workspace/src/lib/workspace/console/model.ts`
|
|
- `web/workspace/src/lib/workspace/console/composer-command.test.ts`
|
|
- Updated generated TypeScript protocol to match Rust protocol without `WorkflowInvoke`。
|
|
- Removed stale Ticket role scaffold test expectation for `workflow = ...`。
|
|
- Replaced stale TUI workflow SystemItem rendering test with legacy workflow SystemItem ignore-path test。
|
|
- Removed docs/config wording that advertised loading Skills as Workflows。
|
|
- Stabilized Worker discovery restore-planning test by sharing the runtime-dir sandbox used by allocation tests。
|
|
|
|
Coder-reported validation passed:
|
|
- `rg "ActiveWorkflow|active_workflow|Active workflow"`: no matches。
|
|
- `rg "resources/workflows|\\.yoi/workflow|workflow invocation|Resident workflows|workflow_invoke"`: no matches。
|
|
- `git diff --check`
|
|
- `cargo test -p ticket --lib scaffold_config_includes_backend_and_all_fixed_roles -- --nocapture`
|
|
- `cargo test -p tui --lib live_legacy_workflow_system_item_is_ignored -- --nocapture`
|
|
- `cargo test -p session-store --lib --tests`
|
|
- `cargo test -p worker --lib --tests`
|
|
- `cargo test -p yoi --tests`
|
|
- `cd web/workspace && deno task check && deno task test`
|
|
- `cargo check -p yoi`
|
|
- `yoi ticket doctor`
|
|
- `nix build .#yoi --no-link`
|
|
|
|
Knowledge removal Ticket `00001KXKP2A71` remains queued and will be re-routed after this Workflow removal Ticket is merged/closed, per human preference to proceed after completion rather than combined branch。
|
|
|
|
---
|