merge: sync orchestration before queue 00001KXNYXNM6

This commit is contained in:
2026-07-17 04:26:52 +09:00
118 changed files with 2977 additions and 5683 deletions
+2 -2
View File
@@ -1,8 +1,8 @@
---
title: 'Remove workflow tracking and workflow resources'
state: 'inprogress'
state: 'closed'
created_at: '2026-07-15T19:02:13Z'
updated_at: '2026-07-15T21:25:42Z'
updated_at: '2026-07-15T21:39:23Z'
assignee: null
queued_by: 'workspace-panel'
queued_at: '2026-07-15T19:54:36Z'
+41
View File
@@ -0,0 +1,41 @@
Workflow tracking / Workflow resource / Workflow invocation machinery を削除・レビュー・merge・検証した。
実装内容:
- model-visible `ActiveWorkflowList`, `ActiveWorkflowComplete`, `ActiveWorkflowCancel` tools を削除。
- Worker active-workflow durable state、extension snapshotting、compaction/rehydration handling、prompt re-injection paths を削除。
- Workflow registry/resource loading と `/workflow-slug` invocation behavior を削除。
- `crates/workflow` crate と tracked `resources/workflows/*` resources を削除。
- `WorkflowInvoke` を protocol / TUI / web generated protocol surfaces から削除。
- slash workflow completion behavior と related web console completion surface を削除。
- `.yoi/workflow` memory/workspace authority と workflow usage-source handling を削除。
- resident workflow / workflow invocation wording を prompts/docs/config から削除。
- old persisted `kind: "workflow"` `SystemItem`s は `LegacyIgnored` として bounded diagnostic/ignore behavior のみにした。
- first-class Skills support はこの Ticket では実装していない。
Review:
- 初回 review は web/generated `workflow_invoke` surface、stale workflow role/test、docs wording で `request_changes`
- 2回目 review は slash workflow completion path で `request_changes`
- 3回目 review は TUI test fixture が legacy workflow SystemItem を active snapshot carrier として使っている blocker で `request_changes`
- `bc48094d fix: update workflow-free tui tests` 後の focused re-review は `approve`
Merge / validation:
- Merge commit: `2f260029 merge: remove workflow machinery`
- Final validation passed:
- `rg "ActiveWorkflow|active_workflow|Active workflow" . || true`
- `rg "resources/workflows|\\.yoi/workflow|workflow invocation|Resident workflows|workflow_invoke" . || true`
- `git diff --check`
- `cargo test -p ticket`
- `cargo test -p session-store --lib --tests`
- `cargo test -p worker --lib --tests`
- `cargo test -p tui --lib --tests`
- `cargo test -p yoi --tests`
- `cd web/workspace && deno task check`
- `cd web/workspace && deno task test`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
- Validation log: `/run/user/1000/yoi/yoi-orchestrator/bash-output/workflow-removal-final-validation-1784151359.txt`
Cleanup:
- Implementation worktree/branch cleanup will be performed after close commit。
- Per user instruction, `StopPod` is not used。
+157
View File
@@ -327,3 +327,160 @@ Required fix:
- Update the test fixture to use a non-legacy active SystemItem kind or otherwise align it with workflow ignore semantics。
---
<!-- event: implementation_report author: orchestrator at: 2026-07-15T21:32:50Z -->
## Implementation report
Third follow-up implementation progress report after request_changes:
- Coder Pod `yoi-coder-00001KXKJGYGD-workflow-removal` completed the remaining TUI test blocker fix。
- Follow-up commit: `bc48094dde08f5a1b20a060623b7a4c786d81ee2` (`fix: update workflow-free tui tests`)。
- Orchestrator inspected worktree status, branch log, commit stats, and `git diff --check 83ad7506..HEAD`; worktree was clean and diff check passed。
Fix summary:
- Updated `live_system_snapshot_replaces_task_store` so the task-store snapshot fixture is carried by active `task_reminder` `SystemItem` text instead of legacy `kind: "workflow"`
- Legacy workflow `SystemItem`s remain ignored/drop-diagnostic only; no workflow active behavior was re-enabled。
- Updated stale dashboard routing-message test assertions to match workflow-free queue guidance while running full TUI tests。
Coder-reported validation passed:
- `cargo test -p tui --lib live_system_snapshot_replaces_task_store -- --nocapture`
- `cargo test -p tui --lib live_legacy_workflow_system_item_is_ignored -- --nocapture`
- `git diff --check`
- `cargo test -p tui --lib --tests`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
Next action:
- Request focused re-review of the remaining TUI test blocker and overall acceptance before merge/close decisions。
---
<!-- event: review author: reviewer at: 2026-07-15T21:35:26Z status: approve -->
## Review: approve
Focused re-review result: approve
Evidence:
- Verified follow-up `bc48094d` with clean implementation worktree。
- Focused greps for `ActiveWorkflow|active_workflow|Active workflow`, `workflow_invoke`, `resources/workflows`, `.yoi/workflow`, `workflow invocation`, `Resident workflows`, and workflow completion/resolver surfaces are clean。
- `/` is no longer a web completion sigil and protocol completion docs now only cover file/Knowledge。
- `live_system_snapshot_replaces_task_store` now uses active `task_reminder` and passes。
- `live_legacy_workflow_system_item_is_ignored` also passes。
- `git diff --check` and `cargo check -p yoi` pass。
- Legacy persisted `kind: "workflow"` remains bounded to `LegacyIgnored` / diagnostic-or-drop behavior and TUI ignores it。
- No broad first-class Skills implementation observed; remaining workflow text is ticket lifecycle naming, legacy ignore/rejection tests/docs, or historical/non-active comments, not active Workflow invocation/resource authority。
Blockers: none。
---
<!-- event: implementation_report author: orchestrator at: 2026-07-15T21:39:00Z -->
## Implementation report
Merge / final validation report:
- Reviewer approved the implementation after final TUI workflow-free snapshot test fix。
- Merged branch `work/00001KXKJGYGD-remove-workflow-tracking` into orchestration branch with merge commit `2f260029 merge: remove workflow machinery`
- Ticket record conflicts from child branch were resolved in favor of Orchestrator-authoritative Ticket records; implementation code/resource changes were merged。
- Final validation was rerun in `/home/hare/Projects/yoi/.worktree/orchestration` after merge。
Validation passed:
- `rg "ActiveWorkflow|active_workflow|Active workflow" . || true`
- `rg "resources/workflows|\\.yoi/workflow|workflow invocation|Resident workflows|workflow_invoke" . || true`
- `git diff --check`
- `cargo test -p ticket`
- `cargo test -p session-store --lib --tests`
- `cargo test -p worker --lib --tests`
- `cargo test -p tui --lib --tests`
- `cargo test -p yoi --tests`
- `cd web/workspace && deno task check`
- `cd web/workspace && deno task test`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
Validation log:
- `/run/user/1000/yoi/yoi-orchestrator/bash-output/workflow-removal-final-validation-1784151359.txt`
Reviewed/merged implementation commits:
- `d801b269 refactor: remove workflow machinery`
- `d30dca2d fix: remove remaining workflow invoke surfaces`
- `0b56052a fix: remove workflow completion surface`
- `bc48094d fix: update workflow-free tui tests`
Notes:
- ActiveWorkflow tools/state and Workflow resource/invocation/completion surfaces were removed。
- Legacy persisted `kind: "workflow"` SystemItems are bounded to ignored/diagnostic behavior only。
- Broad first-class Skills support was intentionally not implemented in this Ticket。
- Per user instruction, no `StopPod` cleanup was performed。
---
<!-- event: state_changed author: orchestrator at: 2026-07-15T21:39:07Z from: inprogress to: done reason: implementation_validated field: state -->
## State changed
Implementation was reviewed, merged into orchestration branch, and final validation passed. Moving to done before closure.
---
<!-- event: state_changed author: hare at: 2026-07-15T21:39:23Z from: done to: closed reason: closed field: state -->
## State changed
Ticket を closed にしました。
---
<!-- event: close author: hare at: 2026-07-15T21:39:23Z status: closed -->
## 完了
Workflow tracking / Workflow resource / Workflow invocation machinery を削除・レビュー・merge・検証した。
実装内容:
- model-visible `ActiveWorkflowList`, `ActiveWorkflowComplete`, `ActiveWorkflowCancel` tools を削除。
- Worker active-workflow durable state、extension snapshotting、compaction/rehydration handling、prompt re-injection paths を削除。
- Workflow registry/resource loading と `/workflow-slug` invocation behavior を削除。
- `crates/workflow` crate と tracked `resources/workflows/*` resources を削除。
- `WorkflowInvoke` を protocol / TUI / web generated protocol surfaces から削除。
- slash workflow completion behavior と related web console completion surface を削除。
- `.yoi/workflow` memory/workspace authority と workflow usage-source handling を削除。
- resident workflow / workflow invocation wording を prompts/docs/config から削除。
- old persisted `kind: "workflow"` `SystemItem`s は `LegacyIgnored` として bounded diagnostic/ignore behavior のみにした。
- first-class Skills support はこの Ticket では実装していない。
Review:
- 初回 review は web/generated `workflow_invoke` surface、stale workflow role/test、docs wording で `request_changes`
- 2回目 review は slash workflow completion path で `request_changes`
- 3回目 review は TUI test fixture が legacy workflow SystemItem を active snapshot carrier として使っている blocker で `request_changes`
- `bc48094d fix: update workflow-free tui tests` 後の focused re-review は `approve`
Merge / validation:
- Merge commit: `2f260029 merge: remove workflow machinery`
- Final validation passed:
- `rg "ActiveWorkflow|active_workflow|Active workflow" . || true`
- `rg "resources/workflows|\\.yoi/workflow|workflow invocation|Resident workflows|workflow_invoke" . || true`
- `git diff --check`
- `cargo test -p ticket`
- `cargo test -p session-store --lib --tests`
- `cargo test -p worker --lib --tests`
- `cargo test -p tui --lib --tests`
- `cargo test -p yoi --tests`
- `cd web/workspace && deno task check`
- `cd web/workspace && deno task test`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
- Validation log: `/run/user/1000/yoi/yoi-orchestrator/bash-output/workflow-removal-final-validation-1784151359.txt`
Cleanup:
- Implementation worktree/branch cleanup will be performed after close commit。
- Per user instruction, `StopPod` is not used。
---
@@ -0,0 +1,4 @@
{"id":"orch-plan-20260715-212633-1","ticket_id":"00001KXKMX0QM","kind":"after","related_ticket":"00001KXKJGYGD","note":"This Ticket has explicit `depends_on` blockers: `00001KXKJGYGD` is currently `inprogress` and `00001KXKP2A71` remains `queued`. Do not start Skills support until workflow removal and Knowledge removal are both approved/merged/closed or an explicit combined-work decision is made.","author":"orchestrator","at":"2026-07-15T21:26:33Z"}
{"id":"orch-plan-20260715-212638-2","ticket_id":"00001KXKMX0QM","kind":"after","related_ticket":"00001KXKP2A71","note":"Skills support explicitly depends on Knowledge removal. Start after `00001KXKP2A71` is complete, because Skill/Knowledge boundaries and context/resource cleanup should be established before introducing first-class Skill catalog/activation APIs.","author":"orchestrator","at":"2026-07-15T21:26:38Z"}
{"id":"orch-plan-20260715-212645-3","ticket_id":"00001KXKMX0QM","kind":"waiting_capacity_note","note":"Queue routing inspected. Ticket is concrete but blocked by explicit `depends_on` relations: workflow removal is still inprogress/review-fix loop, and Knowledge removal is queued and intentionally waiting for workflow removal. Leave queued; do not transition to inprogress or create a worktree/Pods until both blockers are closed.","author":"orchestrator","at":"2026-07-15T21:26:45Z"}
{"id":"orch-plan-20260715-230053-4","ticket_id":"00001KXKMX0QM","kind":"accepted_plan","accepted_plan":{"summary":"Implement first-class Agent Skills support through Workspace backend authority: `.yoi/skills/<skill-name>/SKILL.md` catalog/lint/read/activation APIs, builtin/workspace discovery and provenance/override diagnostics, progressive disclosure, Worker/Web/CLI shared catalog access without Worker-local scan as primary authority, and role/docs prompt updates while keeping external state control in typed tools/features.","branch":"work/00001KXKMX0QM-agent-skills-support","worktree":"/home/hare/Projects/yoi/.worktree/00001KXKMX0QM-agent-skills-support","role_plan":"Orchestrator accepts queued Ticket after dependencies `00001KXKJGYGD` and `00001KXKP2A71` were approved, merged, validated, closed, and implementation worktrees/branches cleaned. Use sibling Coder for implementation in a dedicated worktree, then sibling Reviewer for read-only review. Orchestrator retains merge/final-validation/close/worktree cleanup authority. Do not call StopPod unless explicitly instructed."},"author":"orchestrator","at":"2026-07-15T23:00:53Z"}
+2 -2
View File
@@ -1,8 +1,8 @@
---
title: 'Implement Agent Skills support'
state: 'queued'
state: 'closed'
created_at: '2026-07-15T19:43:46Z'
updated_at: '2026-07-15T21:26:15Z'
updated_at: '2026-07-16T00:15:05Z'
assignee: null
queued_by: 'workspace-panel'
queued_at: '2026-07-15T21:26:15Z'
+52
View File
@@ -0,0 +1,52 @@
Agent Skills support を実装・レビュー・merge・検証した。
実装内容:
- first-class Skill schema/types と Workspace HTTP client support を追加。
- Workspace backend に Skill discovery / lint / catalog / detail / activation を追加。
- Workspace API endpoints を追加:
- `GET /api/w/{workspace_id}/skills`
- `GET /api/w/{workspace_id}/skills/lint`
- `GET /api/w/{workspace_id}/skills/{name}`
- `GET /api/w/{workspace_id}/skills/{name}/activate`
- `yoi-workspace-server skills list|lint|show` CLI surface を追加。
- Web Workspace API helpers/types を追加。
- builtin Skill resource `resources/skills/agent-skills/SKILL.md` を追加。
- Worker Skill activation method を追加し、`WorkspaceClient::Http` 経由で Skill activation を取得し、`SystemItem::SkillActivation` を commit し、Skill body を engine history に append するようにした。
- Prompt guidance を更新し、Skills は procedural LLM guidance であり external state authority ではないことを明示。
Skill behavior:
- Workspace Skills are read from `.yoi/skills/<skill-name>/SKILL.md`
- Lint validates required `name` / `description`, parent-dir match, name length/pattern, description bounds, optional `license` / `compatibility` / string-map `metadata`
- Unknown frontmatter keys are lint errors。
- Workflow/projection/invocation-shaped keys such as `model_invokation`, `user_invocable`, `graph`, `invocation` are explicitly rejected with `unsupported_workflow_frontmatter_field`
- `allowed-tools` is parsed/diagnosed as experimental ignored/non-authoritative metadata。
- Builtin and workspace Skills are loaded deterministically; workspace Skills override builtin Skills with path-free provenance。
- Catalog responses contain lightweight metadata only; detail/activation returns full `SKILL.md` body。
- References/assets/scripts are Skill-relative and non-executable/non-authoritative; no raw absolute paths are exposed。
- No `/skill-name` syntax, Workflow compatibility path, or Knowledge active support was added。
Review:
- Initial review requested changes for silently accepted unsupported Workflow frontmatter and missing Worker activation/history coverage。
- `4ddfccee fix: reject unsupported skill fields` added unsupported-key diagnostics/regression tests and Worker activation/history tests。
- Focused re-review approved with no blockers。
- Non-blocking note: detail/activation for invalid Skills returns not-found while catalog/lint carries diagnostics; acceptable for this initial authority model。
Merge / validation:
- Merge commit: `1611e04d merge: agent skills support`
- Final validation passed:
- Regression grep for removed Workflow/Knowledge active surfaces。
- `git diff --check`
- `cargo test -p yoi-workspace-server --lib`
- `cargo test -p worker --lib --tests`
- `cargo test -p yoi --tests`
- `cd web/workspace && deno task check`
- `cd web/workspace && deno task test`
- `cargo check -p yoi-workspace-server`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
- Validation log: `/run/user/1000/yoi/yoi-orchestrator/bash-output/agent-skills-final-validation-1784160679.txt`
Cleanup:
- Implementation worktree/branch cleanup will be performed after close commit。
- Per user instruction, `StopPod` is not used。
+394
View File
@@ -134,4 +134,398 @@ Marked ready by `yoi ticket state`.
Ticket を `workspace-panel` が queued にしました。
---
<!-- event: decision author: orchestrator at: 2026-07-15T21:26:58Z -->
## Decision
Routing decision: blocked_by_dependency
Reason:
- Dashboard queue authorization was inspected, but this Ticket has explicit `depends_on` blockers。
- `00001KXKJGYGD` (`Remove workflow tracking and workflow resources`) is currently `inprogress` and still in reviewer/coder fix loop。
- `00001KXKP2A71` (`Remove Knowledge support`) is still `queued` and was intentionally held until Workflow removal completes。
- This Tickets body depends on both: Workflow projection must be gone, and obsolete Knowledge support should be removed before first-class Agent Skills support introduces new Skill/Knowledge boundaries and Workspace Skill APIs。
- Therefore this routing pass leaves the Ticket `queued` and does not record `queued -> inprogress`, create a worktree, or spawn role Pods。
Evidence checked:
- Ticket body / thread / relations。
- `TicketRelationQuery(00001KXKMX0QM)`: `depends_on 00001KXKJGYGD` and `depends_on 00001KXKP2A71`
- Ticket derived blocker view: `00001KXKJGYGD` is `inprogress`, `00001KXKP2A71` is `queued`
- `TicketOrchestrationPlanQuery(00001KXKMX0QM)`: no prior records; this pass recorded `after` entries and waiting note。
- `TicketList(inprogress)`: `00001KXKJGYGD` active。
- Orchestrator worktree status: clean。
Next action:
- Finish `00001KXKJGYGD` first。
- Re-route and complete `00001KXKP2A71` second。
- Re-route this Skills Ticket after both blockers are approved, merged, validated, and closed。
Escalate if:
- Human explicitly requests a combined branch across Workflow removal / Knowledge removal / Skills support and accepts the larger review-boundary risk。
---
<!-- event: decision author: orchestrator at: 2026-07-15T23:01:21Z -->
## Decision
Routing decision: implementation_ready
Reason:
- Explicit dependencies are now satisfied: `00001KXKJGYGD` Workflow removal and `00001KXKP2A71` Knowledge removal are both approved, merged, final-validated, closed, and their implementation worktrees/branches cleaned。
- `TicketRelationQuery(00001KXKMX0QM)` still records the outgoing `depends_on` edges, but the derived blocker view is empty because both targets are closed。
- `TicketOrchestrationPlanQuery(00001KXKMX0QM)` contained earlier waiting notes for those blockers; this pass records an accepted implementation plan。
- `TicketList(inprogress)` is 0 件。
- Orchestrator worktree is clean and no existing `00001KXKMX0QM` implementation worktree/branch was found。
Evidence checked:
- Ticket body / thread / relations / orchestration plan。
- Closed prerequisite Tickets `00001KXKJGYGD` and `00001KXKP2A71`
- Orchestrator worktree state / worktree list / branch list。
IntentPacket:
Intent:
- Implement first-class Agent Skills support using Workspace backend authority。
- `.yoi/skills/<skill-name>/SKILL.md` becomes tracked workspace Skill data, but Worker-local filesystem scan must not be the primary authority when Workspace backend/client is available。
- Provide shared Skill catalog/lint/read/activation APIs for Worker / Runtime / Web / CLI and progressive disclosure of Skill metadata vs body/resources。
Binding decisions / invariants:
- Skill is LLM-facing procedural guidance/resource, not external state authority, scheduler, script runner, queue runner, or worktree manager。
- Ticket / Worker / workdir / repository / network external state changes remain in typed feature/tool surfaces。
- Workflow projection semantics must not return: no `WorkflowRecord`, `model_invokation`, `user_invocable`, graph/invocation assumptions, or `/workflow-slug` compatibility path。
- Knowledge has been removed as active support; do not rebuild Knowledge under Skill terminology。
- Workspace backend is authority for Skill discovery/lint/catalog/activation。
- Worker with `WorkspaceClient::Http` must receive Skill metadata/body via Workspace API, not local path scan。
- Full `SKILL.md` body is loaded into Worker history/context only on activation/select, not always with the catalog。
- `allowed-tools` is experimental; if implemented, it must not become independent authority without explicit integration with feature/tool permissions。
Requirements / acceptance criteria:
- `.yoi/skills/<skill-name>/SKILL.md` is parsed/linted per Agent Skills required frontmatter and naming rules。
- Workspace backend exposes Skill catalog/list, detail/read, lint/diagnostics, activation body, and resource access or backend-resolved resource authority as appropriate。
- Builtin/workspace loading, override priority, provenance, invalid diagnostics, and non-default/workspace skill cases are covered by tests。
- Worker / Web / CLI use the same Workspace backend Skill catalog view。
- Activation appends/commits Skill body into Worker history before LLM context use。
- Progressive disclosure is tested: catalog metadata is lightweight, full body/resources load only when requested/activated。
- Role prompts/internal prompts/docs are updated to Skill terminology and no Workflow/Knowledge active guidance remains。
- Initial implementation clearly marks unsupported decision points such as `allowed-tools`/scripts/resource execution if not implemented。
Implementation latitude:
- Exact crate/module placement and API DTO shapes may follow current workspace-server / Worker WorkspaceClient patterns。
- Builtin Skill resource layout can be chosen based on existing resource conventions, but must be tested and documented。
- Workspace override policy may choose complete override or conflict diagnostic if documented and tested; prefer a simple deterministic rule。
- Web UI editing can be deferred if backend/API/CLI tests cover catalog/lint/read/activation and Ticket does not require full editor implementation。
Escalate if:
- Skill activation syntax (`/skill-name` vs explicit tool/API/UI activation) requires product decision beyond existing Ticket text。
- Supporting `scripts/` execution would require new authority/sandbox model; prefer unsupported/diagnostic unless explicitly scoped。
- Implementing resource access needs broad backend protocol design beyond bounded read/detail endpoints。
- Any path requires reintroducing Workflow or Knowledge active surfaces。
Validation:
- `git diff --check`
- Skill loader/lint/catalog tests in affected crate(s)。
- `cargo test -p yoi-workspace-server --lib` if Workspace API is touched。
- `cargo test -p worker --lib --tests` if Worker prompt/history/WorkspaceClient activation is touched。
- `cargo test -p yoi --tests` if CLI/input activation is touched。
- `cd web/workspace && deno task check && deno task test` if web/API types are touched。
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
Critical risks / reviewer focus:
- Worker-local scan becoming divergent authority。
- Full Skill body being resident by default rather than activated/progressive。
- Workflow/Knowledge surfaces returning under new names。
- `allowed-tools` or scripts accidentally becoming authority bypass。
- Skill resources leaking raw paths or bypassing Workspace backend authority。
- External state control moving into Skill text instead of typed tools/features。
---
<!-- event: state_changed author: orchestrator at: 2026-07-15T23:01:28Z from: queued to: inprogress reason: accepted_for_implementation field: state -->
## State changed
Dependencies Workflow removal and Knowledge removal are closed, no blockers remain, accepted plan recorded. Moving queued Ticket to inprogress before creating worktree or spawning role Pods.
---
<!-- event: implementation_report author: orchestrator at: 2026-07-15T23:46:45Z -->
## Implementation report
Implementation progress report:
- Coder Pod `yoi-coder-00001KXKMX0QM-agent-skills` completed implementation in `/home/hare/Projects/yoi/.worktree/00001KXKMX0QM-agent-skills-support` on branch `work/00001KXKMX0QM-agent-skills-support`
- Implementation commit: `62ef89a1634fd12a503156ce95baebbf037ef96f` (`feat: add workspace-backed agent skills`)。
- Orchestrator inspected worktree status, branch log, commit stats, and `git diff --check 05c50e32..HEAD`; worktree was clean and diff check passed。
Implementation summary:
- Added first-class Skill schema/types and Workspace HTTP client support in `worker`
- Added Workspace backend Skill discovery/lint/catalog/detail/activation in `yoi-workspace-server`
- Added builtin Skill resource at `resources/skills/agent-skills/SKILL.md`
- Added Workspace server API endpoints:
- `GET /api/w/{workspace_id}/skills`
- `GET /api/w/{workspace_id}/skills/lint`
- `GET /api/w/{workspace_id}/skills/{name}`
- `GET /api/w/{workspace_id}/skills/{name}/activate`
- Added `yoi-workspace-server skills list|lint|show` CLI surface。
- Added Web Workspace API helpers/types for Skill catalog/detail/activation endpoints。
- Added Worker Skill activation method using `WorkspaceClient::Http`; activation commits a `SystemItem::SkillActivation` and appends the Skill body into engine history before later LLM context use。
- Added prompt guidance clarifying Skills are procedural LLM guidance only, not authority for external state changes。
Skill behavior:
- Workspace Skills load from `.yoi/skills/<skill-name>/SKILL.md`
- Lint enforces required `name` / `description`, parent-dir match, name length/pattern, description bounds, optional `license` / `compatibility` / string-map `metadata`
- `allowed-tools` is parsed as metadata but emits explicit ignored/non-authoritative warning。
- Builtin + workspace Skills are loaded by Workspace backend; workspace Skills deterministically override builtin Skills with path-free provenance such as `builtin:agent-skills` / `workspace:debug-rust`
- Catalog responses contain lightweight metadata only; full `SKILL.md` body is returned only from detail/activation endpoints。
- References/assets/scripts are Skill-relative resource refs only; no raw absolute paths are exposed. Resource reads/execution are not implemented, scripts are explicitly non-executable diagnostics。
- No `/skill-name` activation syntax, Workflow projection/compatibility path, or Knowledge active support was added。
Files/resources touched:
- `crates/workspace-server/src/skills.rs`
- `crates/workspace-server/src/server.rs`
- `crates/workspace-server/src/main.rs`
- `crates/workspace-server/src/lib.rs`
- `crates/worker/src/skill.rs`
- `crates/worker/src/worker.rs`
- `crates/worker/src/lib.rs`
- `crates/session-store/src/system_item.rs`
- `crates/tui/src/app.rs`
- `web/workspace/src/lib/workspace/api/http.ts`
- `web/workspace/src/lib/workspace/api/http.test.ts`
- `resources/skills/agent-skills/SKILL.md`
- `resources/prompts/common/tool-usage.md`
Coder-reported validation passed:
- `cargo test -p yoi-workspace-server --lib`
- `cargo test -p worker --lib --tests`
- `cargo check -p yoi-workspace-server`
- `cargo check -p yoi`
- `cargo test -p yoi --tests`
- `cd web/workspace && deno task check && deno task test` (`54 passed`, existing App.svelte warnings only)
- `git diff --check`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
- `rg "WorkflowRecord|model_invokation|user_invocable|KnowledgeQuery|kind = knowledge|#<slug>|workflow_invoke"`: no active regressions found。
Next action:
- Route to external Reviewer Pod before merge/close decisions。
---
<!-- event: review author: reviewer at: 2026-07-15T23:53:00Z status: request_changes -->
## Review: request changes
External review result: request_changes
Blockers:
1. Workflow/unsupported Skill frontmatter is silently accepted instead of linted/diagnosed。
- A `.yoi/skills/*/SKILL.md` containing `model_invokation`, `user_invocable`, graph/invocation fields, etc. will deserialize successfully and can be returned/activated as body。
- `SkillFrontmatter` only lists known fields and uses default serde unknown-field ignoring at `crates/workspace-server/src/skills.rs:40-50`, with parsing around `:290-300`
- This violates the acceptance that workflow projection fields are not accepted as active Skill semantics。
2. Required Worker activation/history behavior lacks coverage。
- `Worker::activate_skill` commits/appends at `crates/worker/src/worker.rs:906-922`
- Worker Skill tests only exercise HTTP catalog fetch at `crates/worker/src/skill.rs:194-237`
- Missing the stated acceptance test that activation appends/commits Skill body into Worker history before LLM context use。
Evidence / validation performed:
- Inspected Ticket and touched files。
- Checked route/API/provenance behavior。
- Ran `cargo test -p yoi-workspace-server skills --lib`
- Ran `cargo test -p worker skill --lib`
- Confirmed implementation worktree remained clean。
Non-blocking note:
- Catalog/detail progressive disclosure and path-free provenance generally look aligned。
---
<!-- event: implementation_report author: orchestrator at: 2026-07-16T00:07:38Z -->
## Implementation report
Follow-up implementation progress report after request_changes:
- Coder Pod `yoi-coder-00001KXKMX0QM-agent-skills` completed the review fixes in `/home/hare/Projects/yoi/.worktree/00001KXKMX0QM-agent-skills-support`
- Follow-up commit: `4ddfccee2d414a2dfe67a940906b505dd237132d` (`fix: reject unsupported skill fields`)。
- Orchestrator inspected worktree status, branch log, commit stats, and `git diff --check 05c50e32..HEAD`; worktree was clean and diff check passed。
Fix summary:
- Added Skill frontmatter unsupported-key detection in `crates/workspace-server/src/skills.rs`
- Unknown frontmatter keys are now lint errors。
- Workflow/projection/invocation-shaped keys such as `model_invokation`, `user_invocable`, `graph`, and `invocation` are explicitly rejected with `unsupported_workflow_frontmatter_field`
- Unsupported/unknown-field Skills no longer become active catalog/detail/activation entries。
- Added regression tests for `model_invokation`, `user_invocable`, `graph`, `invocation`, and generic unknown frontmatter fields。
- Added Worker activation/history coverage in `crates/worker/src/worker.rs`:
- verifies `Worker::activate_skill` fetches activation through Workspace HTTP client;
- verifies Skill body is appended to Worker engine history;
- verifies committed `SystemItem::SkillActivation` content matches the history-visible Skill activation content。
Coder-reported validation passed:
- `cargo test -p yoi-workspace-server skills --lib`
- `cargo test -p worker skill --lib`
- `git diff --check`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
Web/API types were not changed in this follow-up, so web checks were not rerun。
---
<!-- event: review author: reviewer at: 2026-07-16T00:10:51Z status: approve -->
## Review: approve
Focused re-review result: approve
Evidence:
- Previous blockers fixed:
- Skill frontmatter is now parsed through a raw YAML value。
- Unsupported/workflow-shaped keys are diagnosed as errors (`crates/workspace-server/src/skills.rs:290-302`, `457-528`)。
- Error diagnostics prevent catalog/detail/activation (`skills.rs:393-398`)。
- Regression coverage exists for `model_invokation`, `user_invocable`, `graph`, `invocation`, and generic unknown fields (`skills.rs:687-743`)。
- Worker activation/history is covered by an HTTP-backed activation test verifying backend fetch, history append, and committed `SystemItem::SkillActivation` body equality (`crates/worker/src/worker.rs:5971-6065`)。
- Focused validation passed:
- `cargo test -p yoi-workspace-server skills --lib`
- `cargo test -p worker skill --lib`
- `git diff --check`
- Worktree remained clean。
- Rechecked acceptance focus:
- Workspace backend remains the Skill catalog/detail/lint/activation authority。
- builtin/workspace override/provenance/progressive disclosure behavior remains covered。
- `allowed-tools` / scripts remain diagnostic/non-authoritative。
- no raw-path resource leakage was introduced。
- `rg` for removed Workflow/Knowledge surfaces only finds new rejection logic/tests。
Blockers: none。
Non-blocking note:
- detail/activation for invalid Skills still surface as not-found while catalog/lint carries diagnostics; acceptable for this initial authority model。
---
<!-- event: implementation_report author: orchestrator at: 2026-07-16T00:14:34Z -->
## Implementation report
Merge / final validation report:
- Reviewer approved the implementation after unsupported Skill frontmatter and Worker activation/history fixes。
- Merged branch `work/00001KXKMX0QM-agent-skills-support` into orchestration branch with merge commit `1611e04d merge: agent skills support`
- Final validation was rerun in `/home/hare/Projects/yoi/.worktree/orchestration` after merge。
Validation passed:
- Regression grep for `WorkflowRecord|model_invokation|user_invocable|KnowledgeQuery|kind = knowledge|#<slug>|workflow_invoke` with only expected Skill rejection logic/tests where applicable。
- `git diff --check`
- `cargo test -p yoi-workspace-server --lib`
- `cargo test -p worker --lib --tests`
- `cargo test -p yoi --tests`
- `cd web/workspace && deno task check`
- `cd web/workspace && deno task test`
- `cargo check -p yoi-workspace-server`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
Validation log:
- `/run/user/1000/yoi/yoi-orchestrator/bash-output/agent-skills-final-validation-1784160679.txt`
Reviewed/merged implementation commits:
- `62ef89a1 feat: add workspace-backed agent skills`
- `4ddfccee fix: reject unsupported skill fields`
Notes:
- Workspace backend is the Skill catalog/detail/lint/activation authority。
- Workspace Skills live under `.yoi/skills/<skill-name>/SKILL.md`; builtin Skill resources are supported with deterministic workspace override/provenance diagnostics。
- Catalog is lightweight; detail/activation returns full body。
- Worker activation through `WorkspaceClient::Http` commits/appends Skill body to history before later LLM context use。
- `allowed-tools` and scripts/resources are diagnostic/non-authoritative in this initial implementation。
- Workflow and Knowledge active surfaces were not reintroduced。
- Per user instruction, no `StopPod` cleanup was performed。
---
<!-- event: state_changed author: orchestrator at: 2026-07-16T00:14:40Z from: inprogress to: done reason: implementation_validated field: state -->
## State changed
Implementation was reviewed, merged into orchestration branch, and final validation passed. Moving to done before closure.
---
<!-- event: state_changed author: hare at: 2026-07-16T00:15:05Z from: done to: closed reason: closed field: state -->
## State changed
Ticket を closed にしました。
---
<!-- event: close author: hare at: 2026-07-16T00:15:05Z status: closed -->
## 完了
Agent Skills support を実装・レビュー・merge・検証した。
実装内容:
- first-class Skill schema/types と Workspace HTTP client support を追加。
- Workspace backend に Skill discovery / lint / catalog / detail / activation を追加。
- Workspace API endpoints を追加:
- `GET /api/w/{workspace_id}/skills`
- `GET /api/w/{workspace_id}/skills/lint`
- `GET /api/w/{workspace_id}/skills/{name}`
- `GET /api/w/{workspace_id}/skills/{name}/activate`
- `yoi-workspace-server skills list|lint|show` CLI surface を追加。
- Web Workspace API helpers/types を追加。
- builtin Skill resource `resources/skills/agent-skills/SKILL.md` を追加。
- Worker Skill activation method を追加し、`WorkspaceClient::Http` 経由で Skill activation を取得し、`SystemItem::SkillActivation` を commit し、Skill body を engine history に append するようにした。
- Prompt guidance を更新し、Skills は procedural LLM guidance であり external state authority ではないことを明示。
Skill behavior:
- Workspace Skills are read from `.yoi/skills/<skill-name>/SKILL.md`
- Lint validates required `name` / `description`, parent-dir match, name length/pattern, description bounds, optional `license` / `compatibility` / string-map `metadata`
- Unknown frontmatter keys are lint errors。
- Workflow/projection/invocation-shaped keys such as `model_invokation`, `user_invocable`, `graph`, `invocation` are explicitly rejected with `unsupported_workflow_frontmatter_field`
- `allowed-tools` is parsed/diagnosed as experimental ignored/non-authoritative metadata。
- Builtin and workspace Skills are loaded deterministically; workspace Skills override builtin Skills with path-free provenance。
- Catalog responses contain lightweight metadata only; detail/activation returns full `SKILL.md` body。
- References/assets/scripts are Skill-relative and non-executable/non-authoritative; no raw absolute paths are exposed。
- No `/skill-name` syntax, Workflow compatibility path, or Knowledge active support was added。
Review:
- Initial review requested changes for silently accepted unsupported Workflow frontmatter and missing Worker activation/history coverage。
- `4ddfccee fix: reject unsupported skill fields` added unsupported-key diagnostics/regression tests and Worker activation/history tests。
- Focused re-review approved with no blockers。
- Non-blocking note: detail/activation for invalid Skills returns not-found while catalog/lint carries diagnostics; acceptable for this initial authority model。
Merge / validation:
- Merge commit: `1611e04d merge: agent skills support`
- Final validation passed:
- Regression grep for removed Workflow/Knowledge active surfaces。
- `git diff --check`
- `cargo test -p yoi-workspace-server --lib`
- `cargo test -p worker --lib --tests`
- `cargo test -p yoi --tests`
- `cd web/workspace && deno task check`
- `cd web/workspace && deno task test`
- `cargo check -p yoi-workspace-server`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
- Validation log: `/run/user/1000/yoi/yoi-orchestrator/bash-output/agent-skills-final-validation-1784160679.txt`
Cleanup:
- Implementation worktree/branch cleanup will be performed after close commit。
- Per user instruction, `StopPod` is not used。
---
@@ -1,2 +1,3 @@
{"id":"orch-plan-20260715-202731-1","ticket_id":"00001KXKP2A71","kind":"after","related_ticket":"00001KXKJGYGD","note":"この Ticket は Knowledge removal 自体には blocker relation がないが、現在 `00001KXKJGYGD` が inprogress で Workflow tracking/resource removal を実装中。両者は `crates/worker` prompt/context、`crates/protocol`/session item、resource/docs cleanup、および Workflow required Knowledge dependency 周辺で重なる。Ticket body も Workflow required Knowledge dependency は Workflow removal 側で消える前提としているため、`00001KXKJGYGD` の review/merge/close 後に開始する。","author":"orchestrator","at":"2026-07-15T20:27:31Z"}
{"id":"orch-plan-20260715-202739-2","ticket_id":"00001KXKP2A71","kind":"waiting_capacity_note","note":"Queue routing inspected. `00001KXKP2A71` is concrete and has no typed blocker relation, but it should not be started in parallel with active `00001KXKJGYGD`: both remove old context/resource machinery and likely touch shared prompt/context/session/protocol/resource/docs surfaces. Running both now would create conflict and review-boundary risk. Leave queued until `00001KXKJGYGD` is approved/merged/closed, then re-route Knowledge removal before Skills support `00001KXKMX0QM`.","author":"orchestrator","at":"2026-07-15T20:27:39Z"}
{"id":"orch-plan-20260715-213950-3","ticket_id":"00001KXKP2A71","kind":"accepted_plan","accepted_plan":{"summary":"Remove Knowledge as an active supported feature: delete KnowledgeQuery and kind=knowledge tool support, remove resident Knowledge injection and `#<slug>` protocol/TUI/web reference/completion paths, disable Knowledge in memory lint/consolidation/extraction, stop treating `.yoi/knowledge` as active workspace authority, update prompts/docs, and keep Memory/Ticket/Skill/repository boundaries clear.","branch":"work/00001KXKP2A71-remove-knowledge-support","worktree":"/home/hare/Projects/yoi/.worktree/00001KXKP2A71-remove-knowledge-support","role_plan":"Orchestrator accepts queued Ticket after workflow-removal prerequisite/conflict was approved, merged, validated, closed, and its implementation worktree/branch cleaned. Use sibling Coder for implementation in a dedicated worktree, then sibling Reviewer for read-only review. Orchestrator retains merge/final-validation/close/worktree cleanup authority. Do not call StopPod unless explicitly instructed."},"author":"orchestrator","at":"2026-07-15T21:39:50Z"}
+2 -2
View File
@@ -1,8 +1,8 @@
---
title: 'Remove Knowledge support'
state: 'queued'
state: 'closed'
created_at: '2026-07-15T20:04:08Z'
updated_at: '2026-07-15T20:27:51Z'
updated_at: '2026-07-15T23:00:18Z'
assignee: null
queued_by: 'workspace-panel'
queued_at: '2026-07-15T20:27:02Z'
+41
View File
@@ -0,0 +1,41 @@
Knowledge support removal を実装・レビュー・merge・検証した。
実装内容:
- active `KnowledgeQuery` tool registration/schema exposure を削除。
- Memory tools から `kind = knowledge` support と descriptions を削除。
- Memory crate の Knowledge frontmatter/schema/lint/query/resident-context handling を削除。
- Worker resident Knowledge injection と Knowledge completion state を削除。
- protocol / TUI / web の active `#<slug>` Knowledge reference/completion path を削除。
- Web Console の `#` completion sigil を削除し、`#...` は completion token ではなく plain/unsupported text になった。
- old persisted `kind: "knowledge"` SystemItem は `LegacyKnowledgeIgnored` として bounded compatibility にし、model context へ replay しない。
- `.yoi/knowledge/` は active workspace authority ではなく ignored/manual archive material として docs 更新。
- prompts/docs/tool descriptions から active Knowledge guidance を削除。
- Memory summary/decision/request behavior は維持。
- Agent Skills support はこの Ticket では実装していない。
Review:
- 初回 review は model-visible Ticket tool description と active design docs の stale Knowledge guidance で `request_changes`
- 2回目 review は Web Console `#` completion が active のまま残っていた blocker で `request_changes`
- 3回目 review は docs/report に active Knowledge wording が残っていた blocker で `request_changes`
- `9f527f5e fix: remove stale report knowledge wording` 後の focused re-review は `approve`
Merge / validation:
- Merge commit: `f279eb11 merge: remove knowledge support`
- Final validation passed:
- Focused Knowledge removal grep with only explicit legacy/manual `.yoi/knowledge` note remaining。
- `git diff --check`
- `cargo test -p memory --lib --tests`
- `cargo test -p worker --lib --tests`
- `cargo test -p session-store --lib --tests`
- `cargo test -p tui --lib --tests`
- `cargo test -p yoi --tests`
- `cd web/workspace && deno task check`
- `cd web/workspace && deno task test`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
- Validation log: `/run/user/1000/yoi/yoi-orchestrator/bash-output/knowledge-removal-final-validation-1784156249.txt`
Cleanup:
- Implementation worktree/branch cleanup will be performed after close commit。
- Per user instruction, `StopPod` is not used。
+433
View File
@@ -65,3 +65,436 @@ Escalate if:
- Human explicitly wants Knowledge removal and Workflow removal combined in one branch/worktree, or accepts parallel conflict/review-boundary risk。
---
<!-- event: decision author: orchestrator at: 2026-07-15T21:40:21Z -->
## Decision
Routing decision: implementation_ready
Reason:
- Previously recorded conflict reason (`00001KXKJGYGD` inprogress Workflow removal) is now resolved: Workflow removal was approved, merged, validated, closed, and its implementation worktree/branch cleaned。
- `TicketRelationQuery(00001KXKP2A71)` shows only an incoming dependency from Skills support Ticket `00001KXKMX0QM`; this Ticket has no outgoing blockers。
- `TicketOrchestrationPlanQuery(00001KXKP2A71)` contains prior `after 00001KXKJGYGD` / waiting notes, now satisfied, plus the accepted plan recorded in this pass。
- `TicketList(inprogress)` is 0 件。
- Orchestrator worktree is clean and no existing `00001KXKP2A71` implementation worktree/branch was found。
Evidence checked:
- Ticket body / thread / relations / orchestration plan。
- Closed `00001KXKJGYGD` outcome and current repository/worktree state。
- `TicketList(inprogress)` and orchestration worktree status。
IntentPacket:
Intent:
- Knowledge を active supported feature / workspace record authority から削除する。
- Memory は durable summary / decisions / requests として残し、Knowledge は separate record kind として廃止する。
- Future Skills support の前に、Knowledge 固有の context/reference/tool surface を削除して概念境界を単純化する。
Binding decisions / invariants:
- `.yoi/knowledge` を active workspace record authority として扱わない。
- `KnowledgeQuery` を model-visible tool schema から削除する。
- `MemoryRead` / `MemoryWrite` / `MemoryEdit` / `MemoryDelete``kind = knowledge` を削除する。
- resident Knowledge injection / `ResidentKnowledgeEntry` / `model_invokation` field usage を削除する。
- TUI / protocol の `#<slug>` Knowledge reference / completion / chips / styling / system-item path を削除または unsupported にする。
- memory lint / consolidation / extraction は Knowledge record を作成・更新・検査しない。
- Current docs/prompts は Knowledge を active supported feature として説明しない。
- Historical reports may remain if explicitly historical, but current design docs/prompts must not advertise active Knowledge support。
- Skills are not a Knowledge clone; Skills support remains separate dependent work after Knowledge removal。
Requirements / acceptance criteria:
- `KnowledgeQuery` and `kind = knowledge` disappear from active model-visible tool schemas。
- Worker prompt / resident context / compaction / rehydration have no Knowledge section。
- Protocol/TUI/web no longer expose active `#<slug>` Knowledge references or completions。
- Memory lint/consolidation no longer handles Knowledge records as active output/target。
- Docs/prompts are updated to Memory / Ticket / Skill / repository-file boundaries without active Knowledge guidance。
- Existing `.yoi/knowledge` data handling is explicit: ignore / diagnostic / manual archive, without large migration code。
- Affected tests/build pass and dependent Skills support remains queued until this Ticket closes。
Implementation latitude:
- Removal can be direct deletion or fail-closed unsupported diagnostic where compatibility is necessary。
- Exact treatment of old `.yoi/knowledge` directory can be ignore/diagnostic/manual archive note; do not add a broad migration subsystem。
- If a crate/type still needs `knowledge` in historical tests/fixtures, keep only clearly non-active compatibility evidence and document it in test names/comments。
- Web/TUI UX for `#` can become no completion / plain text / reserved unsupported; choose the smallest coherent behavior。
Escalate if:
- Removing Knowledge tools breaks Memory tools in a way that requires rethinking Memory API shape。
- A persisted-session compatibility issue requires more than bounded ignore/drop/diagnostic behavior。
- Skills support must be implemented now to replace a required active Knowledge path。
- A current document appears to require Knowledge as a product feature rather than historical reference。
Validation:
- `rg "KnowledgeQuery|knowledge"` with remaining hits explained/limited to non-active historical/compatibility contexts。
- `rg "#<slug>|ResidentKnowledge|model_invokation|kind = knowledge|\.yoi/knowledge"` with active hits removed or explained。
- `git diff --check`
- `cargo test -p worker --lib --tests`
- `cargo test -p memory --lib --tests` or equivalent affected memory crate tests if present。
- `cargo test -p session-store --lib --tests` if system/reference/session state touched。
- `cargo test -p tui --lib --tests` if TUI references/completions touched。
- `cargo test -p yoi --tests` if CLI/memory commands touched。
- `cd web/workspace && deno task check && deno task test` if web generated/protocol/completion types touched。
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
Current code map / likely touch points:
- Worker memory/knowledge tools and prompt/resident context paths。
- Memory store/lint/consolidation/extraction code。
- Protocol/TUI/web reference/completion/chip surfaces for `#<slug>`
- Session/system item/reference types if Knowledge references are persisted。
- Docs/prompts mentioning Knowledge as active support。
Critical risks / reviewer focus:
- `KnowledgeQuery` or `kind = knowledge` surviving in model-visible tool schema。
- Resident Knowledge still injected through prompt/compaction/rehydration。
- `#<slug>` still parsed as active Knowledge reference/completion。
- Consolidation prompt still asking to create/update Knowledge。
- Docs/prompts continuing to teach Knowledge as supported active feature。
- Accidentally removing Memory summary/decision/request functionality while deleting Knowledge。
---
<!-- event: state_changed author: orchestrator at: 2026-07-15T21:40:26Z from: queued to: inprogress reason: accepted_for_implementation field: state -->
## State changed
Workflow removal dependency/conflict is now closed and no blockers remain. Accepting queued Knowledge removal Ticket for implementation before creating worktree or spawning role Pods.
---
<!-- event: implementation_report author: orchestrator at: 2026-07-15T22:31:18Z -->
## Implementation report
Implementation progress report:
- Coder Pod `yoi-coder-00001KXKP2A71-knowledge-removal` completed implementation in `/home/hare/Projects/yoi/.worktree/00001KXKP2A71-remove-knowledge-support` on branch `work/00001KXKP2A71-remove-knowledge-support`
- Implementation commit: `f786e019 feat: remove active knowledge support`
- Orchestrator inspected worktree status, branch log, commit stats, and `git diff --check f2106407..HEAD`; worktree was clean and diff check passed。
Implementation summary:
- Removed active `KnowledgeQuery` registration/schema exposure。
- Removed `kind = knowledge` from Memory tool kind support and tool descriptions。
- Removed active Knowledge frontmatter/schema/lint/query/resident-context handling from the Memory crate。
- Removed Worker resident Knowledge injection and Knowledge completion state。
- Removed protocol/TUI/web active `#<slug>` / Knowledge reference and completion paths。
- Kept bounded persisted-session compatibility: old session `SystemItem` entries serialized as `knowledge` deserialize into `LegacyKnowledgeIgnored` and do not replay archived Knowledge text into model context。
- Updated prompts/docs to describe Memory summary/decision/request behavior and note old `.yoi/knowledge/` as ignored/manual archive material。
- Did not implement Agent Skills support。
Old `.yoi/knowledge` handling:
- `.yoi/knowledge/` is no longer classified, linted, queried, consolidated, extracted, resident-injected, or treated as workspace record authority。
- Docs say older `.yoi/knowledge/` files are ignored by current memory tooling and can be manually archived/inspected if needed。
- Persisted session Knowledge system items are ignored on restore rather than injected into model context。
Coder-reported validation passed:
- `rg "KnowledgeQuery|kind = knowledge|kind: knowledge|ResidentKnowledge|model_invokation|\\.yoi/knowledge|#<slug>" --glob '!target' --glob '!Cargo.lock'`: only remaining hit is historical ignored `.yoi/knowledge/` note in `docs/design/memory-knowledge.md`
- `rg "knowledge" crates resources docs README.md web --glob '!target' --glob '!Cargo.lock'`: remaining intended hits are historical/ignored `.yoi/knowledge/` docs, compatibility-only `LegacyKnowledgeIgnored`, doc filenames containing `memory-knowledge`, and unrelated `acknowledge` substrings。
- `git diff --check`
- `cargo test -p memory --lib --tests`
- `cargo test -p worker --lib --tests`
- `cargo test -p session-store --lib --tests`
- `cargo test -p tui --lib --tests`
- `cargo test -p yoi --tests`
- `cd web/workspace && deno task check` (passed with pre-existing/accessibility warnings only)
- `cd web/workspace && deno task test` (`52 passed`)
- `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-15T22:35:41Z status: request_changes -->
## Review: request changes
External review result: request_changes
Blockers:
1. Model-visible Ticket tool description still advertises Knowledge。
- `crates/ticket/src/tool.rs:165` appends tool description text saying `memory.language for Memory/Knowledge`
- This keeps Knowledge in active LLM/tool guidance and violates tool/schema surface acceptance。
2. Current design docs still describe Knowledge as active support。
- `docs/design/overview.md:18` says the `memory` crate owns “Knowledge records.”
- This is active design guidance, not historical note, and contradicts docs/prompts cleanup acceptance。
Positive evidence:
- `MemoryToolKind` now accepts only summary/decision/request。
- `MemoryQuery` scans only summary/decisions/requests。
- Protocol/web completions are file-only。
- Old persisted Knowledge system items are compatibility-ignored。
Validation performed:
- Static read-only review of clean worktree commit `f786e019`
- No tests rerun because static blockers remain。
Non-blocking cleanup:
- `crates/tui/src/input.rs:237-269` has stale comments mentioning `#<typed>`, though code only triggers `@` file completion。
---
<!-- event: implementation_report author: orchestrator at: 2026-07-15T22:41:26Z -->
## Implementation report
Follow-up implementation progress report after request_changes:
- Coder Pod `yoi-coder-00001KXKP2A71-knowledge-removal` completed the stale Knowledge guidance fix。
- Follow-up commit: `ad666503 fix: remove stale knowledge guidance`
- Orchestrator inspected worktree status, branch log, commit stats, and `git diff --check f2106407..HEAD`; worktree was clean and diff check passed。
Fix summary:
- Updated model-visible Ticket tool description in `crates/ticket/src/tool.rs`: replaced `Memory/Knowledge` language guidance with `Memory`
- Updated active design overview in `docs/design/overview.md`: `memory` crate now owns generated Memory summary/decision/request records, not Knowledge records。
- Updated stale TUI comment in `crates/tui/src/input.rs`: removed `#<typed>` from file-completion chip comment。
- Removed stale “Knowledge records” wording from historical test-validity report text in `docs/report/test-validity-20260612/yoi.md`
Coder-reported validation passed:
- Focused active guidance grep for `Memory/Knowledge|Knowledge records|#<typed>` in relevant active files: no hits。
- Required Knowledge-removal grep for `KnowledgeQuery|kind = knowledge|kind: knowledge|ResidentKnowledge|model_invokation|\\.yoi/knowledge|#<slug>`: only remaining hit is `docs/design/memory-knowledge.md:13`, an explicit historical/legacy note saying old `.yoi/knowledge/` is no longer active and current tooling ignores it。
- `git diff --check`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
No focused behavior tests were re-run for this follow-up because changes were docs/comments/model-visible text only。
---
<!-- event: review author: reviewer at: 2026-07-15T22:44:47Z status: request_changes -->
## Review: request changes
Focused re-review result: request_changes
Fixed from prior review:
- `crates/ticket/src/tool.rs:165` now says Memory only。
- `docs/design/overview.md:18` now says summary/decision/request, not Knowledge records。
- Focused grep/read review found no `KnowledgeQuery`, no `kind=knowledge` Memory tools, no resident Knowledge collection。
- `.yoi/knowledge` remains only as historical/manual note in `docs/design/memory-knowledge.md:13`
- Legacy Knowledge system items are ignored in `crates/session-store/src/system_item.rs:142-177`
- No Agent Skills implementation was observed in the reviewed diff。
Remaining blocker:
- Web Console still treats `#` as an active completion sigil rather than unsupported/plain text。
- `web/workspace/src/lib/workspace/console/composer-completion.ts:4` includes `"#"`
- `composer-completion.ts:38` matches `[:@#]`
- `composer-completion.ts:86-87` maps `#` to `"file"`
- `web/workspace/src/routes/w/[workspaceId]/+page.svelte:316-335,357-362` resolves/applies those completions through the worker completion endpoint。
- This leaves an active `#<typed>` completion path after Knowledge removal, contrary to acceptance item requiring active `#<slug>` Knowledge references/completions to be removed or unsupported/plain text。
Validation performed:
- Static read-only review only; no tests rerun because the blocker is visible in source。
---
<!-- event: implementation_report author: orchestrator at: 2026-07-15T22:50:56Z -->
## Implementation report
Second follow-up implementation progress report after request_changes:
- Coder Pod `yoi-coder-00001KXKP2A71-knowledge-removal` completed the remaining web console `#` completion fix。
- Follow-up commit: `20654f9c fix: disable hash console completions`
- Orchestrator inspected worktree status, branch log, commit stats, and `git diff --check f2106407..HEAD`; worktree was clean and diff check passed。
Fix summary:
- Removed `"#"` from `ComposerCompletionToken.sigil`
- Changed web console completion token regex from `[:@#]` to `[:@]`
- Removed fallback/default remapping that turned unknown sigils, including `#`, into file completion。
- Added focused test asserting `ask #plain` is not a completion token。
- No Knowledge/Skill compatibility or remapping was added。
Coder-reported validation passed:
- Focused grep over web console/route completion files for `"#"`, `[:@#]`, `case "#"`, `#<typed>`, `#<slug>`, `knowledge`: no hits。
- `cd web/workspace && deno task check && deno task test`
- `git diff --check`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
Next action:
- Request focused re-review of the remaining hash completion blocker and overall acceptance before merge/close decisions。
---
<!-- event: review author: reviewer at: 2026-07-15T22:53:20Z status: request_changes -->
## Review: request changes
Focused re-review result: request_changes
Fixed:
- Web `#` completion blocker is fixed: `web/workspace/src/lib/workspace/console/composer-completion.ts:4,38,80-88` now only accepts `:`/`@`, has no fallback remapping to file, and `composer-completion.test.ts:35` asserts `ask #plain` is not a token。
- Prior code blockers remain fixed: no `KnowledgeQuery`, `MemoryToolKind` is summary/decision/request only, resident injection is summary-only, protocol `CompletionKind` is file-only, `.yoi/knowledge` appears only in the explicit legacy/manual archive note, legacy Knowledge SystemItems return empty history text, and no Skills files/diff were found。
Remaining acceptance blocker:
- Stale active docs/report guidance still advertises Knowledge as active record/tool behavior。
- `docs/report/test-validity-20260612/yoi.md:41` says `memory/Knowledge record path` is linted。
- `docs/report/test-validity-20260612/memory.md:46` refers to `MemoryWrite` “Knowledge/Request 作成”。
- These are not framed as historical/ignored compatibility and violate the docs/prompts cleanup acceptance。
Validation performed:
- Static read-only review only; no tests rerun because static docs acceptance blocker remains。
---
<!-- event: implementation_report author: orchestrator at: 2026-07-15T22:55:19Z -->
## Implementation report
Third follow-up implementation progress report after request_changes:
- Coder Pod `yoi-coder-00001KXKP2A71-knowledge-removal` completed the remaining docs/report wording fix。
- Follow-up commit: `9f527f5e fix: remove stale report knowledge wording`
- Orchestrator inspected worktree status, branch log, commit stats, and `git diff --check f2106407..HEAD`; worktree was clean and diff check passed。
Fix summary:
- Updated `docs/report/test-validity-20260612/yoi.md`: `memory/Knowledge record path` -> `memory record path`
- Updated `docs/report/test-validity-20260612/memory.md`: `MemoryWrite` “Knowledge/Request 作成” -> “Request 作成”。
- Searched nearby `docs/report` files and removed remaining active Knowledge wording there。
Coder-reported validation passed:
- Focused grep for `Knowledge records|Knowledge/Request|memory/Knowledge|MemoryWrite.*Knowledge|KnowledgeQuery|kind = knowledge|#<slug>|#<typed>|\\.yoi/knowledge`: only remaining hit is the explicit legacy/manual note for old `.yoi/knowledge` in `docs/design/memory-knowledge.md`; no active docs/report guidance remains。
- `git diff --check`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
No behavior tests were re-run for this follow-up because changes were docs/report wording only。
---
<!-- event: review author: reviewer at: 2026-07-15T22:56:59Z status: approve -->
## Review: approve
Focused re-review result: approve
Evidence:
- Report wording blockers are fixed: `docs/report/test-validity-20260612/yoi.md` now says memory record path; `docs/report/test-validity-20260612/memory.md` now says Request 作成。
- Greps/read inspection found no `KnowledgeQuery`, no `kind=knowledge` Memory tools, no resident Knowledge injection, no active Web/TUI/protocol `#` Knowledge completion path。
- `composer-completion.ts` only accepts `:`/`@` and test covers `ask #plain` as not a completion token。
- No stale Memory/Knowledge tool guidance remains。
- `.yoi/knowledge` appears only in the explicit legacy/manual archive note。
- Legacy Knowledge SystemItems are ignored/drop to empty history text。
- Memory summary/decision/request paths remain present。
- No Skills implementation/diff was found。
- `git diff --check f2106407..HEAD` passed。
Blockers: none。
---
<!-- event: implementation_report author: orchestrator at: 2026-07-15T22:59:56Z -->
## Implementation report
Merge / final validation report:
- Reviewer approved the implementation after final docs/report wording fix。
- Merged branch `work/00001KXKP2A71-remove-knowledge-support` into orchestration branch with merge commit `f279eb11 merge: remove knowledge support`
- Final validation was rerun in `/home/hare/Projects/yoi/.worktree/orchestration` after merge。
Validation passed:
- Focused grep for `KnowledgeQuery|kind = knowledge|kind: knowledge|ResidentKnowledge|model_invokation|\\.yoi/knowledge|#<slug>|#<typed>` with only the explicit legacy/manual `.yoi/knowledge` note remaining。
- `git diff --check`
- `cargo test -p memory --lib --tests`
- `cargo test -p worker --lib --tests`
- `cargo test -p session-store --lib --tests`
- `cargo test -p tui --lib --tests`
- `cargo test -p yoi --tests`
- `cd web/workspace && deno task check`
- `cd web/workspace && deno task test`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
Validation log:
- `/run/user/1000/yoi/yoi-orchestrator/bash-output/knowledge-removal-final-validation-1784156249.txt`
Reviewed/merged implementation commits:
- `f786e019 feat: remove active knowledge support`
- `ad666503 fix: remove stale knowledge guidance`
- `20654f9c fix: disable hash console completions`
- `9f527f5e fix: remove stale report knowledge wording`
Notes:
- Active Knowledge tools/kind/schema/resident context/reference/completion paths were removed。
- Old `.yoi/knowledge` data is ignored/manual archive material only。
- Legacy Knowledge SystemItems are ignored/drop to empty history text。
- Memory summary/decision/request behavior remains intact。
- Agent Skills support was intentionally not implemented in this Ticket。
- Per user instruction, no `StopPod` cleanup was performed。
---
<!-- event: state_changed author: orchestrator at: 2026-07-15T23:00:02Z from: inprogress to: done reason: implementation_validated field: state -->
## State changed
Implementation was reviewed, merged into orchestration branch, and final validation passed. Moving to done before closure.
---
<!-- event: state_changed author: hare at: 2026-07-15T23:00:18Z from: done to: closed reason: closed field: state -->
## State changed
Ticket を closed にしました。
---
<!-- event: close author: hare at: 2026-07-15T23:00:18Z status: closed -->
## 完了
Knowledge support removal を実装・レビュー・merge・検証した。
実装内容:
- active `KnowledgeQuery` tool registration/schema exposure を削除。
- Memory tools から `kind = knowledge` support と descriptions を削除。
- Memory crate の Knowledge frontmatter/schema/lint/query/resident-context handling を削除。
- Worker resident Knowledge injection と Knowledge completion state を削除。
- protocol / TUI / web の active `#<slug>` Knowledge reference/completion path を削除。
- Web Console の `#` completion sigil を削除し、`#...` は completion token ではなく plain/unsupported text になった。
- old persisted `kind: "knowledge"` SystemItem は `LegacyKnowledgeIgnored` として bounded compatibility にし、model context へ replay しない。
- `.yoi/knowledge/` は active workspace authority ではなく ignored/manual archive material として docs 更新。
- prompts/docs/tool descriptions から active Knowledge guidance を削除。
- Memory summary/decision/request behavior は維持。
- Agent Skills support はこの Ticket では実装していない。
Review:
- 初回 review は model-visible Ticket tool description と active design docs の stale Knowledge guidance で `request_changes`
- 2回目 review は Web Console `#` completion が active のまま残っていた blocker で `request_changes`
- 3回目 review は docs/report に active Knowledge wording が残っていた blocker で `request_changes`
- `9f527f5e fix: remove stale report knowledge wording` 後の focused re-review は `approve`
Merge / validation:
- Merge commit: `f279eb11 merge: remove knowledge support`
- Final validation passed:
- Focused Knowledge removal grep with only explicit legacy/manual `.yoi/knowledge` note remaining。
- `git diff --check`
- `cargo test -p memory --lib --tests`
- `cargo test -p worker --lib --tests`
- `cargo test -p session-store --lib --tests`
- `cargo test -p tui --lib --tests`
- `cargo test -p yoi --tests`
- `cd web/workspace && deno task check`
- `cd web/workspace && deno task test`
- `cargo check -p yoi`
- `yoi ticket doctor`
- `nix build .#yoi --no-link`
- Validation log: `/run/user/1000/yoi/yoi-orchestrator/bash-output/knowledge-removal-final-validation-1784156249.txt`
Cleanup:
- Implementation worktree/branch cleanup will be performed after close commit。
- Per user instruction, `StopPod` is not used。
---