amalfa 1.0.14 → 1.0.15

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/README.md CHANGED
@@ -196,29 +196,7 @@ amalfa/
196
196
 
197
197
  AMALFA follows a **Brief → Work → Debrief → Playbook** cycle:
198
198
 
199
- ```dot
200
- digraph workflow {
201
- rankdir=LR;
202
- node [shape=box, style=filled];
203
-
204
- // Nodes
205
- brief [label="Brief\n(Task Spec)", fillcolor=lightyellow];
206
- work [label="Work\n(Implementation)", fillcolor=lightblue];
207
- debrief [label="Debrief\n(Lessons Learned)", fillcolor=lightgreen];
208
- playbook [label="Playbook\n(Codified Pattern)", fillcolor=orange];
209
- db [label="AMALFA\nKnowledge Graph", shape=cylinder, fillcolor=lightgray];
210
-
211
- // Flow
212
- brief -> work [label="guides"];
213
- work -> debrief [label="captures"];
214
- debrief -> playbook [label="abstracts to"];
215
- playbook -> db [label="indexed as"];
216
- db -> brief [label="informs\nnext task", style=dashed];
217
-
218
- // Semantic layer
219
- db -> db [label="semantic search\nvector embeddings\ngraph traversal", style=dotted];
220
- }
221
- ```
199
+ ![AMALFA Workflow](https://raw.githubusercontent.com/pjsvis/amalfa/main/docs/workflow.png)
222
200
 
223
201
  **Example:**
224
202
 
package/amalfa.svg ADDED
@@ -0,0 +1,87 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="304pt" height="443pt" viewBox="0.00 0.00 304.00 443.00">
2
+ <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 438.8)">
3
+ <title>workflow</title>
4
+ <polygon fill="white" stroke="none" points="-4,4 -4,-438.8 299.54,-438.8 299.54,4 -4,4"/>
5
+ <!-- brief -->
6
+ <g id="node1" class="node">
7
+ <title>brief</title>
8
+ <polygon fill="lightyellow" stroke="black" points="155.52,-434.8 72.27,-434.8 72.27,-393.2 155.52,-393.2 155.52,-434.8"/>
9
+ <text xml:space="preserve" text-anchor="middle" x="113.9" y="-418.2" font-family="Times,serif" font-size="14.00">Brief</text>
10
+ <text xml:space="preserve" text-anchor="middle" x="113.9" y="-401.4" font-family="Times,serif" font-size="14.00">(Task Spec)</text>
11
+ </g>
12
+ <!-- work -->
13
+ <g id="node2" class="node">
14
+ <title>work</title>
15
+ <polygon fill="lightblue" stroke="black" points="124.88,-340.4 10.91,-340.4 10.91,-298.8 124.88,-298.8 124.88,-340.4"/>
16
+ <text xml:space="preserve" text-anchor="middle" x="67.9" y="-323.8" font-family="Times,serif" font-size="14.00">Work</text>
17
+ <text xml:space="preserve" text-anchor="middle" x="67.9" y="-307" font-family="Times,serif" font-size="14.00">(Implementation)</text>
18
+ </g>
19
+ <!-- brief&#45;&gt;work -->
20
+ <g id="edge1" class="edge">
21
+ <title>brief-&gt;work</title>
22
+ <path fill="none" stroke="black" d="M103.91,-392.95C97.77,-380.6 89.77,-364.53 82.87,-350.68"/>
23
+ <polygon fill="black" stroke="black" points="86.12,-349.36 78.53,-341.97 79.85,-352.48 86.12,-349.36"/>
24
+ <text xml:space="preserve" text-anchor="middle" x="113.29" y="-362.6" font-family="Times,serif" font-size="14.00">guides</text>
25
+ </g>
26
+ <!-- debrief -->
27
+ <g id="node3" class="node">
28
+ <title>debrief</title>
29
+ <polygon fill="lightgreen" stroke="black" points="119.79,-246 0,-246 0,-204.4 119.79,-204.4 119.79,-246"/>
30
+ <text xml:space="preserve" text-anchor="middle" x="59.9" y="-229.4" font-family="Times,serif" font-size="14.00">Debrief</text>
31
+ <text xml:space="preserve" text-anchor="middle" x="59.9" y="-212.6" font-family="Times,serif" font-size="14.00">(Lessons Learned)</text>
32
+ </g>
33
+ <!-- work&#45;&gt;debrief -->
34
+ <g id="edge2" class="edge">
35
+ <title>work-&gt;debrief</title>
36
+ <path fill="none" stroke="black" d="M66.16,-298.55C65.12,-286.56 63.78,-271.07 62.61,-257.5"/>
37
+ <polygon fill="black" stroke="black" points="66.11,-257.38 61.76,-247.72 59.13,-257.98 66.11,-257.38"/>
38
+ <text xml:space="preserve" text-anchor="middle" x="87.93" y="-268.2" font-family="Times,serif" font-size="14.00">captures</text>
39
+ </g>
40
+ <!-- playbook -->
41
+ <g id="node4" class="node">
42
+ <title>playbook</title>
43
+ <polygon fill="orange" stroke="black" points="125.63,-151.6 8.16,-151.6 8.16,-110 125.63,-110 125.63,-151.6"/>
44
+ <text xml:space="preserve" text-anchor="middle" x="66.9" y="-135" font-family="Times,serif" font-size="14.00">Playbook</text>
45
+ <text xml:space="preserve" text-anchor="middle" x="66.9" y="-118.2" font-family="Times,serif" font-size="14.00">(Codified Pattern)</text>
46
+ </g>
47
+ <!-- debrief&#45;&gt;playbook -->
48
+ <g id="edge3" class="edge">
49
+ <title>debrief-&gt;playbook</title>
50
+ <path fill="none" stroke="black" d="M61.41,-204.15C62.32,-192.16 63.5,-176.67 64.52,-163.1"/>
51
+ <polygon fill="black" stroke="black" points="68,-163.56 65.26,-153.32 61.02,-163.03 68,-163.56"/>
52
+ <text xml:space="preserve" text-anchor="middle" x="95.71" y="-173.8" font-family="Times,serif" font-size="14.00">abstracts to</text>
53
+ </g>
54
+ <!-- db -->
55
+ <g id="node5" class="node">
56
+ <title>db</title>
57
+ <path fill="lightgray" stroke="black" d="M171.41,-52C171.41,-54.87 144.73,-57.2 111.9,-57.2 79.06,-57.2 52.38,-54.87 52.38,-52 52.38,-52 52.38,-5.2 52.38,-5.2 52.38,-2.33 79.06,0 111.9,0 144.73,0 171.41,-2.33 171.41,-5.2 171.41,-5.2 171.41,-52 171.41,-52"/>
58
+ <path fill="none" stroke="black" d="M171.41,-52C171.41,-49.13 144.73,-46.8 111.9,-46.8 79.06,-46.8 52.38,-49.13 52.38,-52"/>
59
+ <text xml:space="preserve" text-anchor="middle" x="111.9" y="-32.8" font-family="Times,serif" font-size="14.00">AMALFA</text>
60
+ <text xml:space="preserve" text-anchor="middle" x="111.9" y="-16" font-family="Times,serif" font-size="14.00">Knowledge Graph</text>
61
+ </g>
62
+ <!-- playbook&#45;&gt;db -->
63
+ <g id="edge4" class="edge">
64
+ <title>playbook-&gt;db</title>
65
+ <path fill="none" stroke="black" d="M71.12,-109.58C73.7,-99.06 77.45,-86.15 82.42,-75.2 83.65,-72.48 85.03,-69.73 86.5,-67"/>
66
+ <polygon fill="black" stroke="black" points="89.37,-69.03 91.37,-58.63 83.32,-65.51 89.37,-69.03"/>
67
+ <text xml:space="preserve" text-anchor="middle" x="112.16" y="-79.4" font-family="Times,serif" font-size="14.00">indexed as</text>
68
+ </g>
69
+ <!-- db&#45;&gt;brief -->
70
+ <g id="edge5" class="edge">
71
+ <title>db-&gt;brief</title>
72
+ <path fill="none" stroke="black" stroke-dasharray="5,2" d="M132.14,-57.23C135.75,-62.98 139.21,-69.13 141.9,-75.2 152.03,-98.11 155.9,-104.75 155.9,-129.8 155.9,-320.6 155.9,-320.6 155.9,-320.6 155.9,-342.99 145.55,-365.92 135.13,-383.33"/>
73
+ <polygon fill="black" stroke="black" points="132.27,-381.3 129.87,-391.62 138.18,-385.05 132.27,-381.3"/>
74
+ <text xml:space="preserve" text-anchor="middle" x="180.97" y="-229.4" font-family="Times,serif" font-size="14.00">informs</text>
75
+ <text xml:space="preserve" text-anchor="middle" x="180.97" y="-212.6" font-family="Times,serif" font-size="14.00">next task</text>
76
+ </g>
77
+ <!-- db&#45;&gt;db -->
78
+ <g id="edge6" class="edge">
79
+ <title>db-&gt;db</title>
80
+ <path fill="none" stroke="black" stroke-dasharray="1,5" d="M171.69,-38.27C182.14,-36.98 189.41,-33.76 189.41,-28.6 189.41,-25.54 186.85,-23.16 182.58,-21.46"/>
81
+ <polygon fill="black" stroke="black" points="183.7,-18.13 173.17,-19.27 182.12,-24.95 183.7,-18.13"/>
82
+ <text xml:space="preserve" text-anchor="middle" x="242.47" y="-41.2" font-family="Times,serif" font-size="14.00">semantic search</text>
83
+ <text xml:space="preserve" text-anchor="middle" x="242.47" y="-24.4" font-family="Times,serif" font-size="14.00">vector embeddings</text>
84
+ <text xml:space="preserve" text-anchor="middle" x="242.47" y="-7.6" font-family="Times,serif" font-size="14.00">graph traversal</text>
85
+ </g>
86
+ </g>
87
+ </svg>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "amalfa",
3
- "version": "1.0.14",
3
+ "version": "1.0.15",
4
4
  "description": "Local-first knowledge graph engine for AI agents. Transforms markdown into searchable memory with MCP protocol.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/pjsvis/amalfa#readme",
package/src/cli.ts CHANGED
@@ -3,7 +3,7 @@ import { existsSync, statSync } from "node:fs";
3
3
  import { join } from "node:path";
4
4
  import { spawn } from "node:child_process";
5
5
 
6
- const VERSION = "1.0.14";
6
+ const VERSION = "1.0.15";
7
7
 
8
8
  // Database path loaded from config (lazy loaded per command)
9
9
  let DB_PATH: string | null = null;