pwn 0.5.677 → 0.5.680
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/README.md +2 -2
- data/documentation/AI-Integration.md +4 -3
- data/documentation/Agent-Tool-Registry.md +27 -5
- data/documentation/CLI-Drivers.md +1 -1
- data/documentation/Configuration.md +65 -25
- data/documentation/Cron.md +12 -2
- data/documentation/Home.md +1 -1
- data/documentation/How-PWN-Works.md +1 -1
- data/documentation/Installation.md +12 -7
- data/documentation/Reinforcement-Learning.md +10 -6
- data/documentation/Skills-Memory-Learning.md +1 -1
- data/documentation/What-is-PWN.md +1 -1
- data/documentation/diagrams/agent-tool-registry.svg +156 -147
- data/documentation/diagrams/cron-scheduling.svg +149 -126
- data/documentation/diagrams/dot/agent-tool-registry.dot +2 -1
- data/documentation/diagrams/dot/cron-scheduling.dot +6 -3
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +1 -1
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +14 -13
- data/documentation/pwn-REPL.md +1 -1
- data/documentation/pwn-ai-Agent.md +16 -9
- data/lib/pwn/ai/agent/loop.rb +42 -5
- data/lib/pwn/ai/agent/policy.rb +9 -3
- data/lib/pwn/ai/agent/registry.rb +95 -6
- data/lib/pwn/ai/anthropic.rb +3 -6
- data/lib/pwn/ai/gemini.rb +3 -6
- data/lib/pwn/ai/grok.rb +8 -8
- data/lib/pwn/ai/ollama.rb +3 -6
- data/lib/pwn/ai/open_ai.rb +3 -6
- data/lib/pwn/ai/open_web_ui.rb +3 -6
- data/lib/pwn/blockchain/btc.rb +2 -6
- data/lib/pwn/blockchain/eth.rb +2 -6
- data/lib/pwn/config.rb +4 -3
- data/lib/pwn/cron.rb +1 -1
- data/lib/pwn/plugins/black_duck_binary_analysis.rb +2 -4
- data/lib/pwn/plugins/jira_data_center.rb +2 -4
- data/lib/pwn/plugins/repl.rb +6 -6
- data/lib/pwn/plugins/tty_spinner.rb +71 -0
- data/lib/pwn/plugins.rb +1 -0
- data/lib/pwn/version.rb +1 -1
- data/spec/lib/pwn/ai/agent/registry_spec.rb +6 -0
- data/spec/lib/pwn/ai/grok_spec.rb +7 -0
- data/spec/lib/pwn/plugins/tty_spinner_spec.rb +13 -0
- data/third_party/pwn_rdoc.jsonl +8 -2
- metadata +3 -1
|
@@ -4,375 +4,384 @@
|
|
|
4
4
|
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
5
|
-->
|
|
6
6
|
<!-- Title: PWN_Agent_Tool_Registry 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="797pt" height="1115pt"
|
|
8
|
+
viewBox="0.00 0.00 797.00 1115.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 1072.04)">
|
|
10
10
|
<title>PWN_Agent_Tool_Registry</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,-1072.04 753.95,-1072.04 753.95,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="89.88" y="-1006.84" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">PWN::AI::Agent::Registry - Toolsets exposed to the LLM</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="228.25" y="-995.39" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">13 toolsets · 85 callable tools · lib/pwn/ai/agent/tools/*</text>
|
|
14
14
|
<g id="clust1" class="cluster">
|
|
15
15
|
<title>cluster_ts</title>
|
|
16
|
-
<path fill="#022c22" stroke="#047857" stroke-width="2" d="
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
16
|
+
<path fill="#022c22" stroke="#047857" stroke-width="2" d="M331,-119.84C331,-119.84 397.5,-119.84 397.5,-119.84 403.5,-119.84 409.5,-125.84 409.5,-131.84 409.5,-131.84 409.5,-922.84 409.5,-922.84 409.5,-928.84 403.5,-934.84 397.5,-934.84 397.5,-934.84 331,-934.84 331,-934.84 325,-934.84 319,-928.84 319,-922.84 319,-922.84 319,-131.84 319,-131.84 319,-125.84 325,-119.84 331,-119.84"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-911.84" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">Toolsets</text>
|
|
18
18
|
</g>
|
|
19
19
|
<g id="clust2" class="cluster">
|
|
20
20
|
<title>cluster_tools</title>
|
|
21
|
-
<path fill="#422006" stroke="#a16207" stroke-width="2" d="
|
|
22
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
21
|
+
<path fill="#422006" stroke="#a16207" stroke-width="2" d="M522.25,-75.84C522.25,-75.84 698.75,-75.84 698.75,-75.84 704.75,-75.84 710.75,-81.84 710.75,-87.84 710.75,-87.84 710.75,-969.84 710.75,-969.84 710.75,-975.84 704.75,-981.84 698.75,-981.84 698.75,-981.84 522.25,-981.84 522.25,-981.84 516.25,-981.84 510.25,-975.84 510.25,-969.84 510.25,-969.84 510.25,-87.84 510.25,-87.84 510.25,-81.84 516.25,-75.84 522.25,-75.84"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="610.5" y="-958.84" font-family="sans-Serif" font-size="20.00" fill="#fde68a">Tools  (LLM-callable)</text>
|
|
23
23
|
</g>
|
|
24
24
|
<!-- Registry -->
|
|
25
25
|
<g id="node1" class="node">
|
|
26
26
|
<title>Registry</title>
|
|
27
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="2" d="
|
|
28
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
29
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
30
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
31
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
27
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="2" d="M198.25,-551.47C198.25,-551.47 12,-551.47 12,-551.47 6,-551.47 0,-545.47 0,-539.47 0,-539.47 0,-484.22 0,-484.22 0,-478.22 6,-472.22 12,-472.22 12,-472.22 198.25,-472.22 198.25,-472.22 204.25,-472.22 210.25,-478.22 210.25,-484.22 210.25,-484.22 210.25,-539.47 210.25,-539.47 210.25,-545.47 204.25,-551.47 198.25,-551.47"/>
|
|
28
|
+
<text xml:space="preserve" text-anchor="middle" x="105.12" y="-536.07" font-family="sans-Serif" font-size="12.00" fill="#0f172a">Registry</text>
|
|
29
|
+
<text xml:space="preserve" text-anchor="middle" x="105.12" y="-521.82" font-family="sans-Serif" font-size="12.00" fill="#0f172a">JSON-Schema function defs</text>
|
|
30
|
+
<text xml:space="preserve" text-anchor="middle" x="105.12" y="-507.57" font-family="sans-Serif" font-size="12.00" fill="#0f172a">rank(query) · CORE_TOOLS</text>
|
|
31
|
+
<text xml:space="preserve" text-anchor="middle" x="105.12" y="-493.32" font-family="sans-Serif" font-size="12.00" fill="#0f172a">tool_router → CORE + top-K</text>
|
|
32
|
+
<text xml:space="preserve" text-anchor="middle" x="105.12" y="-479.07" font-family="sans-Serif" font-size="12.00" fill="#0f172a">tool_preference (memory_recall first)</text>
|
|
32
33
|
</g>
|
|
33
34
|
<!-- terminal -->
|
|
34
35
|
<g id="node2" class="node">
|
|
35
36
|
<title>terminal</title>
|
|
36
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
37
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
37
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M379.25,-895.84C379.25,-895.84 349.25,-895.84 349.25,-895.84 343.25,-895.84 337.25,-889.84 337.25,-883.84 337.25,-883.84 337.25,-871.84 337.25,-871.84 337.25,-865.84 343.25,-859.84 349.25,-859.84 349.25,-859.84 379.25,-859.84 379.25,-859.84 385.25,-859.84 391.25,-865.84 391.25,-871.84 391.25,-871.84 391.25,-883.84 391.25,-883.84 391.25,-889.84 385.25,-895.84 379.25,-895.84"/>
|
|
38
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-874.34" font-family="sans-Serif" font-size="10.00" fill="#0f172a">terminal</text>
|
|
38
39
|
</g>
|
|
39
40
|
<!-- Registry->terminal -->
|
|
40
41
|
<g id="edge1" class="edge">
|
|
41
42
|
<title>Registry->terminal</title>
|
|
42
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="
|
|
43
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="
|
|
43
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M123.29,-552.28C153.59,-620.01 222.1,-757.78 313.25,-847.84 318.01,-852.55 323.64,-856.82 329.38,-860.57"/>
|
|
44
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="327.99,-862.59 335.24,-864.17 330.56,-858.42 327.99,-862.59"/>
|
|
44
45
|
</g>
|
|
45
46
|
<!-- pwn -->
|
|
46
47
|
<g id="node3" class="node">
|
|
47
48
|
<title>pwn</title>
|
|
48
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
49
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
49
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M379.25,-834.84C379.25,-834.84 349.25,-834.84 349.25,-834.84 343.25,-834.84 337.25,-828.84 337.25,-822.84 337.25,-822.84 337.25,-810.84 337.25,-810.84 337.25,-804.84 343.25,-798.84 349.25,-798.84 349.25,-798.84 379.25,-798.84 379.25,-798.84 385.25,-798.84 391.25,-804.84 391.25,-810.84 391.25,-810.84 391.25,-822.84 391.25,-822.84 391.25,-828.84 385.25,-834.84 379.25,-834.84"/>
|
|
50
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-813.34" font-family="sans-Serif" font-size="10.00" fill="#0f172a">pwn</text>
|
|
50
51
|
</g>
|
|
51
52
|
<!-- Registry->pwn -->
|
|
52
53
|
<g id="edge2" class="edge">
|
|
53
54
|
<title>Registry->pwn</title>
|
|
54
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="
|
|
55
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="
|
|
55
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M129.49,-552.09C164.15,-609.34 233.73,-715.27 313.25,-786.84 318.17,-791.27 323.84,-795.4 329.55,-799.08"/>
|
|
56
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="328.1,-801.06 335.34,-802.63 330.66,-796.88 328.1,-801.06"/>
|
|
56
57
|
</g>
|
|
57
58
|
<!-- memory -->
|
|
58
59
|
<g id="node4" class="node">
|
|
59
60
|
<title>memory</title>
|
|
60
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
61
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
61
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M379.25,-773.84C379.25,-773.84 349.25,-773.84 349.25,-773.84 343.25,-773.84 337.25,-767.84 337.25,-761.84 337.25,-761.84 337.25,-749.84 337.25,-749.84 337.25,-743.84 343.25,-737.84 349.25,-737.84 349.25,-737.84 379.25,-737.84 379.25,-737.84 385.25,-737.84 391.25,-743.84 391.25,-749.84 391.25,-749.84 391.25,-761.84 391.25,-761.84 391.25,-767.84 385.25,-773.84 379.25,-773.84"/>
|
|
62
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-752.34" font-family="sans-Serif" font-size="10.00" fill="#0f172a">memory</text>
|
|
62
63
|
</g>
|
|
63
64
|
<!-- Registry->memory -->
|
|
64
65
|
<g id="edge3" class="edge">
|
|
65
66
|
<title>Registry->memory</title>
|
|
66
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="
|
|
67
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="
|
|
67
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M139.65,-552.4C178.49,-597.89 245.83,-672.31 313.25,-725.84 318.32,-729.87 323.98,-733.76 329.62,-737.33"/>
|
|
68
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="328.03,-739.23 335.28,-740.79 330.59,-735.05 328.03,-739.23"/>
|
|
68
69
|
</g>
|
|
69
70
|
<!-- skills -->
|
|
70
71
|
<g id="node5" class="node">
|
|
71
72
|
<title>skills</title>
|
|
72
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
73
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
73
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M379.25,-712.84C379.25,-712.84 349.25,-712.84 349.25,-712.84 343.25,-712.84 337.25,-706.84 337.25,-700.84 337.25,-700.84 337.25,-688.84 337.25,-688.84 337.25,-682.84 343.25,-676.84 349.25,-676.84 349.25,-676.84 379.25,-676.84 379.25,-676.84 385.25,-676.84 391.25,-682.84 391.25,-688.84 391.25,-688.84 391.25,-700.84 391.25,-700.84 391.25,-706.84 385.25,-712.84 379.25,-712.84"/>
|
|
74
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-691.34" font-family="sans-Serif" font-size="10.00" fill="#0f172a">skills</text>
|
|
74
75
|
</g>
|
|
75
76
|
<!-- Registry->skills -->
|
|
76
77
|
<g id="edge4" class="edge">
|
|
77
78
|
<title>Registry->skills</title>
|
|
78
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="
|
|
79
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="
|
|
79
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M157.91,-552.25C199.22,-583.95 258.95,-628.62 313.25,-664.84 318.4,-668.28 323.95,-671.79 329.41,-675.14"/>
|
|
80
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="328.07,-677.19 335.32,-678.72 330.6,-673 328.07,-677.19"/>
|
|
80
81
|
</g>
|
|
81
82
|
<!-- sessions -->
|
|
82
83
|
<g id="node6" class="node">
|
|
83
84
|
<title>sessions</title>
|
|
84
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
85
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
85
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M379.75,-651.84C379.75,-651.84 348.75,-651.84 348.75,-651.84 342.75,-651.84 336.75,-645.84 336.75,-639.84 336.75,-639.84 336.75,-627.84 336.75,-627.84 336.75,-621.84 342.75,-615.84 348.75,-615.84 348.75,-615.84 379.75,-615.84 379.75,-615.84 385.75,-615.84 391.75,-621.84 391.75,-627.84 391.75,-627.84 391.75,-639.84 391.75,-639.84 391.75,-645.84 385.75,-651.84 379.75,-651.84"/>
|
|
86
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-630.34" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sessions</text>
|
|
86
87
|
</g>
|
|
87
88
|
<!-- Registry->sessions -->
|
|
88
89
|
<g id="edge5" class="edge">
|
|
89
90
|
<title>Registry->sessions</title>
|
|
90
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="
|
|
91
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="
|
|
91
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M191.74,-552.47C238.47,-574.64 293.74,-600.86 328.65,-617.42"/>
|
|
92
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="327.33,-619.51 334.7,-620.3 329.43,-615.08 327.33,-619.51"/>
|
|
92
93
|
</g>
|
|
93
94
|
<!-- learning -->
|
|
94
95
|
<g id="node7" class="node">
|
|
95
96
|
<title>learning</title>
|
|
96
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
97
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
97
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M379.25,-590.84C379.25,-590.84 349.25,-590.84 349.25,-590.84 343.25,-590.84 337.25,-584.84 337.25,-578.84 337.25,-578.84 337.25,-566.84 337.25,-566.84 337.25,-560.84 343.25,-554.84 349.25,-554.84 349.25,-554.84 379.25,-554.84 379.25,-554.84 385.25,-554.84 391.25,-560.84 391.25,-566.84 391.25,-566.84 391.25,-578.84 391.25,-578.84 391.25,-584.84 385.25,-590.84 379.25,-590.84"/>
|
|
98
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-569.34" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning</text>
|
|
98
99
|
</g>
|
|
99
100
|
<!-- Registry->learning -->
|
|
100
101
|
<g id="edge6" class="edge">
|
|
101
102
|
<title>Registry->learning</title>
|
|
102
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="
|
|
103
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="
|
|
103
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M211.08,-536.74C252.97,-546.68 298.31,-557.44 328.51,-564.6"/>
|
|
104
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="327.61,-566.91 334.99,-566.14 328.74,-562.14 327.61,-566.91"/>
|
|
104
105
|
</g>
|
|
105
106
|
<!-- metrics -->
|
|
106
107
|
<g id="node8" class="node">
|
|
107
108
|
<title>metrics</title>
|
|
108
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
109
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
109
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M379.25,-529.84C379.25,-529.84 349.25,-529.84 349.25,-529.84 343.25,-529.84 337.25,-523.84 337.25,-517.84 337.25,-517.84 337.25,-505.84 337.25,-505.84 337.25,-499.84 343.25,-493.84 349.25,-493.84 349.25,-493.84 379.25,-493.84 379.25,-493.84 385.25,-493.84 391.25,-499.84 391.25,-505.84 391.25,-505.84 391.25,-517.84 391.25,-517.84 391.25,-523.84 385.25,-529.84 379.25,-529.84"/>
|
|
110
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-508.34" font-family="sans-Serif" font-size="10.00" fill="#0f172a">metrics</text>
|
|
110
111
|
</g>
|
|
111
112
|
<!-- Registry->metrics -->
|
|
112
113
|
<g id="edge7" class="edge">
|
|
113
114
|
<title>Registry->metrics</title>
|
|
114
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="
|
|
115
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="
|
|
115
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M211.08,-511.84C252.79,-511.84 297.93,-511.84 328.12,-511.84"/>
|
|
116
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="327.94,-514.29 334.94,-511.84 327.94,-509.39 327.94,-514.29"/>
|
|
116
117
|
</g>
|
|
117
118
|
<!-- extro -->
|
|
118
119
|
<g id="node9" class="node">
|
|
119
120
|
<title>extro</title>
|
|
120
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
121
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
121
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M389.5,-468.84C389.5,-468.84 339,-468.84 339,-468.84 333,-468.84 327,-462.84 327,-456.84 327,-456.84 327,-444.84 327,-444.84 327,-438.84 333,-432.84 339,-432.84 339,-432.84 389.5,-432.84 389.5,-432.84 395.5,-432.84 401.5,-438.84 401.5,-444.84 401.5,-444.84 401.5,-456.84 401.5,-456.84 401.5,-462.84 395.5,-468.84 389.5,-468.84"/>
|
|
122
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-447.34" font-family="sans-Serif" font-size="10.00" fill="#0f172a">extrospection</text>
|
|
122
123
|
</g>
|
|
123
124
|
<!-- Registry->extro -->
|
|
124
125
|
<g id="edge8" class="edge">
|
|
125
126
|
<title>Registry->extro</title>
|
|
126
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="
|
|
127
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="
|
|
127
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M211.08,-486.94C248.52,-478.06 288.73,-468.52 318.41,-461.48"/>
|
|
128
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="318.63,-463.95 324.87,-459.95 317.5,-459.18 318.63,-463.95"/>
|
|
128
129
|
</g>
|
|
129
130
|
<!-- cron -->
|
|
130
131
|
<g id="node10" class="node">
|
|
131
132
|
<title>cron</title>
|
|
132
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
133
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
133
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M379.25,-407.84C379.25,-407.84 349.25,-407.84 349.25,-407.84 343.25,-407.84 337.25,-401.84 337.25,-395.84 337.25,-395.84 337.25,-383.84 337.25,-383.84 337.25,-377.84 343.25,-371.84 349.25,-371.84 349.25,-371.84 379.25,-371.84 379.25,-371.84 385.25,-371.84 391.25,-377.84 391.25,-383.84 391.25,-383.84 391.25,-395.84 391.25,-395.84 391.25,-401.84 385.25,-407.84 379.25,-407.84"/>
|
|
134
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-386.34" font-family="sans-Serif" font-size="10.00" fill="#0f172a">cron</text>
|
|
134
135
|
</g>
|
|
135
136
|
<!-- Registry->cron -->
|
|
136
137
|
<g id="edge9" class="edge">
|
|
137
138
|
<title>Registry->cron</title>
|
|
138
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="
|
|
139
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="
|
|
139
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M191.74,-471.22C238.74,-448.92 294.38,-422.52 329.25,-405.98"/>
|
|
140
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="330.02,-408.32 335.29,-403.11 327.92,-403.9 330.02,-408.32"/>
|
|
140
141
|
</g>
|
|
141
142
|
<!-- swarm -->
|
|
142
143
|
<g id="node11" class="node">
|
|
143
144
|
<title>swarm</title>
|
|
144
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
145
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
145
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M379.25,-346.84C379.25,-346.84 349.25,-346.84 349.25,-346.84 343.25,-346.84 337.25,-340.84 337.25,-334.84 337.25,-334.84 337.25,-322.84 337.25,-322.84 337.25,-316.84 343.25,-310.84 349.25,-310.84 349.25,-310.84 379.25,-310.84 379.25,-310.84 385.25,-310.84 391.25,-316.84 391.25,-322.84 391.25,-322.84 391.25,-334.84 391.25,-334.84 391.25,-340.84 385.25,-346.84 379.25,-346.84"/>
|
|
146
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-325.34" font-family="sans-Serif" font-size="10.00" fill="#0f172a">swarm</text>
|
|
146
147
|
</g>
|
|
147
148
|
<!-- Registry->swarm -->
|
|
148
149
|
<g id="edge10" class="edge">
|
|
149
150
|
<title>Registry->swarm</title>
|
|
150
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="
|
|
151
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="
|
|
151
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M158.95,-471.31C200.32,-440 259.66,-396.04 313.25,-359.84 318.43,-356.35 323.99,-352.75 329.45,-349.3"/>
|
|
152
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="330.74,-351.38 335.38,-345.6 328.15,-347.23 330.74,-351.38"/>
|
|
152
153
|
</g>
|
|
153
154
|
<!-- reward -->
|
|
154
155
|
<g id="node12" class="node">
|
|
155
156
|
<title>reward</title>
|
|
156
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
157
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
157
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M379.25,-285.84C379.25,-285.84 349.25,-285.84 349.25,-285.84 343.25,-285.84 337.25,-279.84 337.25,-273.84 337.25,-273.84 337.25,-261.84 337.25,-261.84 337.25,-255.84 343.25,-249.84 349.25,-249.84 349.25,-249.84 379.25,-249.84 379.25,-249.84 385.25,-249.84 391.25,-255.84 391.25,-261.84 391.25,-261.84 391.25,-273.84 391.25,-273.84 391.25,-279.84 385.25,-285.84 379.25,-285.84"/>
|
|
158
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-264.34" font-family="sans-Serif" font-size="10.00" fill="#0f172a">reward</text>
|
|
158
159
|
</g>
|
|
159
160
|
<!-- Registry->reward -->
|
|
160
161
|
<g id="edge11" class="edge">
|
|
161
162
|
<title>Registry->reward</title>
|
|
162
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="
|
|
163
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="
|
|
163
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M140.18,-471.27C179.24,-426.13 246.52,-352.5 313.25,-298.84 318.34,-294.75 324.01,-290.76 329.65,-287.09"/>
|
|
164
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="330.72,-289.32 335.33,-283.51 328.1,-285.17 330.72,-289.32"/>
|
|
164
165
|
</g>
|
|
165
166
|
<!-- curric -->
|
|
166
167
|
<g id="node13" class="node">
|
|
167
168
|
<title>curric</title>
|
|
168
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
169
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
169
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M382.75,-224.84C382.75,-224.84 345.75,-224.84 345.75,-224.84 339.75,-224.84 333.75,-218.84 333.75,-212.84 333.75,-212.84 333.75,-200.84 333.75,-200.84 333.75,-194.84 339.75,-188.84 345.75,-188.84 345.75,-188.84 382.75,-188.84 382.75,-188.84 388.75,-188.84 394.75,-194.84 394.75,-200.84 394.75,-200.84 394.75,-212.84 394.75,-212.84 394.75,-218.84 388.75,-224.84 382.75,-224.84"/>
|
|
170
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-203.34" font-family="sans-Serif" font-size="10.00" fill="#0f172a">curriculum</text>
|
|
170
171
|
</g>
|
|
171
172
|
<!-- Registry->curric -->
|
|
172
173
|
<g id="edge12" class="edge">
|
|
173
174
|
<title>Registry->curric</title>
|
|
174
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="
|
|
175
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="
|
|
175
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M129.95,-471.43C164.93,-414.48 234.59,-309.56 313.25,-237.84 317.16,-234.28 321.54,-230.88 326.04,-227.74"/>
|
|
176
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="327.29,-229.85 331.76,-223.93 324.57,-225.77 327.29,-229.85"/>
|
|
176
177
|
</g>
|
|
177
178
|
<!-- policy -->
|
|
178
179
|
<g id="node14" class="node">
|
|
179
180
|
<title>policy</title>
|
|
180
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
181
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
181
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M379.25,-163.84C379.25,-163.84 349.25,-163.84 349.25,-163.84 343.25,-163.84 337.25,-157.84 337.25,-151.84 337.25,-151.84 337.25,-139.84 337.25,-139.84 337.25,-133.84 343.25,-127.84 349.25,-127.84 349.25,-127.84 379.25,-127.84 379.25,-127.84 385.25,-127.84 391.25,-133.84 391.25,-139.84 391.25,-139.84 391.25,-151.84 391.25,-151.84 391.25,-157.84 385.25,-163.84 379.25,-163.84"/>
|
|
182
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-142.34" font-family="sans-Serif" font-size="10.00" fill="#0f172a">policy</text>
|
|
182
183
|
</g>
|
|
183
184
|
<!-- Registry->policy -->
|
|
184
185
|
<g id="edge13" class="edge">
|
|
185
186
|
<title>Registry->policy</title>
|
|
186
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="
|
|
187
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="
|
|
187
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M123.58,-471.4C154.21,-404 223.01,-267.2 313.25,-176.84 318.02,-172.07 323.66,-167.69 329.4,-163.83"/>
|
|
188
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="330.67,-165.92 335.27,-160.11 328.04,-161.79 330.67,-165.92"/>
|
|
188
189
|
</g>
|
|
189
190
|
<!-- t_shell -->
|
|
190
191
|
<g id="node15" class="node">
|
|
191
192
|
<title>t_shell</title>
|
|
192
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
193
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
194
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
193
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M630.38,-942.84C630.38,-942.84 589.62,-942.84 589.62,-942.84 583.62,-942.84 577.62,-936.84 577.62,-930.84 577.62,-930.84 577.62,-918.84 577.62,-918.84 577.62,-912.84 583.62,-906.84 589.62,-906.84 589.62,-906.84 630.38,-906.84 630.38,-906.84 636.38,-906.84 642.38,-912.84 642.38,-918.84 642.38,-918.84 642.38,-930.84 642.38,-930.84 642.38,-936.84 636.38,-942.84 630.38,-942.84"/>
|
|
194
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-926.79" font-family="sans-Serif" font-size="9.00" fill="#0f172a">shell</text>
|
|
195
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-916.29" font-family="sans-Serif" font-size="9.00" fill="#0f172a">(ToolGuard)</text>
|
|
195
196
|
</g>
|
|
196
197
|
<!-- terminal->t_shell -->
|
|
197
198
|
<g id="edge14" class="edge">
|
|
198
199
|
<title>terminal->t_shell</title>
|
|
199
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="
|
|
200
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="
|
|
200
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="M391.8,-882.96C434.49,-891.19 518.67,-907.43 568.77,-917.09"/>
|
|
201
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="568.13,-919.46 575.47,-918.38 569.06,-914.65 568.13,-919.46"/>
|
|
201
202
|
</g>
|
|
202
203
|
<!-- t_eval -->
|
|
203
204
|
<g id="node16" class="node">
|
|
204
205
|
<title>t_eval</title>
|
|
205
|
-
<path fill="#fcd34d" 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="
|
|
206
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M630.38,-881.84C630.38,-881.84 589.62,-881.84 589.62,-881.84 583.62,-881.84 577.62,-875.84 577.62,-869.84 577.62,-869.84 577.62,-857.84 577.62,-857.84 577.62,-851.84 583.62,-845.84 589.62,-845.84 589.62,-845.84 630.38,-845.84 630.38,-845.84 636.38,-845.84 642.38,-851.84 642.38,-857.84 642.38,-857.84 642.38,-869.84 642.38,-869.84 642.38,-875.84 636.38,-881.84 630.38,-881.84"/>
|
|
207
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-865.79" font-family="sans-Serif" font-size="9.00" fill="#0f172a">pwn_eval</text>
|
|
208
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-855.29" font-family="sans-Serif" font-size="9.00" fill="#0f172a">(ToolGuard)</text>
|
|
208
209
|
</g>
|
|
209
210
|
<!-- pwn->t_eval -->
|
|
210
211
|
<g id="edge15" class="edge">
|
|
211
212
|
<title>pwn->t_eval</title>
|
|
212
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="
|
|
213
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="
|
|
213
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="M391.8,-821.96C434.49,-830.19 518.67,-846.43 568.77,-856.09"/>
|
|
214
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="568.13,-858.46 575.47,-857.38 569.06,-853.65 568.13,-858.46"/>
|
|
214
215
|
</g>
|
|
215
216
|
<!-- t_mem -->
|
|
216
217
|
<g id="node17" class="node">
|
|
217
218
|
<title>t_mem</title>
|
|
218
|
-
<path fill="#fcd34d" 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="
|
|
221
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
219
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M646.12,-820.59C646.12,-820.59 573.88,-820.59 573.88,-820.59 567.88,-820.59 561.88,-814.59 561.88,-808.59 561.88,-808.59 561.88,-793.09 561.88,-793.09 561.88,-787.09 567.88,-781.09 573.88,-781.09 573.88,-781.09 646.12,-781.09 646.12,-781.09 652.12,-781.09 658.12,-787.09 658.12,-793.09 658.12,-793.09 658.12,-808.59 658.12,-808.59 658.12,-814.59 652.12,-820.59 646.12,-820.59"/>
|
|
220
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-808.04" font-family="sans-Serif" font-size="9.00" fill="#0f172a">memory_remember</text>
|
|
221
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-797.54" font-family="sans-Serif" font-size="9.00" fill="#0f172a">recall · forget · clear</text>
|
|
222
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-787.04" font-family="sans-Serif" font-size="9.00" fill="#0f172a">lean</text>
|
|
222
223
|
</g>
|
|
223
224
|
<!-- memory->t_mem -->
|
|
224
225
|
<g id="edge16" class="edge">
|
|
225
226
|
<title>memory->t_mem</title>
|
|
226
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="
|
|
227
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="
|
|
227
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="M391.8,-760.75C430.37,-767.87 502.81,-781.24 553.38,-790.58"/>
|
|
228
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="552.65,-792.93 559.97,-791.79 553.54,-788.11 552.65,-792.93"/>
|
|
228
229
|
</g>
|
|
229
230
|
<!-- t_skill -->
|
|
230
231
|
<g id="node18" class="node">
|
|
231
232
|
<title>t_skill</title>
|
|
232
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
233
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
234
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
235
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
233
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M652.12,-755.59C652.12,-755.59 567.88,-755.59 567.88,-755.59 561.88,-755.59 555.88,-749.59 555.88,-743.59 555.88,-743.59 555.88,-728.09 555.88,-728.09 555.88,-722.09 561.88,-716.09 567.88,-716.09 567.88,-716.09 652.12,-716.09 652.12,-716.09 658.12,-716.09 664.12,-722.09 664.12,-728.09 664.12,-728.09 664.12,-743.59 664.12,-743.59 664.12,-749.59 658.12,-755.59 652.12,-755.59"/>
|
|
234
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-743.04" font-family="sans-Serif" font-size="9.00" fill="#0f172a">skill_list · view · create</text>
|
|
235
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-732.54" font-family="sans-Serif" font-size="9.00" fill="#0f172a">add_reference · delete</text>
|
|
236
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-722.04" font-family="sans-Serif" font-size="9.00" fill="#0f172a">migrate_legacy</text>
|
|
236
237
|
</g>
|
|
237
238
|
<!-- skills->t_skill -->
|
|
238
239
|
<g id="edge17" class="edge">
|
|
239
240
|
<title>skills->t_skill</title>
|
|
240
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="
|
|
241
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="
|
|
241
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="M391.8,-699.31C428.77,-705.53 496.87,-716.98 546.99,-725.41"/>
|
|
242
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="546.55,-727.82 553.86,-726.57 547.36,-722.99 546.55,-727.82"/>
|
|
242
243
|
</g>
|
|
243
244
|
<!-- t_sess -->
|
|
244
245
|
<g id="node19" class="node">
|
|
245
246
|
<title>t_sess</title>
|
|
246
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
247
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
248
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
249
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
247
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M649.12,-690.59C649.12,-690.59 570.88,-690.59 570.88,-690.59 564.88,-690.59 558.88,-684.59 558.88,-678.59 558.88,-678.59 558.88,-663.09 558.88,-663.09 558.88,-657.09 564.88,-651.09 570.88,-651.09 570.88,-651.09 649.12,-651.09 649.12,-651.09 655.12,-651.09 661.12,-657.09 661.12,-663.09 661.12,-663.09 661.12,-678.59 661.12,-678.59 661.12,-684.59 655.12,-690.59 649.12,-690.59"/>
|
|
248
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-678.04" font-family="sans-Serif" font-size="9.00" fill="#0f172a">sessions_list · view</text>
|
|
249
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-667.54" font-family="sans-Serif" font-size="9.00" fill="#0f172a">current · delete · stats</text>
|
|
250
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-657.04" font-family="sans-Serif" font-size="9.00" fill="#0f172a">lean</text>
|
|
250
251
|
</g>
|
|
251
252
|
<!-- sessions->t_sess -->
|
|
252
253
|
<g id="edge18" class="edge">
|
|
253
254
|
<title>sessions->t_sess</title>
|
|
254
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="
|
|
255
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="
|
|
255
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="M392.27,-637.94C430.11,-643.69 499.9,-654.28 550.07,-661.9"/>
|
|
256
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="549.64,-664.31 556.93,-662.94 550.37,-659.47 549.64,-664.31"/>
|
|
256
257
|
</g>
|
|
257
258
|
<!-- t_learn -->
|
|
258
259
|
<g id="node20" class="node">
|
|
259
260
|
<title>t_learn</title>
|
|
260
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
261
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
262
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
263
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
264
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
265
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
266
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
261
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M665.25,-626.34C665.25,-626.34 554.75,-626.34 554.75,-626.34 548.75,-626.34 542.75,-620.34 542.75,-614.34 542.75,-614.34 542.75,-567.34 542.75,-567.34 542.75,-561.34 548.75,-555.34 554.75,-555.34 554.75,-555.34 665.25,-555.34 665.25,-555.34 671.25,-555.34 677.25,-561.34 677.25,-567.34 677.25,-567.34 677.25,-614.34 677.25,-614.34 677.25,-620.34 671.25,-626.34 665.25,-626.34"/>
|
|
262
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-613.79" font-family="sans-Serif" font-size="9.00" fill="#0f172a">learning_* · mistakes_*</text>
|
|
263
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-603.29" font-family="sans-Serif" font-size="9.00" fill="#0f172a">reward_judge · prm · sentinel</text>
|
|
264
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-592.79" font-family="sans-Serif" font-size="9.00" fill="#0f172a">export_dpo · scrub · balance</text>
|
|
265
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-582.29" font-family="sans-Serif" font-size="9.00" fill="#0f172a">curriculum_practice · train</text>
|
|
266
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-571.79" font-family="sans-Serif" font-size="9.00" fill="#0f172a">hindsight · offline_judge</text>
|
|
267
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-561.29" font-family="sans-Serif" font-size="9.00" fill="#0f172a">gc_stores · lean helpers</text>
|
|
267
268
|
</g>
|
|
268
269
|
<!-- learning->t_learn -->
|
|
269
270
|
<g id="edge19" class="edge">
|
|
270
271
|
<title>learning->t_learn</title>
|
|
271
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="
|
|
272
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="
|
|
272
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="M391.8,-574.8C425.61,-577.3 485.46,-581.72 533.77,-585.29"/>
|
|
273
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="533.52,-587.73 540.69,-585.8 533.88,-582.84 533.52,-587.73"/>
|
|
273
274
|
</g>
|
|
274
275
|
<!-- t_metric -->
|
|
275
276
|
<g id="node21" class="node">
|
|
276
277
|
<title>t_metric</title>
|
|
277
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
278
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
279
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
278
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M642,-529.84C642,-529.84 578,-529.84 578,-529.84 572,-529.84 566,-523.84 566,-517.84 566,-517.84 566,-505.84 566,-505.84 566,-499.84 572,-493.84 578,-493.84 578,-493.84 642,-493.84 642,-493.84 648,-493.84 654,-499.84 654,-505.84 654,-505.84 654,-517.84 654,-517.84 654,-523.84 648,-529.84 642,-529.84"/>
|
|
279
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-513.79" font-family="sans-Serif" font-size="9.00" fill="#0f172a">metrics_summary</text>
|
|
280
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-503.29" font-family="sans-Serif" font-size="9.00" fill="#0f172a">metrics_reset</text>
|
|
280
281
|
</g>
|
|
281
282
|
<!-- metrics->t_metric -->
|
|
282
283
|
<g id="edge20" class="edge">
|
|
283
284
|
<title>metrics->t_metric</title>
|
|
284
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="
|
|
285
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="
|
|
285
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="M391.8,-511.84C431.34,-511.84 506.47,-511.84 557.15,-511.84"/>
|
|
286
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="557.03,-514.29 564.03,-511.84 557.03,-509.39 557.03,-514.29"/>
|
|
286
287
|
</g>
|
|
287
288
|
<!-- t_extro -->
|
|
288
289
|
<g id="node22" class="node">
|
|
289
290
|
<title>t_extro</title>
|
|
290
|
-
<path fill="#fcd34d" 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="
|
|
293
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
294
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
295
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
296
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
291
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M664.12,-468.34C664.12,-468.34 555.88,-468.34 555.88,-468.34 549.88,-468.34 543.88,-462.34 543.88,-456.34 543.88,-456.34 543.88,-409.34 543.88,-409.34 543.88,-403.34 549.88,-397.34 555.88,-397.34 555.88,-397.34 664.12,-397.34 664.12,-397.34 670.12,-397.34 676.12,-403.34 676.12,-409.34 676.12,-409.34 676.12,-456.34 676.12,-456.34 676.12,-462.34 670.12,-468.34 664.12,-468.34"/>
|
|
292
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-455.79" font-family="sans-Serif" font-size="9.00" fill="#0f172a">extro_snapshot · drift</text>
|
|
293
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-445.29" font-family="sans-Serif" font-size="9.00" fill="#0f172a">observe · observations · intel</text>
|
|
294
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-434.79" font-family="sans-Serif" font-size="9.00" fill="#0f172a">watch · verify · rf_tune · osint</text>
|
|
295
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-424.29" font-family="sans-Serif" font-size="9.00" fill="#0f172a">serial · telecomm · packet</text>
|
|
296
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-413.79" font-family="sans-Serif" font-size="9.00" fill="#0f172a">vision · voice · correlate</text>
|
|
297
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-403.29" font-family="sans-Serif" font-size="9.00" fill="#0f172a">stats · reset · auto_toggle</text>
|
|
297
298
|
</g>
|
|
298
299
|
<!-- extro->t_extro -->
|
|
299
300
|
<g id="edge21" class="edge">
|
|
300
301
|
<title>extro->t_extro</title>
|
|
301
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="
|
|
302
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="
|
|
302
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="M402.01,-448.13C437.11,-445.54 491.05,-441.55 535.06,-438.3"/>
|
|
303
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="534.98,-440.77 541.78,-437.81 534.62,-435.88 534.98,-440.77"/>
|
|
303
304
|
</g>
|
|
304
305
|
<!-- t_cron -->
|
|
305
306
|
<g id="node23" class="node">
|
|
306
307
|
<title>t_cron</title>
|
|
307
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
308
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
309
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
308
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M657.38,-371.84C657.38,-371.84 562.62,-371.84 562.62,-371.84 556.62,-371.84 550.62,-365.84 550.62,-359.84 550.62,-359.84 550.62,-347.84 550.62,-347.84 550.62,-341.84 556.62,-335.84 562.62,-335.84 562.62,-335.84 657.38,-335.84 657.38,-335.84 663.38,-335.84 669.38,-341.84 669.38,-347.84 669.38,-347.84 669.38,-359.84 669.38,-359.84 669.38,-365.84 663.38,-371.84 657.38,-371.84"/>
|
|
309
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-355.79" font-family="sans-Serif" font-size="9.00" fill="#0f172a">cron_list · create · run</text>
|
|
310
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-345.29" font-family="sans-Serif" font-size="9.00" fill="#0f172a">enable · disable · remove</text>
|
|
310
311
|
</g>
|
|
311
312
|
<!-- cron->t_cron -->
|
|
312
313
|
<g id="edge22" class="edge">
|
|
313
314
|
<title>cron->t_cron</title>
|
|
314
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="
|
|
315
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="
|
|
315
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="M391.8,-385.92C427.49,-380.65 492.18,-371.1 541.71,-363.78"/>
|
|
316
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="541.93,-366.23 548.5,-362.78 541.22,-361.38 541.93,-366.23"/>
|
|
316
317
|
</g>
|
|
317
318
|
<!-- t_swarm -->
|
|
318
319
|
<g id="node24" class="node">
|
|
319
320
|
<title>t_swarm</title>
|
|
320
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
321
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
322
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
323
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
321
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M654.75,-310.59C654.75,-310.59 565.25,-310.59 565.25,-310.59 559.25,-310.59 553.25,-304.59 553.25,-298.59 553.25,-298.59 553.25,-283.09 553.25,-283.09 553.25,-277.09 559.25,-271.09 565.25,-271.09 565.25,-271.09 654.75,-271.09 654.75,-271.09 660.75,-271.09 666.75,-277.09 666.75,-283.09 666.75,-283.09 666.75,-298.59 666.75,-298.59 666.75,-304.59 660.75,-310.59 654.75,-310.59"/>
|
|
322
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-298.04" font-family="sans-Serif" font-size="9.00" fill="#0f172a">agent_list · spawn · ask</text>
|
|
323
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-287.54" font-family="sans-Serif" font-size="9.00" fill="#0f172a">debate · broadcast</text>
|
|
324
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-277.04" font-family="sans-Serif" font-size="9.00" fill="#0f172a">swarm_bus · swarm_list</text>
|
|
324
325
|
</g>
|
|
325
326
|
<!-- swarm->t_swarm -->
|
|
326
327
|
<g id="edge23" class="edge">
|
|
327
328
|
<title>swarm->t_swarm</title>
|
|
328
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="
|
|
329
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="
|
|
329
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="M391.8,-324.7C428.07,-319.05 494.3,-308.72 544.13,-300.96"/>
|
|
330
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="544.42,-303.39 550.96,-299.89 543.66,-298.55 544.42,-303.39"/>
|
|
330
331
|
</g>
|
|
331
332
|
<!-- t_reward -->
|
|
332
333
|
<g id="node25" class="node">
|
|
333
334
|
<title>t_reward</title>
|
|
334
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
335
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
335
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M652.5,-245.84C652.5,-245.84 567.5,-245.84 567.5,-245.84 561.5,-245.84 555.5,-239.84 555.5,-233.84 555.5,-233.84 555.5,-221.84 555.5,-221.84 555.5,-215.84 561.5,-209.84 567.5,-209.84 567.5,-209.84 652.5,-209.84 652.5,-209.84 658.5,-209.84 664.5,-215.84 664.5,-221.84 664.5,-221.84 664.5,-233.84 664.5,-233.84 664.5,-239.84 658.5,-245.84 652.5,-245.84"/>
|
|
336
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-224.54" font-family="sans-Serif" font-size="9.00" fill="#0f172a">reward_generator_mix</text>
|
|
336
337
|
</g>
|
|
337
338
|
<!-- reward->t_reward -->
|
|
338
339
|
<g id="edge24" class="edge">
|
|
339
340
|
<title>reward->t_reward</title>
|
|
340
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="
|
|
341
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="
|
|
341
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="M391.8,-263.49C428.66,-257.44 496.44,-246.31 546.52,-238.1"/>
|
|
342
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="546.87,-240.52 553.38,-236.97 546.07,-235.69 546.87,-240.52"/>
|
|
342
343
|
</g>
|
|
343
344
|
<!-- t_curric -->
|
|
344
345
|
<g id="node26" class="node">
|
|
345
346
|
<title>t_curric</title>
|
|
346
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
347
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
347
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M654.75,-184.84C654.75,-184.84 565.25,-184.84 565.25,-184.84 559.25,-184.84 553.25,-178.84 553.25,-172.84 553.25,-172.84 553.25,-160.84 553.25,-160.84 553.25,-154.84 559.25,-148.84 565.25,-148.84 565.25,-148.84 654.75,-148.84 654.75,-148.84 660.75,-148.84 666.75,-154.84 666.75,-160.84 666.75,-160.84 666.75,-172.84 666.75,-172.84 666.75,-178.84 660.75,-184.84 654.75,-184.84"/>
|
|
348
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-163.54" font-family="sans-Serif" font-size="9.00" fill="#0f172a">curriculum_practice_kpi</text>
|
|
348
349
|
</g>
|
|
349
350
|
<!-- curric->t_curric -->
|
|
350
351
|
<g id="edge26" class="edge">
|
|
351
352
|
<title>curric->t_curric</title>
|
|
352
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="
|
|
353
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="
|
|
353
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="M395.14,-201.94C432.08,-195.88 495.96,-185.39 544.32,-177.46"/>
|
|
354
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="544.7,-179.88 551.21,-176.33 543.9,-175.04 544.7,-179.88"/>
|
|
354
355
|
</g>
|
|
355
356
|
<!-- t_policy -->
|
|
356
357
|
<g id="node27" class="node">
|
|
357
358
|
<title>t_policy</title>
|
|
358
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
359
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
360
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
361
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
359
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M645,-123.59C645,-123.59 575,-123.59 575,-123.59 569,-123.59 563,-117.59 563,-111.59 563,-111.59 563,-96.09 563,-96.09 563,-90.09 569,-84.09 575,-84.09 575,-84.09 645,-84.09 645,-84.09 651,-84.09 657,-90.09 657,-96.09 657,-96.09 657,-111.59 657,-111.59 657,-117.59 651,-123.59 645,-123.59"/>
|
|
360
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-111.04" font-family="sans-Serif" font-size="9.00" fill="#0f172a">policy_stats</text>
|
|
361
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-100.54" font-family="sans-Serif" font-size="9.00" fill="#0f172a">policy_evaluate</text>
|
|
362
|
+
<text xml:space="preserve" text-anchor="middle" x="610" y="-90.04" font-family="sans-Serif" font-size="9.00" fill="#0f172a">policy_recommend</text>
|
|
362
363
|
</g>
|
|
363
364
|
<!-- policy->t_policy -->
|
|
364
365
|
<g id="edge25" class="edge">
|
|
365
366
|
<title>policy->t_policy</title>
|
|
366
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="
|
|
367
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="
|
|
367
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.1" d="M391.8,-141.27C430.6,-134.58 503.69,-121.99 554.3,-113.27"/>
|
|
368
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.1" points="554.41,-115.74 560.89,-112.13 553.57,-110.91 554.41,-115.74"/>
|
|
368
369
|
</g>
|
|
369
370
|
<!-- t_metric->Registry -->
|
|
370
371
|
<g id="edge27" class="edge">
|
|
371
372
|
<title>t_metric->Registry</title>
|
|
372
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.1" stroke-dasharray="5,2" d="
|
|
373
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.1" points="
|
|
374
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
375
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
373
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.1" stroke-dasharray="5,2" d="M565.45,-507.86C546.06,-503.89 524.46,-496.1 510.25,-480.84 385.71,-347.13 558.61,-194.14 415.25,-80.84 263.64,38.98 152.87,-327.28 117.86,-463.2"/>
|
|
374
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.1" points="115.53,-462.43 116.17,-469.82 120.27,-463.64 115.53,-462.43"/>
|
|
375
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-100.54" font-family="serif" font-size="14.00">success_rate</text>
|
|
376
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-84.04" font-family="serif" font-size="14.00">→ router tie-break</text>
|
|
377
|
+
</g>
|
|
378
|
+
<!-- t_policy->Registry -->
|
|
379
|
+
<g id="edge28" class="edge">
|
|
380
|
+
<title>t_policy->Registry</title>
|
|
381
|
+
<path fill="none" stroke="#c4b5fd" stroke-width="1.1" stroke-dasharray="5,2" d="M583.23,-83.52C529.74,-44 404.13,34.9 313.25,-17.84 153.26,-110.69 116.85,-357.49 108.56,-462.95"/>
|
|
382
|
+
<polygon fill="#c4b5fd" stroke="#c4b5fd" stroke-width="1.1" points="106.13,-462.68 108.05,-469.84 111.01,-463.04 106.13,-462.68"/>
|
|
383
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-37.54" font-family="serif" font-size="14.00">preference_order</text>
|
|
384
|
+
<text xml:space="preserve" text-anchor="middle" x="364.25" y="-21.04" font-family="serif" font-size="14.00">+ Q-advantage</text>
|
|
376
385
|
</g>
|
|
377
386
|
</g>
|
|
378
387
|
</svg>
|