pwn 0.5.618 → 0.5.620
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.
- checksums.yaml +4 -4
- data/Gemfile +2 -2
- data/README.md +14 -6
- data/bin/pwn_gqrx_scanner +25 -5
- data/documentation/Agent-Tool-Registry.md +3 -3
- data/documentation/Diagrams.md +6 -2
- data/documentation/Extrospection.md +30 -11
- data/documentation/Home.md +5 -4
- data/documentation/How-PWN-Works.md +7 -4
- data/documentation/Mistakes.md +96 -0
- data/documentation/Persistence.md +3 -1
- data/documentation/SDR.md +23 -5
- data/documentation/Skills-Memory-Learning.md +15 -5
- data/documentation/diagrams/agent-tool-registry.svg +94 -92
- data/documentation/diagrams/dot/agent-tool-registry.dot +2 -2
- data/documentation/diagrams/dot/extrospection-world-awareness.dot +9 -7
- data/documentation/diagrams/dot/memory-skills-detailed.dot +12 -5
- data/documentation/diagrams/dot/mistakes-negative-feedback.dot +93 -0
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +7 -5
- data/documentation/diagrams/dot/persistence-filesystem.dot +3 -2
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +19 -7
- data/documentation/diagrams/dot/sdr-radio-flow.dot +13 -11
- data/documentation/diagrams/extrospection-world-awareness.svg +111 -93
- data/documentation/diagrams/memory-skills-detailed.svg +146 -97
- data/documentation/diagrams/mistakes-negative-feedback.svg +266 -0
- data/documentation/diagrams/overall-pwn-architecture.svg +184 -173
- data/documentation/diagrams/persistence-filesystem.svg +77 -62
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +217 -149
- data/documentation/diagrams/sdr-radio-flow.svg +76 -56
- data/documentation/pwn-ai-Agent.md +28 -15
- data/lib/pwn/ai/agent/extrospection.rb +65 -6
- data/lib/pwn/ai/agent/learning.rb +67 -7
- data/lib/pwn/ai/agent/loop.rb +72 -6
- data/lib/pwn/ai/agent/mistakes.rb +369 -0
- data/lib/pwn/ai/agent/prompt_builder.rb +10 -1
- data/lib/pwn/ai/agent/tools/extrospection.rb +2 -2
- data/lib/pwn/ai/agent/tools/mistakes.rb +132 -0
- data/lib/pwn/ai/agent.rb +1 -0
- data/lib/pwn/plugins/jira_data_center.rb +2 -2
- data/lib/pwn/sdr/decoder/adsb.rb +101 -0
- data/lib/pwn/sdr/decoder/apt.rb +75 -0
- data/lib/pwn/sdr/decoder/bluetooth.rb +78 -0
- data/lib/pwn/sdr/decoder/dect.rb +84 -0
- data/lib/pwn/sdr/decoder/gps.rb +83 -0
- data/lib/pwn/sdr/decoder/gsm.rb +50 -29
- data/lib/pwn/sdr/decoder/iridium.rb +81 -0
- data/lib/pwn/sdr/decoder/lora.rb +87 -0
- data/lib/pwn/sdr/decoder/lte.rb +88 -0
- data/lib/pwn/sdr/decoder/morse.rb +64 -0
- data/lib/pwn/sdr/decoder/p25.rb +71 -0
- data/lib/pwn/sdr/decoder/pager.rb +77 -0
- data/lib/pwn/sdr/decoder/pocsag.rb +26 -11
- data/lib/pwn/sdr/decoder/rfid.rb +88 -0
- data/lib/pwn/sdr/decoder/rtl433.rb +95 -0
- data/lib/pwn/sdr/decoder/rtty.rb +66 -0
- data/lib/pwn/sdr/decoder/wifi.rb +98 -0
- data/lib/pwn/sdr/decoder/zigbee.rb +96 -0
- data/lib/pwn/sdr/decoder.rb +67 -7
- data/lib/pwn/sdr/frequency_allocation.rb +82 -41
- data/lib/pwn/sdr/gqrx.rb +186 -95
- data/lib/pwn/version.rb +1 -1
- data/spec/lib/pwn/ai/agent/mistakes_spec.rb +36 -0
- data/spec/lib/pwn/ai/agent/tools/mistakes_spec.rb +12 -0
- data/spec/lib/pwn/sdr/decoder/adsb_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/apt_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/bluetooth_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/dect_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/gps_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/iridium_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/lora_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/lte_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/morse_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/p25_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/pager_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/rfid_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/rtl433_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/rtty_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/wifi_spec.rb +15 -0
- data/spec/lib/pwn/sdr/decoder/zigbee_spec.rb +15 -0
- data/third_party/pwn_rdoc.jsonl +92 -3
- metadata +44 -6
- data/README.md.bak +0 -200
|
@@ -4,199 +4,248 @@
|
|
|
4
4
|
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
5
|
-->
|
|
6
6
|
<!-- Title: PWN_MemorySkills Pages: 1 -->
|
|
7
|
-
<svg width="
|
|
8
|
-
viewBox="0.00 0.00
|
|
9
|
-
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2
|
|
7
|
+
<svg width="847pt" height="585pt"
|
|
8
|
+
viewBox="0.00 0.00 847.00 585.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
9
|
+
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2 541.95)">
|
|
10
10
|
<title>PWN_MemorySkills</title>
|
|
11
|
-
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-
|
|
12
|
-
<text xml:space="preserve" text-anchor="start" x="
|
|
13
|
-
<text xml:space="preserve" text-anchor="start" x="
|
|
11
|
+
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-541.95 804.2,-541.95 804.2,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="37.75" y="-476.75" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">Persistent Knowledge — Memory · Skills · Learning · Mistakes · Sessions</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="255.25" y="-465.3" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">everything under ~/.pwn/ that shapes future prompts</text>
|
|
14
14
|
<g id="clust1" class="cluster">
|
|
15
15
|
<title>cluster_write</title>
|
|
16
|
-
<path fill="#022c22" stroke="#047857" d="M20,-
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
16
|
+
<path fill="#022c22" stroke="#047857" d="M20,-368.5C20,-368.5 691,-368.5 691,-368.5 697,-368.5 703,-374.5 703,-380.5 703,-380.5 703,-439.75 703,-439.75 703,-445.75 697,-451.75 691,-451.75 691,-451.75 20,-451.75 20,-451.75 14,-451.75 8,-445.75 8,-439.75 8,-439.75 8,-380.5 8,-380.5 8,-374.5 14,-368.5 20,-368.5"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="355.5" y="-428.75" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">Write-Side Tools</text>
|
|
18
18
|
</g>
|
|
19
19
|
<g id="clust3" class="cluster">
|
|
20
20
|
<title>cluster_files</title>
|
|
21
|
-
<path fill="#422006" stroke="#a16207" d="
|
|
22
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
21
|
+
<path fill="#422006" stroke="#a16207" d="M57,-232.75C57,-232.75 741,-232.75 741,-232.75 747,-232.75 753,-238.75 753,-244.75 753,-244.75 753,-312 753,-312 753,-318 747,-324 741,-324 741,-324 57,-324 57,-324 51,-324 45,-318 45,-312 45,-312 45,-244.75 45,-244.75 45,-238.75 51,-232.75 57,-232.75"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="399" y="-301" font-family="sans-Serif" font-size="20.00" fill="#fde68a">~/.pwn/</text>
|
|
23
23
|
</g>
|
|
24
24
|
<g id="clust5" class="cluster">
|
|
25
25
|
<title>cluster_read</title>
|
|
26
|
-
<path fill="#2e1065" stroke="#6d28d9" d="
|
|
27
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
26
|
+
<path fill="#2e1065" stroke="#6d28d9" d="M63,-114.5C63,-114.5 643,-114.5 643,-114.5 649,-114.5 655,-120.5 655,-126.5 655,-126.5 655,-185.75 655,-185.75 655,-191.75 649,-197.75 643,-197.75 643,-197.75 63,-197.75 63,-197.75 57,-197.75 51,-191.75 51,-185.75 51,-185.75 51,-126.5 51,-126.5 51,-120.5 57,-114.5 63,-114.5"/>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="353" y="-174.75" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">Read-Side / Injection</text>
|
|
28
28
|
</g>
|
|
29
29
|
<!-- Rem -->
|
|
30
30
|
<g id="node1" class="node">
|
|
31
31
|
<title>Rem</title>
|
|
32
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
33
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
34
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
32
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M550.25,-412.5C550.25,-412.5 463.75,-412.5 463.75,-412.5 457.75,-412.5 451.75,-406.5 451.75,-400.5 451.75,-400.5 451.75,-388.5 451.75,-388.5 451.75,-382.5 457.75,-376.5 463.75,-376.5 463.75,-376.5 550.25,-376.5 550.25,-376.5 556.25,-376.5 562.25,-382.5 562.25,-388.5 562.25,-388.5 562.25,-400.5 562.25,-400.5 562.25,-406.5 556.25,-412.5 550.25,-412.5"/>
|
|
33
|
+
<text xml:space="preserve" text-anchor="middle" x="507" y="-397" font-family="sans-Serif" font-size="10.00" fill="#0f172a">memory_remember</text>
|
|
34
|
+
<text xml:space="preserve" text-anchor="middle" x="507" y="-385" font-family="sans-Serif" font-size="10.00" fill="#0f172a">key · value · category</text>
|
|
35
35
|
</g>
|
|
36
36
|
<!-- Fmem -->
|
|
37
|
-
<g id="
|
|
37
|
+
<g id="node6" class="node">
|
|
38
38
|
<title>Fmem</title>
|
|
39
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
40
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
41
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
42
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
39
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M565.12,-280.75C565.12,-282.96 538.18,-284.75 505,-284.75 471.82,-284.75 444.88,-282.96 444.88,-280.75 444.88,-280.75 444.88,-244.75 444.88,-244.75 444.88,-242.54 471.82,-240.75 505,-240.75 538.18,-240.75 565.12,-242.54 565.12,-244.75 565.12,-244.75 565.12,-280.75 565.12,-280.75"/>
|
|
40
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M565.12,-280.75C565.12,-278.54 538.18,-276.75 505,-276.75 471.82,-276.75 444.88,-278.54 444.88,-280.75"/>
|
|
41
|
+
<text xml:space="preserve" text-anchor="middle" x="505" y="-265.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">memory.json</text>
|
|
42
|
+
<text xml:space="preserve" text-anchor="middle" x="505" y="-253.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">fact · pref · lesson · env</text>
|
|
43
43
|
</g>
|
|
44
44
|
<!-- Rem->Fmem -->
|
|
45
45
|
<g id="edge1" class="edge">
|
|
46
46
|
<title>Rem->Fmem</title>
|
|
47
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
48
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
47
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M506.73,-376C506.41,-355.33 505.88,-320.55 505.48,-295.17"/>
|
|
48
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="508.29,-295.2 505.36,-287.25 502.69,-295.29 508.29,-295.2"/>
|
|
49
49
|
</g>
|
|
50
50
|
<!-- Skc -->
|
|
51
51
|
<g id="node2" class="node">
|
|
52
52
|
<title>Skc</title>
|
|
53
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
54
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
55
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
53
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M260,-412.5C260,-412.5 184,-412.5 184,-412.5 178,-412.5 172,-406.5 172,-400.5 172,-400.5 172,-388.5 172,-388.5 172,-382.5 178,-376.5 184,-376.5 184,-376.5 260,-376.5 260,-376.5 266,-376.5 272,-382.5 272,-388.5 272,-388.5 272,-400.5 272,-400.5 272,-406.5 266,-412.5 260,-412.5"/>
|
|
54
|
+
<text xml:space="preserve" text-anchor="middle" x="222" y="-397" font-family="sans-Serif" font-size="10.00" fill="#0f172a">skill_create</text>
|
|
55
|
+
<text xml:space="preserve" text-anchor="middle" x="222" y="-385" font-family="sans-Serif" font-size="10.00" fill="#0f172a">skill_add_reference</text>
|
|
56
56
|
</g>
|
|
57
57
|
<!-- Fskl -->
|
|
58
|
-
<g id="
|
|
58
|
+
<g id="node7" class="node">
|
|
59
59
|
<title>Fskl</title>
|
|
60
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
61
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
62
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
63
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
60
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M279.75,-280.75C279.75,-282.96 254.31,-284.75 223,-284.75 191.69,-284.75 166.25,-282.96 166.25,-280.75 166.25,-280.75 166.25,-244.75 166.25,-244.75 166.25,-242.54 191.69,-240.75 223,-240.75 254.31,-240.75 279.75,-242.54 279.75,-244.75 279.75,-244.75 279.75,-280.75 279.75,-280.75"/>
|
|
61
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M279.75,-280.75C279.75,-278.54 254.31,-276.75 223,-276.75 191.69,-276.75 166.25,-278.54 166.25,-280.75"/>
|
|
62
|
+
<text xml:space="preserve" text-anchor="middle" x="223" y="-265.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">skills/*.md</text>
|
|
63
|
+
<text xml:space="preserve" text-anchor="middle" x="223" y="-253.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">YAML front-matter refs</text>
|
|
64
64
|
</g>
|
|
65
65
|
<!-- Skc->Fskl -->
|
|
66
66
|
<g id="edge2" class="edge">
|
|
67
67
|
<title>Skc->Fskl</title>
|
|
68
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
69
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
68
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M222.13,-376C222.29,-355.33 222.56,-320.55 222.76,-295.17"/>
|
|
69
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="225.56,-295.27 222.82,-287.25 219.96,-295.23 225.56,-295.27"/>
|
|
70
70
|
</g>
|
|
71
71
|
<!-- Note -->
|
|
72
72
|
<g id="node3" class="node">
|
|
73
73
|
<title>Note</title>
|
|
74
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
75
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
76
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
74
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M120.25,-412.5C120.25,-412.5 27.75,-412.5 27.75,-412.5 21.75,-412.5 15.75,-406.5 15.75,-400.5 15.75,-400.5 15.75,-388.5 15.75,-388.5 15.75,-382.5 21.75,-376.5 27.75,-376.5 27.75,-376.5 120.25,-376.5 120.25,-376.5 126.25,-376.5 132.25,-382.5 132.25,-388.5 132.25,-388.5 132.25,-400.5 132.25,-400.5 132.25,-406.5 126.25,-412.5 120.25,-412.5"/>
|
|
75
|
+
<text xml:space="preserve" text-anchor="middle" x="74" y="-397" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning_note_outcome</text>
|
|
76
|
+
<text xml:space="preserve" text-anchor="middle" x="74" y="-385" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning_reflect</text>
|
|
77
77
|
</g>
|
|
78
78
|
<!-- Flrn -->
|
|
79
|
-
<g id="
|
|
79
|
+
<g id="node8" class="node">
|
|
80
80
|
<title>Flrn</title>
|
|
81
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
82
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
83
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
84
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
81
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M126.5,-280.75C126.5,-282.96 110.14,-284.75 90,-284.75 69.86,-284.75 53.5,-282.96 53.5,-280.75 53.5,-280.75 53.5,-244.75 53.5,-244.75 53.5,-242.54 69.86,-240.75 90,-240.75 110.14,-240.75 126.5,-242.54 126.5,-244.75 126.5,-244.75 126.5,-280.75 126.5,-280.75"/>
|
|
82
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M126.5,-280.75C126.5,-278.54 110.14,-276.75 90,-276.75 69.86,-276.75 53.5,-278.54 53.5,-280.75"/>
|
|
83
|
+
<text xml:space="preserve" text-anchor="middle" x="90" y="-265.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning.jsonl</text>
|
|
84
|
+
<text xml:space="preserve" text-anchor="middle" x="90" y="-253.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">outcome log</text>
|
|
85
85
|
</g>
|
|
86
86
|
<!-- Note->Flrn -->
|
|
87
87
|
<g id="edge3" class="edge">
|
|
88
88
|
<title>Note->Flrn</title>
|
|
89
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
90
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
89
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M76.16,-376C78.71,-355.33 83,-320.55 86.13,-295.17"/>
|
|
90
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="88.9,-295.52 87.1,-287.23 83.35,-294.83 88.9,-295.52"/>
|
|
91
91
|
</g>
|
|
92
92
|
<!-- Dist -->
|
|
93
93
|
<g id="node4" class="node">
|
|
94
94
|
<title>Dist</title>
|
|
95
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
96
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
97
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
95
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M400,-412.5C400,-412.5 324,-412.5 324,-412.5 318,-412.5 312,-406.5 312,-400.5 312,-400.5 312,-388.5 312,-388.5 312,-382.5 318,-376.5 324,-376.5 324,-376.5 400,-376.5 400,-376.5 406,-376.5 412,-382.5 412,-388.5 412,-388.5 412,-400.5 412,-400.5 412,-406.5 406,-412.5 400,-412.5"/>
|
|
96
|
+
<text xml:space="preserve" text-anchor="middle" x="362" y="-397" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning_distill_skill</text>
|
|
97
|
+
<text xml:space="preserve" text-anchor="middle" x="362" y="-385" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(session → skill)</text>
|
|
98
98
|
</g>
|
|
99
99
|
<!-- Dist->Fskl -->
|
|
100
100
|
<g id="edge4" class="edge">
|
|
101
101
|
<title>Dist->Fskl</title>
|
|
102
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
103
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
102
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M343.25,-376C320.13,-354.41 280.51,-317.43 253.1,-291.85"/>
|
|
103
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="255.26,-290.03 247.5,-286.62 251.44,-294.13 255.26,-290.03"/>
|
|
104
104
|
</g>
|
|
105
105
|
<!-- Fses -->
|
|
106
|
-
<g id="
|
|
106
|
+
<g id="node9" class="node">
|
|
107
107
|
<title>Fses</title>
|
|
108
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
109
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
110
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
111
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
108
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M404.5,-280.75C404.5,-282.96 385.45,-284.75 362,-284.75 338.55,-284.75 319.5,-282.96 319.5,-280.75 319.5,-280.75 319.5,-244.75 319.5,-244.75 319.5,-242.54 338.55,-240.75 362,-240.75 385.45,-240.75 404.5,-242.54 404.5,-244.75 404.5,-244.75 404.5,-280.75 404.5,-280.75"/>
|
|
109
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M404.5,-280.75C404.5,-278.54 385.45,-276.75 362,-276.75 338.55,-276.75 319.5,-278.54 319.5,-280.75"/>
|
|
110
|
+
<text xml:space="preserve" text-anchor="middle" x="362" y="-265.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sessions/*.jsonl</text>
|
|
111
|
+
<text xml:space="preserve" text-anchor="middle" x="362" y="-253.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">transcripts</text>
|
|
112
112
|
</g>
|
|
113
113
|
<!-- Dist->Fses -->
|
|
114
114
|
<g id="edge5" class="edge">
|
|
115
115
|
<title>Dist->Fses</title>
|
|
116
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
117
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
118
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
116
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M362,-366.07C362,-341.98 362,-307.42 362,-285.28"/>
|
|
117
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="359.2,-366.03 362,-374.03 364.8,-366.03 359.2,-366.03"/>
|
|
118
|
+
<text xml:space="preserve" text-anchor="middle" x="372.12" y="-333.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">mine</text>
|
|
119
|
+
</g>
|
|
120
|
+
<!-- Mrec -->
|
|
121
|
+
<g id="node5" class="node">
|
|
122
|
+
<title>Mrec</title>
|
|
123
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M683.25,-412.5C683.25,-412.5 614.75,-412.5 614.75,-412.5 608.75,-412.5 602.75,-406.5 602.75,-400.5 602.75,-400.5 602.75,-388.5 602.75,-388.5 602.75,-382.5 608.75,-376.5 614.75,-376.5 614.75,-376.5 683.25,-376.5 683.25,-376.5 689.25,-376.5 695.25,-382.5 695.25,-388.5 695.25,-388.5 695.25,-400.5 695.25,-400.5 695.25,-406.5 689.25,-412.5 683.25,-412.5"/>
|
|
124
|
+
<text xml:space="preserve" text-anchor="middle" x="649" y="-397" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mistakes_record</text>
|
|
125
|
+
<text xml:space="preserve" text-anchor="middle" x="649" y="-385" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mistakes_resolve</text>
|
|
126
|
+
</g>
|
|
127
|
+
<!-- Mrec->Fmem -->
|
|
128
|
+
<g id="edge7" class="edge">
|
|
129
|
+
<title>Mrec->Fmem</title>
|
|
130
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M625.29,-375.98C612.73,-366.42 597.21,-354.19 584,-342.5 565.89,-326.47 546.65,-307.34 531.69,-291.95"/>
|
|
131
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="534.08,-290.39 526.51,-286.58 530.05,-294.28 534.08,-290.39"/>
|
|
132
|
+
<text xml:space="preserve" text-anchor="middle" x="617" y="-333.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">resolve→lesson</text>
|
|
133
|
+
</g>
|
|
134
|
+
<!-- Fmis -->
|
|
135
|
+
<g id="node10" class="node">
|
|
136
|
+
<title>Fmis</title>
|
|
137
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M744.88,-280.75C744.88,-282.96 713.56,-284.75 675,-284.75 636.44,-284.75 605.12,-282.96 605.12,-280.75 605.12,-280.75 605.12,-244.75 605.12,-244.75 605.12,-242.54 636.44,-240.75 675,-240.75 713.56,-240.75 744.88,-242.54 744.88,-244.75 744.88,-244.75 744.88,-280.75 744.88,-280.75"/>
|
|
138
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M744.88,-280.75C744.88,-278.54 713.56,-276.75 675,-276.75 636.44,-276.75 605.12,-278.54 605.12,-280.75"/>
|
|
139
|
+
<text xml:space="preserve" text-anchor="middle" x="675" y="-265.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mistakes.json</text>
|
|
140
|
+
<text xml:space="preserve" text-anchor="middle" x="675" y="-253.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sig → count · fix · regressed</text>
|
|
141
|
+
</g>
|
|
142
|
+
<!-- Mrec->Fmis -->
|
|
143
|
+
<g id="edge6" class="edge">
|
|
144
|
+
<title>Mrec->Fmis</title>
|
|
145
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M652.51,-376C656.67,-355.24 663.68,-320.24 668.77,-294.84"/>
|
|
146
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="671.47,-295.6 670.3,-287.21 665.98,-294.5 671.47,-295.6"/>
|
|
119
147
|
</g>
|
|
120
148
|
<!-- Rec -->
|
|
121
|
-
<g id="
|
|
149
|
+
<g id="node11" class="node">
|
|
122
150
|
<title>Rec</title>
|
|
123
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
124
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
151
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M514.88,-158.5C514.88,-158.5 459.12,-158.5 459.12,-158.5 453.12,-158.5 447.12,-152.5 447.12,-146.5 447.12,-146.5 447.12,-134.5 447.12,-134.5 447.12,-128.5 453.12,-122.5 459.12,-122.5 459.12,-122.5 514.88,-122.5 514.88,-122.5 520.88,-122.5 526.88,-128.5 526.88,-134.5 526.88,-134.5 526.88,-146.5 526.88,-146.5 526.88,-152.5 520.88,-158.5 514.88,-158.5"/>
|
|
152
|
+
<text xml:space="preserve" text-anchor="middle" x="487" y="-137" font-family="sans-Serif" font-size="10.00" fill="#0f172a">memory_recall</text>
|
|
125
153
|
</g>
|
|
126
154
|
<!-- Fmem->Rec -->
|
|
127
|
-
<g id="
|
|
155
|
+
<g id="edge8" class="edge">
|
|
128
156
|
<title>Fmem->Rec</title>
|
|
129
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
130
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
157
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M501.78,-240.25C498.78,-220.19 494.29,-190.18 491.04,-168.51"/>
|
|
158
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="493.85,-168.36 489.9,-160.86 488.31,-169.19 493.85,-168.36"/>
|
|
131
159
|
</g>
|
|
132
160
|
<!-- Skv -->
|
|
133
|
-
<g id="
|
|
161
|
+
<g id="node12" class="node">
|
|
134
162
|
<title>Skv</title>
|
|
135
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
136
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
163
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M265.25,-158.5C265.25,-158.5 208.75,-158.5 208.75,-158.5 202.75,-158.5 196.75,-152.5 196.75,-146.5 196.75,-146.5 196.75,-134.5 196.75,-134.5 196.75,-128.5 202.75,-122.5 208.75,-122.5 208.75,-122.5 265.25,-122.5 265.25,-122.5 271.25,-122.5 277.25,-128.5 277.25,-134.5 277.25,-134.5 277.25,-146.5 277.25,-146.5 277.25,-152.5 271.25,-158.5 265.25,-158.5"/>
|
|
164
|
+
<text xml:space="preserve" text-anchor="middle" x="237" y="-137" font-family="sans-Serif" font-size="10.00" fill="#0f172a">skill_list · view</text>
|
|
137
165
|
</g>
|
|
138
166
|
<!-- Fskl->Skv -->
|
|
139
|
-
<g id="
|
|
167
|
+
<g id="edge9" class="edge">
|
|
140
168
|
<title>Fskl->Skv</title>
|
|
141
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
142
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
169
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M225.5,-240.25C227.83,-220.28 231.3,-190.45 233.82,-168.8"/>
|
|
170
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="236.6,-169.14 234.75,-160.87 231.04,-168.49 236.6,-169.14"/>
|
|
143
171
|
</g>
|
|
144
172
|
<!-- Out -->
|
|
145
|
-
<g id="
|
|
173
|
+
<g id="node13" class="node">
|
|
146
174
|
<title>Out</title>
|
|
147
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
148
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
149
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
175
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M144.88,-158.5C144.88,-158.5 71.12,-158.5 71.12,-158.5 65.12,-158.5 59.12,-152.5 59.12,-146.5 59.12,-146.5 59.12,-134.5 59.12,-134.5 59.12,-128.5 65.12,-122.5 71.12,-122.5 71.12,-122.5 144.88,-122.5 144.88,-122.5 150.88,-122.5 156.88,-128.5 156.88,-134.5 156.88,-134.5 156.88,-146.5 156.88,-146.5 156.88,-152.5 150.88,-158.5 144.88,-158.5"/>
|
|
176
|
+
<text xml:space="preserve" text-anchor="middle" x="108" y="-143" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning_outcomes</text>
|
|
177
|
+
<text xml:space="preserve" text-anchor="middle" x="108" y="-131" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning_stats</text>
|
|
150
178
|
</g>
|
|
151
179
|
<!-- Flrn->Out -->
|
|
152
|
-
<g id="
|
|
180
|
+
<g id="edge10" class="edge">
|
|
153
181
|
<title>Flrn->Out</title>
|
|
154
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
155
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
182
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M93.22,-240.25C96.22,-220.19 100.71,-190.18 103.96,-168.51"/>
|
|
183
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="106.69,-169.19 105.1,-160.86 101.15,-168.36 106.69,-169.19"/>
|
|
156
184
|
</g>
|
|
157
185
|
<!-- Sesv -->
|
|
158
|
-
<g id="
|
|
186
|
+
<g id="node14" class="node">
|
|
159
187
|
<title>Sesv</title>
|
|
160
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
161
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
162
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
188
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M395.12,-158.5C395.12,-158.5 328.88,-158.5 328.88,-158.5 322.88,-158.5 316.88,-152.5 316.88,-146.5 316.88,-146.5 316.88,-134.5 316.88,-134.5 316.88,-128.5 322.88,-122.5 328.88,-122.5 328.88,-122.5 395.12,-122.5 395.12,-122.5 401.12,-122.5 407.12,-128.5 407.12,-134.5 407.12,-134.5 407.12,-146.5 407.12,-146.5 407.12,-152.5 401.12,-158.5 395.12,-158.5"/>
|
|
189
|
+
<text xml:space="preserve" text-anchor="middle" x="362" y="-143" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sessions_view</text>
|
|
190
|
+
<text xml:space="preserve" text-anchor="middle" x="362" y="-131" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sessions_current</text>
|
|
163
191
|
</g>
|
|
164
192
|
<!-- Fses->Sesv -->
|
|
165
|
-
<g id="
|
|
193
|
+
<g id="edge11" class="edge">
|
|
166
194
|
<title>Fses->Sesv</title>
|
|
167
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
168
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
195
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M362,-240.25C362,-220.28 362,-190.45 362,-168.8"/>
|
|
196
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="364.8,-168.88 362,-160.88 359.2,-168.88 364.8,-168.88"/>
|
|
197
|
+
</g>
|
|
198
|
+
<!-- Mlst -->
|
|
199
|
+
<g id="node15" class="node">
|
|
200
|
+
<title>Mlst</title>
|
|
201
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M634.88,-158.5C634.88,-158.5 579.12,-158.5 579.12,-158.5 573.12,-158.5 567.12,-152.5 567.12,-146.5 567.12,-146.5 567.12,-134.5 567.12,-134.5 567.12,-128.5 573.12,-122.5 579.12,-122.5 579.12,-122.5 634.88,-122.5 634.88,-122.5 640.88,-122.5 646.88,-128.5 646.88,-134.5 646.88,-134.5 646.88,-146.5 646.88,-146.5 646.88,-152.5 640.88,-158.5 634.88,-158.5"/>
|
|
202
|
+
<text xml:space="preserve" text-anchor="middle" x="607" y="-143" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mistakes_list</text>
|
|
203
|
+
<text xml:space="preserve" text-anchor="middle" x="607" y="-131" font-family="sans-Serif" font-size="10.00" fill="#0f172a">correction_hint</text>
|
|
204
|
+
</g>
|
|
205
|
+
<!-- Fmis->Mlst -->
|
|
206
|
+
<g id="edge12" class="edge">
|
|
207
|
+
<title>Fmis->Mlst</title>
|
|
208
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M662.84,-240.25C651.29,-219.83 633.91,-189.09 621.61,-167.34"/>
|
|
209
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="624.19,-166.21 617.82,-160.63 619.32,-168.97 624.19,-166.21"/>
|
|
169
210
|
</g>
|
|
170
211
|
<!-- Prompt -->
|
|
171
|
-
<g id="
|
|
212
|
+
<g id="node16" class="node">
|
|
172
213
|
<title>Prompt</title>
|
|
173
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="2" d="
|
|
174
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
175
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
214
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="2" d="M448.75,-44C448.75,-44 275.25,-44 275.25,-44 269.25,-44 263.25,-38 263.25,-32 263.25,-32 263.25,-12 263.25,-12 263.25,-6 269.25,0 275.25,0 275.25,0 448.75,0 448.75,0 454.75,0 460.75,-6 460.75,-12 460.75,-12 460.75,-32 460.75,-32 460.75,-38 454.75,-44 448.75,-44"/>
|
|
215
|
+
<text xml:space="preserve" text-anchor="middle" x="362" y="-30.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PromptBuilder</text>
|
|
216
|
+
<text xml:space="preserve" text-anchor="middle" x="362" y="-18.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">MEMORY + SKILLS + LEARNING</text>
|
|
217
|
+
<text xml:space="preserve" text-anchor="middle" x="362" y="-6.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">+ KNOWN MISTAKES / KNOWN FIXES</text>
|
|
176
218
|
</g>
|
|
177
219
|
<!-- Rec->Prompt -->
|
|
178
|
-
<g id="
|
|
220
|
+
<g id="edge13" class="edge">
|
|
179
221
|
<title>Rec->Prompt</title>
|
|
180
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
181
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
222
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M468.29,-122.06C448.29,-103.42 416.27,-73.58 392.6,-51.52"/>
|
|
223
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="394.74,-49.69 386.98,-46.28 390.92,-53.78 394.74,-49.69"/>
|
|
182
224
|
</g>
|
|
183
225
|
<!-- Skv->Prompt -->
|
|
184
|
-
<g id="
|
|
226
|
+
<g id="edge14" class="edge">
|
|
185
227
|
<title>Skv->Prompt</title>
|
|
186
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
187
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
228
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M255.71,-122.06C275.71,-103.42 307.73,-73.58 331.4,-51.52"/>
|
|
229
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="333.08,-53.78 337.02,-46.28 329.26,-49.69 333.08,-53.78"/>
|
|
188
230
|
</g>
|
|
189
231
|
<!-- Out->Prompt -->
|
|
190
|
-
<g id="
|
|
232
|
+
<g id="edge15" class="edge">
|
|
191
233
|
<title>Out->Prompt</title>
|
|
192
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
193
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
234
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M146.3,-121.93C188.57,-102.54 257.03,-71.15 305.47,-48.93"/>
|
|
235
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="306.38,-51.59 312.49,-45.71 304.05,-46.5 306.38,-51.59"/>
|
|
194
236
|
</g>
|
|
195
237
|
<!-- Sesv->Prompt -->
|
|
196
|
-
<g id="
|
|
238
|
+
<g id="edge16" class="edge">
|
|
197
239
|
<title>Sesv->Prompt</title>
|
|
198
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
199
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
240
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M362,-122.06C362,-104.3 362,-76.39 362,-54.71"/>
|
|
241
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="364.8,-54.91 362,-46.91 359.2,-54.91 364.8,-54.91"/>
|
|
242
|
+
</g>
|
|
243
|
+
<!-- Mlst->Prompt -->
|
|
244
|
+
<g id="edge17" class="edge">
|
|
245
|
+
<title>Mlst->Prompt</title>
|
|
246
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" d="M570.06,-121.93C529.7,-102.75 464.62,-71.8 417.99,-49.62"/>
|
|
247
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="419.2,-47.1 410.77,-46.19 416.79,-52.15 419.2,-47.1"/>
|
|
248
|
+
<text xml:space="preserve" text-anchor="middle" x="529.17" y="-79.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">do NOT repeat</text>
|
|
200
249
|
</g>
|
|
201
250
|
</g>
|
|
202
251
|
</svg>
|