wyrm-mcp 7.3.0 → 7.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/BENCHMARKS.md ADDED
@@ -0,0 +1,57 @@
1
+ # Wyrm — Retrieval Benchmarks
2
+
3
+ Wyrm competes on an axis the cloud memory layers can't stand on: **the number is produced with zero cloud calls and zero generative-LLM calls, and anyone can reproduce it offline.** mem0 / Zep / Supermemory headline end-to-end QA accuracy that depends on an LLM extracting and answering; the number below is the **retrieval floor underneath that** — *did the memory actually return a ground-truth supporting turn?* — measured deterministically.
4
+
5
+ ## Metric
6
+
7
+ Real **LoCoMo** (*Evaluating Very Long-Term Conversational Memory*, snap-research/locomo — 10 multi-session conversations, 1,986 QA). Every dialogue turn is ingested tagged with its `dia_id`; for each question that ships ground-truth `evidence` turns, Wyrm recalls over the question and we score whether a supporting `dia_id` comes back in the top-_k_.
8
+
9
+ > **Metric = "did Wyrm retrieve a ground-truth supporting turn?"** — pure retrieval, no LLM in the loop. End-to-end answer accuracy sits *on top* of this floor; this is the engine-only number, and it is the part Wyrm makes deterministic.
10
+
11
+ Questions with no evidence turns (LoCoMo categories 3 & 5 — adversarial / world-knowledge) have nothing to retrieve and are excluded from the retrieval headline.
12
+
13
+ ## Results — real LoCoMo (1,982 evidence QA, k=10)
14
+
15
+ Verified on **wyrm-mcp 7.3.0**.
16
+
17
+ | Tier | recall@1 | recall@5 | recall@10 | MRR@10 | Properties |
18
+ |------|:--------:|:--------:|:---------:|:------:|------------|
19
+ | **no-LLM FTS floor** | 29.5% | **52.4%** | **59.9%** | 0.393 | offline · zero-cloud · zero-LLM · CI-gated · reproducible anywhere |
20
+ | vector-only (local) | 28.8% | 58.7% | 69.5% | 0.413 | local Ollama embeddings only |
21
+ | **local hybrid** (FTS ⊕ vectors) | 32.8% | **60.3%** | **72.2%** | 0.447 | + local Ollama `nomic-embed-text` — still zero-cloud, advisory (varies by machine) |
22
+
23
+ The lift is monotonic and honest: **recall@10 climbs 59.9% → 69.5% → 72.2%** as you add local vectors on top of the lexical floor. The **FTS floor is the claim that matters**: it needs no model server, no API key, no network — clone the repo and you get the same numbers. The hybrid tier shows the lift from local dense vectors (the embedding model runs on *your* box; nothing leaves it). Wyrm's production `recall` uses a tuned convex score-blend (cand=50, α=0.7) that nudges hybrid recall@5 to ~62%; the table above reports the simpler RRF fusion the standalone harness ships, so the numbers match the reproduction command exactly.
24
+
25
+ ### no-LLM FTS floor — by category (evidence-bearing only)
26
+
27
+ | Category | n | recall@1 | recall@5 | recall@10 | MRR@10 |
28
+ |----------|--:|:--------:|:--------:|:---------:|:------:|
29
+ | single-hop | 841 | 35.1% | 56.8% | 64.1% | 0.447 |
30
+ | temporal | 321 | 33.0% | 59.2% | 66.7% | 0.443 |
31
+ | adversarial | 446 | 29.4% | 55.2% | 61.2% | 0.399 |
32
+ | multi-hop | 282 | 14.2% | 34.8% | 45.4% | 0.232 |
33
+ | open-domain | 92 | 13.0% | 28.3% | 37.0% | 0.201 |
34
+
35
+ ## Reproduce it
36
+
37
+ ```sh
38
+ cd packages/mcp-server
39
+ npm run build # ungated dev build
40
+
41
+ # 1. The deterministic floor — no Ollama, no network, anyone can run this:
42
+ curl -sL -o bench/data/locomo10.json \
43
+ https://raw.githubusercontent.com/snap-research/locomo/main/data/locomo10.json
44
+ node bench/locomo-real.mjs bench/data/locomo10.json --k 10
45
+
46
+ # 2. The local-hybrid lift (needs a local Ollama serving nomic-embed-text):
47
+ ollama pull nomic-embed-text
48
+ node bench/locomo-hybrid.mjs bench/data/locomo10.json --k 10
49
+ ```
50
+
51
+ The committed `bench/longmemeval-fixture.json` ships a small self-contained corpus so `node bench/longmemeval.mjs` runs with **no download at all** — that fixture's no-LLM floor is the CI gate that keeps these numbers from regressing.
52
+
53
+ ## Why this framing, honestly
54
+
55
+ - This is **retrieval recall, not QA accuracy.** We do not claim to beat Supermemory's 81.6% LongMemEval *answer* score — that's a different, LLM-in-the-loop metric on a different task. We claim the **strongest deterministic, zero-cloud retrieval floor**, which is the thing those products don't publish because their pipelines can't run without a cloud LLM.
56
+ - The floor is **honest about its weak spots** — multi-hop and open-domain are where pure lexical retrieval struggles; the per-category table shows it rather than hiding behind an average.
57
+ - Every number here is **offline and reproducible.** No leaderboard submission, no private eval harness — the dataset is public and the harness is in this repo.
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
- # Wyrm — the memory layer for AI assistants
1
+ # Wyrm — the intelligence layer for AI agents
2
2
 
