yoi/.yoi/tickets/00001KXKP2A71/thread.md

17 KiB

作成

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


Intake summary

Marked ready by yoi ticket state.


State changed

Marked ready by yoi ticket state.


State changed

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


Decision

Routing decision: hold_queued_due_conflict_with_active_removal_work

Reason:

  • Dashboard queue authorization was inspected, and this Ticket is concrete with no outgoing blocker relation。
  • However, TicketList(inprogress) shows active Ticket 00001KXKJGYGD (Remove workflow tracking and workflow resources) currently in implementation with Coder Pod running。
  • This Knowledge removal Ticket and Workflow removal Ticket likely touch overlapping surfaces:
    • crates/worker prompt/context/resident injection paths。
    • crates/protocol / crates/session-store reference/system-item state paths。
    • resource cleanup under prompts/resources/docs。
    • Workflow required Knowledge dependency, which this Ticket body explicitly says is expected to disappear via Workflow removal。
  • Starting this Ticket now would create avoidable merge conflicts and make reviewer acceptance boundaries ambiguous。
  • Therefore this 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(00001KXKP2A71): incoming depends_on from Skills support Ticket 00001KXKMX0QM; no blocker for this Ticket。
  • TicketOrchestrationPlanQuery(00001KXKP2A71): no prior records; recorded after 00001KXKJGYGD and waiting note in this pass。
  • TicketList(inprogress): 00001KXKJGYGD active。
  • Orchestrator worktree status and worktree list: active Workflow removal worktree exists。
  • Visible Pods: Workflow removal Coder Pod is running。

Next action:

  • Wait for 00001KXKJGYGD to be reviewed, merged, validated, and closed。
  • Then re-route 00001KXKP2A71 before starting dependent Skills support 00001KXKMX0QM

Escalate if:

  • Human explicitly wants Knowledge removal and Workflow removal combined in one branch/worktree, or accepts parallel conflict/review-boundary risk。

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 / MemoryDeletekind = 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。

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.


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。

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。

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。


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。

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。