pwn 0.5.669 → 0.5.673
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/.rubocop.yml +1 -1
- data/Gemfile +1 -1
- data/README.md +13 -9
- data/documentation/AI-Integration.md +1 -1
- data/documentation/Agent-Tool-Registry.md +17 -5
- data/documentation/Configuration.md +19 -8
- data/documentation/Diagrams.md +2 -2
- data/documentation/Home.md +2 -2
- data/documentation/How-PWN-Works.md +12 -10
- data/documentation/Installation.md +3 -1
- data/documentation/Mistakes.md +3 -0
- data/documentation/Persistence.md +4 -1
- data/documentation/Reinforcement-Learning.md +90 -73
- data/documentation/Skills-Memory-Learning.md +28 -4
- data/documentation/What-is-PWN.md +8 -7
- data/documentation/Why-PWN.md +3 -2
- data/documentation/diagrams/agent-tool-registry.svg +188 -160
- data/documentation/diagrams/dot/agent-tool-registry.dot +7 -4
- data/documentation/diagrams/dot/memory-skills-detailed.dot +12 -5
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +4 -3
- data/documentation/diagrams/dot/persistence-filesystem.dot +2 -1
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +11 -4
- data/documentation/diagrams/dot/reinforcement-learning.dot +8 -3
- data/documentation/diagrams/dot/task-summarizer.dot +24 -12
- data/documentation/diagrams/memory-skills-detailed.svg +252 -210
- data/documentation/diagrams/overall-pwn-architecture.svg +21 -12
- data/documentation/diagrams/persistence-filesystem.svg +127 -113
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +449 -397
- data/documentation/diagrams/reinforcement-learning.svg +276 -239
- data/documentation/diagrams/task-summarizer.svg +178 -126
- data/documentation/pwn-ai-Agent.md +66 -32
- data/lib/pwn/ai/agent/curriculum.rb +13 -4
- data/lib/pwn/ai/agent/dispatch.rb +3 -0
- data/lib/pwn/ai/agent/learning.rb +100 -14
- data/lib/pwn/ai/agent/loop.rb +692 -25
- data/lib/pwn/ai/agent/metrics.rb +52 -4
- data/lib/pwn/ai/agent/mistakes.rb +158 -1
- data/lib/pwn/ai/agent/policy.rb +935 -0
- data/lib/pwn/ai/agent/prompt_builder.rb +82 -6
- data/lib/pwn/ai/agent/reflect.rb +11 -3
- data/lib/pwn/ai/agent/registry.rb +18 -3
- data/lib/pwn/ai/agent/reward.rb +360 -48
- data/lib/pwn/ai/agent/task_summarizer.rb +415 -33
- data/lib/pwn/ai/agent/tool_guard.rb +157 -0
- data/lib/pwn/ai/agent/tools/policy.rb +76 -0
- data/lib/pwn/ai/agent/tools/ruby_eval.rb +27 -1
- data/lib/pwn/ai/agent/tools/shell.rb +28 -32
- data/lib/pwn/ai/agent.rb +2 -0
- data/lib/pwn/config.rb +14 -2
- data/lib/pwn/memory.rb +188 -0
- data/lib/pwn/sessions.rb +9 -4
- data/lib/pwn/version.rb +1 -1
- data/spec/integration/reinforced_feedback_loop_spec.rb +35 -9
- data/spec/lib/pwn/ai/agent/learning_spec.rb +119 -3
- data/spec/lib/pwn/ai/agent/loop_spec.rb +215 -3
- data/spec/lib/pwn/ai/agent/metrics_spec.rb +10 -0
- data/spec/lib/pwn/ai/agent/mistakes_spec.rb +33 -0
- data/spec/lib/pwn/ai/agent/policy_spec.rb +165 -0
- data/spec/lib/pwn/ai/agent/prompt_builder_spec.rb +51 -0
- data/spec/lib/pwn/ai/agent/reward_spec.rb +75 -0
- data/spec/lib/pwn/ai/agent/signal_hygiene_spec.rb +118 -0
- data/spec/lib/pwn/ai/agent/task_summarizer_spec.rb +111 -6
- data/spec/lib/pwn/ai/agent/tool_guard_spec.rb +61 -0
- data/spec/lib/pwn/ai/agent/tools/policy_spec.rb +18 -0
- data/spec/lib/pwn/memory_spec.rb +62 -0
- data/spec/support/sandbox.rb +2 -0
- data/third_party/pwn_rdoc.jsonl +108 -4
- metadata +10 -3
|
@@ -4,65 +4,65 @@
|
|
|
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
|
|
7
|
+
<svg width="1882pt" height="752pt"
|
|
8
|
+
viewBox="0.00 0.00 1882.00 752.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
9
9
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(43.2 709.2)">
|
|
10
10
|
<title>PWN_MemorySkills</title>
|
|
11
|
-
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-709.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,-709.2 1838.83,-709.2 1838.83,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="524.69" y="-644" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">Persistent Knowledge - Memory · Skills · Learning · Mistakes · Policy · Sessions</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="772.56" y="-632.55" 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,-504.5C20,-504.5
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
16
|
+
<path fill="#022c22" stroke="#047857" d="M20,-504.5C20,-504.5 1226,-504.5 1226,-504.5 1232,-504.5 1238,-510.5 1238,-516.5 1238,-516.5 1238,-607 1238,-607 1238,-613 1232,-619 1226,-619 1226,-619 20,-619 20,-619 14,-619 8,-613 8,-607 8,-607 8,-516.5 8,-516.5 8,-510.5 14,-504.5 20,-504.5"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="623" y="-596" 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="M149,-306.5C149,-306.5 1705,-306.5 1705,-306.5 1711,-306.5 1717,-312.5 1717,-318.5 1717,-318.5 1717,-433.5 1717,-433.5 1717,-439.5 1711,-445.5 1705,-445.5 1705,-445.5 149,-445.5 149,-445.5 143,-445.5 137,-439.5 137,-433.5 137,-433.5 137,-318.5 137,-318.5 137,-312.5 143,-306.5 149,-306.5"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="927" y="-422.5" 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="M384,-149C384,-149 1400,-149 1400,-149 1406,-149 1412,-155 1412,-161 1412,-161 1412,-259.5 1412,-259.5 1412,-265.5 1406,-271.5 1400,-271.5 1400,-271.5 384,-271.5 384,-271.5 378,-271.5 372,-265.5 372,-259.5 372,-259.5 372,-161 372,-161 372,-155 378,-149 384,-149"/>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="892" y="-248.5" 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="M1034.5,-548.5C1034.5,-548.5 931.5,-548.5 931.5,-548.5 925.5,-548.5 919.5,-542.5 919.5,-536.5 919.5,-536.5 919.5,-524.5 919.5,-524.5 919.5,-518.5 925.5,-512.5 931.5,-512.5 931.5,-512.5 1034.5,-512.5 1034.5,-512.5 1040.5,-512.5 1046.5,-518.5 1046.5,-524.5 1046.5,-524.5 1046.5,-536.5 1046.5,-536.5 1046.5,-542.5 1040.5,-548.5 1034.5,-548.5"/>
|
|
33
|
+
<text xml:space="preserve" text-anchor="middle" x="983" y="-533" font-family="sans-Serif" font-size="10.00" fill="#0f172a">memory_remember · lean</text>
|
|
34
|
+
<text xml:space="preserve" text-anchor="middle" x="983" y="-521" 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="node9" 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="M1343.12,-362.75C1343.12,-364.96 1316.18,-366.75 1283,-366.75 1249.82,-366.75 1222.88,-364.96 1222.88,-362.75 1222.88,-362.75 1222.88,-326.75 1222.88,-326.75 1222.88,-324.54 1249.82,-322.75 1283,-322.75 1316.18,-322.75 1343.12,-324.54 1343.12,-326.75 1343.12,-326.75 1343.12,-362.75 1343.12,-362.75"/>
|
|
40
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M1343.12,-362.75C1343.12,-360.54 1316.18,-358.75 1283,-358.75 1249.82,-358.75 1222.88,-360.54 1222.88,-362.75"/>
|
|
41
|
+
<text xml:space="preserve" text-anchor="middle" x="1283" y="-347.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">memory.json</text>
|
|
42
|
+
<text xml:space="preserve" text-anchor="middle" x="1283" y="-335.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="M1014.36,-511.95C1050.88,-491.8 1109.23,-460.63 1133,-453.5 1162.99,-444.5 1175.58,-460.63 1203,-445.5 1231.78,-429.62 1254.03,-398.73 1267.68,-375.52"/>
|
|
48
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1270,-377.09 1271.51,-368.75 1265.13,-374.33 1270,-377.09"/>
|
|
49
49
|
</g>
|
|
50
50
|
<!-- Fidx -->
|
|
51
|
-
<g id="
|
|
51
|
+
<g id="node10" class="node">
|
|
52
52
|
<title>Fidx</title>
|
|
53
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
54
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
55
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
56
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
57
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
53
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M1182.75,-369.5C1182.75,-372.53 1162.69,-375 1138,-375 1113.31,-375 1093.25,-372.53 1093.25,-369.5 1093.25,-369.5 1093.25,-320 1093.25,-320 1093.25,-316.97 1113.31,-314.5 1138,-314.5 1162.69,-314.5 1182.75,-316.97 1182.75,-320 1182.75,-320 1182.75,-369.5 1182.75,-369.5"/>
|
|
54
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M1182.75,-369.5C1182.75,-366.47 1162.69,-364 1138,-364 1113.31,-364 1093.25,-366.47 1093.25,-369.5"/>
|
|
55
|
+
<text xml:space="preserve" text-anchor="middle" x="1138" y="-353.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">memory.idx</text>
|
|
56
|
+
<text xml:space="preserve" text-anchor="middle" x="1138" y="-341.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">embedding index</text>
|
|
57
|
+
<text xml:space="preserve" text-anchor="middle" x="1138" y="-329.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(sha → vec)</text>
|
|
58
58
|
</g>
|
|
59
59
|
<!-- Rem->Fidx -->
|
|
60
60
|
<g id="edge18" class="edge">
|
|
61
61
|
<title>Rem->Fidx</title>
|
|
62
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
63
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
64
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
65
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
62
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M988.73,-512.02C995.47,-494.34 1008.42,-467.67 1029,-453.5 1045.37,-442.22 1056.45,-456.5 1073,-445.5 1095.14,-430.78 1111.44,-405.67 1122.18,-384.33"/>
|
|
63
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="1124.65,-385.65 1125.59,-377.23 1119.61,-383.23 1124.65,-385.65"/>
|
|
64
|
+
<text xml:space="preserve" text-anchor="middle" x="1053" y="-465.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">incremental</text>
|
|
65
|
+
<text xml:space="preserve" text-anchor="middle" x="1053" y="-455.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">re-embed</text>
|
|
66
66
|
</g>
|
|
67
67
|
<!-- Skc -->
|
|
68
68
|
<g id="node2" class="node">
|
|
@@ -72,39 +72,39 @@
|
|
|
72
72
|
<text xml:space="preserve" text-anchor="middle" x="66" y="-521" font-family="sans-Serif" font-size="10.00" fill="#0f172a">skill_add_reference</text>
|
|
73
73
|
</g>
|
|
74
74
|
<!-- Fskl -->
|
|
75
|
-
<g id="
|
|
75
|
+
<g id="node11" class="node">
|
|
76
76
|
<title>Fskl</title>
|
|
77
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
78
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
79
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
80
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
77
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M258.75,-362.75C258.75,-364.96 233.31,-366.75 202,-366.75 170.69,-366.75 145.25,-364.96 145.25,-362.75 145.25,-362.75 145.25,-326.75 145.25,-326.75 145.25,-324.54 170.69,-322.75 202,-322.75 233.31,-322.75 258.75,-324.54 258.75,-326.75 258.75,-326.75 258.75,-362.75 258.75,-362.75"/>
|
|
78
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M258.75,-362.75C258.75,-360.54 233.31,-358.75 202,-358.75 170.69,-358.75 145.25,-360.54 145.25,-362.75"/>
|
|
79
|
+
<text xml:space="preserve" text-anchor="middle" x="202" y="-347.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">skills/<n>/SKILL.md</text>
|
|
80
|
+
<text xml:space="preserve" text-anchor="middle" x="202" y="-335.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">YAML front-matter refs</text>
|
|
81
81
|
</g>
|
|
82
82
|
<!-- Skc->Fskl -->
|
|
83
83
|
<g id="edge2" class="edge">
|
|
84
84
|
<title>Skc->Fskl</title>
|
|
85
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
86
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
85
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M79.04,-511.88C102.44,-480.27 151.77,-413.61 180.33,-375.03"/>
|
|
86
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="182.41,-376.92 184.92,-368.83 177.91,-373.59 182.41,-376.92"/>
|
|
87
87
|
</g>
|
|
88
88
|
<!-- Note -->
|
|
89
89
|
<g id="node3" class="node">
|
|
90
90
|
<title>Note</title>
|
|
91
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
92
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
93
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
91
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M563.25,-548.5C563.25,-548.5 470.75,-548.5 470.75,-548.5 464.75,-548.5 458.75,-542.5 458.75,-536.5 458.75,-536.5 458.75,-524.5 458.75,-524.5 458.75,-518.5 464.75,-512.5 470.75,-512.5 470.75,-512.5 563.25,-512.5 563.25,-512.5 569.25,-512.5 575.25,-518.5 575.25,-524.5 575.25,-524.5 575.25,-536.5 575.25,-536.5 575.25,-542.5 569.25,-548.5 563.25,-548.5"/>
|
|
92
|
+
<text xml:space="preserve" text-anchor="middle" x="517" y="-533" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning_note_outcome</text>
|
|
93
|
+
<text xml:space="preserve" text-anchor="middle" x="517" y="-521" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning_reflect</text>
|
|
94
94
|
</g>
|
|
95
95
|
<!-- Flrn -->
|
|
96
|
-
<g id="
|
|
96
|
+
<g id="node12" class="node">
|
|
97
97
|
<title>Flrn</title>
|
|
98
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
99
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
100
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
101
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
98
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M684.5,-362.75C684.5,-364.96 668.14,-366.75 648,-366.75 627.86,-366.75 611.5,-364.96 611.5,-362.75 611.5,-362.75 611.5,-326.75 611.5,-326.75 611.5,-324.54 627.86,-322.75 648,-322.75 668.14,-322.75 684.5,-324.54 684.5,-326.75 684.5,-326.75 684.5,-362.75 684.5,-362.75"/>
|
|
99
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M684.5,-362.75C684.5,-360.54 668.14,-358.75 648,-358.75 627.86,-358.75 611.5,-360.54 611.5,-362.75"/>
|
|
100
|
+
<text xml:space="preserve" text-anchor="middle" x="648" y="-347.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning.jsonl</text>
|
|
101
|
+
<text xml:space="preserve" text-anchor="middle" x="648" y="-335.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">outcome log</text>
|
|
102
102
|
</g>
|
|
103
103
|
<!-- Note->Flrn -->
|
|
104
104
|
<g id="edge3" class="edge">
|
|
105
105
|
<title>Note->Flrn</title>
|
|
106
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
107
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
106
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M517.24,-511.89C518.48,-494.38 523.26,-468.07 540,-453.5 557.31,-438.44 572.11,-458.52 591,-445.5 614.85,-429.06 629.99,-399.16 638.62,-376.37"/>
|
|
107
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="641.21,-377.43 641.26,-368.95 635.94,-375.55 641.21,-377.43"/>
|
|
108
108
|
</g>
|
|
109
109
|
<!-- Dist -->
|
|
110
110
|
<g id="node4" class="node">
|
|
@@ -116,342 +116,384 @@
|
|
|
116
116
|
<!-- Dist->Fskl -->
|
|
117
117
|
<g id="edge4" class="edge">
|
|
118
118
|
<title>Dist->Fskl</title>
|
|
119
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
120
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
119
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M188.25,-511.89C179.41,-501.86 169.65,-488.52 165,-474.5 153.88,-440.98 168.97,-401.93 183.09,-375.7"/>
|
|
120
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="185.35,-377.39 186.83,-369.04 180.47,-374.64 185.35,-377.39"/>
|
|
121
121
|
</g>
|
|
122
122
|
<!-- Fses -->
|
|
123
|
-
<g id="
|
|
123
|
+
<g id="node13" class="node">
|
|
124
124
|
<title>Fses</title>
|
|
125
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
126
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
127
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
128
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
125
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M396.88,-362.75C396.88,-364.96 374.97,-366.75 348,-366.75 321.03,-366.75 299.12,-364.96 299.12,-362.75 299.12,-362.75 299.12,-326.75 299.12,-326.75 299.12,-324.54 321.03,-322.75 348,-322.75 374.97,-322.75 396.88,-324.54 396.88,-326.75 396.88,-326.75 396.88,-362.75 396.88,-362.75"/>
|
|
126
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M396.88,-362.75C396.88,-360.54 374.97,-358.75 348,-358.75 321.03,-358.75 299.12,-360.54 299.12,-362.75"/>
|
|
127
|
+
<text xml:space="preserve" text-anchor="middle" x="348" y="-347.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sessions/*.jsonl</text>
|
|
128
|
+
<text xml:space="preserve" text-anchor="middle" x="348" y="-335.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">transcripts (+ lean)</text>
|
|
129
129
|
</g>
|
|
130
130
|
<!-- Dist->Fses -->
|
|
131
131
|
<g id="edge5" class="edge">
|
|
132
132
|
<title>Dist->Fses</title>
|
|
133
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
134
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
135
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
133
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M208.33,-502.17C211.22,-485.66 217.61,-465.55 231.75,-453.5 247.96,-439.68 261.03,-456.93 279,-445.5 308.49,-426.73 328.75,-390.36 339.35,-367.11"/>
|
|
134
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="205.58,-501.62 207.23,-509.93 211.13,-502.41 205.58,-501.62"/>
|
|
135
|
+
<text xml:space="preserve" text-anchor="middle" x="241.88" y="-460.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">mine</text>
|
|
136
136
|
</g>
|
|
137
137
|
<!-- Mrec -->
|
|
138
138
|
<g id="node5" class="node">
|
|
139
139
|
<title>Mrec</title>
|
|
140
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
141
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
142
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
140
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M867.25,-548.5C867.25,-548.5 798.75,-548.5 798.75,-548.5 792.75,-548.5 786.75,-542.5 786.75,-536.5 786.75,-536.5 786.75,-524.5 786.75,-524.5 786.75,-518.5 792.75,-512.5 798.75,-512.5 798.75,-512.5 867.25,-512.5 867.25,-512.5 873.25,-512.5 879.25,-518.5 879.25,-524.5 879.25,-524.5 879.25,-536.5 879.25,-536.5 879.25,-542.5 873.25,-548.5 867.25,-548.5"/>
|
|
141
|
+
<text xml:space="preserve" text-anchor="middle" x="833" y="-533" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mistakes_record</text>
|
|
142
|
+
<text xml:space="preserve" text-anchor="middle" x="833" y="-521" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mistakes_resolve</text>
|
|
143
143
|
</g>
|
|
144
144
|
<!-- Mrec->Fmem -->
|
|
145
145
|
<g id="edge7" class="edge">
|
|
146
146
|
<title>Mrec->Fmem</title>
|
|
147
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
148
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
149
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
147
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M849.06,-512.06C867.34,-493.6 899.08,-465.49 933,-453.5 961.3,-443.5 1176.14,-458.88 1203,-445.5 1232.6,-430.75 1254.84,-399.39 1268.26,-375.75"/>
|
|
148
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="1270.66,-377.2 1272.03,-368.84 1265.74,-374.52 1270.66,-377.2"/>
|
|
149
|
+
<text xml:space="preserve" text-anchor="middle" x="966" y="-460.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">resolve→lesson</text>
|
|
150
150
|
</g>
|
|
151
151
|
<!-- Fmis -->
|
|
152
|
-
<g id="
|
|
152
|
+
<g id="node14" class="node">
|
|
153
153
|
<title>Fmis</title>
|
|
154
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
155
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
156
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
157
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
154
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M1052.88,-362.75C1052.88,-364.96 1021.56,-366.75 983,-366.75 944.44,-366.75 913.12,-364.96 913.12,-362.75 913.12,-362.75 913.12,-326.75 913.12,-326.75 913.12,-324.54 944.44,-322.75 983,-322.75 1021.56,-322.75 1052.88,-324.54 1052.88,-326.75 1052.88,-326.75 1052.88,-362.75 1052.88,-362.75"/>
|
|
155
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M1052.88,-362.75C1052.88,-360.54 1021.56,-358.75 983,-358.75 944.44,-358.75 913.12,-360.54 913.12,-362.75"/>
|
|
156
|
+
<text xml:space="preserve" text-anchor="middle" x="983" y="-347.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mistakes.json</text>
|
|
157
|
+
<text xml:space="preserve" text-anchor="middle" x="983" y="-335.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sig → count · fix · regressed</text>
|
|
158
158
|
</g>
|
|
159
159
|
<!-- Mrec->Fmis -->
|
|
160
160
|
<g id="edge6" class="edge">
|
|
161
161
|
<title>Mrec->Fmis</title>
|
|
162
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
163
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
162
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M834.48,-512.11C836.89,-494.76 843.26,-468.59 860,-453.5 871.21,-443.4 880.03,-453.22 893,-445.5 922.45,-427.96 947.74,-397.69 963.95,-375.08"/>
|
|
163
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="966.09,-376.91 968.37,-368.75 961.5,-373.7 966.09,-376.91"/>
|
|
164
164
|
</g>
|
|
165
165
|
<!-- Fprf -->
|
|
166
|
-
<g id="
|
|
166
|
+
<g id="node17" class="node">
|
|
167
167
|
<title>Fprf</title>
|
|
168
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
169
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
170
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
171
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
168
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M873.38,-362.75C873.38,-364.96 840.04,-366.75 799,-366.75 757.96,-366.75 724.62,-364.96 724.62,-362.75 724.62,-362.75 724.62,-326.75 724.62,-326.75 724.62,-324.54 757.96,-322.75 799,-322.75 840.04,-322.75 873.38,-324.54 873.38,-326.75 873.38,-326.75 873.38,-362.75 873.38,-362.75"/>
|
|
169
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M873.38,-362.75C873.38,-360.54 840.04,-358.75 799,-358.75 757.96,-358.75 724.62,-360.54 724.62,-362.75"/>
|
|
170
|
+
<text xml:space="preserve" text-anchor="middle" x="799" y="-347.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">preferences.jsonl</text>
|
|
171
|
+
<text xml:space="preserve" text-anchor="middle" x="799" y="-335.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">DPO (prompt,rejected,chosen)</text>
|
|
172
172
|
</g>
|
|
173
173
|
<!-- Mrec->Fprf -->
|
|
174
|
-
<g id="
|
|
174
|
+
<g id="edge37" class="edge">
|
|
175
175
|
<title>Mrec->Fprf</title>
|
|
176
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
177
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
178
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
176
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M789.81,-511.9C781.97,-509.14 773.81,-506.53 766,-504.5 723.09,-493.36 597.65,-508.13 568.75,-474.5 562.67,-467.42 562.35,-460.29 568.75,-453.5 579.15,-442.47 691.26,-451.92 705,-445.5 737.4,-430.37 764.16,-398.63 780.73,-374.99"/>
|
|
177
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="782.86,-376.83 785.05,-368.64 778.23,-373.68 782.86,-376.83"/>
|
|
178
|
+
<text xml:space="preserve" text-anchor="middle" x="598.38" y="-460.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">resolve → pair</text>
|
|
179
179
|
</g>
|
|
180
180
|
<!-- Xft -->
|
|
181
181
|
<g id="node6" class="node">
|
|
182
182
|
<title>Xft</title>
|
|
183
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
184
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
185
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
183
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M406.25,-548.5C406.25,-548.5 307.75,-548.5 307.75,-548.5 301.75,-548.5 295.75,-542.5 295.75,-536.5 295.75,-536.5 295.75,-524.5 295.75,-524.5 295.75,-518.5 301.75,-512.5 307.75,-512.5 307.75,-512.5 406.25,-512.5 406.25,-512.5 412.25,-512.5 418.25,-518.5 418.25,-524.5 418.25,-524.5 418.25,-536.5 418.25,-536.5 418.25,-542.5 412.25,-548.5 406.25,-548.5"/>
|
|
184
|
+
<text xml:space="preserve" text-anchor="middle" x="357" y="-533" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Learning.export_finetune</text>
|
|
185
|
+
<text xml:space="preserve" text-anchor="middle" x="357" y="-521" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(sessions → dataset)</text>
|
|
186
186
|
</g>
|
|
187
187
|
<!-- Xft->Flrn -->
|
|
188
188
|
<g id="edge21" class="edge">
|
|
189
189
|
<title>Xft->Flrn</title>
|
|
190
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
191
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
192
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
190
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M382.44,-505.4C402.98,-487.58 433.55,-464.57 465,-453.5 491.47,-444.19 567.19,-460.34 591,-445.5 619.27,-427.88 634.91,-390.8 642.37,-367.15"/>
|
|
191
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="380.67,-503.23 376.55,-510.64 384.39,-507.42 380.67,-503.23"/>
|
|
192
|
+
<text xml:space="preserve" text-anchor="middle" x="490.5" y="-460.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">success:true</text>
|
|
193
193
|
</g>
|
|
194
194
|
<!-- Xft->Fses -->
|
|
195
195
|
<g id="edge20" class="edge">
|
|
196
196
|
<title>Xft->Fses</title>
|
|
197
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
198
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
199
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
197
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M300.13,-507.31C286.48,-499.13 273.59,-488.37 265.75,-474.5 261.16,-466.37 261.16,-461.63 265.75,-453.5 269.13,-447.51 273.99,-450.21 279,-445.5 303.7,-422.28 324.63,-388.81 336.75,-367.17"/>
|
|
198
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="298.63,-509.68 306.98,-511.11 301.35,-504.78 298.63,-509.68"/>
|
|
199
|
+
<text xml:space="preserve" text-anchor="middle" x="275.88" y="-460.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">mine</text>
|
|
200
200
|
</g>
|
|
201
201
|
<!-- Fftn -->
|
|
202
|
-
<g id="
|
|
202
|
+
<g id="node16" class="node">
|
|
203
203
|
<title>Fftn</title>
|
|
204
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
205
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
206
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
207
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
204
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M571.25,-362.75C571.25,-364.96 541.11,-366.75 504,-366.75 466.89,-366.75 436.75,-364.96 436.75,-362.75 436.75,-362.75 436.75,-326.75 436.75,-326.75 436.75,-324.54 466.89,-322.75 504,-322.75 541.11,-322.75 571.25,-324.54 571.25,-326.75 571.25,-326.75 571.25,-362.75 571.25,-362.75"/>
|
|
205
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M571.25,-362.75C571.25,-360.54 541.11,-358.75 504,-358.75 466.89,-358.75 436.75,-360.54 436.75,-362.75"/>
|
|
206
|
+
<text xml:space="preserve" text-anchor="middle" x="504" y="-347.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">finetune/*.jsonl</text>
|
|
207
|
+
<text xml:space="preserve" text-anchor="middle" x="504" y="-335.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">ShareGPT / OpenAI / DPO</text>
|
|
208
208
|
</g>
|
|
209
209
|
<!-- Xft->Fftn -->
|
|
210
210
|
<g id="edge19" class="edge">
|
|
211
211
|
<title>Xft->Fftn</title>
|
|
212
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
213
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
212
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M346.01,-511.88C336.95,-494.87 327.7,-469.4 342,-453.5 353.21,-441.04 402.13,-453.24 417,-445.5 447.32,-429.72 471.77,-398.61 486.95,-375.3"/>
|
|
213
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="489.16,-377.04 491.06,-368.78 484.42,-374.05 489.16,-377.04"/>
|
|
214
214
|
</g>
|
|
215
215
|
<!-- Rdpo -->
|
|
216
216
|
<g id="node7" class="node">
|
|
217
217
|
<title>Rdpo</title>
|
|
218
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
219
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
220
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
218
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M734.38,-548.5C734.38,-548.5 627.62,-548.5 627.62,-548.5 621.62,-548.5 615.62,-542.5 615.62,-536.5 615.62,-536.5 615.62,-524.5 615.62,-524.5 615.62,-518.5 621.62,-512.5 627.62,-512.5 627.62,-512.5 734.38,-512.5 734.38,-512.5 740.38,-512.5 746.38,-518.5 746.38,-524.5 746.38,-524.5 746.38,-536.5 746.38,-536.5 746.38,-542.5 740.38,-548.5 734.38,-548.5"/>
|
|
219
|
+
<text xml:space="preserve" text-anchor="middle" x="681" y="-533" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Reward.record_preference</text>
|
|
220
|
+
<text xml:space="preserve" text-anchor="middle" x="681" y="-521" font-family="sans-Serif" font-size="10.00" fill="#0f172a">export_dpo</text>
|
|
221
221
|
</g>
|
|
222
222
|
<!-- Rdpo->Fprf -->
|
|
223
|
-
<g id="
|
|
223
|
+
<g id="edge36" class="edge">
|
|
224
224
|
<title>Rdpo->Fprf</title>
|
|
225
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
226
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
225
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M624.52,-511.89C594.69,-501.32 562.51,-487.45 554,-474.5 548.88,-466.7 547.58,-460.27 554,-453.5 565.56,-441.31 689.76,-452.56 705,-445.5 737.44,-430.46 764.19,-398.71 780.75,-375.04"/>
|
|
226
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="782.89,-376.87 785.07,-368.68 778.26,-373.72 782.89,-376.87"/>
|
|
227
|
+
</g>
|
|
228
|
+
<!-- PolW -->
|
|
229
|
+
<g id="node8" class="node">
|
|
230
|
+
<title>PolW</title>
|
|
231
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M1217.75,-548.5C1217.75,-548.5 1098.25,-548.5 1098.25,-548.5 1092.25,-548.5 1086.25,-542.5 1086.25,-536.5 1086.25,-536.5 1086.25,-524.5 1086.25,-524.5 1086.25,-518.5 1092.25,-512.5 1098.25,-512.5 1098.25,-512.5 1217.75,-512.5 1217.75,-512.5 1223.75,-512.5 1229.75,-518.5 1229.75,-524.5 1229.75,-524.5 1229.75,-536.5 1229.75,-536.5 1229.75,-542.5 1223.75,-548.5 1217.75,-548.5"/>
|
|
232
|
+
<text xml:space="preserve" text-anchor="middle" x="1158" y="-533" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Policy.begin / observe / finish</text>
|
|
233
|
+
<text xml:space="preserve" text-anchor="middle" x="1158" y="-521" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(Q + REINFORCE)</text>
|
|
234
|
+
</g>
|
|
235
|
+
<!-- Fpol -->
|
|
236
|
+
<g id="node18" class="node">
|
|
237
|
+
<title>Fpol</title>
|
|
238
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M1546.88,-362.75C1546.88,-364.96 1510.18,-366.75 1465,-366.75 1419.82,-366.75 1383.12,-364.96 1383.12,-362.75 1383.12,-362.75 1383.12,-326.75 1383.12,-326.75 1383.12,-324.54 1419.82,-322.75 1465,-322.75 1510.18,-322.75 1546.88,-324.54 1546.88,-326.75 1546.88,-326.75 1546.88,-362.75 1546.88,-362.75"/>
|
|
239
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M1546.88,-362.75C1546.88,-360.54 1510.18,-358.75 1465,-358.75 1419.82,-358.75 1383.12,-360.54 1383.12,-362.75"/>
|
|
240
|
+
<text xml:space="preserve" text-anchor="middle" x="1465" y="-347.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">policy.json + policy_traj.jsonl</text>
|
|
241
|
+
<text xml:space="preserve" text-anchor="middle" x="1465" y="-335.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Q table · REINFORCE · MDP log</text>
|
|
242
|
+
</g>
|
|
243
|
+
<!-- PolW->Fpol -->
|
|
244
|
+
<g id="edge33" class="edge">
|
|
245
|
+
<title>PolW->Fpol</title>
|
|
246
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M1166.84,-512.02C1177.11,-493.79 1195.91,-466.17 1221,-453.5 1249.21,-439.26 1334.08,-458.25 1363,-445.5 1397.21,-430.42 1426.54,-398.44 1444.85,-374.74"/>
|
|
247
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1446.87,-376.71 1449.44,-368.63 1442.4,-373.34 1446.87,-376.71"/>
|
|
227
248
|
</g>
|
|
228
249
|
<!-- Rec -->
|
|
229
|
-
<g id="
|
|
250
|
+
<g id="node19" class="node">
|
|
230
251
|
<title>Rec</title>
|
|
231
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
232
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
252
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M1237.88,-197C1237.88,-197 1182.12,-197 1182.12,-197 1176.12,-197 1170.12,-191 1170.12,-185 1170.12,-185 1170.12,-173 1170.12,-173 1170.12,-167 1176.12,-161 1182.12,-161 1182.12,-161 1237.88,-161 1237.88,-161 1243.88,-161 1249.88,-167 1249.88,-173 1249.88,-173 1249.88,-185 1249.88,-185 1249.88,-191 1243.88,-197 1237.88,-197"/>
|
|
253
|
+
<text xml:space="preserve" text-anchor="middle" x="1210" y="-175.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">memory_recall</text>
|
|
233
254
|
</g>
|
|
234
255
|
<!-- Fmem->Rec -->
|
|
235
256
|
<g id="edge8" class="edge">
|
|
236
257
|
<title>Fmem->Rec</title>
|
|
237
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
238
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
258
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M1273.46,-322.34C1260.16,-292.52 1236.08,-238.5 1221.71,-206.28"/>
|
|
259
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="1224.38,-205.38 1218.56,-199.21 1219.26,-207.66 1224.38,-205.38"/>
|
|
239
260
|
</g>
|
|
240
261
|
<!-- Midx -->
|
|
241
|
-
<g id="
|
|
262
|
+
<g id="node20" class="node">
|
|
242
263
|
<title>Midx</title>
|
|
243
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="2" d="
|
|
244
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
245
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
246
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
264
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="2" d="M1118.12,-201C1118.12,-201 1057.88,-201 1057.88,-201 1051.88,-201 1045.88,-195 1045.88,-189 1045.88,-189 1045.88,-169 1045.88,-169 1045.88,-163 1051.88,-157 1057.88,-157 1057.88,-157 1118.12,-157 1118.12,-157 1124.12,-157 1130.12,-163 1130.12,-169 1130.12,-169 1130.12,-189 1130.12,-189 1130.12,-195 1124.12,-201 1118.12,-201"/>
|
|
265
|
+
<text xml:space="preserve" text-anchor="middle" x="1088" y="-187.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">MemoryIndex</text>
|
|
266
|
+
<text xml:space="preserve" text-anchor="middle" x="1088" y="-175.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">recall_semantic</text>
|
|
267
|
+
<text xml:space="preserve" text-anchor="middle" x="1088" y="-163.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(cosine top-K)</text>
|
|
247
268
|
</g>
|
|
248
269
|
<!-- Fmem->Midx -->
|
|
249
270
|
<g id="edge23" class="edge">
|
|
250
271
|
<title>Fmem->Midx</title>
|
|
251
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
252
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
272
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" stroke-dasharray="5,2" d="M1239.32,-322.83C1206.32,-306.52 1164.36,-284.52 1150,-271.5 1130.85,-254.14 1114.69,-229.73 1103.68,-210.48"/>
|
|
273
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="1106.13,-209.13 1099.79,-203.49 1101.23,-211.85 1106.13,-209.13"/>
|
|
253
274
|
</g>
|
|
254
275
|
<!-- ReVal -->
|
|
255
|
-
<g id="
|
|
276
|
+
<g id="node28" class="node">
|
|
256
277
|
<title>ReVal</title>
|
|
257
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
258
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
259
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
260
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
278
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M1483.12,-552.5C1483.12,-552.5 1380.88,-552.5 1380.88,-552.5 1374.88,-552.5 1368.88,-546.5 1368.88,-540.5 1368.88,-540.5 1368.88,-520.5 1368.88,-520.5 1368.88,-514.5 1374.88,-508.5 1380.88,-508.5 1380.88,-508.5 1483.12,-508.5 1483.12,-508.5 1489.12,-508.5 1495.12,-514.5 1495.12,-520.5 1495.12,-520.5 1495.12,-540.5 1495.12,-540.5 1495.12,-546.5 1489.12,-552.5 1483.12,-552.5"/>
|
|
279
|
+
<text xml:space="preserve" text-anchor="middle" x="1432" y="-539" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Extrospection.verify</text>
|
|
280
|
+
<text xml:space="preserve" text-anchor="middle" x="1432" y="-527" font-family="sans-Serif" font-size="10.00" fill="#0f172a">revalidate_memory (cron)</text>
|
|
281
|
+
<text xml:space="preserve" text-anchor="middle" x="1432" y="-515" font-family="sans-Serif" font-size="10.00" fill="#0f172a">browser-backed GC</text>
|
|
261
282
|
</g>
|
|
262
283
|
<!-- Fmem->ReVal -->
|
|
263
284
|
<g id="edge30" class="edge">
|
|
264
285
|
<title>Fmem->ReVal</title>
|
|
265
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
266
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="
|
|
267
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
286
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,2" d="M1264.43,-367.29C1243.28,-394.56 1214.65,-441.9 1239.25,-474.5 1253.96,-493.99 1310.46,-508.64 1358.52,-517.9"/>
|
|
287
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="1358,-520.65 1366.38,-519.37 1359.03,-515.15 1358,-520.65"/>
|
|
288
|
+
<text xml:space="preserve" text-anchor="middle" x="1281.62" y="-460.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">:fact w/ CVE|ver|URL</text>
|
|
268
289
|
</g>
|
|
269
290
|
<!-- Fidx->Midx -->
|
|
270
291
|
<g id="edge22" class="edge">
|
|
271
292
|
<title>Fidx->Midx</title>
|
|
272
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
273
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
293
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M1128.95,-314.1C1120.05,-284.95 1106.52,-240.65 1097.48,-211.03"/>
|
|
294
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="1100.18,-210.31 1095.17,-203.48 1094.83,-211.95 1100.18,-210.31"/>
|
|
274
295
|
</g>
|
|
275
296
|
<!-- Skv -->
|
|
276
|
-
<g id="
|
|
297
|
+
<g id="node21" class="node">
|
|
277
298
|
<title>Skv</title>
|
|
278
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
279
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
299
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M448.25,-197C448.25,-197 391.75,-197 391.75,-197 385.75,-197 379.75,-191 379.75,-185 379.75,-185 379.75,-173 379.75,-173 379.75,-167 385.75,-161 391.75,-161 391.75,-161 448.25,-161 448.25,-161 454.25,-161 460.25,-167 460.25,-173 460.25,-173 460.25,-185 460.25,-185 460.25,-191 454.25,-197 448.25,-197"/>
|
|
300
|
+
<text xml:space="preserve" text-anchor="middle" x="420" y="-175.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">skill_list · view</text>
|
|
280
301
|
</g>
|
|
281
302
|
<!-- Fskl->Skv -->
|
|
282
303
|
<g id="edge9" class="edge">
|
|
283
304
|
<title>Fskl->Skv</title>
|
|
284
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
285
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
305
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M230.5,-322.34C271.48,-291.56 346.78,-235 389.07,-203.23"/>
|
|
306
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="390.53,-205.64 395.25,-198.59 387.17,-201.16 390.53,-205.64"/>
|
|
286
307
|
</g>
|
|
287
308
|
<!-- Out -->
|
|
288
|
-
<g id="
|
|
309
|
+
<g id="node22" class="node">
|
|
289
310
|
<title>Out</title>
|
|
290
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
291
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
292
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
311
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M873.88,-197C873.88,-197 800.12,-197 800.12,-197 794.12,-197 788.12,-191 788.12,-185 788.12,-185 788.12,-173 788.12,-173 788.12,-167 794.12,-161 800.12,-161 800.12,-161 873.88,-161 873.88,-161 879.88,-161 885.88,-167 885.88,-173 885.88,-173 885.88,-185 885.88,-185 885.88,-191 879.88,-197 873.88,-197"/>
|
|
312
|
+
<text xml:space="preserve" text-anchor="middle" x="837" y="-181.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning_outcomes</text>
|
|
313
|
+
<text xml:space="preserve" text-anchor="middle" x="837" y="-169.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning_stats</text>
|
|
293
314
|
</g>
|
|
294
315
|
<!-- Flrn->Out -->
|
|
295
316
|
<g id="edge10" class="edge">
|
|
296
317
|
<title>Flrn->Out</title>
|
|
297
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
298
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
318
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M678.51,-323.24C687.01,-317.68 696.3,-311.75 705,-306.5 732.42,-289.95 743.83,-292.52 768,-271.5 789.84,-252.51 809.14,-225.55 821.73,-205.82"/>
|
|
319
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="823.97,-207.52 825.83,-199.25 819.22,-204.56 823.97,-207.52"/>
|
|
299
320
|
</g>
|
|
300
321
|
<!-- Exem -->
|
|
301
|
-
<g id="
|
|
322
|
+
<g id="node25" class="node">
|
|
302
323
|
<title>Exem</title>
|
|
303
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
304
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
305
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
324
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M735.62,-197C735.62,-197 642.38,-197 642.38,-197 636.38,-197 630.38,-191 630.38,-185 630.38,-185 630.38,-173 630.38,-173 630.38,-167 636.38,-161 642.38,-161 642.38,-161 735.62,-161 735.62,-161 741.62,-161 747.62,-167 747.62,-173 747.62,-173 747.62,-185 747.62,-185 747.62,-191 741.62,-197 735.62,-197"/>
|
|
325
|
+
<text xml:space="preserve" text-anchor="middle" x="689" y="-181.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Learning.exemplars_for</text>
|
|
326
|
+
<text xml:space="preserve" text-anchor="middle" x="689" y="-169.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(few-shot trace)</text>
|
|
306
327
|
</g>
|
|
307
328
|
<!-- Flrn->Exem -->
|
|
308
329
|
<g id="edge24" class="edge">
|
|
309
330
|
<title>Flrn->Exem</title>
|
|
310
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
311
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
331
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M653.36,-322.34C660.8,-292.65 674.24,-238.97 682.32,-206.69"/>
|
|
332
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="684.94,-207.76 684.16,-199.32 679.5,-206.4 684.94,-207.76"/>
|
|
312
333
|
</g>
|
|
313
334
|
<!-- Sesv -->
|
|
314
|
-
<g id="
|
|
335
|
+
<g id="node23" class="node">
|
|
315
336
|
<title>Sesv</title>
|
|
316
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
317
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
318
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
337
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M578.12,-197C578.12,-197 511.88,-197 511.88,-197 505.88,-197 499.88,-191 499.88,-185 499.88,-185 499.88,-173 499.88,-173 499.88,-167 505.88,-161 511.88,-161 511.88,-161 578.12,-161 578.12,-161 584.12,-161 590.12,-167 590.12,-173 590.12,-173 590.12,-185 590.12,-185 590.12,-191 584.12,-197 578.12,-197"/>
|
|
338
|
+
<text xml:space="preserve" text-anchor="middle" x="545" y="-181.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sessions_view</text>
|
|
339
|
+
<text xml:space="preserve" text-anchor="middle" x="545" y="-169.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sessions_current</text>
|
|
319
340
|
</g>
|
|
320
341
|
<!-- Fses->Sesv -->
|
|
321
342
|
<g id="edge11" class="edge">
|
|
322
343
|
<title>Fses->Sesv</title>
|
|
323
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
324
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
344
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M386.12,-323.15C424.39,-302.43 478,-273.28 480,-271.5 501.09,-252.75 519.12,-225.93 530.8,-206.17"/>
|
|
345
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="533.16,-207.68 534.73,-199.35 528.31,-204.89 533.16,-207.68"/>
|
|
325
346
|
</g>
|
|
326
347
|
<!-- Fses->Exem -->
|
|
327
348
|
<g id="edge25" class="edge">
|
|
328
349
|
<title>Fses->Exem</title>
|
|
329
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
330
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
350
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" stroke-dasharray="5,2" d="M381.77,-322.77C392.68,-316.75 405.05,-310.69 417,-306.5 499.27,-277.66 534.3,-314.74 610,-271.5 637.55,-255.76 660.11,-226.71 673.97,-205.55"/>
|
|
351
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="676.22,-207.22 678.14,-198.97 671.49,-204.23 676.22,-207.22"/>
|
|
331
352
|
</g>
|
|
332
353
|
<!-- Teach -->
|
|
333
|
-
<g id="
|
|
354
|
+
<g id="node29" class="node">
|
|
334
355
|
<title>Teach</title>
|
|
335
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="2" d="
|
|
336
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
337
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
338
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
356
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="2" d="M1783.62,-552.5C1783.62,-552.5 1690.38,-552.5 1690.38,-552.5 1684.38,-552.5 1678.38,-546.5 1678.38,-540.5 1678.38,-540.5 1678.38,-520.5 1678.38,-520.5 1678.38,-514.5 1684.38,-508.5 1690.38,-508.5 1690.38,-508.5 1783.62,-508.5 1783.62,-508.5 1789.62,-508.5 1795.62,-514.5 1795.62,-520.5 1795.62,-520.5 1795.62,-540.5 1795.62,-540.5 1795.62,-546.5 1789.62,-552.5 1783.62,-552.5"/>
|
|
357
|
+
<text xml:space="preserve" text-anchor="middle" x="1737" y="-539" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Reflect.on</text>
|
|
358
|
+
<text xml:space="preserve" text-anchor="middle" x="1737" y="-527" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(engine: reflect_engine)</text>
|
|
359
|
+
<text xml:space="preserve" text-anchor="middle" x="1737" y="-515" font-family="sans-Serif" font-size="10.00" fill="#0f172a">teacher-student</text>
|
|
339
360
|
</g>
|
|
340
361
|
<!-- Fses->Teach -->
|
|
341
362
|
<g id="edge31" class="edge">
|
|
342
363
|
<title>Fses->Teach</title>
|
|
343
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
344
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="
|
|
345
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
364
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,2" d="M355.77,-367.15C365.78,-391.18 385.72,-428.97 417,-445.5 446.3,-460.98 1578.09,-444.57 1610,-453.5 1610.59,-453.67 1655.69,-480.69 1691.98,-502.47"/>
|
|
365
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="1690.52,-504.86 1698.82,-506.57 1693.4,-500.06 1690.52,-504.86"/>
|
|
366
|
+
<text xml:space="preserve" text-anchor="middle" x="1663.25" y="-460.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">transcript</text>
|
|
346
367
|
</g>
|
|
347
368
|
<!-- Mlst -->
|
|
348
|
-
<g id="
|
|
369
|
+
<g id="node24" class="node">
|
|
349
370
|
<title>Mlst</title>
|
|
350
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
351
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
352
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
371
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M993.88,-197C993.88,-197 938.12,-197 938.12,-197 932.12,-197 926.12,-191 926.12,-185 926.12,-185 926.12,-173 926.12,-173 926.12,-167 932.12,-161 938.12,-161 938.12,-161 993.88,-161 993.88,-161 999.88,-161 1005.88,-167 1005.88,-173 1005.88,-173 1005.88,-185 1005.88,-185 1005.88,-191 999.88,-197 993.88,-197"/>
|
|
372
|
+
<text xml:space="preserve" text-anchor="middle" x="966" y="-181.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mistakes_list</text>
|
|
373
|
+
<text xml:space="preserve" text-anchor="middle" x="966" y="-169.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">correction_hint</text>
|
|
353
374
|
</g>
|
|
354
375
|
<!-- Fmis->Mlst -->
|
|
355
376
|
<g id="edge12" class="edge">
|
|
356
377
|
<title>Fmis->Mlst</title>
|
|
357
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
358
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
378
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M980.78,-322.34C977.71,-292.77 972.17,-239.43 968.81,-207.11"/>
|
|
379
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="971.62,-207.04 968.01,-199.37 966.05,-207.62 971.62,-207.04"/>
|
|
359
380
|
</g>
|
|
360
381
|
<!-- Fext -->
|
|
361
|
-
<g id="
|
|
382
|
+
<g id="node15" class="node">
|
|
362
383
|
<title>Fext</title>
|
|
363
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
364
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
365
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
366
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
384
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M1709.25,-362.75C1709.25,-364.96 1681.8,-366.75 1648,-366.75 1614.2,-366.75 1586.75,-364.96 1586.75,-362.75 1586.75,-362.75 1586.75,-326.75 1586.75,-326.75 1586.75,-324.54 1614.2,-322.75 1648,-322.75 1681.8,-322.75 1709.25,-324.54 1709.25,-326.75 1709.25,-326.75 1709.25,-362.75 1709.25,-362.75"/>
|
|
385
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M1709.25,-362.75C1709.25,-360.54 1681.8,-358.75 1648,-358.75 1614.2,-358.75 1586.75,-360.54 1586.75,-362.75"/>
|
|
386
|
+
<text xml:space="preserve" text-anchor="middle" x="1648" y="-347.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">extrospection.json</text>
|
|
387
|
+
<text xml:space="preserve" text-anchor="middle" x="1648" y="-335.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">snapshot · rf · web · obs</text>
|
|
367
388
|
</g>
|
|
368
389
|
<!-- Fprf->Fftn -->
|
|
369
|
-
<g id="
|
|
390
|
+
<g id="edge38" class="edge">
|
|
370
391
|
<title>Fprf->Fftn</title>
|
|
371
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
372
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
373
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
392
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M784.57,-367.3C768.38,-390.28 739.79,-424.53 705,-438.96 658.61,-458.2 638.07,-458.96 592,-438.96 562.33,-426.07 538.11,-397.71 522.65,-375.45"/>
|
|
393
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="525.03,-373.98 518.25,-368.9 520.38,-377.1 525.03,-373.98"/>
|
|
394
|
+
<text xml:space="preserve" text-anchor="middle" x="661" y="-460.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">export_dpo</text>
|
|
395
|
+
</g>
|
|
396
|
+
<!-- PolR -->
|
|
397
|
+
<g id="node26" class="node">
|
|
398
|
+
<title>PolR</title>
|
|
399
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M1392.12,-197C1392.12,-197 1301.88,-197 1301.88,-197 1295.88,-197 1289.88,-191 1289.88,-185 1289.88,-185 1289.88,-173 1289.88,-173 1289.88,-167 1295.88,-161 1301.88,-161 1301.88,-161 1392.12,-161 1392.12,-161 1398.12,-161 1404.12,-167 1404.12,-173 1404.12,-173 1404.12,-185 1404.12,-185 1404.12,-191 1398.12,-197 1392.12,-197"/>
|
|
400
|
+
<text xml:space="preserve" text-anchor="middle" x="1347" y="-181.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">policy_stats · evaluate</text>
|
|
401
|
+
<text xml:space="preserve" text-anchor="middle" x="1347" y="-169.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">policy_recommend</text>
|
|
402
|
+
</g>
|
|
403
|
+
<!-- Fpol->PolR -->
|
|
404
|
+
<g id="edge34" class="edge">
|
|
405
|
+
<title>Fpol->PolR</title>
|
|
406
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M1449.57,-322.34C1427.9,-292.26 1388.49,-237.57 1365.34,-205.45"/>
|
|
407
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="1367.65,-203.86 1360.7,-199.01 1363.1,-207.14 1367.65,-203.86"/>
|
|
374
408
|
</g>
|
|
375
409
|
<!-- Prompt -->
|
|
376
|
-
<g id="
|
|
410
|
+
<g id="node27" class="node">
|
|
377
411
|
<title>Prompt</title>
|
|
378
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="2" d="
|
|
379
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
380
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
381
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
382
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
383
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
412
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="2" d="M995,-68C995,-68 799,-68 799,-68 793,-68 787,-62 787,-56 787,-56 787,-12 787,-12 787,-6 793,0 799,0 799,0 995,0 995,0 1001,0 1007,-6 1007,-12 1007,-12 1007,-56 1007,-56 1007,-62 1001,-68 995,-68"/>
|
|
413
|
+
<text xml:space="preserve" text-anchor="middle" x="897" y="-54.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PromptBuilder.build(request:)</text>
|
|
414
|
+
<text xml:space="preserve" text-anchor="middle" x="897" y="-42.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">engine-aware .budget</text>
|
|
415
|
+
<text xml:space="preserve" text-anchor="middle" x="897" y="-30.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">MEMORY (relevance-ranked) + SKILLS</text>
|
|
416
|
+
<text xml:space="preserve" text-anchor="middle" x="897" y="-18.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">+ LEARNING + KNOWN MISTAKES/FIXES</text>
|
|
417
|
+
<text xml:space="preserve" text-anchor="middle" x="897" y="-6.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">+ METRICS (per-engine) + POLICY + EXTRO</text>
|
|
384
418
|
</g>
|
|
385
419
|
<!-- Rec->Prompt -->
|
|
386
420
|
<g id="edge13" class="edge">
|
|
387
421
|
<title>Rec->Prompt</title>
|
|
388
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
389
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
422
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M1191.07,-160.4C1171.91,-143.39 1140.8,-117.93 1110,-102 1081.09,-87.05 1048.23,-74.7 1017.12,-64.85"/>
|
|
423
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="1018.32,-62.29 1009.85,-62.59 1016.66,-67.64 1018.32,-62.29"/>
|
|
390
424
|
</g>
|
|
391
425
|
<!-- Midx->Prompt -->
|
|
392
426
|
<g id="edge26" class="edge">
|
|
393
427
|
<title>Midx->Prompt</title>
|
|
394
|
-
<path fill="none" stroke="#38bdf8" stroke-width="2" d="
|
|
395
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="
|
|
396
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
397
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
428
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M1067.41,-156.02C1051.88,-140.07 1029.63,-118.49 1008,-102 995.49,-92.46 981.54,-83.14 967.87,-74.63"/>
|
|
429
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="969.34,-72.24 961.05,-70.45 966.41,-77.02 969.34,-72.24"/>
|
|
430
|
+
<text xml:space="preserve" text-anchor="middle" x="1065.8" y="-114.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">MEMORY block</text>
|
|
431
|
+
<text xml:space="preserve" text-anchor="middle" x="1065.8" y="-103.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">(top-K by cosine)</text>
|
|
398
432
|
</g>
|
|
399
433
|
<!-- Skv->Prompt -->
|
|
400
434
|
<g id="edge14" class="edge">
|
|
401
435
|
<title>Skv->Prompt</title>
|
|
402
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
403
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
436
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M453.48,-160.48C462,-156.4 471.22,-152.29 480,-149 577.79,-112.36 692.46,-81.87 776.78,-61.67"/>
|
|
437
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="777.34,-64.41 784.47,-59.84 776.04,-58.97 777.34,-64.41"/>
|
|
404
438
|
</g>
|
|
405
439
|
<!-- Out->Prompt -->
|
|
406
440
|
<g id="edge15" class="edge">
|
|
407
441
|
<title>Out->Prompt</title>
|
|
408
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
409
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
442
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M844.36,-160.47C852.93,-140.03 867.41,-105.53 879.01,-77.87"/>
|
|
443
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="881.55,-79.06 882.06,-70.6 876.39,-76.9 881.55,-79.06"/>
|
|
410
444
|
</g>
|
|
411
445
|
<!-- Sesv->Prompt -->
|
|
412
446
|
<g id="edge16" class="edge">
|
|
413
447
|
<title>Sesv->Prompt</title>
|
|
414
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
415
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
448
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M583.72,-160.41C592.34,-156.58 601.46,-152.6 610,-149 672.71,-122.57 743.79,-94.32 799.53,-72.56"/>
|
|
449
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="800.42,-75.22 806.86,-69.7 798.38,-70 800.42,-75.22"/>
|
|
416
450
|
</g>
|
|
417
451
|
<!-- Mlst->Prompt -->
|
|
418
452
|
<g id="edge17" class="edge">
|
|
419
453
|
<title>Mlst->Prompt</title>
|
|
420
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" d="
|
|
421
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="
|
|
422
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
454
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" d="M957.54,-160.47C947.76,-140.21 931.32,-106.13 918.04,-78.6"/>
|
|
455
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="920.62,-77.5 914.62,-71.51 915.57,-79.94 920.62,-77.5"/>
|
|
456
|
+
<text xml:space="preserve" text-anchor="middle" x="967.68" y="-109.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">do NOT repeat</text>
|
|
423
457
|
</g>
|
|
424
458
|
<!-- Exem->Prompt -->
|
|
425
459
|
<g id="edge27" class="edge">
|
|
426
460
|
<title>Exem->Prompt</title>
|
|
427
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
428
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
429
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
430
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
461
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M712.4,-160.43C733.4,-144.78 765.2,-121.43 793.5,-102 806.92,-92.78 821.51,-83.13 835.38,-74.11"/>
|
|
462
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="836.61,-76.65 841.8,-69.95 833.56,-71.95 836.61,-76.65"/>
|
|
463
|
+
<text xml:space="preserve" text-anchor="middle" x="822.75" y="-114.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">few-shot msgs</text>
|
|
464
|
+
<text xml:space="preserve" text-anchor="middle" x="822.75" y="-103.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">(local only)</text>
|
|
465
|
+
</g>
|
|
466
|
+
<!-- PolR->Prompt -->
|
|
467
|
+
<g id="edge35" class="edge">
|
|
468
|
+
<title>PolR->Prompt</title>
|
|
469
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M1307.52,-160.48C1269.46,-144.01 1210.01,-119.35 1157,-102 1112.01,-87.27 1061.81,-73.69 1017.6,-62.66"/>
|
|
470
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="1018.32,-59.95 1009.88,-60.74 1016.97,-65.38 1018.32,-59.95"/>
|
|
471
|
+
<text xml:space="preserve" text-anchor="middle" x="1243.75" y="-114.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">POLICY block</text>
|
|
472
|
+
<text xml:space="preserve" text-anchor="middle" x="1243.75" y="-103.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">advisory only</text>
|
|
431
473
|
</g>
|
|
432
474
|
<!-- ReVal->Fmem -->
|
|
433
475
|
<g id="edge28" class="edge">
|
|
434
476
|
<title>ReVal->Fmem</title>
|
|
435
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="
|
|
436
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="
|
|
437
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
438
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
477
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="M1390.79,-508.01C1376.32,-499.04 1360.75,-487.64 1349,-474.5 1323.31,-445.78 1304.71,-405.25 1293.93,-377.37"/>
|
|
478
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="1296.67,-376.71 1291.24,-370.2 1291.42,-378.67 1296.67,-376.71"/>
|
|
479
|
+
<text xml:space="preserve" text-anchor="middle" x="1404.5" y="-465.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">[UNVERIFIED yyyy-mm-dd]</text>
|
|
480
|
+
<text xml:space="preserve" text-anchor="middle" x="1404.5" y="-455.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">prefix stale :fact</text>
|
|
439
481
|
</g>
|
|
440
482
|
<!-- ReVal->Fext -->
|
|
441
483
|
<g id="edge29" class="edge">
|
|
442
484
|
<title>ReVal->Fext</title>
|
|
443
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
444
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
445
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
446
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
485
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" stroke-dasharray="5,2" d="M1446.32,-507.91C1459.37,-490.14 1480.33,-465.94 1505,-453.5 1529.81,-440.99 1542.73,-459.03 1567,-445.5 1595.68,-429.51 1618.16,-398.93 1632.09,-375.83"/>
|
|
486
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1634.41,-377.41 1636.01,-369.08 1629.57,-374.59 1634.41,-377.41"/>
|
|
487
|
+
<text xml:space="preserve" text-anchor="middle" x="1554.5" y="-465.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">:confirmed → :intel obs</text>
|
|
488
|
+
<text xml:space="preserve" text-anchor="middle" x="1554.5" y="-455.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">:refuted → observe stale</text>
|
|
447
489
|
</g>
|
|
448
490
|
<!-- Teach->Fmem -->
|
|
449
491
|
<g id="edge32" class="edge">
|
|
450
492
|
<title>Teach->Fmem</title>
|
|
451
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" d="
|
|
452
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="
|
|
453
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
454
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
493
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" d="M1730.86,-507.56C1724.55,-489.57 1712.8,-465.24 1693,-453.5 1661.45,-434.8 1395.87,-461.77 1363,-445.5 1333.75,-431.03 1311.72,-400.28 1298.25,-376.73"/>
|
|
494
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="1300.76,-375.48 1294.46,-369.8 1295.84,-378.16 1300.76,-375.48"/>
|
|
495
|
+
<text xml:space="preserve" text-anchor="middle" x="1747.47" y="-465.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">frontier-authored</text>
|
|
496
|
+
<text xml:space="preserve" text-anchor="middle" x="1747.47" y="-455.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">:lesson</text>
|
|
455
497
|
</g>
|
|
456
498
|
</g>
|
|
457
499
|
</svg>
|