3
- > Your AI doesn't just need memory. It needs the *layer* that turns memory into compounding leverage.
3
+ > Persistent memory is table stakes. The real problem is what agents *do* with it Wyrm blocks the repeat, keeps decisions true, and learns as a fleet. Memory is the substrate; the judgment is the moat.
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/wyrm-mcp?color=00B89F&label=npm)](https://www.npmjs.com/package/wyrm-mcp)
6
6
  [![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL--3.0-00B89F.svg)](LICENSE)
7
- [![Tests](https://img.shields.io/badge/tests-1543%20passing-00B89F)](https://github.com/Ghosts-Protocol-Pvt-Ltd/Wyrm)
7
+ [![Tests](https://img.shields.io/badge/tests-1820%20passing-00B89F)](https://github.com/Ghosts-Protocol-Pvt-Ltd/Wyrm)
8
8
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
9
9
  [![MCP](https://img.shields.io/badge/MCP-compatible-00B89F)](https://modelcontextprotocol.io)
10
10
 
@@ -24,6 +24,8 @@ Wyrm is not "AI memory." It's the **substrate** that turns one-shot AI conversat
24
24
  4. **↯ Federation.** Wyrm calls other MCP servers (GitHub, Slack, Linear, …) as tools. Buddy Protocol v1.0 lets Wyrm talk to other AI memory tools. Composes your whole stack into one mind.
25
25
  5. **✺ Creative substrate.** First-class design tokens (colour / type / spacing / motion / shadow / radius / breakpoint) and a tagged design-reference clipper — Wyrm is not just for code.
26
26
 
27
+ **Reproducible numbers.** On real LoCoMo (1,982 evidence QA, verified on 7.3.0), Wyrm's deterministic **zero-LLM, zero-cloud** retrieval floor is recall@5 **52.4%** / recall@10 **59.9%**, lifting to **60.3% / 72.2%** with local Ollama vectors — every number offline and reproducible from this repo. → **[BENCHMARKS.md](BENCHMARKS.md)**
28
+
27
29
  ```
28
30
  You: "What did we decide about the auth architecture last week?"
29
31
  AI: *calls wyrm_session_prime* "We went with JWT + refresh tokens, stored
@@ -1 +1 @@
1
- {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/handlers/capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAiB3D,gDAAgD;AAChD,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,cAAc,EACd,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CACvF,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CAymCpE,CAAC"}
1
+ {"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/handlers/capture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAiB3D,gDAAgD;AAChD,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,cAAc,EACd,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CACvF,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CA+mCpE,CAAC"}
@@ -1,77 +1,77 @@
1
- import{join as N}from"path";import{TOOL_ANNOTATIONS as E}from"../tool-annotations.js";import{renderResult as q,withGlyph as I}from"../render.js";import{ValidationError as U,asEnum as H}from"../validate.js";import{daemonOr as A}from"../daemon-writer.js";import{classifyCapture as B}from"../capture.js";import{extractCandidates as M,candidateToArtifact as L,escapeLikePattern as D}from"../auto-capture.js";import{parseTrace as K,segmentsToText as J}from"../trace-harvest.js";import{getActor as Y,runWithActor as Q}from"./boundary.js";import{harvestProjects as X}from"../harvest.js";import{readFileSync as W,readdirSync as G,statSync as R}from"fs";import{join as O}from"path";import{homedir as V}from"os";import{readSpecDir as z,specTaskSignature as Z}from"../spec-kit.js";const ye=[{name:"wyrm_capture",description:"Use to save anything worth keeping - the single write funnel. Auto-classifies notes, decisions, and lessons into quest, ground truth, or memory; risky writes queue for wyrm_review. mode=direct (store a proven pattern or lesson learned so future agents reuse it), extract (pull memories from a conversation transcript or freeform text), trace (harvest a session JSONL / tool-call log into run-tagged review candidates), session (close out a work session into reusable knowledge), artifacts (harvest a repo's READMEs and recent commits into durable facts), import source=git|pr|rules, spec (turn a tasks.md into tracked work items), checklist. Keywords: remember this, jot down, write down, future reference.",inputSchema:{type:"object",properties:{content:{type:"string",description:"classify/rules"},project_id:{type:"number",description:"classify/import/spec"},tags:{type:"array",items:{type:"string"}},mode:{type:"string",enum:["auto","quest","truth","memory","classify","direct","extract","trace","session","artifacts","import","spec","checklist"],description:"quest|truth|memory force the type"},source:{type:"string",enum:["git","pr","rules"],description:"import"},projectPath:{type:"string",description:"non-classify"},kind:{type:"string",description:"direct"},problem:{type:"string",description:"direct"},validatedFix:{type:"string",description:"direct"},text:{type:"string",description:"extract"},sessionId:{type:"string",description:"session"},candidates:{type:"array",items:{type:"object"},description:"session"},dryRun:{type:"boolean",description:"artifacts"},commits:{type:"array",items:{type:"object"},description:"import git"},title:{type:"string",description:"import pr"},body:{type:"string",description:"import pr"},specDir:{type:"string",description:"spec"},problemType:{type:"string",description:"checklist"},whenToUse:{type:"string",description:"checklist"},steps:{type:"array",items:{type:"string"},description:"checklist"}},required:[]},outputSchema:{type:"object",properties:{status:{type:"string",enum:["captured","queued_for_review"]},type:{type:"string"},subtype:{type:"string"},confidence:{type:"number"},reasoning:{type:"string"},id:{type:"integer"},ref:{type:"string"},needs_review:{type:"boolean"},reason:{type:"string"},artifact_id:{type:"integer"},conflicts_with:{type:"array"},advisory_conflicts:{type:"array"}},required:["status"]},annotations:E.wyrm_capture,aliases:[],handler:async(v,{store:w,raw:j,memory:m,truths:_,cache:g})=>{const{content:c,project_id:f,tags:i,mode:u}=v;let a=B(c);u&&u!=="auto"&&(a={type:u,subtype:{quest:"quest",truth:"decision",memory:"pattern"}[u]??u,confidence:100,reasoning:`Mode override: ${u}`});const{type:d,subtype:p,confidence:s,reasoning:b}=a,e=f??null;let t=0,l="",o=!1,h;if(d==="quest"){if(e===null)return{content:[{type:"text",text:"Cannot capture quest without project_id. Please provide project_id."}],isError:!0};t=(await A("quest_add",e,{title:c.slice(0,200),description:"",priority:"medium",tags:i?.join(",")},()=>w.addQuest(e,c.slice(0,200),"","medium",i?.join(",")))).id,l="quest",g.invalidate("wyrm_all_quests"),g.invalidate("wyrm_stats")}else if(d==="truth"){if(e===null)return{content:[{type:"text",text:"Cannot capture truth without project_id. Please provide project_id."}],isError:!0};if(s>=80){const n=p??"other",$=_.getCurrent(e).filter(k=>k.category===n);if($.length>0){const k={kind:"pattern",problem:`Potential conflict with ${$.length} existing truth(s) in category "${n}"`,validatedFix:c,whyItWorked:"Pending review \u2014 possible supersession",tags:i??[],confidence:s/100,needsReview:1},S=await A("artifact_add",e,k,()=>m.add(e,k));return q({status:"queued_for_review",reason:"conflict_check",artifact_id:S.id,conflicts_with:$.map(y=>({id:y.id,content:y.value.slice(0,80)}))})}}if(u!=="truth"&&s<100){const n={kind:"pattern",problem:c,validatedFix:"",whyItWorked:"",tags:i??[],confidence:s/100,needsReview:1};t=(await A("artifact_add",e,n,()=>m.add(e,n))).id,l="mem",o=!0}else{const n={category:"decision",key:c.slice(0,60),value:c};t=(await A("truth_set",e,n,()=>_.set(e,n))).id,l="truth",g.invalidate("wyrm_truth_get"),g.invalidate("wyrm_context_build")}}else{if(e===null)return{content:[{type:"text",text:"Cannot capture memory without project_id. Please provide project_id."}],isError:!0};const n=s>=75,x={kind:p,problem:c,validatedFix:"",whyItWorked:"",tags:i??[],confidence:s/100,needsReview:n?0:1};if(t=(await A("artifact_add",e,x,()=>m.add(e,x))).id,l="mem",o=!n,p==="heuristic"&&s>=75&&e!==null)try{const k=c.replace(/['"*]/g," ").trim().split(/\s+/).slice(0,5).join(" "),S=j().prepare(`
1
+ import{join as N}from"path";import{TOOL_ANNOTATIONS as E}from"../tool-annotations.js";import{renderResult as q,withGlyph as I}from"../render.js";import{ValidationError as U,asEnum as H}from"../validate.js";import{daemonOr as A}from"../daemon-writer.js";import{classifyCapture as B}from"../capture.js";import{extractCandidates as M,candidateToArtifact as L,escapeLikePattern as D}from"../auto-capture.js";import{parseTrace as K,segmentsToText as J}from"../trace-harvest.js";import{getActor as Y,runWithActor as Q}from"./boundary.js";import{harvestProjects as X}from"../harvest.js";import{readFileSync as W,readdirSync as G,statSync as R}from"fs";import{join as O}from"path";import{homedir as V}from"os";import{readSpecDir as z,specTaskSignature as Z}from"../spec-kit.js";const ye=[{name:"wyrm_capture",description:"Use to save anything worth keeping - the single write funnel. Auto-classifies notes, decisions, and lessons into quest, ground truth, or memory; risky writes queue for wyrm_review. mode=direct (store a proven pattern or lesson learned so future agents reuse it), extract (pull memories from a conversation transcript or freeform text), trace (harvest a session JSONL / tool-call log into run-tagged review candidates), session (close out a work session into reusable knowledge), artifacts (harvest a repo's READMEs and recent commits into durable facts), import source=git|pr|rules, spec (turn a tasks.md into tracked work items), checklist. Keywords: remember this, jot down, write down, future reference.",inputSchema:{type:"object",properties:{content:{type:"string",description:"classify/rules"},project_id:{type:"number",description:"classify/import/spec"},tags:{type:"array",items:{type:"string"}},mode:{type:"string",enum:["auto","quest","truth","memory","classify","direct","extract","trace","session","artifacts","import","spec","checklist"],description:"quest|truth|memory force the type"},source:{type:"string",enum:["git","pr","rules"],description:"import"},projectPath:{type:"string",description:"non-classify"},kind:{type:"string",description:"direct"},problem:{type:"string",description:"direct"},validatedFix:{type:"string",description:"direct"},text:{type:"string",description:"extract"},sessionId:{type:"string",description:"session"},candidates:{type:"array",items:{type:"object"},description:"session"},dryRun:{type:"boolean",description:"artifacts"},commits:{type:"array",items:{type:"object"},description:"import git"},title:{type:"string",description:"import pr"},body:{type:"string",description:"import pr"},specDir:{type:"string",description:"spec"},problemType:{type:"string",description:"checklist"},whenToUse:{type:"string",description:"checklist"},steps:{type:"array",items:{type:"string"},description:"checklist"}},required:[]},outputSchema:{type:"object",properties:{status:{type:"string",enum:["captured","queued_for_review"]},type:{type:"string"},subtype:{type:"string"},confidence:{type:"number"},reasoning:{type:"string"},id:{type:"integer"},ref:{type:"string"},needs_review:{type:"boolean"},reason:{type:"string"},artifact_id:{type:"integer"},conflicts_with:{type:"array"},advisory_conflicts:{type:"array"}},required:["status"]},annotations:E.wyrm_capture,aliases:[],handler:async(j,{store:v,raw:b,memory:u,truths:g,cache:f})=>{const{content:a,project_id:m,projectPath:o,tags:y,mode:i}=j;let d=B(a);i&&i!=="auto"&&(d={type:i,subtype:{quest:"quest",truth:"decision",memory:"pattern"}[i]??i,confidence:100,reasoning:`Mode override: ${i}`});const{type:p,subtype:c,confidence:h,reasoning:r}=d,e=m??(o?v.getProject(o)?.id??null:null);let n=0,s="",_=!1,t;if(p==="quest"){if(e===null)return{content:[{type:"text",text:"Cannot capture quest without project_id. Please provide project_id."}],isError:!0};n=(await A("quest_add",e,{title:a.slice(0,200),description:"",priority:"medium",tags:y?.join(",")},()=>v.addQuest(e,a.slice(0,200),"","medium",y?.join(",")))).id,s="quest",f.invalidate("wyrm_all_quests"),f.invalidate("wyrm_stats")}else if(p==="truth"){if(e===null)return{content:[{type:"text",text:"Cannot capture truth without project_id. Please provide project_id."}],isError:!0};if(h>=80){const w=c??"other",S=g.getCurrent(e).filter(x=>x.category===w);if(S.length>0){const x={kind:"pattern",problem:`Potential conflict with ${S.length} existing truth(s) in category "${w}"`,validatedFix:a,whyItWorked:"Pending review \u2014 possible supersession",tags:y??[],confidence:h/100,needsReview:1},l=await A("artifact_add",e,x,()=>u.add(e,x));return q({status:"queued_for_review",reason:"conflict_check",artifact_id:l.id,conflicts_with:S.map(k=>({id:k.id,content:k.value.slice(0,80)}))})}}if(i!=="truth"&&h<100){const w={kind:"pattern",problem:a,validatedFix:"",whyItWorked:"",tags:y??[],confidence:h/100,needsReview:1};n=(await A("artifact_add",e,w,()=>u.add(e,w))).id,s="mem",_=!0}else{const w={category:"decision",key:a.slice(0,60),value:a};n=(await A("truth_set",e,w,()=>g.set(e,w))).id,s="truth",f.invalidate("wyrm_truth_get"),f.invalidate("wyrm_context_build")}}else{if(e===null)return{content:[{type:"text",text:"Cannot capture memory without project_id. Please provide project_id."}],isError:!0};const w=h>=75,P={kind:c,problem:a,validatedFix:"",whyItWorked:"",tags:y??[],confidence:h/100,needsReview:w?0:1};if(n=(await A("artifact_add",e,P,()=>u.add(e,P))).id,s="mem",_=!w,c==="heuristic"&&h>=75&&e!==null)try{const x=a.replace(/['"*]/g," ").trim().split(/\s+/).slice(0,5).join(" "),l=b().prepare(`
2
2
  SELECT a.id, a.problem FROM memory_artifacts a
3
3
  JOIN memory_artifacts_fts fts ON a.id = fts.rowid
4
4
  WHERE fts MATCH ? AND a.project_id = ? AND a.kind = 'heuristic' AND a.needs_review = 0
5
5
  LIMIT 3
6
- `).all(k,e);S.length>0&&(h=S.map(y=>({id:y.id,content:y.problem.slice(0,80)})))}catch{}}const r={status:"captured",type:d,subtype:p,confidence:s,reasoning:b,id:t,ref:`${l}:${t}`,needs_review:o,...h&&h.length>0?{advisory_conflicts:h}:{}};return q(r,(n,x)=>{let $=`Captured as ${n.type}: ${n.subtype}
7
- Confidence: ${n.confidence}% | ${n.reasoning}
8
- ID: ${n.ref}`;n.needs_review&&($+=`
9
- `+I(x.warn,"Stored for review -- run `wyrm_review` to activate"));const k=n.advisory_conflicts;return k&&k.length>0&&($+=`
10
-
11
- `+I(x.warn,`Advisory: ${k.length} similar heuristic(s) found:`)+`
12
- `+k.map(S=>` ${x.bullet} [${S.id}] ${S.content}`).join(`
13
- `)),$})}},{name:"wyrm_remember",description:"Store a distilled knowledge artifact \u2014 proven patterns, lessons learned, anti-patterns, and reasoning traces. These are recalled automatically by wyrm_context_build to help AI models apply past knowledge to new tasks. Example: wyrm_remember({ projectPath: '/home/user/api', kind: 'anti_pattern', problem: 'Jest suite hung after adding the SSE server', validatedFix: 'close() the server in afterAll \u2014 its keep-alive timer held the event loop open', whyItWorked: 'open handles block jest exit', outcome: 'positive', tags: ['jest', 'sse'] })",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Project this knowledge belongs to"},kind:{type:"string",enum:["reasoning_trace","lesson","pattern","anti_pattern","heuristic"],description:"reasoning_trace: a solved problem with steps; lesson: a general insight; pattern: a proven approach; anti_pattern: what NOT to do; heuristic: a rule of thumb"},problem:{type:"string",description:"What was being solved or observed (be specific and searchable)"},constraints:{type:"string",description:"What conditions or constraints applied"},validatedFix:{type:"string",description:"What actually worked \u2014 the validated solution or approach"},whyItWorked:{type:"string",description:"The insight behind WHY this worked (key for transfer learning)"},outcome:{type:"string",enum:["positive","negative","neutral"],description:"Was this approach successful?"},tags:{type:"array",items:{type:"string"},description:"Searchable tags (e.g. ['auth', 'rate-limit', 'typescript'])"},confidence:{type:"number",description:"Confidence level 0.0\u20131.0 (default: 1.0)"},sourceSessionId:{type:"number",description:"Session ID where this was discovered (optional)"}},required:["projectPath","kind","problem"]},outputSchema:{type:"object",properties:{id:{type:"integer"},kind:{type:"string",enum:["reasoning_trace","lesson","pattern","anti_pattern","heuristic"]},problem:{type:"string"},validated_fix:{type:["string","null"]},why_it_worked:{type:["string","null"]},confidence:{type:"number"},tags:{type:["string","null"]}},required:["id","kind","problem","validated_fix","why_it_worked","confidence","tags"]},annotations:E.wyrm_remember,aliases:[],handler:async(v,{store:w,memory:j})=>{const{projectPath:m,kind:_,problem:g,constraints:c,validatedFix:f,whyItWorked:i,outcome:u,tags:a,confidence:d,sourceSessionId:p}=v,s=H("kind",_,["reasoning_trace","lesson","pattern","anti_pattern","heuristic"]);if(s===void 0)throw new U("kind","is required");const b=w.getProject(m);if(!b)return{content:[{type:"text",text:`Project not found: ${m}`}],isError:!0};const e={kind:s,problem:g,constraints:c,validatedFix:f,whyItWorked:i,outcome:u,tags:a,confidence:d,sourceSessionId:p},t=await A("artifact_add",b.id,e,()=>j.add(b.id,e)),l={id:t.id,kind:t.kind,problem:t.problem,validated_fix:t.validated_fix??null,why_it_worked:t.why_it_worked??null,confidence:t.confidence,tags:t.tags??null};return q(l,(o,h)=>{let r=I(h.brand,"**Memory Stored**")+`
14
-
15
- `;return r+=`${h.bullet} **Kind:** ${o.kind}
16
- `,r+=`${h.bullet} **ID:** ${o.id}
17
- `,r+=`${h.bullet} **Problem:** ${o.problem}
18
- `,o.validated_fix&&(r+=`${h.bullet} **Solution:** ${o.validated_fix}
19
- `),o.why_it_worked&&(r+=`${h.bullet} **Why it worked:** ${o.why_it_worked}
20
- `),r+=`${h.bullet} **Confidence:** ${(o.confidence*100).toFixed(0)}%
21
- `,o.tags&&(r+=`${h.bullet} **Tags:** ${o.tags}
22
- `),r+="\n_Use `wyrm_recall` to retrieve similar memories, or `wyrm_context_build` to assemble a task brief._",r})}},{name:"wyrm_auto_capture",description:"Auto-extract durable memories from freeform text (a session transcript, notes, a chat) into the REVIEW QUEUE. A LOCAL extractor \u2014 a configurable Ollama model (WYRM_EXTRACT_MODEL / the `model` arg) if set, else a deterministic heuristic \u2014 pulls out truths, failures, decisions, patterns, and lessons as needs_review candidates; approve/reject with wyrm_review (nothing auto-trusted). Closes the 'just talk, it remembers' gap without a cloud LLM. Deduped + idempotent. Example: wyrm_auto_capture({ projectPath: '/home/user/api', text: 'Deploy failed twice because wrangler.toml pointed at the old KV id; switched to the new binding and decided to pin binding names in CI.' })",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Project to file the extracted candidates under"},text:{type:"string",description:"Freeform text to extract durable memories from"},model:{type:"string",description:"Optional Ollama model for extraction (overrides WYRM_EXTRACT_MODEL); omit for deterministic extraction"}},required:["projectPath","text"]},outputSchema:{type:"object",properties:{method:{type:"string"},model:{type:["string","null"]},added:{type:"integer"},skipped:{type:"integer"},candidates:{type:"array",items:{type:"object",properties:{kind:{type:"string"},text:{type:"string"}},required:["kind","text"]}}},required:["method","model","added","skipped","candidates"]},annotations:E.wyrm_auto_capture,aliases:[],handler:async(v,{store:w,raw:j,memory:m,cache:_})=>{const{projectPath:g,text:c,model:f}=v,i=w.getProject(g);if(!i)return{content:[{type:"text",text:`Project not found: ${g}`}],isError:!0};if(!c||c.trim().length<20)return{content:[{type:"text",text:"Provide at least ~20 chars of text to extract from."}],isError:!0};const{candidates:u,method:a,model:d}=await M(c,{model:f}),p=j();let s=0,b=0;for(const t of u){const l=L(t),o=l.tags[l.tags.length-1];if(p.prepare("SELECT 1 FROM memory_artifacts WHERE project_id = ? AND tags LIKE ? ESCAPE '\\' LIMIT 1").get(i.id,"%"+D(o)+"%")){b++;continue}m.add(i.id,{kind:l.kind,problem:l.problem,tags:l.tags,confidence:l.confidence,needsReview:1,createdBy:"auto-extract"}),s++}s>0&&_.invalidate();const e={method:a,model:d??null,added:s,skipped:b,candidates:u.slice(0,8).map(t=>({kind:t.kind,text:t.text.slice(0,80)}))};return q(e,(t,l)=>{const o=t.candidates.map(h=>` ${l.bullet} [${h.kind}] ${h.text}`).join(`
23
- `);return I(l.brand,`Auto-capture (${t.method}${t.model?` - ${t.model}`:""}) -- ${t.added} candidate(s) -> review queue, ${t.skipped} already present.`)+`
24
- ${o}
25
-
26
- Approve/reject with wyrm_review.`})}},{name:"wyrm_capture_trace",description:"Harvest a harness's working trace into run-tagged review-queue candidates \u2014 OFFLINE. Ingests a Claude Code session transcript (JSONL), a ~/.dragon/traces file/dir, or WYRM_TRACE_TOOL_CALLS event output. The SAME local extractor as auto-capture (Ollama WYRM_EXTRACT_MODEL if set, else deterministic \u2014 never a cloud LLM) pulls durable truths/failures/decisions/patterns/lessons; secrets (API keys, tokens, passwords) are REDACTED before anything is stored; candidates land needs_review=1 stamped with the run_id (arg or ambient envelope). Approve/reject with wyrm_review; deduped + idempotent. Pass `trace` (inline text) OR `path` (a trace file or the ~/.dragon/traces dir). Reached via wyrm_capture({ mode: 'trace' }).",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Project to file the candidates under"},trace:{type:"string",description:"Inline trace text (JSONL transcript / dragon records / tool-call events)"},path:{type:"string",description:"Path to a trace file, or the ~/.dragon/traces directory (newest file is read); omit ~ for absolute"},format:{type:"string",enum:["auto","claude-jsonl","dragon","tool-calls"],description:"Trace format (default auto-detect)"},run_id:{type:"string",description:"Tag candidates with this run (default: ambient envelope run_id)"},model:{type:"string",description:"Optional Ollama model for extraction (overrides WYRM_EXTRACT_MODEL); omit for deterministic"}},required:["projectPath"]},outputSchema:{type:"object",properties:{method:{type:"string"},model:{type:["string","null"]},format:{type:"string"},source:{type:"string"},run_id:{type:["string","null"]},segments:{type:"integer"},added:{type:"integer"},skipped:{type:"integer"},candidates:{type:"array",items:{type:"object",properties:{kind:{type:"string"},text:{type:"string"}},required:["kind","text"]}}},required:["method","model","format","source","run_id","segments","added","skipped","candidates"]},annotations:E.wyrm_capture_trace,aliases:[],handler:async(v,{store:w,raw:j,memory:m,cache:_})=>{const{projectPath:g,trace:c,path:f,format:i,run_id:u,model:a}=v,d=w.getProject(g);if(!d)return{content:[{type:"text",text:`Project not found: ${g}`}],isError:!0};const p=Y(),s=typeof u=="string"&&u.trim()?u.trim().slice(0,64):p.run_id;let b="",e="inline";if(typeof c=="string"&&c.trim())b=c,e="inline";else if(typeof f=="string"&&f.trim()){let y=f.trim();(y==="~"||y.startsWith("~/"))&&(y=O(V(),y.slice(1)));try{if(R(y).isDirectory()){const T=G(y).map(C=>O(y,C)).filter(C=>{try{return R(C).isFile()}catch{return!1}}).sort((C,F)=>R(F).mtimeMs-R(C).mtimeMs);if(T.length===0)return{content:[{type:"text",text:`No trace files in directory: ${y}`}],isError:!0};b=W(T[0],"utf-8"),e=T[0]}else b=W(y,"utf-8"),e=y}catch(P){return{content:[{type:"text",text:`Could not read trace path "${y}": ${P.message}`}],isError:!0}}}else return{content:[{type:"text",text:"Provide a `trace` (inline text) or a `path` (trace file or ~/.dragon/traces dir)."}],isError:!0};const{segments:t,format:l}=K(b,i??"auto"),o=J(t);if(o.trim().length<20){const y={method:"deterministic",model:null,format:l,source:e,run_id:s,segments:t.length,added:0,skipped:0,candidates:[]};return q(y,(P,T)=>I(T.brand,`Trace harvest (${P.format}) -- no durable content extracted from ${P.segments} segment(s).`))}const{candidates:h,method:r,model:n}=await M(o,{model:a}),x=j();let $=0,k=0;for(const y of h){const P=L(y),T=P.tags[P.tags.length-1];if(x.prepare("SELECT 1 FROM memory_artifacts WHERE project_id = ? AND tags LIKE ? ESCAPE '\\' LIMIT 1").get(d.id,"%"+D(T)+"%")){k++;continue}const C=s?[...P.tags,"trace",`run:${s}`]:[...P.tags,"trace"];Q({agent_id:p.agent_id,run_id:s,source:s?"param":p.source},()=>m.add(d.id,{kind:P.kind,problem:P.problem,tags:C,confidence:P.confidence,needsReview:1,createdBy:"trace-harvest"})),$++}$>0&&_.invalidate();const S={method:r,model:n??null,format:l,source:e,run_id:s,segments:t.length,added:$,skipped:k,candidates:h.slice(0,8).map(y=>({kind:y.kind,text:y.text.slice(0,80)}))};return q(S,(y,P)=>{const T=y.candidates.map(C=>` ${P.bullet} [${C.kind}] ${C.text}`).join(`
27
- `);return I(P.brand,`Trace harvest (${y.format}, ${y.method}${y.model?` - ${y.model}`:""}) -- ${y.segments} segment(s) -> ${y.added} candidate(s) to review queue, ${y.skipped} already present${y.run_id?` [run:${y.run_id}]`:""}.`)+(T?`
6
+ `).all(x,e);l.length>0&&(t=l.map(k=>({id:k.id,content:k.problem.slice(0,80)})))}catch{}}const $={status:"captured",type:p,subtype:c,confidence:h,reasoning:r,id:n,ref:`${s}:${n}`,needs_review:_,...t&&t.length>0?{advisory_conflicts:t}:{}};return q($,(w,P)=>{let S=`Captured as ${w.type}: ${w.subtype}
7
+ Confidence: ${w.confidence}% | ${w.reasoning}
8
+ ID: ${w.ref}`;w.needs_review&&(S+=`
9
+ `+I(P.warn,"Stored for review -- run `wyrm_review` to activate"));const x=w.advisory_conflicts;return x&&x.length>0&&(S+=`
10
+
11
+ `+I(P.warn,`Advisory: ${x.length} similar heuristic(s) found:`)+`
12
+ `+x.map(l=>` ${P.bullet} [${l.id}] ${l.content}`).join(`
13
+ `)),S})}},{name:"wyrm_remember",description:"Store a distilled knowledge artifact \u2014 proven patterns, lessons learned, anti-patterns, and reasoning traces. These are recalled automatically by wyrm_context_build to help AI models apply past knowledge to new tasks. Example: wyrm_remember({ projectPath: '/home/user/api', kind: 'anti_pattern', problem: 'Jest suite hung after adding the SSE server', validatedFix: 'close() the server in afterAll \u2014 its keep-alive timer held the event loop open', whyItWorked: 'open handles block jest exit', outcome: 'positive', tags: ['jest', 'sse'] })",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Project this knowledge belongs to"},kind:{type:"string",enum:["reasoning_trace","lesson","pattern","anti_pattern","heuristic"],description:"reasoning_trace: a solved problem with steps; lesson: a general insight; pattern: a proven approach; anti_pattern: what NOT to do; heuristic: a rule of thumb"},problem:{type:"string",description:"What was being solved or observed (be specific and searchable)"},constraints:{type:"string",description:"What conditions or constraints applied"},validatedFix:{type:"string",description:"What actually worked \u2014 the validated solution or approach"},whyItWorked:{type:"string",description:"The insight behind WHY this worked (key for transfer learning)"},outcome:{type:"string",enum:["positive","negative","neutral"],description:"Was this approach successful?"},tags:{type:"array",items:{type:"string"},description:"Searchable tags (e.g. ['auth', 'rate-limit', 'typescript'])"},confidence:{type:"number",description:"Confidence level 0.0\u20131.0 (default: 1.0)"},sourceSessionId:{type:"number",description:"Session ID where this was discovered (optional)"}},required:["projectPath","kind","problem"]},outputSchema:{type:"object",properties:{id:{type:"integer"},kind:{type:"string",enum:["reasoning_trace","lesson","pattern","anti_pattern","heuristic"]},problem:{type:"string"},validated_fix:{type:["string","null"]},why_it_worked:{type:["string","null"]},confidence:{type:"number"},tags:{type:["string","null"]}},required:["id","kind","problem","validated_fix","why_it_worked","confidence","tags"]},annotations:E.wyrm_remember,aliases:[],handler:async(j,{store:v,memory:b})=>{const{projectPath:u,kind:g,problem:f,constraints:a,validatedFix:m,whyItWorked:o,outcome:y,tags:i,confidence:d,sourceSessionId:p}=j,c=H("kind",g,["reasoning_trace","lesson","pattern","anti_pattern","heuristic"]);if(c===void 0)throw new U("kind","is required");const h=v.getProject(u);if(!h)return{content:[{type:"text",text:`Project not found: ${u}`}],isError:!0};const r={kind:c,problem:f,constraints:a,validatedFix:m,whyItWorked:o,outcome:y,tags:i,confidence:d,sourceSessionId:p},e=await A("artifact_add",h.id,r,()=>b.add(h.id,r)),n={id:e.id,kind:e.kind,problem:e.problem,validated_fix:e.validated_fix??null,why_it_worked:e.why_it_worked??null,confidence:e.confidence,tags:e.tags??null};return q(n,(s,_)=>{let t=I(_.brand,"**Memory Stored**")+`
14
+
15
+ `;return t+=`${_.bullet} **Kind:** ${s.kind}
16
+ `,t+=`${_.bullet} **ID:** ${s.id}
17
+ `,t+=`${_.bullet} **Problem:** ${s.problem}
18
+ `,s.validated_fix&&(t+=`${_.bullet} **Solution:** ${s.validated_fix}
19
+ `),s.why_it_worked&&(t+=`${_.bullet} **Why it worked:** ${s.why_it_worked}
20
+ `),t+=`${_.bullet} **Confidence:** ${(s.confidence*100).toFixed(0)}%
21
+ `,s.tags&&(t+=`${_.bullet} **Tags:** ${s.tags}
22
+ `),t+="\n_Use `wyrm_recall` to retrieve similar memories, or `wyrm_context_build` to assemble a task brief._",t})}},{name:"wyrm_auto_capture",description:"Auto-extract durable memories from freeform text (a session transcript, notes, a chat) into the REVIEW QUEUE. A LOCAL extractor \u2014 a configurable Ollama model (WYRM_EXTRACT_MODEL / the `model` arg) if set, else a deterministic heuristic \u2014 pulls out truths, failures, decisions, patterns, and lessons as needs_review candidates; approve/reject with wyrm_review (nothing auto-trusted). Closes the 'just talk, it remembers' gap without a cloud LLM. Deduped + idempotent. Example: wyrm_auto_capture({ projectPath: '/home/user/api', text: 'Deploy failed twice because wrangler.toml pointed at the old KV id; switched to the new binding and decided to pin binding names in CI.' })",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Project to file the extracted candidates under"},text:{type:"string",description:"Freeform text to extract durable memories from"},model:{type:"string",description:"Optional Ollama model for extraction (overrides WYRM_EXTRACT_MODEL); omit for deterministic extraction"}},required:["projectPath","text"]},outputSchema:{type:"object",properties:{method:{type:"string"},model:{type:["string","null"]},added:{type:"integer"},skipped:{type:"integer"},candidates:{type:"array",items:{type:"object",properties:{kind:{type:"string"},text:{type:"string"}},required:["kind","text"]}}},required:["method","model","added","skipped","candidates"]},annotations:E.wyrm_auto_capture,aliases:[],handler:async(j,{store:v,raw:b,memory:u,cache:g})=>{const{projectPath:f,text:a,model:m}=j,o=v.getProject(f);if(!o)return{content:[{type:"text",text:`Project not found: ${f}`}],isError:!0};if(!a||a.trim().length<20)return{content:[{type:"text",text:"Provide at least ~20 chars of text to extract from."}],isError:!0};const{candidates:y,method:i,model:d}=await M(a,{model:m}),p=b();let c=0,h=0;for(const e of y){const n=L(e),s=n.tags[n.tags.length-1];if(p.prepare("SELECT 1 FROM memory_artifacts WHERE project_id = ? AND tags LIKE ? ESCAPE '\\' LIMIT 1").get(o.id,"%"+D(s)+"%")){h++;continue}u.add(o.id,{kind:n.kind,problem:n.problem,tags:n.tags,confidence:n.confidence,needsReview:1,createdBy:"auto-extract"}),c++}c>0&&g.invalidate();const r={method:i,model:d??null,added:c,skipped:h,candidates:y.slice(0,8).map(e=>({kind:e.kind,text:e.text.slice(0,80)}))};return q(r,(e,n)=>{const s=e.candidates.map(_=>` ${n.bullet} [${_.kind}] ${_.text}`).join(`
23
+ `);return I(n.brand,`Auto-capture (${e.method}${e.model?` - ${e.model}`:""}) -- ${e.added} candidate(s) -> review queue, ${e.skipped} already present.`)+`
24
+ ${s}
25
+
26
+ Approve/reject with wyrm_review.`})}},{name:"wyrm_capture_trace",description:"Harvest a harness's working trace into run-tagged review-queue candidates \u2014 OFFLINE. Ingests a Claude Code session transcript (JSONL), a ~/.dragon/traces file/dir, or WYRM_TRACE_TOOL_CALLS event output. The SAME local extractor as auto-capture (Ollama WYRM_EXTRACT_MODEL if set, else deterministic \u2014 never a cloud LLM) pulls durable truths/failures/decisions/patterns/lessons; secrets (API keys, tokens, passwords) are REDACTED before anything is stored; candidates land needs_review=1 stamped with the run_id (arg or ambient envelope). Approve/reject with wyrm_review; deduped + idempotent. Pass `trace` (inline text) OR `path` (a trace file or the ~/.dragon/traces dir). Reached via wyrm_capture({ mode: 'trace' }).",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Project to file the candidates under"},trace:{type:"string",description:"Inline trace text (JSONL transcript / dragon records / tool-call events)"},path:{type:"string",description:"Path to a trace file, or the ~/.dragon/traces directory (newest file is read); omit ~ for absolute"},format:{type:"string",enum:["auto","claude-jsonl","dragon","tool-calls"],description:"Trace format (default auto-detect)"},run_id:{type:"string",description:"Tag candidates with this run (default: ambient envelope run_id)"},model:{type:"string",description:"Optional Ollama model for extraction (overrides WYRM_EXTRACT_MODEL); omit for deterministic"}},required:["projectPath"]},outputSchema:{type:"object",properties:{method:{type:"string"},model:{type:["string","null"]},format:{type:"string"},source:{type:"string"},run_id:{type:["string","null"]},segments:{type:"integer"},added:{type:"integer"},skipped:{type:"integer"},candidates:{type:"array",items:{type:"object",properties:{kind:{type:"string"},text:{type:"string"}},required:["kind","text"]}}},required:["method","model","format","source","run_id","segments","added","skipped","candidates"]},annotations:E.wyrm_capture_trace,aliases:[],handler:async(j,{store:v,raw:b,memory:u,cache:g})=>{const{projectPath:f,trace:a,path:m,format:o,run_id:y,model:i}=j,d=v.getProject(f);if(!d)return{content:[{type:"text",text:`Project not found: ${f}`}],isError:!0};const p=Y(),c=typeof y=="string"&&y.trim()?y.trim().slice(0,64):p.run_id;let h="",r="inline";if(typeof a=="string"&&a.trim())h=a,r="inline";else if(typeof m=="string"&&m.trim()){let l=m.trim();(l==="~"||l.startsWith("~/"))&&(l=O(V(),l.slice(1)));try{if(R(l).isDirectory()){const T=G(l).map(C=>O(l,C)).filter(C=>{try{return R(C).isFile()}catch{return!1}}).sort((C,F)=>R(F).mtimeMs-R(C).mtimeMs);if(T.length===0)return{content:[{type:"text",text:`No trace files in directory: ${l}`}],isError:!0};h=W(T[0],"utf-8"),r=T[0]}else h=W(l,"utf-8"),r=l}catch(k){return{content:[{type:"text",text:`Could not read trace path "${l}": ${k.message}`}],isError:!0}}}else return{content:[{type:"text",text:"Provide a `trace` (inline text) or a `path` (trace file or ~/.dragon/traces dir)."}],isError:!0};const{segments:e,format:n}=K(h,o??"auto"),s=J(e);if(s.trim().length<20){const l={method:"deterministic",model:null,format:n,source:r,run_id:c,segments:e.length,added:0,skipped:0,candidates:[]};return q(l,(k,T)=>I(T.brand,`Trace harvest (${k.format}) -- no durable content extracted from ${k.segments} segment(s).`))}const{candidates:_,method:t,model:$}=await M(s,{model:i}),w=b();let P=0,S=0;for(const l of _){const k=L(l),T=k.tags[k.tags.length-1];if(w.prepare("SELECT 1 FROM memory_artifacts WHERE project_id = ? AND tags LIKE ? ESCAPE '\\' LIMIT 1").get(d.id,"%"+D(T)+"%")){S++;continue}const C=c?[...k.tags,"trace",`run:${c}`]:[...k.tags,"trace"];Q({agent_id:p.agent_id,run_id:c,source:c?"param":p.source},()=>u.add(d.id,{kind:k.kind,problem:k.problem,tags:C,confidence:k.confidence,needsReview:1,createdBy:"trace-harvest"})),P++}P>0&&g.invalidate();const x={method:t,model:$??null,format:n,source:r,run_id:c,segments:e.length,added:P,skipped:S,candidates:_.slice(0,8).map(l=>({kind:l.kind,text:l.text.slice(0,80)}))};return q(x,(l,k)=>{const T=l.candidates.map(C=>` ${k.bullet} [${C.kind}] ${C.text}`).join(`
27
+ `);return I(k.brand,`Trace harvest (${l.format}, ${l.method}${l.model?` - ${l.model}`:""}) -- ${l.segments} segment(s) -> ${l.added} candidate(s) to review queue, ${l.skipped} already present${l.run_id?` [run:${l.run_id}]`:""}.`)+(T?`
28
28
  ${T}`:"")+`
29
29
 
30
- Approve/reject with wyrm_review.`})}},{name:"wyrm_distill",description:"Distill a work session into candidate memory artifacts for review. Parses the session's objectives, decisions, and outcomes into structured artifacts (lessons, patterns, anti-patterns) and queues them for approval via wyrm_review. Use at session end to extract institutional knowledge.",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Project root path"},sessionId:{type:"string",description:"Session ID to distill"},candidates:{type:"array",description:"Pre-parsed candidate artifacts to store for review",items:{type:"object",properties:{kind:{type:"string",enum:["lesson","pattern","anti_pattern","heuristic","reasoning_trace"]},title:{type:"string"},content:{type:"string"},tags:{type:"array",items:{type:"string"}},confidence:{type:"number"}},required:["kind","title","content"]}}},required:["projectPath","candidates"]},outputSchema:{type:"object",properties:{count:{type:"integer"},artifacts:{type:"array",items:{type:"object",properties:{id:{type:"integer"},kind:{type:"string"},title:{type:"string"}},required:["id","kind","title"]}}},required:["count","artifacts"]},annotations:E.wyrm_distill,aliases:[],handler:(v,{store:w,memory:j})=>{const{projectPath:m,candidates:_}=v,g=w.getProject(m);if(!g)return{content:[{type:"text",text:`Project not found: ${m}`}],isError:!0};if(!_||_.length===0)return{content:[{type:"text",text:`**Distill**
30
+ Approve/reject with wyrm_review.`})}},{name:"wyrm_distill",description:"Distill a work session into candidate memory artifacts for review. Parses the session's objectives, decisions, and outcomes into structured artifacts (lessons, patterns, anti-patterns) and queues them for approval via wyrm_review. Use at session end to extract institutional knowledge.",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Project root path"},sessionId:{type:"string",description:"Session ID to distill"},candidates:{type:"array",description:"Pre-parsed candidate artifacts to store for review",items:{type:"object",properties:{kind:{type:"string",enum:["lesson","pattern","anti_pattern","heuristic","reasoning_trace"]},title:{type:"string"},content:{type:"string"},tags:{type:"array",items:{type:"string"}},confidence:{type:"number"}},required:["kind","title","content"]}}},required:["projectPath","candidates"]},outputSchema:{type:"object",properties:{count:{type:"integer"},artifacts:{type:"array",items:{type:"object",properties:{id:{type:"integer"},kind:{type:"string"},title:{type:"string"}},required:["id","kind","title"]}}},required:["count","artifacts"]},annotations:E.wyrm_distill,aliases:[],handler:(j,{store:v,memory:b})=>{const{projectPath:u,candidates:g}=j,f=v.getProject(u);if(!f)return{content:[{type:"text",text:`Project not found: ${u}`}],isError:!0};if(!g||g.length===0)return{content:[{type:"text",text:`**Distill**
31
31
 
32
- No candidates provided. Provide an array of candidate artifacts to distill.`}],isError:!0};const c=[];for(const i of _){const u=j.add(g.id,{kind:i.kind,problem:i.title,validatedFix:i.content,tags:i.tags??[],confidence:i.confidence??.7,needsReview:1});c.push({id:u.id,kind:i.kind,title:i.title})}const f={count:c.length,artifacts:c};return q(f,(i,u)=>{let a=I(u.brand,`**Distillation Complete** -- ${i.count} artifact${i.count!==1?"s":""} queued for review`)+`
32
+ No candidates provided. Provide an array of candidate artifacts to distill.`}],isError:!0};const a=[];for(const o of g){const y=b.add(f.id,{kind:o.kind,problem:o.title,validatedFix:o.content,tags:o.tags??[],confidence:o.confidence??.7,needsReview:1});a.push({id:y.id,kind:o.kind,title:o.title})}const m={count:a.length,artifacts:a};return q(m,(o,y)=>{let i=I(y.brand,`**Distillation Complete** -- ${o.count} artifact${o.count!==1?"s":""} queued for review`)+`
33
33
 
34
- `;return a+=i.artifacts.map(d=>`${u.bullet} [#${d.id}] **${d.kind}**: ${d.title}`).join(`
35
- `),a+="\n\nUse `wyrm_review` with each ID to approve or reject.",a})}},{name:"wyrm_harvest",description:"Auto-populate memory from artifacts you already produce. Walks a project (or ALL registered projects) and harvests durable facts from its docs (README/CLAUDE/AGENTS/ARCHITECTURE) plus recent commit subjects (git log) into the REVIEW QUEUE \u2014 approve/reject with wyrm_review, nothing is auto-trusted. Idempotent (re-runs skip what's already harvested). Use dryRun to preview. The fix for a thin corpus.",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Harvest one project; omit to harvest ALL registered projects"},dryRun:{type:"boolean",description:"Preview what would be harvested without writing anything"},gitLimit:{type:"number",description:"How many recent commits to scan per project (default 30, max 200)"},includeCode:{type:"boolean",description:"Also harvest CODE: tech-stack facts from manifests (package.json/Cargo.toml/\u2026) + TODO/FIXME markers into the review queue, AND index code symbols (functions/classes/types) for search. Heavier \u2014 scope to one project for the full code pass."}}},outputSchema:{type:"object",properties:{dry_run:{type:"boolean"},projects_scanned:{type:"integer"},added:{type:"integer"},skipped:{type:"integer"},top:{type:"array",items:{type:"object",properties:{project:{type:"string"},added:{type:"integer"},skipped:{type:"integer"}},required:["project","added","skipped"]}},sample:{type:"array",items:{type:"string"}},code_symbols:{type:["object","null"],properties:{symbols:{type:"integer"},projects:{type:"integer"},files:{type:"integer"}},required:["symbols","projects","files"]}},required:["dry_run","projects_scanned","added","skipped","top","sample","code_symbols"]},annotations:E.wyrm_harvest,aliases:[],handler:(v,{store:w,raw:j,memory:m,symbols:_,cache:g})=>{const{projectPath:c,dryRun:f,gitLimit:i,includeCode:u}=v,a=j(),d={existsBySig:(r,n)=>!!a.prepare("SELECT 1 FROM memory_artifacts WHERE project_id = ? AND tags LIKE ? ESCAPE '\\' LIMIT 1").get(r,"%"+D(n)+"%"),addCandidate:(r,n)=>{m.add(r,{kind:n.kind,problem:n.text,tags:[...n.tags,n.sig],confidence:n.confidence,needsReview:1,createdBy:"harvest"})}};let p;if(c){const r=w.getProject(c);if(!r)return{content:[{type:"text",text:"Project not found"}],isError:!0};p=[{id:r.id,name:r.name,path:r.path}]}else p=w.getAllProjects(500).map(r=>({id:r.id,name:r.name,path:r.path}));const{reports:s,totalAdded:b,totalSkipped:e}=X(d,p,{dryRun:f,gitLimit:i,includeCode:u});!f&&b>0&&g.invalidate();let t=null;if(u&&!f){let r=0,n=0,x=0;for(const $ of p)try{const k=_.indexProject($.id,$.path);r+=k.files,n+=k.symbols,x++}catch{}t={symbols:n,projects:x,files:r}}const l=s.filter(r=>r.added>0).sort((r,n)=>n.added-r.added).slice(0,15).map(r=>({project:r.project,added:r.added,skipped:r.skipped})),o=s.flatMap(r=>r.sample??[]).slice(0,6),h={dry_run:!!f,projects_scanned:p.length,added:b,skipped:e,top:l,sample:o,code_symbols:t};return q(h,(r,n)=>{const x=r.code_symbols?`
36
- Indexed ${r.code_symbols.symbols} code symbols across ${r.code_symbols.projects} project(s) (${r.code_symbols.files} files) -> searchable via wyrm_symbol_search.`:"",$=r.top.map(S=>` +${String(S.added).padStart(3)} (skip ${S.skipped}) ${S.project}`).join(`
37
- `),k=r.sample.map(S=>` ${n.bullet} ${S}`).join(`
38
- `);return I(n.brand,`Harvest ${r.dry_run?"(dry run) ":""}-- ${r.added} candidate(s) -> review queue across ${r.projects_scanned} project(s); ${r.skipped} already present.`)+`${x}
39
- ${$}`+(k?`
34
+ `;return i+=o.artifacts.map(d=>`${y.bullet} [#${d.id}] **${d.kind}**: ${d.title}`).join(`
35
+ `),i+="\n\nUse `wyrm_review` with each ID to approve or reject.",i})}},{name:"wyrm_harvest",description:"Auto-populate memory from artifacts you already produce. Walks a project (or ALL registered projects) and harvests durable facts from its docs (README/CLAUDE/AGENTS/ARCHITECTURE) plus recent commit subjects (git log) into the REVIEW QUEUE \u2014 approve/reject with wyrm_review, nothing is auto-trusted. Idempotent (re-runs skip what's already harvested). Use dryRun to preview. The fix for a thin corpus.",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Harvest one project; omit to harvest ALL registered projects"},dryRun:{type:"boolean",description:"Preview what would be harvested without writing anything"},gitLimit:{type:"number",description:"How many recent commits to scan per project (default 30, max 200)"},includeCode:{type:"boolean",description:"Also harvest CODE: tech-stack facts from manifests (package.json/Cargo.toml/\u2026) + TODO/FIXME markers into the review queue, AND index code symbols (functions/classes/types) for search. Heavier \u2014 scope to one project for the full code pass."}}},outputSchema:{type:"object",properties:{dry_run:{type:"boolean"},projects_scanned:{type:"integer"},added:{type:"integer"},skipped:{type:"integer"},top:{type:"array",items:{type:"object",properties:{project:{type:"string"},added:{type:"integer"},skipped:{type:"integer"}},required:["project","added","skipped"]}},sample:{type:"array",items:{type:"string"}},code_symbols:{type:["object","null"],properties:{symbols:{type:"integer"},projects:{type:"integer"},files:{type:"integer"}},required:["symbols","projects","files"]}},required:["dry_run","projects_scanned","added","skipped","top","sample","code_symbols"]},annotations:E.wyrm_harvest,aliases:[],handler:(j,{store:v,raw:b,memory:u,symbols:g,cache:f})=>{const{projectPath:a,dryRun:m,gitLimit:o,includeCode:y}=j,i=b(),d={existsBySig:(t,$)=>!!i.prepare("SELECT 1 FROM memory_artifacts WHERE project_id = ? AND tags LIKE ? ESCAPE '\\' LIMIT 1").get(t,"%"+D($)+"%"),addCandidate:(t,$)=>{u.add(t,{kind:$.kind,problem:$.text,tags:[...$.tags,$.sig],confidence:$.confidence,needsReview:1,createdBy:"harvest"})}};let p;if(a){const t=v.getProject(a);if(!t)return{content:[{type:"text",text:"Project not found"}],isError:!0};p=[{id:t.id,name:t.name,path:t.path}]}else p=v.getAllProjects(500).map(t=>({id:t.id,name:t.name,path:t.path}));const{reports:c,totalAdded:h,totalSkipped:r}=X(d,p,{dryRun:m,gitLimit:o,includeCode:y});!m&&h>0&&f.invalidate();let e=null;if(y&&!m){let t=0,$=0,w=0;for(const P of p)try{const S=g.indexProject(P.id,P.path);t+=S.files,$+=S.symbols,w++}catch{}e={symbols:$,projects:w,files:t}}const n=c.filter(t=>t.added>0).sort((t,$)=>$.added-t.added).slice(0,15).map(t=>({project:t.project,added:t.added,skipped:t.skipped})),s=c.flatMap(t=>t.sample??[]).slice(0,6),_={dry_run:!!m,projects_scanned:p.length,added:h,skipped:r,top:n,sample:s,code_symbols:e};return q(_,(t,$)=>{const w=t.code_symbols?`
36
+ Indexed ${t.code_symbols.symbols} code symbols across ${t.code_symbols.projects} project(s) (${t.code_symbols.files} files) -> searchable via wyrm_symbol_search.`:"",P=t.top.map(x=>` +${String(x.added).padStart(3)} (skip ${x.skipped}) ${x.project}`).join(`
37
+ `),S=t.sample.map(x=>` ${$.bullet} ${x}`).join(`
38
+ `);return I($.brand,`Harvest ${t.dry_run?"(dry run) ":""}-- ${t.added} candidate(s) -> review queue across ${t.projects_scanned} project(s); ${t.skipped} already present.`)+`${w}
39
+ ${P}`+(S?`
40
40
 
41
41
  Sample:
42
- ${k}`:"")+`
42
+ ${S}`:"")+`
43
43
 
44
- Approve/reject with wyrm_review.`})}},{name:"wyrm_import_git",description:"Import a list of commits into the Wyrm memory review queue. Useful for onboarding a project's history or capturing recent work.",inputSchema:{type:"object",properties:{project_id:{type:"number",description:"Project ID"},commits:{type:"array",description:"Array of commit objects",items:{type:"object",properties:{message:{type:"string"},diff_summary:{type:"string"},author:{type:"string"},date:{type:"string"}},required:["message"]}},auto_approve:{type:"boolean",description:"Skip review queue and activate immediately (default: false)"}},required:["project_id","commits"]},outputSchema:{type:"object",properties:{captured:{type:"integer"},skipped:{type:"integer"},auto_approved:{type:"boolean"}},required:["captured","skipped","auto_approved"]},annotations:E.wyrm_import_git,aliases:[],handler:(v,{store:w,memory:j})=>{const{project_id:m,commits:_,auto_approve:g}=v;if(!w.getProjectById(m))return{content:[{type:"text",text:`Project ID ${m} not found.`}],isError:!0};let f=0,i=0;for(const a of _){const d=a.message??"";if(/^Merge /i.test(d)){i++;continue}if(/^(chore|bump|release|version)/i.test(d)){i++;continue}let p="pattern";/^fix(\(.+\))?:/i.test(d)?p="lesson":/^feat(\(.+\))?:/i.test(d)?p="pattern":/^refactor(\(.+\))?:/i.test(d)&&(p="heuristic");const s=d.split(":")[0]??"commit";j.add(m,{kind:p,problem:d,validatedFix:a.diff_summary??"",whyItWorked:`Committed by ${a.author??"unknown"} on ${a.date??"unknown"}`,tags:["git","commit",s.toLowerCase()],confidence:.6,needsReview:g?0:1}),f++}return q({captured:f,skipped:i,auto_approved:!!g},(a,d)=>I(d.brand,"**Git Import Complete**")+`
44
+ Approve/reject with wyrm_review.`})}},{name:"wyrm_import_git",description:"Import a list of commits into the Wyrm memory review queue. Useful for onboarding a project's history or capturing recent work.",inputSchema:{type:"object",properties:{project_id:{type:"number",description:"Project ID"},commits:{type:"array",description:"Array of commit objects",items:{type:"object",properties:{message:{type:"string"},diff_summary:{type:"string"},author:{type:"string"},date:{type:"string"}},required:["message"]}},auto_approve:{type:"boolean",description:"Skip review queue and activate immediately (default: false)"}},required:["project_id","commits"]},outputSchema:{type:"object",properties:{captured:{type:"integer"},skipped:{type:"integer"},auto_approved:{type:"boolean"}},required:["captured","skipped","auto_approved"]},annotations:E.wyrm_import_git,aliases:[],handler:(j,{store:v,memory:b})=>{const{project_id:u,commits:g,auto_approve:f}=j;if(!v.getProjectById(u))return{content:[{type:"text",text:`Project ID ${u} not found.`}],isError:!0};let m=0,o=0;for(const i of g){const d=i.message??"";if(/^Merge /i.test(d)){o++;continue}if(/^(chore|bump|release|version)/i.test(d)){o++;continue}let p="pattern";/^fix(\(.+\))?:/i.test(d)?p="lesson":/^feat(\(.+\))?:/i.test(d)?p="pattern":/^refactor(\(.+\))?:/i.test(d)&&(p="heuristic");const c=d.split(":")[0]??"commit";b.add(u,{kind:p,problem:d,validatedFix:i.diff_summary??"",whyItWorked:`Committed by ${i.author??"unknown"} on ${i.date??"unknown"}`,tags:["git","commit",c.toLowerCase()],confidence:.6,needsReview:f?0:1}),m++}return q({captured:m,skipped:o,auto_approved:!!f},(i,d)=>I(d.brand,"**Git Import Complete**")+`
45
45
 
46
- ${d.bullet} **Captured:** ${a.captured}
47
- ${d.bullet} **Skipped:** ${a.skipped} (merges/chores)
48
- ${d.bullet} **Review needed:** ${a.auto_approved?"No (auto-approved)":`Yes -- run \`wyrm_review\` to activate ${a.captured} artifact${a.captured!==1?"s":""}`}`)}},{name:"wyrm_import_pr",description:"Import a pull request (title, body, review comments) into the Wyrm memory review queue to extract patterns and heuristics.",inputSchema:{type:"object",properties:{project_id:{type:"number",description:"Project ID"},title:{type:"string",description:"PR title"},body:{type:"string",description:"PR description / body"},review_comments:{type:"array",items:{type:"string"},description:"Review comment strings"},auto_approve:{type:"boolean",description:"Skip review queue (default: false)"}},required:["project_id","title","body"]},outputSchema:{type:"object",properties:{created:{type:"integer"},auto_approved:{type:"boolean"}},required:["created","auto_approved"]},annotations:E.wyrm_import_pr,aliases:[],handler:(v,{store:w,memory:j})=>{const{project_id:m,title:_,body:g,review_comments:c,auto_approve:f}=v;if(!w.getProjectById(m))return{content:[{type:"text",text:`Project ID ${m} not found.`}],isError:!0};let u=0;const a=f?0:1;j.add(m,{kind:"pattern",problem:`${_}
46
+ ${d.bullet} **Captured:** ${i.captured}
47
+ ${d.bullet} **Skipped:** ${i.skipped} (merges/chores)
48
+ ${d.bullet} **Review needed:** ${i.auto_approved?"No (auto-approved)":`Yes -- run \`wyrm_review\` to activate ${i.captured} artifact${i.captured!==1?"s":""}`}`)}},{name:"wyrm_import_pr",description:"Import a pull request (title, body, review comments) into the Wyrm memory review queue to extract patterns and heuristics.",inputSchema:{type:"object",properties:{project_id:{type:"number",description:"Project ID"},title:{type:"string",description:"PR title"},body:{type:"string",description:"PR description / body"},review_comments:{type:"array",items:{type:"string"},description:"Review comment strings"},auto_approve:{type:"boolean",description:"Skip review queue (default: false)"}},required:["project_id","title","body"]},outputSchema:{type:"object",properties:{created:{type:"integer"},auto_approved:{type:"boolean"}},required:["created","auto_approved"]},annotations:E.wyrm_import_pr,aliases:[],handler:(j,{store:v,memory:b})=>{const{project_id:u,title:g,body:f,review_comments:a,auto_approve:m}=j;if(!v.getProjectById(u))return{content:[{type:"text",text:`Project ID ${u} not found.`}],isError:!0};let y=0;const i=m?0:1;b.add(u,{kind:"pattern",problem:`${g}
49
49
 
50
- ${g}`,validatedFix:"",whyItWorked:"",tags:["git","pr"],confidence:.65,needsReview:a}),u++;for(const p of c??[])/\b(should|must|always|never|prefer|avoid|use|don't)\b/i.test(p)&&(j.add(m,{kind:"heuristic",problem:p,validatedFix:"",whyItWorked:"",tags:["git","pr","review"],confidence:.65,needsReview:a}),u++);return q({created:u,auto_approved:!!f},(p,s)=>I(s.brand,"**PR Import Complete**")+`
50
+ ${f}`,validatedFix:"",whyItWorked:"",tags:["git","pr"],confidence:.65,needsReview:i}),y++;for(const p of a??[])/\b(should|must|always|never|prefer|avoid|use|don't)\b/i.test(p)&&(b.add(u,{kind:"heuristic",problem:p,validatedFix:"",whyItWorked:"",tags:["git","pr","review"],confidence:.65,needsReview:i}),y++);return q({created:y,auto_approved:!!m},(p,c)=>I(c.brand,"**PR Import Complete**")+`
51
51
 
52
- ${s.bullet} **Artifacts created:** ${p.created}
53
- ${s.bullet} **Review needed:** ${p.auto_approved?"No (auto-approved)":"Yes -- run `wyrm_review` to activate"}`)}},{name:"wyrm_import_rules",description:"Import a .cursorrules / copilot-instructions file into Wyrm. Parses by section and creates ground truths (for constraint/rule language) or memory artifacts (for general guidelines).",inputSchema:{type:"object",properties:{project_id:{type:"number",description:"Project ID"},content:{type:"string",description:"Full text of the rules file"},format:{type:"string",enum:["cursorrules","copilot","plain"],description:"Source format (default: plain)"},source_file:{type:"string",description:"Filename for provenance (optional)"}},required:["project_id","content"]},outputSchema:{type:"object",properties:{format:{type:"string"},source:{type:"string"},truths_created:{type:"integer"},artifacts_created:{type:"integer"}},required:["format","source","truths_created","artifacts_created"]},annotations:E.wyrm_import_rules,aliases:[],handler:(v,{store:w,memory:j,truths:m})=>{const{project_id:_,content:g,format:c,source_file:f}=v;if(!w.getProjectById(_))return{content:[{type:"text",text:`Project ID ${_} not found.`}],isError:!0};const u=c??"plain",a=f??"rules",d=["imported",u,a],p=g.split(/\n(?=#)/),s=g.split(/\n\n+/),b=(p.length>=s.length?p:s).map(o=>o.trim()).filter(o=>o.length>=15);let e=0,t=0;for(const o of b)/\b(always|never|must|use|don't|avoid|prefer)\b/i.test(o)?(m.set(_,{category:"constraint",key:o.slice(0,50).replace(/\n/g," "),value:o,source:a}),e++):(j.add(_,{kind:"heuristic",problem:o,validatedFix:"",whyItWorked:"",tags:d,confidence:.7,needsReview:1}),t++);return q({format:u,source:a,truths_created:e,artifacts_created:t},(o,h)=>I(h.brand,`**Rules Import Complete** (${o.format})`)+`
52
+ ${c.bullet} **Artifacts created:** ${p.created}
53
+ ${c.bullet} **Review needed:** ${p.auto_approved?"No (auto-approved)":"Yes -- run `wyrm_review` to activate"}`)}},{name:"wyrm_import_rules",description:"Import a .cursorrules / copilot-instructions file into Wyrm. Parses by section and creates ground truths (for constraint/rule language) or memory artifacts (for general guidelines).",inputSchema:{type:"object",properties:{project_id:{type:"number",description:"Project ID"},content:{type:"string",description:"Full text of the rules file"},format:{type:"string",enum:["cursorrules","copilot","plain"],description:"Source format (default: plain)"},source_file:{type:"string",description:"Filename for provenance (optional)"}},required:["project_id","content"]},outputSchema:{type:"object",properties:{format:{type:"string"},source:{type:"string"},truths_created:{type:"integer"},artifacts_created:{type:"integer"}},required:["format","source","truths_created","artifacts_created"]},annotations:E.wyrm_import_rules,aliases:[],handler:(j,{store:v,memory:b,truths:u})=>{const{project_id:g,content:f,format:a,source_file:m}=j;if(!v.getProjectById(g))return{content:[{type:"text",text:`Project ID ${g} not found.`}],isError:!0};const y=a??"plain",i=m??"rules",d=["imported",y,i],p=f.split(/\n(?=#)/),c=f.split(/\n\n+/),h=(p.length>=c.length?p:c).map(s=>s.trim()).filter(s=>s.length>=15);let r=0,e=0;for(const s of h)/\b(always|never|must|use|don't|avoid|prefer)\b/i.test(s)?(u.set(g,{category:"constraint",key:s.slice(0,50).replace(/\n/g," "),value:s,source:i}),r++):(b.add(g,{kind:"heuristic",problem:s,validatedFix:"",whyItWorked:"",tags:d,confidence:.7,needsReview:1}),e++);return q({format:y,source:i,truths_created:r,artifacts_created:e},(s,_)=>I(_.brand,`**Rules Import Complete** (${s.format})`)+`
54
54
 
55
- ${h.bullet} **Ground truths created:** ${o.truths_created} (active immediately)
56
- ${h.bullet} **Memory artifacts created:** ${o.artifacts_created} (pending review)
57
- ${h.bullet} **Source:** ${o.source}
55
+ ${_.bullet} **Ground truths created:** ${s.truths_created} (active immediately)
56
+ ${_.bullet} **Memory artifacts created:** ${s.artifacts_created} (pending review)
57
+ ${_.bullet} **Source:** ${s.source}
58
58
 
59
- Run \`wyrm_review\` to approve the memory artifacts.`)}},{name:"wyrm_spec_register",description:"Make spec-kit Wyrm-native. Reads a spec directory (spec.md title/summary + tasks.md task list) and creates one Wyrm quest per task, linked to a project, with a stored spec\u2192project link. Idempotent \u2014 re-running updates the same quests (deduped by a per-spec-task signature) instead of duplicating.",inputSchema:{type:"object",properties:{specDir:{type:"string",description:"Absolute path to the spec directory (e.g. '.../dragon-platform/specs/001-ghostmesh')"},projectPath:{type:"string",description:"Path of the Wyrm project to attach the spec + quests to (must already be registered)"},priority:{type:"string",enum:["critical","high","medium","low"],description:"Priority for the generated quests (default 'medium')"}},required:["specDir","projectPath"]},outputSchema:{type:"object",properties:{spec_dir:{type:"string"},title:{type:["string","null"]},project:{type:"string"},tasks_parsed:{type:"integer"},quests_created:{type:"integer"},quests_updated:{type:"integer"},quest_ids:{type:"array",items:{type:"integer"}}},required:["spec_dir","title","project","tasks_parsed","quests_created","quests_updated","quest_ids"]},annotations:E.wyrm_spec_register,aliases:[],handler:(v,{store:w,indexing:j})=>{const{specDir:m,projectPath:_,priority:g}=v,c=["specDir","projectPath"].filter(e=>{const t=v[e];return!t&&t!==0&&t!==!1});if(c.length>0)return{content:[{type:"text",text:`Missing required arguments: ${c.join(", ")}`}],isError:!0};const f=w.getProject(_);if(!f)return{content:[{type:"text",text:`**Spec Register**: Project not found at "${_}". Register it first (wyrm_scan_projects / wyrm_session_start).`}],isError:!0};const i=z(m);if(i.tasks.length===0){const e={spec_dir:m,title:i.title??null,project:f.name,tasks_parsed:0,quests_created:0,quests_updated:0,quest_ids:[]};return q(e,(t,l)=>I(l.brand,`**Spec Register**: No tasks found in ${N(t.spec_dir,"tasks.md")}. Nothing to create.`))}const u=g||"medium";let a=0,d=0;const p=[];for(const e of i.tasks){const t=Z(m,e.id),l=`${e.id}: ${e.title}`,o=t,h=w.findQuestBySpecSignature(f.id,t);if(h)w.updateQuestFields(h.id,{title:l,tags:o}),p.push(h.id),d++;else{const r=w.addQuest(f.id,l,`spec-kit task from ${m}`,u,o);j()?.enqueue("quest",r.id,f.id),p.push(r.id),a++}}const s=w.upsertSpec(f.id,m,i.title,i.summary,i.tasks.length),b={spec_dir:s.spec_dir,title:s.title??null,project:f.name,tasks_parsed:i.tasks.length,quests_created:a,quests_updated:d,quest_ids:p};return q(b,(e,t)=>{let l=I(t.brand,"**Spec Registered**")+`
59
+ Run \`wyrm_review\` to approve the memory artifacts.`)}},{name:"wyrm_spec_register",description:"Make spec-kit Wyrm-native. Reads a spec directory (spec.md title/summary + tasks.md task list) and creates one Wyrm quest per task, linked to a project, with a stored spec\u2192project link. Idempotent \u2014 re-running updates the same quests (deduped by a per-spec-task signature) instead of duplicating.",inputSchema:{type:"object",properties:{specDir:{type:"string",description:"Absolute path to the spec directory (e.g. '.../dragon-platform/specs/001-ghostmesh')"},projectPath:{type:"string",description:"Path of the Wyrm project to attach the spec + quests to (must already be registered)"},priority:{type:"string",enum:["critical","high","medium","low"],description:"Priority for the generated quests (default 'medium')"}},required:["specDir","projectPath"]},outputSchema:{type:"object",properties:{spec_dir:{type:"string"},title:{type:["string","null"]},project:{type:"string"},tasks_parsed:{type:"integer"},quests_created:{type:"integer"},quests_updated:{type:"integer"},quest_ids:{type:"array",items:{type:"integer"}}},required:["spec_dir","title","project","tasks_parsed","quests_created","quests_updated","quest_ids"]},annotations:E.wyrm_spec_register,aliases:[],handler:(j,{store:v,indexing:b})=>{const{specDir:u,projectPath:g,priority:f}=j,a=["specDir","projectPath"].filter(r=>{const e=j[r];return!e&&e!==0&&e!==!1});if(a.length>0)return{content:[{type:"text",text:`Missing required arguments: ${a.join(", ")}`}],isError:!0};const m=v.getProject(g);if(!m)return{content:[{type:"text",text:`**Spec Register**: Project not found at "${g}". Register it first (wyrm_scan_projects / wyrm_session_start).`}],isError:!0};const o=z(u);if(o.tasks.length===0){const r={spec_dir:u,title:o.title??null,project:m.name,tasks_parsed:0,quests_created:0,quests_updated:0,quest_ids:[]};return q(r,(e,n)=>I(n.brand,`**Spec Register**: No tasks found in ${N(e.spec_dir,"tasks.md")}. Nothing to create.`))}const y=f||"medium";let i=0,d=0;const p=[];for(const r of o.tasks){const e=Z(u,r.id),n=`${r.id}: ${r.title}`,s=e,_=v.findQuestBySpecSignature(m.id,e);if(_)v.updateQuestFields(_.id,{title:n,tags:s}),p.push(_.id),d++;else{const t=v.addQuest(m.id,n,`spec-kit task from ${u}`,y,s);b()?.enqueue("quest",t.id,m.id),p.push(t.id),i++}}const c=v.upsertSpec(m.id,u,o.title,o.summary,o.tasks.length),h={spec_dir:c.spec_dir,title:c.title??null,project:m.name,tasks_parsed:o.tasks.length,quests_created:i,quests_updated:d,quest_ids:p};return q(h,(r,e)=>{let n=I(e.brand,"**Spec Registered**")+`
60
60
 
61
- `;return l+=`Spec: ${e.title||"(untitled)"}
62
- `,s.summary&&(l+=`Summary: ${s.summary}
63
- `),l+=`Dir: ${e.spec_dir}
64
- `,l+=`Project: ${e.project}
65
- `,l+=`Tasks parsed: ${e.tasks_parsed}
66
- `,l+=`Quests created: ${e.quests_created} - updated: ${e.quests_updated}
67
- `,l+=`
61
+ `;return n+=`Spec: ${r.title||"(untitled)"}
62
+ `,c.summary&&(n+=`Summary: ${c.summary}
63
+ `),n+=`Dir: ${r.spec_dir}
64
+ `,n+=`Project: ${r.project}
65
+ `,n+=`Tasks parsed: ${r.tasks_parsed}
66
+ `,n+=`Quests created: ${r.quests_created} - updated: ${r.quests_updated}
67
+ `,n+=`
68
68
  \`\`\`json
69
- ${JSON.stringify({spec:e.spec_dir,title:e.title,project:e.project,tasksParsed:e.tasks_parsed,questsCreated:e.quests_created,questsUpdated:e.quests_updated,questIds:e.quest_ids},null,2)}
70
- \`\`\``,l})}},{name:"wyrm_scaffold_save",description:"Save a reasoning scaffold \u2014 a structured checklist that guides step-by-step thinking for a specific problem type. Scaffolds are automatically surfaced by wyrm_context_build when the task matches, helping AI models apply proven reasoning patterns.",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Project path (optional, null for global scaffolds)"},problemType:{type:"string",description:"Short slug for the problem type (e.g. 'api-design', 'security-review', 'db-migration')"},description:{type:"string",description:"What kind of task this scaffold helps with"},whenToUse:{type:"string",description:"Conditions that indicate this scaffold should be applied"},steps:{type:"array",items:{type:"string"},description:"Ordered checklist steps to follow"},verificationSteps:{type:"array",items:{type:"string"},description:"Steps to verify the work is correct"},doNotApplyIf:{type:"string",description:"Conditions where this scaffold does NOT apply"},tags:{type:"array",items:{type:"string"},description:"Searchable tags"}},required:["problemType","description","whenToUse","steps"]},outputSchema:{type:"object",properties:{id:{type:"integer"},problem_type:{type:"string"},description:{type:"string"},steps:{type:"integer"}},required:["id","problem_type","description","steps"]},annotations:E.wyrm_scaffold_save,aliases:[],handler:(v,{store:w,scaffolds:j,cache:m})=>{const{projectPath:_,problemType:g,description:c,whenToUse:f,steps:i,verificationSteps:u,doNotApplyIf:a,tags:d}=v,p=_?w.getProject(_)?.id??void 0:void 0,s=j.save({projectId:p,problemType:g,description:c,whenToUse:f,steps:i,verificationSteps:u??void 0,doNotApplyIf:a?[a]:void 0,tags:d??[]});m.invalidate("wyrm_scaffold_get"),m.invalidate("wyrm_context_build");const b={id:s.id,problem_type:g,description:c,steps:i.length};return q(b,(e,t)=>I(t.brand,"**Reasoning Scaffold Saved**")+`
69
+ ${JSON.stringify({spec:r.spec_dir,title:r.title,project:r.project,tasksParsed:r.tasks_parsed,questsCreated:r.quests_created,questsUpdated:r.quests_updated,questIds:r.quest_ids},null,2)}
70
+ \`\`\``,n})}},{name:"wyrm_scaffold_save",description:"Save a reasoning scaffold \u2014 a structured checklist that guides step-by-step thinking for a specific problem type. Scaffolds are automatically surfaced by wyrm_context_build when the task matches, helping AI models apply proven reasoning patterns.",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Project path (optional, null for global scaffolds)"},problemType:{type:"string",description:"Short slug for the problem type (e.g. 'api-design', 'security-review', 'db-migration')"},description:{type:"string",description:"What kind of task this scaffold helps with"},whenToUse:{type:"string",description:"Conditions that indicate this scaffold should be applied"},steps:{type:"array",items:{type:"string"},description:"Ordered checklist steps to follow"},verificationSteps:{type:"array",items:{type:"string"},description:"Steps to verify the work is correct"},doNotApplyIf:{type:"string",description:"Conditions where this scaffold does NOT apply"},tags:{type:"array",items:{type:"string"},description:"Searchable tags"}},required:["problemType","description","whenToUse","steps"]},outputSchema:{type:"object",properties:{id:{type:"integer"},problem_type:{type:"string"},description:{type:"string"},steps:{type:"integer"}},required:["id","problem_type","description","steps"]},annotations:E.wyrm_scaffold_save,aliases:[],handler:(j,{store:v,scaffolds:b,cache:u})=>{const{projectPath:g,problemType:f,description:a,whenToUse:m,steps:o,verificationSteps:y,doNotApplyIf:i,tags:d}=j,p=g?v.getProject(g)?.id??void 0:void 0,c=b.save({projectId:p,problemType:f,description:a,whenToUse:m,steps:o,verificationSteps:y??void 0,doNotApplyIf:i?[i]:void 0,tags:d??[]});u.invalidate("wyrm_scaffold_get"),u.invalidate("wyrm_context_build");const h={id:c.id,problem_type:f,description:a,steps:o.length};return q(h,(r,e)=>I(e.brand,"**Reasoning Scaffold Saved**")+`
71
71
 
72
- ${t.bullet} **Problem Type:** ${e.problem_type}
73
- ${t.bullet} **Description:** ${e.description}
74
- ${t.bullet} **Steps:** ${e.steps} checklist items
75
- ${t.bullet} **ID:** ${e.id}
72
+ ${e.bullet} **Problem Type:** ${r.problem_type}
73
+ ${e.bullet} **Description:** ${r.description}
74
+ ${e.bullet} **Steps:** ${r.steps} checklist items
75
+ ${e.bullet} **ID:** ${r.id}
76
76
 
77
- This scaffold will be surfaced by \`wyrm_context_build\` when tasks match "${e.problem_type}".`)}}];export{ye as captureToolSpecs};
77
+ This scaffold will be surfaced by \`wyrm_context_build\` when tasks match "${r.problem_type}".`)}}];export{ye as captureToolSpecs};
@@ -1 +1 @@
1
- {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/handlers/capture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/handlers/capture.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"failure.d.ts","sourceRoot":"","sources":["../../src/handlers/failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOvE,gDAAgD;AAChD,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC;AAEhF,8EAA8E;AAC9E,eAAO,MAAM,2BAA2B,EAAE,UAoCzC,CAAC;AAgCF,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CAsQpE,CAAC"}
1
+ {"version":3,"file":"failure.d.ts","sourceRoot":"","sources":["../../src/handlers/failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOvE,gDAAgD;AAChD,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC;AAEhF,8EAA8E;AAC9E,eAAO,MAAM,2BAA2B,EAAE,UAoCzC,CAAC;AAgCF,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CA4QpE,CAAC"}
@@ -1,13 +1,13 @@
1
- import{TOOL_ANNOTATIONS as h}from"../tool-annotations.js";import{renderResult as f,withGlyph as y}from"../render.js";import{asEnum as j}from"../validate.js";import{daemonOr as q}from"../daemon-writer.js";const v={type:"object",properties:{blocked:{type:"boolean"},matches:{type:"array",items:{type:"object",properties:{id:{type:"integer"},pattern:{type:"string"},scope:{type:"string"},quarantine_scope:{type:"string"},target:{type:"string"},description:{type:"string"},why_failed:{type:["string","null"]},severity:{type:"string"},occurrences:{type:"integer"},last_seen:{type:"string"},recorded_by_agent:{type:"string"},run_id:{type:["string","null"]},match:{type:"string",enum:["exact","fuzzy","target"]},confidence:{type:"number",minimum:0,maximum:1}},required:["id","pattern","scope","quarantine_scope","target","description","why_failed","severity","occurrences","last_seen","recorded_by_agent","run_id","match","confidence"]}},recorded_by_agent:{type:["string","null"]},run_id:{type:["string","null"]},confidence:{type:"number",minimum:0,maximum:1}},required:["blocked","matches","recorded_by_agent","run_id","confidence"]},w={type:["object","null"],properties:{requested:{type:"string"},authorized:{type:"boolean"},changed:{type:"boolean"}},required:["requested","authorized","changed"]};function x(n,a){return n?n.authorized?n.changed?"":` - promote:'${n.requested}' was a no-op (already ${a}-scoped)`:` - promote:'${n.requested}' IGNORED -- caller carries no explicit identity (pass actor/run_id, _meta['wyrm/actor'], or WYRM_AGENT_ID/WYRM_RUN_ID)`:""}const R=[{name:"wyrm_failure_record",description:"Use when an approach failed or something broke - log the dead end so nobody tries it again. Identical (scope, target, description) coalesces with occurrences++; when the root cause is fixed, stop flagging it via wyrm_failure_resolve. Run-scoped failures quarantine until confirmed.",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Global if omitted"},scope:{type:"string",enum:["file","symbol","command","prompt","edit"]},target:{type:"string",description:"File, symbol, command, or prompt"},description:{type:"string",description:"What was tried"},why_failed:{type:"string",description:"Diagnosis if known"},severity:{type:"string",enum:["low","medium","high","critical"]},promote:{type:"string",enum:["project","global"],description:"Widen the tier (explicitly attributed callers only)"}},required:["scope","target","description"]},outputSchema:{type:"object",properties:{id:{type:"integer"},occurrences:{type:"integer"},scope:{type:"string"},target:{type:"string"},quarantine_scope:{type:"string"},run_id:{type:["string","null"]},promote:w},required:["id","occurrences","scope","target","quarantine_scope","run_id","promote"]},annotations:h.wyrm_failure_record,aliases:[],handler:async(n,{store:a,failures:c})=>{const{projectPath:p,scope:s,target:d,description:g,why_failed:m,severity:o,promote:t}=n,i=j("severity",o,["low","medium","high","critical"]),u=p?a.getProject(p):null;let r=await q("failure_record",u?.id??null,{scope:s,target:d,description:g,why_failed:m,severity:i},()=>c.record({project_id:u?.id??null,scope:s,target:d,description:g,why_failed:m,severity:i})),l=null;if(t==="project"||t==="global"){const e=c.promote(r.id,t);e.authorized&&(r=e.row??r),l={requested:t,authorized:e.authorized,changed:e.changed,quarantine_scope:e.row?.quarantine_scope??r.quarantine_scope??null}}const _={id:r.id,occurrences:r.occurrences,scope:s,target:d,quarantine_scope:r.quarantine_scope,run_id:r.run_id??null,promote:l};return f(_,(e,b)=>{const $=e.run_id?` - ${e.quarantine_scope}-scoped (run ${e.run_id})`:` - ${e.quarantine_scope}-scoped`;return y(b.brand,`Failure #${e.id} recorded (x${e.occurrences}) -- ${e.scope}:${e.target}${$}`+x(e.promote,e.quarantine_scope))})}},{name:"wyrm_failure_check",description:"Use before proposing or executing any fix, command, or approach - did this fail before? Is it a known landmine? Counter-pattern memory: returns unresolved matching failures (empty = safe to proceed); show the mistakes already made on a project with wyrm_failure_list. Subagents: check before retrying anything flagged.",inputSchema:{type:"object",properties:{projectPath:{type:"string"},scope:{type:"string",enum:["file","symbol","command","prompt","edit"]},target:{type:"string"},description:{type:"string"},run_scope:{type:"string",enum:["run","project","global"],description:"Quarantine tier filter (run = same-run only)"}},required:["scope","target","description"]},outputSchema:v,annotations:h.wyrm_failure_check,aliases:[],handler:async(n,{store:a,raw:c,failures:p})=>{const{projectPath:s,scope:d,target:g,description:m,run_scope:o}=n,t=s?a.getProject(s):null,i=o==="run"||o==="project"||o==="global"?o:"any",u=p.checkVerdict(d,g,m,t?.id??null,{runScope:i});if(u.blocked){p.recordBlock(u,t?.id??null);try{const{logSavings:r}=await import("../statusline.js"),l=c(),_=t?l.prepare("SELECT id FROM sessions WHERE project_id = ? ORDER BY created_at DESC LIMIT 1").get(t.id):void 0;r(l,"wyrm_failure_check","blocked_retry",1500*u.matches.length,_?.id)}catch{}}return f(u,(r,l)=>{if(!r.blocked)return y(l.ok,"No matching failures -- safe to proceed.");const _=r.matches.map(e=>`${y(l.fail,`#${e.id} ${e.scope}:${e.target}`)} -- tried ${e.occurrences}x (${e.severity}); last ${e.last_seen}
1
+ import{TOOL_ANNOTATIONS as _}from"../tool-annotations.js";import{renderResult as f,withGlyph as g}from"../render.js";import{asEnum as j,ValidationError as w}from"../validate.js";import{daemonOr as v}from"../daemon-writer.js";const x={type:"object",properties:{blocked:{type:"boolean"},matches:{type:"array",items:{type:"object",properties:{id:{type:"integer"},pattern:{type:"string"},scope:{type:"string"},quarantine_scope:{type:"string"},target:{type:"string"},description:{type:"string"},why_failed:{type:["string","null"]},severity:{type:"string"},occurrences:{type:"integer"},last_seen:{type:"string"},recorded_by_agent:{type:"string"},run_id:{type:["string","null"]},match:{type:"string",enum:["exact","fuzzy","target"]},confidence:{type:"number",minimum:0,maximum:1}},required:["id","pattern","scope","quarantine_scope","target","description","why_failed","severity","occurrences","last_seen","recorded_by_agent","run_id","match","confidence"]}},recorded_by_agent:{type:["string","null"]},run_id:{type:["string","null"]},confidence:{type:"number",minimum:0,maximum:1}},required:["blocked","matches","recorded_by_agent","run_id","confidence"]},b={type:["object","null"],properties:{requested:{type:"string"},authorized:{type:"boolean"},changed:{type:"boolean"}},required:["requested","authorized","changed"]};function k(n,p){return n?n.authorized?n.changed?"":` - promote:'${n.requested}' was a no-op (already ${p}-scoped)`:` - promote:'${n.requested}' IGNORED -- caller carries no explicit identity (pass actor/run_id, _meta['wyrm/actor'], or WYRM_AGENT_ID/WYRM_RUN_ID)`:""}const P=[{name:"wyrm_failure_record",description:"Use when an approach failed or something broke - log the dead end so nobody tries it again. Identical (scope, target, description) coalesces with occurrences++; when the root cause is fixed, stop flagging it via wyrm_failure_resolve. Run-scoped failures quarantine until confirmed.",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Global if omitted"},scope:{type:"string",enum:["file","symbol","command","prompt","edit"]},target:{type:"string",description:"File, symbol, command, or prompt"},description:{type:"string",description:"What was tried"},why_failed:{type:"string",description:"Diagnosis if known"},severity:{type:"string",enum:["low","medium","high","critical"]},promote:{type:"string",enum:["project","global"],description:"Widen the tier (explicitly attributed callers only)"}},required:["scope","target","description"]},outputSchema:{type:"object",properties:{id:{type:"integer"},occurrences:{type:"integer"},scope:{type:"string"},target:{type:"string"},quarantine_scope:{type:"string"},run_id:{type:["string","null"]},promote:b},required:["id","occurrences","scope","target","quarantine_scope","run_id","promote"]},annotations:_.wyrm_failure_record,aliases:[],handler:async(n,{store:p,failures:c})=>{const{projectPath:d,scope:s,target:a,description:l,why_failed:u,severity:o,promote:t}=n,i=j("severity",o,["low","medium","high","critical"]),y=d?p.getProject(d):null;let r=await v("failure_record",y?.id??null,{scope:s,target:a,description:l,why_failed:u,severity:i},()=>c.record({project_id:y?.id??null,scope:s,target:a,description:l,why_failed:u,severity:i})),m=null;if(t==="project"||t==="global"){const e=c.promote(r.id,t);e.authorized&&(r=e.row??r),m={requested:t,authorized:e.authorized,changed:e.changed,quarantine_scope:e.row?.quarantine_scope??r.quarantine_scope??null}}const h={id:r.id,occurrences:r.occurrences,scope:s,target:a,quarantine_scope:r.quarantine_scope,run_id:r.run_id??null,promote:m};return f(h,(e,$)=>{const q=e.run_id?` - ${e.quarantine_scope}-scoped (run ${e.run_id})`:` - ${e.quarantine_scope}-scoped`;return g($.brand,`Failure #${e.id} recorded (x${e.occurrences}) -- ${e.scope}:${e.target}${q}`+k(e.promote,e.quarantine_scope))})}},{name:"wyrm_failure_check",description:"Use before proposing or executing any fix, command, or approach - did this fail before? Is it a known landmine? Counter-pattern memory: returns unresolved matching failures (empty = safe to proceed); show the mistakes already made on a project with wyrm_failure_list. Subagents: check before retrying anything flagged.",inputSchema:{type:"object",properties:{projectPath:{type:"string"},scope:{type:"string",enum:["file","symbol","command","prompt","edit"]},target:{type:"string"},description:{type:"string"},run_scope:{type:"string",enum:["run","project","global"],description:"Quarantine tier filter (run = same-run only)"}},required:["scope","target","description"]},outputSchema:x,annotations:_.wyrm_failure_check,aliases:[],handler:async(n,{store:p,raw:c,failures:d})=>{const{projectPath:s,scope:a,target:l,description:u,run_scope:o}=n;if(typeof a!="string"||!a)throw new w("scope","is required (e.g. command, edit, approach)");if(typeof l!="string"||!l)throw new w("target","is required (the action/command/code about to run)");if(typeof u!="string"||!u)throw new w("description","is required (what the action does)");const t=s?p.getProject(s):null,i=o==="run"||o==="project"||o==="global"?o:"any",y=d.checkVerdict(a,l,u,t?.id??null,{runScope:i});if(y.blocked){d.recordBlock(y,t?.id??null);try{const{logSavings:r}=await import("../statusline.js"),m=c(),h=t?m.prepare("SELECT id FROM sessions WHERE project_id = ? ORDER BY created_at DESC LIMIT 1").get(t.id):void 0;r(m,"wyrm_failure_check","blocked_retry",1500*y.matches.length,h?.id)}catch{}}return f(y,(r,m)=>{if(!r.blocked)return g(m.ok,"No matching failures -- safe to proceed.");const h=r.matches.map(e=>`${g(m.fail,`#${e.id} ${e.scope}:${e.target}`)} -- tried ${e.occurrences}x (${e.severity}); last ${e.last_seen}
2
2
  ${e.description}`+(e.why_failed?`
3
3
  Why: ${e.why_failed}`:"")+(e.run_id?`
4
4
  Recorded by ${e.recorded_by_agent} in run ${e.run_id} (${e.quarantine_scope}-scoped)`:"")).join(`
5
5
 
6
- `);return`${y(l.brand,`${r.matches.length} failure(s) match this action:`)}
6
+ `);return`${g(m.brand,`${r.matches.length} failure(s) match this action:`)}
7
7
 
8
- ${_}`})}},{name:"wyrm_failure_list",description:"List unresolved failures for a project (or globally), most-recent-first.",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Project path (omit for global)"},limit:{type:"number",description:"Max rows (default 20, max 200)"}}},outputSchema:{type:"object",properties:{count:{type:"integer"},failures:{type:"array",items:{type:"object",properties:{id:{type:"integer"},severity:{type:"string",enum:["low","medium","high","critical"]},scope:{type:"string"},target:{type:"string"},occurrences:{type:"integer"},last_seen:{type:"string"},description:{type:"string"}},required:["id","severity","scope","target","occurrences","last_seen","description"]}}},required:["count","failures"]},annotations:h.wyrm_failure_list,aliases:[],handler:(n,{store:a,failures:c})=>{const{projectPath:p,limit:s}=n,d=p?a.getProject(p):null,g=Math.min(Math.max(1,s??20),200),m=c.list(d?.id??null,g),o={count:m.length,failures:m.map(t=>({id:t.id,severity:t.severity,scope:t.scope,target:t.target,occurrences:t.occurrences,last_seen:t.last_seen,description:t.description}))};return f(o,(t,i)=>{if(t.count===0)return y(i.brand,"No unresolved failures.");const u=t.failures.map(r=>`#${r.id} [${r.severity}] ${r.scope}:${r.target} x${r.occurrences} (last ${r.last_seen})
8
+ ${h}`})}},{name:"wyrm_failure_list",description:"List unresolved failures for a project (or globally), most-recent-first.",inputSchema:{type:"object",properties:{projectPath:{type:"string",description:"Project path (omit for global)"},limit:{type:"number",description:"Max rows (default 20, max 200)"}}},outputSchema:{type:"object",properties:{count:{type:"integer"},failures:{type:"array",items:{type:"object",properties:{id:{type:"integer"},severity:{type:"string",enum:["low","medium","high","critical"]},scope:{type:"string"},target:{type:"string"},occurrences:{type:"integer"},last_seen:{type:"string"},description:{type:"string"}},required:["id","severity","scope","target","occurrences","last_seen","description"]}}},required:["count","failures"]},annotations:_.wyrm_failure_list,aliases:[],handler:(n,{store:p,failures:c})=>{const{projectPath:d,limit:s}=n,a=d?p.getProject(d):null,l=Math.min(Math.max(1,s??20),200),u=c.list(a?.id??null,l),o={count:u.length,failures:u.map(t=>({id:t.id,severity:t.severity,scope:t.scope,target:t.target,occurrences:t.occurrences,last_seen:t.last_seen,description:t.description}))};return f(o,(t,i)=>{if(t.count===0)return g(i.brand,"No unresolved failures.");const y=t.failures.map(r=>`#${r.id} [${r.severity}] ${r.scope}:${r.target} x${r.occurrences} (last ${r.last_seen})
9
9
  ${r.description}`).join(`
10
10
 
11
- `);return`${y(i.brand,`${t.count} unresolved failure(s):`)}
11
+ `);return`${g(i.brand,`${t.count} unresolved failure(s):`)}
12
12
 
13
- ${u}`},{summary:(t,i)=>t.count===0?y(i.brand,"No unresolved failures."):y(i.brand,`${t.count} unresolved failure(s):`)})}},{name:"wyrm_failure_resolve",description:"Mark a failure as resolved (the underlying issue was fixed). Keeps history but excludes from check() results.",inputSchema:{type:"object",properties:{id:{type:"number",description:"Failure pattern ID"},note:{type:"string",description:"How it was resolved"},promote:{type:"string",enum:["project","global"],description:"Widen the tier before resolving (same authority rule as wyrm_failure_record)."}},required:["id"]},outputSchema:{type:"object",properties:{id:{type:"integer"},resolved:{type:"boolean",enum:[!0]},promote:w},required:["id","resolved","promote"]},annotations:h.wyrm_failure_resolve,aliases:[],handler:(n,{failures:a})=>{const{id:c,note:p,promote:s}=n;let d=null;if(s==="project"||s==="global"){const o=a.promote(c,s);d={requested:s,authorized:o.authorized,changed:o.changed,quarantine_scope:o.row?.quarantine_scope??null}}return a.resolve(c,p)?f({id:c,resolved:!0,promote:d},(o,t)=>{let i="";return o.promote&&!o.promote.authorized?i=` promote:'${o.promote.requested}' IGNORED -- caller carries no explicit identity.`:o.promote?.changed&&(i=` Promoted to ${o.promote.quarantine_scope}-scoped.`),y(t.ok,`Failure #${o.id} resolved.${i}`)}):{content:[{type:"text",text:`Failure #${c} not found.`}],isError:!0}}}];export{v as FAILURE_CHECK_OUTPUT_SCHEMA,R as failureToolSpecs};
13
+ ${y}`},{summary:(t,i)=>t.count===0?g(i.brand,"No unresolved failures."):g(i.brand,`${t.count} unresolved failure(s):`)})}},{name:"wyrm_failure_resolve",description:"Mark a failure as resolved (the underlying issue was fixed). Keeps history but excludes from check() results.",inputSchema:{type:"object",properties:{id:{type:"number",description:"Failure pattern ID"},note:{type:"string",description:"How it was resolved"},promote:{type:"string",enum:["project","global"],description:"Widen the tier before resolving (same authority rule as wyrm_failure_record)."}},required:["id"]},outputSchema:{type:"object",properties:{id:{type:"integer"},resolved:{type:"boolean",enum:[!0]},promote:b},required:["id","resolved","promote"]},annotations:_.wyrm_failure_resolve,aliases:[],handler:(n,{failures:p})=>{const{id:c,note:d,promote:s}=n;let a=null;if(s==="project"||s==="global"){const o=p.promote(c,s);a={requested:s,authorized:o.authorized,changed:o.changed,quarantine_scope:o.row?.quarantine_scope??null}}return p.resolve(c,d)?f({id:c,resolved:!0,promote:a},(o,t)=>{let i="";return o.promote&&!o.promote.authorized?i=` promote:'${o.promote.requested}' IGNORED -- caller carries no explicit identity.`:o.promote?.changed&&(i=` Promoted to ${o.promote.quarantine_scope}-scoped.`),g(t.ok,`Failure #${o.id} resolved.${i}`)}):{content:[{type:"text",text:`Failure #${c} not found.`}],isError:!0}}}];export{x as FAILURE_CHECK_OUTPUT_SCHEMA,P as failureToolSpecs};
@@ -1 +1 @@
1
- {"version":3,"file":"failure.js","sourceRoot":"","sources":["../../src/handlers/failure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"failure.js","sourceRoot":"","sources":["../../src/handlers/failure.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "contract": "wyrm-cloud-memory-v2",
3
- "version": "7.3.0",
3
+ "version": "7.3.1",
4
4
  "derivedFrom": "standard tier MINUS device-local/egress/subprocess (src/cloud-profile.ts)",
5
5
  "count": 19,
6
6
  "tools": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "contract": "wyrm-cloud-memory-v1",
3
- "version": "7.3.0",
3
+ "version": "7.3.1",
4
4
  "tools": [
5
5
  {
6
6
  "name": "wyrm_recall",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "contract": "wyrm-cloud-memory-v1",
3
- "version": "7.3.0",
3
+ "version": "7.3.1",
4
4
  "generatedBy": "scripts/gen-tool-manifest.mjs (from the dist/ registry modules — never hand-edited)",
5
5
  "tiers": {
6
6
  "core": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wyrm-mcp",
3
- "version": "7.3.0",
3
+ "version": "7.3.1",
4
4
  "description": "Local-first persistent memory for AI agents over MCP. Ground truths, negative learning (recorded failures block repeats), decision causality, hybrid recall, live memory streams, run-attributed fleet memory — a structured SQLite memory on your machine, no cloud or LLM required. Claude / Copilot / Cursor / Windsurf / Codex.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -25,6 +25,7 @@
25
25
  "scripts/hooks/wyrm-session-prune.mjs",
26
26
  "scripts/hooks/wyrm-tool-call-trace.mjs",
27
27
  "README.md",
28
+ "BENCHMARKS.md",
28
29
  "LICENSE",
29
30
  "NOTICE"
30
31
  ],