Part of #228 (EPIC #47·P3 — close the learning loop). Design ratified by consensus_vote (UNANIMOUS 7/7).
The 2nd of the three learning-loop breaks: a tool the system FORGED for itself (<overlay>/workshop/<name>/, tier in lifecycle.json, CLM-0054) never reaches a brief — the loop has zero awareness it exists.
Design (mirrors #309's skill-index injection): gatherWorkshopIndex(overlayDir) (cli/gather.ts) reads workshop tools (listTools + loadLifecycle, pure FS reads), keeps only RECORDED-tier advisory|enforce + status≠removal_proposed, and the compiler renders a lowest-priority workshopIndex brief section of HINTS — " (): a forged tool — run via kernloop workshop run <name>". Deterministic (name-sorted, no clock); decay respected via recorded post-sweep state; suggest (born/decayed) excluded.
Honesty (folded from the vote's Contrarian notes): this surfaces AWARENESS of an advisory+ forged tool + its documented manual run target — it does NOT give the loop a callable path (the loop runs the kernel-eleven MCP tools, not workshop run); awareness ≠ closure. It is NEVER a 12th MCP tool. suggest→advisory promotion remains manual by design. Claims the WIRING, not efficacy. CLM-0141.
Remaining #228: constituent 4 (consume distillCandidates).
Part of #228 (EPIC #47·P3 — close the learning loop). Design ratified by consensus_vote (UNANIMOUS 7/7).
The 2nd of the three learning-loop breaks: a tool the system FORGED for itself (
<overlay>/workshop/<name>/, tier in lifecycle.json, CLM-0054) never reaches a brief — the loop has zero awareness it exists.Design (mirrors #309's skill-index injection):
gatherWorkshopIndex(overlayDir)(cli/gather.ts) reads workshop tools (listTools + loadLifecycle, pure FS reads), keeps only RECORDED-tier advisory|enforce + status≠removal_proposed, and the compiler renders a lowest-priorityworkshopIndexbrief section of HINTS — " (): a forged tool — run viakernloop workshop run <name>". Deterministic (name-sorted, no clock); decay respected via recorded post-sweep state; suggest (born/decayed) excluded.Honesty (folded from the vote's Contrarian notes): this surfaces AWARENESS of an advisory+ forged tool + its documented manual run target — it does NOT give the loop a callable path (the loop runs the kernel-eleven MCP tools, not
workshop run); awareness ≠ closure. It is NEVER a 12th MCP tool. suggest→advisory promotion remains manual by design. Claims the WIRING, not efficacy. CLM-0141.Remaining #228: constituent 4 (consume distillCandidates).