pwn 0.5.639 → 0.5.643
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +3 -3
- data/README.md +1 -1
- data/documentation/Cron.md +10 -8
- data/documentation/Reinforcement-Learning.md +43 -21
- data/documentation/diagrams/cron-scheduling.svg +134 -93
- data/documentation/diagrams/dot/cron-scheduling.dot +9 -3
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +2 -2
- data/documentation/diagrams/dot/reinforcement-learning.dot +9 -3
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +103 -101
- data/documentation/diagrams/reinforcement-learning.svg +211 -166
- data/documentation/pwn-ai-Agent.md +12 -0
- data/lib/pwn/ai/agent/curriculum.rb +647 -56
- data/lib/pwn/ai/agent/learning.rb +87 -15
- data/lib/pwn/ai/agent/loop.rb +164 -13
- data/lib/pwn/ai/agent/metrics.rb +32 -13
- data/lib/pwn/ai/agent/mistakes.rb +139 -8
- data/lib/pwn/ai/agent/prompt_builder.rb +2 -2
- data/lib/pwn/ai/agent/registry.rb +13 -3
- data/lib/pwn/ai/agent/result.rb +19 -2
- data/lib/pwn/ai/agent/reward.rb +415 -42
- data/lib/pwn/ai/agent/tools/curriculum.rb +51 -0
- data/lib/pwn/ai/agent/tools/reward.rb +15 -4
- data/lib/pwn/ai/anthropic.rb +265 -4
- data/lib/pwn/ai/ollama.rb +274 -10
- data/lib/pwn/ai/open_ai.rb +307 -4
- data/lib/pwn/config.rb +137 -12
- data/lib/pwn/cron.rb +24 -2
- data/lib/pwn/memory.rb +13 -1
- data/lib/pwn/version.rb +1 -1
- data/spec/integration/persistence_roundtrip_spec.rb +6 -1
- data/spec/integration/reinforced_feedback_loop_spec.rb +144 -8
- data/spec/lib/pwn/ai/agent/mistakes_spec.rb +27 -0
- data/spec/lib/pwn/ai/agent/result_spec.rb +11 -0
- data/spec/lib/pwn/ai/agent/reward_spec.rb +89 -0
- data/spec/lib/pwn/ai/ollama_spec.rb +251 -0
- data/third_party/pwn_rdoc.jsonl +58 -7
- metadata +8 -8
|
@@ -4,311 +4,313 @@
|
|
|
4
4
|
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
5
|
-->
|
|
6
6
|
<!-- Title: PWN_Reinforcement_Learning 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="2139pt" height="787pt"
|
|
8
|
+
viewBox="0.00 0.00 2139.00 787.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 744.08)">
|
|
10
10
|
<title>PWN_Reinforcement_Learning</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,-744.08 2095.38,-744.08 2095.38,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="744.09" y="-678.88" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">PWN::AI::Agent - Reward + Curriculum Reinforcement Loop</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="695.72" y="-667.42" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">R1..R4 reward signal  ·  C1..C4 credit assignment  ·  M1..M4 memory  ·  S1..S4 self-play  ·  W1..W3 weight loop  ·  E1..E3 intro↔extro join</text>
|
|
14
14
|
<g id="clust2" class="cluster">
|
|
15
15
|
<title>cluster_reward</title>
|
|
16
|
-
<path fill="#2e1065" stroke="#6d28d9" stroke-width="2" d="
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
16
|
+
<path fill="#2e1065" stroke="#6d28d9" stroke-width="2" d="M883,-372.5C883,-372.5 1653,-372.5 1653,-372.5 1659,-372.5 1665,-378.5 1665,-384.5 1665,-384.5 1665,-483 1665,-483 1665,-489 1659,-495 1653,-495 1653,-495 883,-495 883,-495 877,-495 871,-489 871,-483 871,-483 871,-384.5 871,-384.5 871,-378.5 877,-372.5 883,-372.5"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="1268" y="-472" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">Tier 1 · Reward  (PWN::AI::Agent::Reward)</text>
|
|
18
18
|
</g>
|
|
19
19
|
<g id="clust4" class="cluster">
|
|
20
20
|
<title>cluster_curr</title>
|
|
21
|
-
<path fill="#022c22" stroke="#047857" stroke-width="2" d="
|
|
22
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
21
|
+
<path fill="#022c22" stroke="#047857" stroke-width="2" d="M107,-372.5C107,-372.5 835,-372.5 835,-372.5 841,-372.5 847,-378.5 847,-384.5 847,-384.5 847,-483 847,-483 847,-489 841,-495 835,-495 835,-495 107,-495 107,-495 101,-495 95,-489 95,-483 95,-483 95,-384.5 95,-384.5 95,-378.5 101,-372.5 107,-372.5"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="471" y="-472" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">Tier 4 · Curriculum  (PWN::AI::Agent::Curriculum)</text>
|
|
23
23
|
</g>
|
|
24
24
|
<g id="clust6" class="cluster">
|
|
25
25
|
<title>cluster_weight</title>
|
|
26
|
-
<path fill="#450a0a" stroke="#b91c1c" stroke-width="2" d="M20,-
|
|
27
|
-
<text xml:space="preserve" text-anchor="middle" x="271" y="-
|
|
26
|
+
<path fill="#450a0a" stroke="#b91c1c" stroke-width="2" d="M20,-179C20,-179 522,-179 522,-179 528,-179 534,-185 534,-191 534,-191 534,-301.5 534,-301.5 534,-307.5 528,-313.5 522,-313.5 522,-313.5 20,-313.5 20,-313.5 14,-313.5 8,-307.5 8,-301.5 8,-301.5 8,-191 8,-191 8,-185 14,-179 20,-179"/>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="271" y="-290.5" font-family="sans-Serif" font-size="20.00" fill="#fecaca">Tier 5 · Weight Loop</text>
|
|
28
28
|
</g>
|
|
29
29
|
<g id="clust8" class="cluster">
|
|
30
30
|
<title>cluster_files</title>
|
|
31
|
-
<path fill="#422006" stroke="#a16207" stroke-dasharray="5,2" d="
|
|
32
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
31
|
+
<path fill="#422006" stroke="#a16207" stroke-dasharray="5,2" d="M310,-8C310,-8 1004,-8 1004,-8 1010,-8 1016,-14 1016,-20 1016,-20 1016,-118.5 1016,-118.5 1016,-124.5 1010,-130.5 1004,-130.5 1004,-130.5 310,-130.5 310,-130.5 304,-130.5 298,-124.5 298,-118.5 298,-118.5 298,-20 298,-20 298,-14 304,-8 310,-8"/>
|
|
32
|
+
<text xml:space="preserve" text-anchor="middle" x="657" y="-107.5" font-family="sans-Serif" font-size="20.00" fill="#fde68a">~/.pwn/</text>
|
|
33
33
|
</g>
|
|
34
34
|
<!-- Req -->
|
|
35
35
|
<g id="node1" class="node">
|
|
36
36
|
<title>Req</title>
|
|
37
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="
|
|
38
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
37
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M482.5,-591.88C482.5,-591.88 439.5,-591.88 439.5,-591.88 433.5,-591.88 427.5,-585.88 427.5,-579.88 427.5,-579.88 427.5,-567.88 427.5,-567.88 427.5,-561.88 433.5,-555.88 439.5,-555.88 439.5,-555.88 482.5,-555.88 482.5,-555.88 488.5,-555.88 494.5,-561.88 494.5,-567.88 494.5,-567.88 494.5,-579.88 494.5,-579.88 494.5,-585.88 488.5,-591.88 482.5,-591.88"/>
|
|
38
|
+
<text xml:space="preserve" text-anchor="middle" x="461" y="-570.75" font-family="sans-Serif" font-size="10.00" fill="#0f172a">👤  request</text>
|
|
39
39
|
</g>
|
|
40
40
|
<!-- Loop -->
|
|
41
41
|
<g id="node2" class="node">
|
|
42
42
|
<title>Loop</title>
|
|
43
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="2" d="
|
|
44
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
45
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
46
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
43
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="2" d="M698.38,-595.88C698.38,-595.88 585.62,-595.88 585.62,-595.88 579.62,-595.88 573.62,-589.88 573.62,-583.88 573.62,-583.88 573.62,-563.88 573.62,-563.88 573.62,-557.88 579.62,-551.88 585.62,-551.88 585.62,-551.88 698.38,-551.88 698.38,-551.88 704.38,-551.88 710.38,-557.88 710.38,-563.88 710.38,-563.88 710.38,-583.88 710.38,-583.88 710.38,-589.88 704.38,-595.88 698.38,-595.88"/>
|
|
44
|
+
<text xml:space="preserve" text-anchor="middle" x="642" y="-582.38" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Loop.run</text>
|
|
45
|
+
<text xml:space="preserve" text-anchor="middle" x="642" y="-570.38" font-family="sans-Serif" font-size="10.00" fill="#0f172a">plan_first · Dispatch · guard</text>
|
|
46
|
+
<text xml:space="preserve" text-anchor="middle" x="642" y="-558.38" font-family="sans-Serif" font-size="10.00" fill="#0f172a">final answer</text>
|
|
47
47
|
</g>
|
|
48
48
|
<!-- Req->Loop -->
|
|
49
49
|
<g id="edge1" class="edge">
|
|
50
50
|
<title>Req->Loop</title>
|
|
51
|
-
<path fill="none" stroke="#38bdf8" stroke-width="2" d="
|
|
52
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="
|
|
51
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M494.94,-573.88C517.24,-573.88 539.53,-573.88 561.83,-573.88"/>
|
|
52
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="561.75,-576.68 569.75,-573.88 561.75,-571.08 561.75,-576.68"/>
|
|
53
53
|
</g>
|
|
54
54
|
<!-- R1 -->
|
|
55
55
|
<g id="node3" class="node">
|
|
56
56
|
<title>R1</title>
|
|
57
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="2" d="
|
|
58
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
59
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
57
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="2" d="M1293,-420.5C1293,-420.5 1193,-420.5 1193,-420.5 1187,-420.5 1181,-414.5 1181,-408.5 1181,-408.5 1181,-396.5 1181,-396.5 1181,-390.5 1187,-384.5 1193,-384.5 1193,-384.5 1293,-384.5 1293,-384.5 1299,-384.5 1305,-390.5 1305,-396.5 1305,-396.5 1305,-408.5 1305,-408.5 1305,-414.5 1299,-420.5 1293,-420.5"/>
|
|
58
|
+
<text xml:space="preserve" text-anchor="middle" x="1243" y="-405" font-family="sans-Serif" font-size="10.00" fill="#0f172a">R1  judge (ORM)</text>
|
|
59
|
+
<text xml:space="preserve" text-anchor="middle" x="1243" y="-393" font-family="sans-Serif" font-size="10.00" fill="#0f172a">score · verdict · rationale</text>
|
|
60
60
|
</g>
|
|
61
61
|
<!-- Loop->R1 -->
|
|
62
62
|
<g id="edge3" class="edge">
|
|
63
63
|
<title>Loop->R1</title>
|
|
64
|
-
<path fill="none" stroke="#a78bfa" stroke-width="2" d="
|
|
65
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="2" points="
|
|
66
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
64
|
+
<path fill="none" stroke="#a78bfa" stroke-width="2" d="M711.27,-551.35C774.65,-531.82 861.05,-505.66 877.75,-503 908.84,-498.04 1132.44,-508.24 1161,-495 1190.16,-481.48 1213.41,-452.17 1227.59,-430.34"/>
|
|
65
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="2" points="1229.82,-432.06 1231.69,-423.79 1225.07,-429.09 1229.82,-432.06"/>
|
|
66
|
+
<text xml:space="preserve" text-anchor="middle" x="886.38" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">final</text>
|
|
67
67
|
</g>
|
|
68
68
|
<!-- R2 -->
|
|
69
69
|
<g id="node4" class="node">
|
|
70
70
|
<title>R2</title>
|
|
71
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
72
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
73
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
71
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M1645,-420.5C1645,-420.5 1581,-420.5 1581,-420.5 1575,-420.5 1569,-414.5 1569,-408.5 1569,-408.5 1569,-396.5 1569,-396.5 1569,-390.5 1575,-384.5 1581,-384.5 1581,-384.5 1645,-384.5 1645,-384.5 1651,-384.5 1657,-390.5 1657,-396.5 1657,-396.5 1657,-408.5 1657,-408.5 1657,-414.5 1651,-420.5 1645,-420.5"/>
|
|
72
|
+
<text xml:space="preserve" text-anchor="middle" x="1613" y="-405" font-family="sans-Serif" font-size="10.00" fill="#0f172a">R2  prm (PRM)</text>
|
|
73
|
+
<text xml:space="preserve" text-anchor="middle" x="1613" y="-393" font-family="sans-Serif" font-size="10.00" fill="#0f172a">per-step +1/0/−1</text>
|
|
74
74
|
</g>
|
|
75
75
|
<!-- Loop->R2 -->
|
|
76
76
|
<g id="edge4" class="edge">
|
|
77
77
|
<title>Loop->R2</title>
|
|
78
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
79
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
80
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
78
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M711.35,-557.42C763.57,-545.68 836.87,-528.96 901,-513.5 919.5,-509.04 923.64,-505.48 942.5,-503 959.21,-500.81 1534.11,-502.88 1549,-495 1574.97,-481.25 1592.62,-451.71 1602.7,-429.89"/>
|
|
79
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="1605.26,-431.05 1605.9,-422.6 1600.12,-428.8 1605.26,-431.05"/>
|
|
80
|
+
<text xml:space="preserve" text-anchor="middle" x="958.25" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">session</text>
|
|
81
81
|
</g>
|
|
82
82
|
<!-- R3 -->
|
|
83
83
|
<g id="node5" class="node">
|
|
84
84
|
<title>R3</title>
|
|
85
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
86
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
87
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
85
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M989.25,-424.5C989.25,-424.5 890.75,-424.5 890.75,-424.5 884.75,-424.5 878.75,-418.5 878.75,-412.5 878.75,-412.5 878.75,-392.5 878.75,-392.5 878.75,-386.5 884.75,-380.5 890.75,-380.5 890.75,-380.5 989.25,-380.5 989.25,-380.5 995.25,-380.5 1001.25,-386.5 1001.25,-392.5 1001.25,-392.5 1001.25,-412.5 1001.25,-412.5 1001.25,-418.5 995.25,-424.5 989.25,-424.5"/>
|
|
86
|
+
<text xml:space="preserve" text-anchor="middle" x="940" y="-411" font-family="sans-Serif" font-size="10.00" fill="#0f172a">R3  sentinel (ring N=40)</text>
|
|
87
|
+
<text xml:space="preserve" text-anchor="middle" x="940" y="-399" font-family="sans-Serif" font-size="10.00" fill="#0f172a">proxy ≠ judge ≠ (1−corr)</text>
|
|
88
|
+
<text xml:space="preserve" text-anchor="middle" x="940" y="-387" font-family="sans-Serif" font-size="10.00" fill="#0f172a">→ proxy_distrust haircut</text>
|
|
88
89
|
</g>
|
|
89
90
|
<!-- Loop->R3 -->
|
|
90
91
|
<g id="edge5" class="edge">
|
|
91
92
|
<title>Loop->R3</title>
|
|
92
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
93
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
93
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M665.37,-550.97C684.42,-534.58 712.84,-513.3 742,-503 766.15,-494.46 833.95,-506.18 857,-495 884.77,-481.53 907.54,-454.29 922.16,-433.02"/>
|
|
94
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="924.37,-434.76 926.46,-426.55 919.7,-431.67 924.37,-434.76"/>
|
|
94
95
|
</g>
|
|
95
96
|
<!-- R4 -->
|
|
96
97
|
<g id="node6" class="node">
|
|
97
98
|
<title>R4</title>
|
|
98
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
99
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
100
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
99
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M1128.62,-420.5C1128.62,-420.5 1053.38,-420.5 1053.38,-420.5 1047.38,-420.5 1041.38,-414.5 1041.38,-408.5 1041.38,-408.5 1041.38,-396.5 1041.38,-396.5 1041.38,-390.5 1047.38,-384.5 1053.38,-384.5 1053.38,-384.5 1128.62,-384.5 1128.62,-384.5 1134.62,-384.5 1140.62,-390.5 1140.62,-396.5 1140.62,-396.5 1140.62,-408.5 1140.62,-408.5 1140.62,-414.5 1134.62,-420.5 1128.62,-420.5"/>
|
|
100
|
+
<text xml:space="preserve" text-anchor="middle" x="1091" y="-405" font-family="sans-Serif" font-size="10.00" fill="#0f172a">R4  semantic_ok</text>
|
|
101
|
+
<text xml:space="preserve" text-anchor="middle" x="1091" y="-393" font-family="sans-Serif" font-size="10.00" fill="#0f172a">grep exit 1 ≠ failure</text>
|
|
101
102
|
</g>
|
|
102
103
|
<!-- Loop->R4 -->
|
|
103
104
|
<g id="edge2" class="edge">
|
|
104
105
|
<title>Loop->R4</title>
|
|
105
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
106
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
107
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
106
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M678.61,-551.02C708.51,-534.44 752.46,-512.86 794,-503 818.56,-497.17 998.57,-506.58 1021,-495 1047.9,-481.11 1067.47,-451.66 1078.96,-429.9"/>
|
|
107
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="1081.4,-431.27 1082.51,-422.87 1076.4,-428.75 1081.4,-431.27"/>
|
|
108
|
+
<text xml:space="preserve" text-anchor="middle" x="812" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">Dispatch</text>
|
|
108
109
|
</g>
|
|
109
110
|
<!-- S2 -->
|
|
110
111
|
<g id="node9" class="node">
|
|
111
112
|
<title>S2</title>
|
|
112
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
113
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
114
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
113
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M193.12,-420.5C193.12,-420.5 114.88,-420.5 114.88,-420.5 108.88,-420.5 102.88,-414.5 102.88,-408.5 102.88,-408.5 102.88,-396.5 102.88,-396.5 102.88,-390.5 108.88,-384.5 114.88,-384.5 114.88,-384.5 193.12,-384.5 193.12,-384.5 199.12,-384.5 205.12,-390.5 205.12,-396.5 205.12,-396.5 205.12,-408.5 205.12,-408.5 205.12,-414.5 199.12,-420.5 193.12,-420.5"/>
|
|
114
|
+
<text xml:space="preserve" text-anchor="middle" x="154" y="-405" font-family="sans-Serif" font-size="10.00" fill="#0f172a">S2  counterfactual</text>
|
|
115
|
+
<text xml:space="preserve" text-anchor="middle" x="154" y="-393" font-family="sans-Serif" font-size="10.00" fill="#0f172a">fork alt-persona A/B</text>
|
|
115
116
|
</g>
|
|
116
117
|
<!-- Loop->S2 -->
|
|
117
118
|
<g id="edge9" class="edge">
|
|
118
119
|
<title>Loop->S2</title>
|
|
119
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="
|
|
120
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
121
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
120
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M572.95,-561.3C458.32,-541.89 239.79,-504.03 225,-495 199.32,-479.33 179.4,-450.72 167.29,-429.65"/>
|
|
121
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="169.85,-428.51 163.53,-422.86 164.95,-431.22 169.85,-428.51"/>
|
|
122
|
+
<text xml:space="preserve" text-anchor="middle" x="331.63" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">[REPEATING]</text>
|
|
122
123
|
</g>
|
|
123
124
|
<!-- S3 -->
|
|
124
125
|
<g id="node10" class="node">
|
|
125
126
|
<title>S3</title>
|
|
126
|
-
<path fill="#6ee7b7" 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="
|
|
127
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M355.25,-420.5C355.25,-420.5 256.75,-420.5 256.75,-420.5 250.75,-420.5 244.75,-414.5 244.75,-408.5 244.75,-408.5 244.75,-396.5 244.75,-396.5 244.75,-390.5 250.75,-384.5 256.75,-384.5 256.75,-384.5 355.25,-384.5 355.25,-384.5 361.25,-384.5 367.25,-390.5 367.25,-396.5 367.25,-396.5 367.25,-408.5 367.25,-408.5 367.25,-414.5 361.25,-420.5 355.25,-420.5"/>
|
|
128
|
+
<text xml:space="preserve" text-anchor="middle" x="306" y="-405" font-family="sans-Serif" font-size="10.00" fill="#0f172a">S3  critic</text>
|
|
129
|
+
<text xml:space="preserve" text-anchor="middle" x="306" y="-393" font-family="sans-Serif" font-size="10.00" fill="#0f172a">tool-armed constitutional</text>
|
|
129
130
|
</g>
|
|
130
131
|
<!-- Loop->S3 -->
|
|
131
132
|
<g id="edge8" class="edge">
|
|
132
133
|
<title>Loop->S3</title>
|
|
133
|
-
<path fill="none" stroke="#34d399" stroke-width="1.3" d="
|
|
134
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="
|
|
135
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
134
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M572.71,-562.34C518.8,-551.73 443.85,-531.54 387,-495 360.33,-477.86 337.2,-449.56 322.56,-428.96"/>
|
|
135
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="324.99,-427.54 318.13,-422.56 320.38,-430.73 324.99,-427.54"/>
|
|
136
|
+
<text xml:space="preserve" text-anchor="middle" x="426.99" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">final</text>
|
|
136
137
|
</g>
|
|
137
138
|
<!-- S4 -->
|
|
138
139
|
<g id="node11" class="node">
|
|
139
140
|
<title>S4</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="
|
|
141
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M510.88,-420.5C510.88,-420.5 419.12,-420.5 419.12,-420.5 413.12,-420.5 407.12,-414.5 407.12,-408.5 407.12,-408.5 407.12,-396.5 407.12,-396.5 407.12,-390.5 413.12,-384.5 419.12,-384.5 419.12,-384.5 510.88,-384.5 510.88,-384.5 516.88,-384.5 522.88,-390.5 522.88,-396.5 522.88,-396.5 522.88,-408.5 522.88,-408.5 522.88,-414.5 516.88,-420.5 510.88,-420.5"/>
|
|
142
|
+
<text xml:space="preserve" text-anchor="middle" x="465" y="-405" font-family="sans-Serif" font-size="10.00" fill="#0f172a">S4  red_team_plan</text>
|
|
143
|
+
<text xml:space="preserve" text-anchor="middle" x="465" y="-393" font-family="sans-Serif" font-size="10.00" fill="#0f172a">adversarial plan review</text>
|
|
143
144
|
</g>
|
|
144
145
|
<!-- Loop->S4 -->
|
|
145
146
|
<g id="edge7" class="edge">
|
|
146
147
|
<title>Loop->S4</title>
|
|
147
|
-
<path fill="none" stroke="#34d399" stroke-width="1.3" d="
|
|
148
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="
|
|
149
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
148
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M611.27,-551.17C591.04,-536.3 564.44,-515.61 543,-495 521.27,-474.11 499.25,-447.68 484.17,-428.61"/>
|
|
149
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="486.5,-427.04 479.36,-422.47 482.09,-430.49 486.5,-427.04"/>
|
|
150
|
+
<text xml:space="preserve" text-anchor="middle" x="582.21" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">plan_first</text>
|
|
150
151
|
</g>
|
|
151
152
|
<!-- C3 -->
|
|
152
153
|
<g id="node12" class="node">
|
|
153
154
|
<title>C3</title>
|
|
154
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
155
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
156
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
155
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M658.75,-420.5C658.75,-420.5 575.25,-420.5 575.25,-420.5 569.25,-420.5 563.25,-414.5 563.25,-408.5 563.25,-408.5 563.25,-396.5 563.25,-396.5 563.25,-390.5 569.25,-384.5 575.25,-384.5 575.25,-384.5 658.75,-384.5 658.75,-384.5 664.75,-384.5 670.75,-390.5 670.75,-396.5 670.75,-396.5 670.75,-408.5 670.75,-408.5 670.75,-414.5 664.75,-420.5 658.75,-420.5"/>
|
|
156
|
+
<text xml:space="preserve" text-anchor="middle" x="617" y="-405" font-family="sans-Serif" font-size="10.00" fill="#0f172a">C3  hindsight (HER)</text>
|
|
157
|
+
<text xml:space="preserve" text-anchor="middle" x="617" y="-393" font-family="sans-Serif" font-size="10.00" fill="#0f172a">relabel achieved-goal</text>
|
|
157
158
|
</g>
|
|
158
159
|
<!-- Loop->C3 -->
|
|
159
160
|
<g id="edge10" class="edge">
|
|
160
161
|
<title>Loop->C3</title>
|
|
161
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="
|
|
162
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
163
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
162
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M638.78,-551.08C634.24,-520.31 625.95,-464.17 621.02,-430.7"/>
|
|
163
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="623.82,-430.55 619.89,-423.05 618.28,-431.37 623.82,-430.55"/>
|
|
164
|
+
<text xml:space="preserve" text-anchor="middle" x="654.58" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">failed goal</text>
|
|
164
165
|
</g>
|
|
165
166
|
<!-- E3 -->
|
|
166
167
|
<g id="node7" class="node">
|
|
167
168
|
<title>E3</title>
|
|
168
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
169
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
170
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
169
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M1517.12,-420.5C1517.12,-420.5 1396.88,-420.5 1396.88,-420.5 1390.88,-420.5 1384.88,-414.5 1384.88,-408.5 1384.88,-408.5 1384.88,-396.5 1384.88,-396.5 1384.88,-390.5 1390.88,-384.5 1396.88,-384.5 1396.88,-384.5 1517.12,-384.5 1517.12,-384.5 1523.12,-384.5 1529.12,-390.5 1529.12,-396.5 1529.12,-396.5 1529.12,-408.5 1529.12,-408.5 1529.12,-414.5 1523.12,-420.5 1517.12,-420.5"/>
|
|
170
|
+
<text xml:space="preserve" text-anchor="middle" x="1457" y="-405" font-family="sans-Serif" font-size="10.00" fill="#0f172a">E3  verify_as_reward</text>
|
|
171
|
+
<text xml:space="preserve" text-anchor="middle" x="1457" y="-393" font-family="sans-Serif" font-size="10.00" fill="#0f172a">extro_verify caps/floors judge</text>
|
|
171
172
|
</g>
|
|
172
173
|
<!-- R1->E3 -->
|
|
173
174
|
<g id="edge6" class="edge">
|
|
174
175
|
<title>R1->E3</title>
|
|
175
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
176
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
177
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
176
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M1305.76,-402.5C1327.34,-402.5 1351.84,-402.5 1374.74,-402.5"/>
|
|
177
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="1374.47,-405.3 1382.47,-402.5 1374.47,-399.7 1374.47,-405.3"/>
|
|
178
|
+
<text xml:space="preserve" text-anchor="middle" x="1344.94" y="-407.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">ground</text>
|
|
178
179
|
</g>
|
|
179
180
|
<!-- Fses -->
|
|
180
181
|
<g id="node17" class="node">
|
|
181
182
|
<title>Fses</title>
|
|
182
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
183
|
-
<path fill="none" 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="#fcd34d" stroke="#334155" stroke-width="1.3" d="M641.5,-56C641.5,-58.21 622.45,-60 599,-60 575.55,-60 556.5,-58.21 556.5,-56 556.5,-56 556.5,-20 556.5,-20 556.5,-17.79 575.55,-16 599,-16 622.45,-16 641.5,-17.79 641.5,-20 641.5,-20 641.5,-56 641.5,-56"/>
|
|
184
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M641.5,-56C641.5,-53.79 622.45,-52 599,-52 575.55,-52 556.5,-53.79 556.5,-56"/>
|
|
185
|
+
<text xml:space="preserve" text-anchor="middle" x="599" y="-40.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sessions/*.jsonl</text>
|
|
186
|
+
<text xml:space="preserve" text-anchor="middle" x="599" y="-28.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(step_reward)</text>
|
|
186
187
|
</g>
|
|
187
188
|
<!-- R2->Fses -->
|
|
188
189
|
<g id="edge11" class="edge">
|
|
189
190
|
<title>R2->Fses</title>
|
|
190
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
191
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
192
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
191
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M1575.7,-383.86C1567,-379.95 1557.73,-375.95 1549,-372.5 1219.16,-242.05 1137.47,-186.28 786,-138.5 758.64,-134.78 686.02,-144.13 662,-130.5 638.18,-116.99 621.4,-90.31 611.18,-69.24"/>
|
|
192
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="613.79,-68.2 607.9,-62.1 608.7,-70.54 613.79,-68.2"/>
|
|
193
|
+
<text xml:space="preserve" text-anchor="middle" x="1427.86" y="-211.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">step_reward</text>
|
|
193
194
|
</g>
|
|
194
195
|
<!-- Fmis -->
|
|
195
196
|
<g id="node16" class="node">
|
|
196
197
|
<title>Fmis</title>
|
|
197
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
198
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
199
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
198
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M862.38,-52.73C862.38,-54.53 845.17,-56 824,-56 802.83,-56 785.62,-54.53 785.62,-52.73 785.62,-52.73 785.62,-23.27 785.62,-23.27 785.62,-21.47 802.83,-20 824,-20 845.17,-20 862.38,-21.47 862.38,-23.27 862.38,-23.27 862.38,-52.73 862.38,-52.73"/>
|
|
199
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M862.38,-52.73C862.38,-50.92 845.17,-49.45 824,-49.45 802.83,-49.45 785.62,-50.92 785.62,-52.73"/>
|
|
200
|
+
<text xml:space="preserve" text-anchor="middle" x="824" y="-34.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mistakes.json</text>
|
|
200
201
|
</g>
|
|
201
202
|
<!-- R3->Fmis -->
|
|
202
203
|
<g id="edge13" class="edge">
|
|
203
204
|
<title>R3->Fmis</title>
|
|
204
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
205
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
206
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
205
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" stroke-dasharray="5,2" d="M933.09,-379.91C913.01,-317.15 854.67,-134.85 832.6,-65.87"/>
|
|
206
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="835.32,-65.19 830.21,-58.42 829.99,-66.89 835.32,-65.19"/>
|
|
207
|
+
<text xml:space="preserve" text-anchor="middle" x="940.88" y="-211.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">reward_signal</text>
|
|
207
208
|
</g>
|
|
208
209
|
<!-- Frws -->
|
|
209
210
|
<g id="node21" class="node">
|
|
210
211
|
<title>Frws</title>
|
|
211
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
212
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
213
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
212
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M1007.62,-52.73C1007.62,-54.53 984.04,-56 955,-56 925.96,-56 902.38,-54.53 902.38,-52.73 902.38,-52.73 902.38,-23.27 902.38,-23.27 902.38,-21.47 925.96,-20 955,-20 984.04,-20 1007.62,-21.47 1007.62,-23.27 1007.62,-23.27 1007.62,-52.73 1007.62,-52.73"/>
|
|
213
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M1007.62,-52.73C1007.62,-50.92 984.04,-49.45 955,-49.45 925.96,-49.45 902.38,-50.92 902.38,-52.73"/>
|
|
214
|
+
<text xml:space="preserve" text-anchor="middle" x="955" y="-34.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">reward_sentinel.json</text>
|
|
214
215
|
</g>
|
|
215
216
|
<!-- R3->Frws -->
|
|
216
217
|
<g id="edge12" class="edge">
|
|
217
218
|
<title>R3->Frws</title>
|
|
218
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
219
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
219
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M967.53,-380.16C985.91,-364.09 1008.56,-340.28 1019,-313.5 1047.26,-241.03 1043.45,-212.97 1021,-138.5 1012.52,-110.37 993.19,-82.88 977.63,-63.95"/>
|
|
220
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="979.81,-62.19 972.51,-57.89 975.54,-65.81 979.81,-62.19"/>
|
|
220
221
|
</g>
|
|
221
222
|
<!-- S1 -->
|
|
222
223
|
<g id="node8" class="node">
|
|
223
224
|
<title>S1</title>
|
|
224
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="2" d="
|
|
225
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
226
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
227
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
225
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="2" d="M826.88,-424.5C826.88,-424.5 723.12,-424.5 723.12,-424.5 717.12,-424.5 711.12,-418.5 711.12,-412.5 711.12,-412.5 711.12,-392.5 711.12,-392.5 711.12,-386.5 717.12,-380.5 723.12,-380.5 723.12,-380.5 826.88,-380.5 826.88,-380.5 832.88,-380.5 838.88,-386.5 838.88,-392.5 838.88,-392.5 838.88,-412.5 838.88,-412.5 838.88,-418.5 832.88,-424.5 826.88,-424.5"/>
|
|
226
|
+
<text xml:space="preserve" text-anchor="middle" x="775" y="-411" font-family="sans-Serif" font-size="10.00" fill="#0f172a">S1  practice</text>
|
|
227
|
+
<text xml:space="preserve" text-anchor="middle" x="775" y="-399" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Mistakes.top → self-play</text>
|
|
228
|
+
<text xml:space="preserve" text-anchor="middle" x="775" y="-387" font-family="sans-Serif" font-size="10.00" fill="#0f172a">auto-resolve on judge≥0.7</text>
|
|
228
229
|
</g>
|
|
229
230
|
<!-- S1->Fmis -->
|
|
230
231
|
<g id="edge14" class="edge">
|
|
231
232
|
<title>S1->Fmis</title>
|
|
232
|
-
<path fill="none" stroke="#34d399" stroke-width="1.3" d="
|
|
233
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="
|
|
234
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="
|
|
235
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
233
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M779.26,-369.96C788.74,-299.84 811.43,-132.01 820.33,-66.17"/>
|
|
234
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="776.52,-369.39 778.22,-377.69 782.06,-370.14 776.52,-369.39"/>
|
|
235
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="823.07,-66.76 821.37,-58.46 817.52,-66.01 823.07,-66.76"/>
|
|
236
|
+
<text xml:space="preserve" text-anchor="middle" x="829.87" y="-211.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">auto-resolve</text>
|
|
236
237
|
</g>
|
|
237
238
|
<!-- Fcur -->
|
|
238
239
|
<g id="node19" class="node">
|
|
239
240
|
<title>Fcur</title>
|
|
240
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
241
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
242
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
241
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M746,-52.73C746,-54.53 731.66,-56 714,-56 696.34,-56 682,-54.53 682,-52.73 682,-52.73 682,-23.27 682,-23.27 682,-21.47 696.34,-20 714,-20 731.66,-20 746,-21.47 746,-23.27 746,-23.27 746,-52.73 746,-52.73"/>
|
|
242
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M746,-52.73C746,-50.92 731.66,-49.45 714,-49.45 696.34,-49.45 682,-50.92 682,-52.73"/>
|
|
243
|
+
<text xml:space="preserve" text-anchor="middle" x="714" y="-34.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">curriculum/</text>
|
|
243
244
|
</g>
|
|
244
245
|
<!-- S1->Fcur -->
|
|
245
246
|
<g id="edge15" class="edge">
|
|
246
247
|
<title>S1->Fcur</title>
|
|
247
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
248
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
248
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M771.32,-379.64C760.74,-316.74 730.22,-135.4 718.58,-66.24"/>
|
|
249
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="721.36,-65.87 717.27,-58.45 715.84,-66.8 721.36,-65.87"/>
|
|
249
250
|
</g>
|
|
250
251
|
<!-- W1 -->
|
|
251
252
|
<g id="node13" class="node">
|
|
252
253
|
<title>W1</title>
|
|
253
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M332,-
|
|
254
|
-
<text xml:space="preserve" text-anchor="middle" x="279" y="-
|
|
255
|
-
<text xml:space="preserve" text-anchor="middle" x="279" y="-
|
|
256
|
-
<text xml:space="preserve" text-anchor="middle" x="279" y="-
|
|
254
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M332,-243C332,-243 226,-243 226,-243 220,-243 214,-237 214,-231 214,-231 214,-199 214,-199 214,-193 220,-187 226,-187 226,-187 332,-187 332,-187 338,-187 344,-193 344,-199 344,-199 344,-231 344,-231 344,-237 338,-243 332,-243"/>
|
|
255
|
+
<text xml:space="preserve" text-anchor="middle" x="279" y="-229.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">W1  preference ledger</text>
|
|
256
|
+
<text xml:space="preserve" text-anchor="middle" x="279" y="-217.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(prompt, rejected, chosen)</text>
|
|
257
|
+
<text xml:space="preserve" text-anchor="middle" x="279" y="-205.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">5 free sources</text>
|
|
258
|
+
<text xml:space="preserve" text-anchor="middle" x="279" y="-193.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">export_dpo ≤40%/source</text>
|
|
257
259
|
</g>
|
|
258
260
|
<!-- S2->W1 -->
|
|
259
261
|
<g id="edge16" class="edge">
|
|
260
262
|
<title>S2->W1</title>
|
|
261
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="
|
|
262
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
263
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
263
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M165.76,-384.05C186.13,-353.82 228.36,-291.16 255.09,-251.48"/>
|
|
264
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="257.3,-253.21 259.45,-245.01 252.66,-250.08 257.3,-253.21"/>
|
|
265
|
+
<text xml:space="preserve" text-anchor="middle" x="233.43" y="-328.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">(loser,winner)</text>
|
|
264
266
|
</g>
|
|
265
267
|
<!-- S3->W1 -->
|
|
266
268
|
<g id="edge17" class="edge">
|
|
267
269
|
<title>S3->W1</title>
|
|
268
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="
|
|
269
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
270
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M303.46,-384.05C299.12,-354.26 290.21,-292.98 284.42,-253.23"/>
|
|
271
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="287.19,-252.84 283.27,-245.32 281.65,-253.64 287.19,-252.84"/>
|
|
270
272
|
</g>
|
|
271
273
|
<!-- C3->Fses -->
|
|
272
274
|
<g id="edge18" class="edge">
|
|
273
275
|
<title>C3->Fses</title>
|
|
274
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
275
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
276
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
276
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M616.13,-384.02C613.28,-326.61 604.18,-143.38 600.53,-69.91"/>
|
|
277
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="603.35,-70.11 600.15,-62.26 597.76,-70.39 603.35,-70.11"/>
|
|
278
|
+
<text xml:space="preserve" text-anchor="middle" x="638.1" y="-211.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">success:true</text>
|
|
277
279
|
</g>
|
|
278
280
|
<!-- Fprf -->
|
|
279
281
|
<g id="node18" class="node">
|
|
280
282
|
<title>Fprf</title>
|
|
281
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
282
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
283
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
283
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M516.12,-52.73C516.12,-54.53 495.9,-56 471,-56 446.1,-56 425.88,-54.53 425.88,-52.73 425.88,-52.73 425.88,-23.27 425.88,-23.27 425.88,-21.47 446.1,-20 471,-20 495.9,-20 516.12,-21.47 516.12,-23.27 516.12,-23.27 516.12,-52.73 516.12,-52.73"/>
|
|
284
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M516.12,-52.73C516.12,-50.92 495.9,-49.45 471,-49.45 446.1,-49.45 425.88,-50.92 425.88,-52.73"/>
|
|
285
|
+
<text xml:space="preserve" text-anchor="middle" x="471" y="-34.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">preferences.jsonl</text>
|
|
284
286
|
</g>
|
|
285
287
|
<!-- W1->Fprf -->
|
|
286
288
|
<g id="edge19" class="edge">
|
|
287
289
|
<title>W1->Fprf</title>
|
|
288
|
-
<path fill="none" stroke="#f59e0b" stroke-width="2" d="
|
|
289
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="2" points="
|
|
290
|
+
<path fill="none" stroke="#f59e0b" stroke-width="2" d="M344.37,-186.9C350.99,-184.21 357.62,-181.54 364,-179 398.51,-165.26 417.21,-176.66 442,-149 462.14,-126.53 468.57,-91.69 470.48,-67.26"/>
|
|
291
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="2" points="473.26,-67.69 470.91,-59.55 467.67,-67.38 473.26,-67.69"/>
|
|
290
292
|
</g>
|
|
291
293
|
<!-- W2 -->
|
|
292
294
|
<g id="node14" class="node">
|
|
293
295
|
<title>W2</title>
|
|
294
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="2" d="M161.88,-
|
|
295
|
-
<text xml:space="preserve" text-anchor="middle" x="95" y="-
|
|
296
|
-
<text xml:space="preserve" text-anchor="middle" x="95" y="-
|
|
297
|
-
<text xml:space="preserve" text-anchor="middle" x="95" y="-
|
|
298
|
-
<text xml:space="preserve" text-anchor="middle" x="95" y="-
|
|
296
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="2" d="M161.88,-243C161.88,-243 28.12,-243 28.12,-243 22.12,-243 16.12,-237 16.12,-231 16.12,-231 16.12,-199 16.12,-199 16.12,-193 22.12,-187 28.12,-187 28.12,-187 161.88,-187 161.88,-187 167.88,-187 173.88,-193 173.88,-199 173.88,-199 173.88,-231 173.88,-231 173.88,-237 167.88,-243 161.88,-243"/>
|
|
297
|
+
<text xml:space="preserve" text-anchor="middle" x="95" y="-229.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">W2  train_and_gate</text>
|
|
298
|
+
<text xml:space="preserve" text-anchor="middle" x="95" y="-217.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">SFT+DPO → LoRA vN+1</text>
|
|
299
|
+
<text xml:space="preserve" text-anchor="middle" x="95" y="-205.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">replay Mistakes.top vN vs vN+1</text>
|
|
300
|
+
<text xml:space="preserve" text-anchor="middle" x="95" y="-193.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">promote iff resolved(N+1) > (N)</text>
|
|
299
301
|
</g>
|
|
300
302
|
<!-- Fftn -->
|
|
301
303
|
<g id="node20" class="node">
|
|
302
304
|
<title>Fftn</title>
|
|
303
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
304
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
305
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
305
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M386.25,-52.73C386.25,-54.53 368.21,-56 346,-56 323.79,-56 305.75,-54.53 305.75,-52.73 305.75,-52.73 305.75,-23.27 305.75,-23.27 305.75,-21.47 323.79,-20 346,-20 368.21,-20 386.25,-21.47 386.25,-23.27 386.25,-23.27 386.25,-52.73 386.25,-52.73"/>
|
|
306
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M386.25,-52.73C386.25,-50.92 368.21,-49.45 346,-49.45 323.79,-49.45 305.75,-50.92 305.75,-52.73"/>
|
|
307
|
+
<text xml:space="preserve" text-anchor="middle" x="346" y="-34.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">finetune/*.jsonl</text>
|
|
306
308
|
</g>
|
|
307
309
|
<!-- W2->Fftn -->
|
|
308
310
|
<g id="edge22" class="edge">
|
|
309
311
|
<title>W2->Fftn</title>
|
|
310
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
311
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
312
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M135.05,-186.08C184.43,-151.65 267.43,-93.78 313.21,-61.86"/>
|
|
313
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="314.74,-64.21 319.7,-57.34 311.53,-59.62 314.74,-64.21"/>
|
|
312
314
|
</g>
|
|
313
315
|
<!-- Ollama -->
|
|
314
316
|
<g id="node22" class="node">
|
|
@@ -320,73 +322,116 @@
|
|
|
320
322
|
<!-- W2->Ollama -->
|
|
321
323
|
<g id="edge23" class="edge">
|
|
322
324
|
<title>W2->Ollama</title>
|
|
323
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" d="M94.
|
|
324
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="97.
|
|
325
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
325
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" d="M94.35,-186.17C94.11,-174.66 93.87,-161.19 93.75,-149 93.48,-121.32 93.92,-89.72 94.35,-67.51"/>
|
|
326
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="97.15,-67.61 94.51,-59.55 91.55,-67.49 97.15,-67.61"/>
|
|
327
|
+
<text xml:space="preserve" text-anchor="middle" x="105.38" y="-140.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">LoRA</text>
|
|
326
328
|
</g>
|
|
327
329
|
<!-- W3 -->
|
|
328
330
|
<g id="node15" class="node">
|
|
329
331
|
<title>W3</title>
|
|
330
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M514.38,-
|
|
331
|
-
<text xml:space="preserve" text-anchor="middle" x="455" y="-
|
|
332
|
-
<text xml:space="preserve" text-anchor="middle" x="455" y="-
|
|
332
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M514.38,-233C514.38,-233 395.62,-233 395.62,-233 389.62,-233 383.62,-227 383.62,-221 383.62,-221 383.62,-209 383.62,-209 383.62,-203 389.62,-197 395.62,-197 395.62,-197 514.38,-197 514.38,-197 520.38,-197 526.38,-203 526.38,-209 526.38,-209 526.38,-221 526.38,-221 526.38,-227 520.38,-233 514.38,-233"/>
|
|
333
|
+
<text xml:space="preserve" text-anchor="middle" x="455" y="-217.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">W3  calibrate</text>
|
|
334
|
+
<text xml:space="preserve" text-anchor="middle" x="455" y="-205.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">p(success) vs actual → Brier</text>
|
|
333
335
|
</g>
|
|
334
336
|
<!-- W3->Loop -->
|
|
335
337
|
<g id="edge25" class="edge">
|
|
336
338
|
<title>W3->Loop</title>
|
|
337
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
338
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
339
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
339
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M473.18,-233.64C498.38,-256.81 546.44,-296.54 596,-313.5 709.6,-352.39 1592.45,-285.31 1675,-372.5 1712.43,-412.04 1713.26,-456.26 1675,-495 1668.7,-501.37 1038.91,-502.02 1030,-503 1007.43,-505.49 1002.3,-509.2 980,-513.5 891.3,-530.6 789.11,-548.27 720.52,-559.84"/>
|
|
340
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="720.43,-557.01 713.01,-561.1 721.36,-562.54 720.43,-557.01"/>
|
|
341
|
+
<text xml:space="preserve" text-anchor="middle" x="1724.76" y="-399.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">calibration</text>
|
|
340
342
|
</g>
|
|
341
343
|
<!-- Fmis->W2 -->
|
|
342
344
|
<g id="edge24" class="edge">
|
|
343
345
|
<title>Fmis->W2</title>
|
|
344
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
345
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
346
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
346
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M818.27,-56.63C810.28,-78.1 793.58,-113.59 766,-130.5 657.24,-197.17 318.77,-152.44 194,-179 188.27,-180.22 182.41,-181.69 176.56,-183.32"/>
|
|
347
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="176.15,-180.52 169.26,-185.45 177.72,-185.89 176.15,-180.52"/>
|
|
348
|
+
<text xml:space="preserve" text-anchor="middle" x="759.79" y="-140.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">eval set</text>
|
|
347
349
|
</g>
|
|
348
350
|
<!-- Fses->W2 -->
|
|
349
351
|
<g id="edge21" class="edge">
|
|
350
352
|
<title>Fses->W2</title>
|
|
351
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
352
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="177.85,-
|
|
353
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
353
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M590.5,-60.3C580.74,-81.78 562.57,-114.05 536,-130.5 519.68,-140.6 212.64,-174.43 194,-179 188.91,-180.25 183.71,-181.66 178.5,-183.17"/>
|
|
354
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="177.85,-180.45 171,-185.44 179.47,-185.81 177.85,-180.45"/>
|
|
355
|
+
<text xml:space="preserve" text-anchor="middle" x="527.83" y="-140.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">export_finetune</text>
|
|
354
356
|
</g>
|
|
355
357
|
<!-- Fprf->W2 -->
|
|
356
358
|
<g id="edge20" class="edge">
|
|
357
359
|
<title>Fprf->W2</title>
|
|
358
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
359
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
360
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
360
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M464.23,-56.46C454.8,-78.11 435.48,-114.15 406,-130.5 379.81,-145.02 300.64,-131.62 271.5,-138.5 231.45,-147.95 188.98,-165.85 155.73,-181.85"/>
|
|
361
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="154.78,-179.2 148.82,-185.22 157.24,-184.23 154.78,-179.2"/>
|
|
362
|
+
<text xml:space="preserve" text-anchor="middle" x="294.75" y="-140.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">export_dpo</text>
|
|
361
363
|
</g>
|
|
362
364
|
<!-- Ollama->Loop -->
|
|
363
|
-
<g id="
|
|
365
|
+
<g id="edge32" class="edge">
|
|
364
366
|
<title>Ollama->Loop</title>
|
|
365
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="
|
|
366
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="
|
|
367
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
368
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
367
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="M122.38,-56.63C158.59,-78.83 225.17,-115.83 288,-130.5 341.89,-143.08 730.7,-136.4 786,-138.5 936.61,-144.21 1320.02,-131.35 1463,-179 1611.05,-228.34 1682.06,-235.07 1756,-372.5 1781.79,-420.45 1794.27,-456.28 1756,-495 1749.38,-501.7 1087.36,-501.97 1078,-503 1055.43,-505.48 1050.34,-509.44 1028,-513.5 922.56,-532.67 800.17,-550.8 721.96,-561.87"/>
|
|
368
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="721.75,-559.07 714.22,-562.96 722.53,-564.62 721.75,-559.07"/>
|
|
369
|
+
<text xml:space="preserve" text-anchor="middle" x="1768.75" y="-333.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">promoted vN+1</text>
|
|
370
|
+
<text xml:space="preserve" text-anchor="middle" x="1768.75" y="-323.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">(next session)</text>
|
|
369
371
|
</g>
|
|
370
372
|
<!-- Cron -->
|
|
371
373
|
<g id="node23" class="node">
|
|
372
374
|
<title>Cron</title>
|
|
373
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="
|
|
374
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
375
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
375
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M994,-596.25C994,-596.25 864,-596.25 864,-596.25 858,-596.25 852,-590.25 852,-584.25 852,-584.25 852,-563.5 852,-563.5 852,-557.5 858,-551.5 864,-551.5 864,-551.5 994,-551.5 994,-551.5 1000,-551.5 1006,-557.5 1006,-563.5 1006,-563.5 1006,-584.25 1006,-584.25 1006,-590.25 1000,-596.25 994,-596.25"/>
|
|
376
|
+
<text xml:space="preserve" text-anchor="middle" x="929" y="-582.75" font-family="sans-Serif" font-size="10.00" fill="#0f172a">⏱  PWN::Cron.install_defaults</text>
|
|
377
|
+
<text xml:space="preserve" text-anchor="middle" x="929" y="-570" font-family="sans-Serif" font-size="10.00" fill="#0f172a">practice · offline_judge</text>
|
|
378
|
+
<text xml:space="preserve" text-anchor="middle" x="929" y="-558" font-family="sans-Serif" font-size="10.00" fill="#0f172a">train dry_run · consolidate</text>
|
|
376
379
|
</g>
|
|
377
380
|
<!-- Cron->S1 -->
|
|
378
381
|
<g id="edge26" class="edge">
|
|
379
382
|
<title>Cron->S1</title>
|
|
380
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
381
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
382
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
383
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M965.81,-550.89C984.89,-536.83 1001.46,-518.4 987,-503 977.4,-492.77 873.69,-500.97 861,-495 832.79,-481.72 809.26,-454.72 793.98,-433.48"/>
|
|
384
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="796.33,-431.95 789.47,-426.98 791.74,-435.15 796.33,-431.95"/>
|
|
385
|
+
<text xml:space="preserve" text-anchor="middle" x="1007.46" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">0 3 * * *</text>
|
|
383
386
|
</g>
|
|
384
387
|
<!-- Cron->W2 -->
|
|
385
|
-
<g id="
|
|
388
|
+
<g id="edge28" class="edge">
|
|
386
389
|
<title>Cron->W2</title>
|
|
387
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
388
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
389
|
-
<text xml:space="preserve" text-anchor="middle" x="1822.
|
|
390
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M999.82,-550.93C1057.41,-534.23 1141.09,-512.55 1216,-503 1230.88,-501.1 1744.93,-505.12 1756,-495 1813.16,-442.75 1826.62,-376.4 1772,-321.5 1756.54,-305.96 214.26,-321.86 194,-313.5 163.48,-300.9 137.3,-273.91 119.54,-251.51"/>
|
|
391
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="121.91,-250 114.81,-245.37 117.47,-253.42 121.91,-250"/>
|
|
392
|
+
<text xml:space="preserve" text-anchor="middle" x="1822.76" y="-399.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">0 4 * * 0</text>
|
|
393
|
+
</g>
|
|
394
|
+
<!-- OJ -->
|
|
395
|
+
<g id="node24" class="node">
|
|
396
|
+
<title>OJ</title>
|
|
397
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M1283.62,-591.88C1283.62,-591.88 1148.38,-591.88 1148.38,-591.88 1142.38,-591.88 1136.38,-585.88 1136.38,-579.88 1136.38,-579.88 1136.38,-567.88 1136.38,-567.88 1136.38,-561.88 1142.38,-555.88 1148.38,-555.88 1148.38,-555.88 1283.62,-555.88 1283.62,-555.88 1289.62,-555.88 1295.62,-561.88 1295.62,-567.88 1295.62,-567.88 1295.62,-579.88 1295.62,-579.88 1295.62,-585.88 1289.62,-591.88 1283.62,-591.88"/>
|
|
398
|
+
<text xml:space="preserve" text-anchor="middle" x="1216" y="-576.38" font-family="sans-Serif" font-size="10.00" fill="#0f172a">P3  offline_judge</text>
|
|
399
|
+
<text xml:space="preserve" text-anchor="middle" x="1216" y="-564.38" font-family="sans-Serif" font-size="10.00" fill="#0f172a">ORM/PRM + W3 cal from PLAN</text>
|
|
400
|
+
</g>
|
|
401
|
+
<!-- Cron->OJ -->
|
|
402
|
+
<g id="edge27" class="edge">
|
|
403
|
+
<title>Cron->OJ</title>
|
|
404
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M1006.29,-573.88C1043.25,-573.88 1087.72,-573.88 1126.18,-573.88"/>
|
|
405
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="1125.85,-576.68 1133.85,-573.88 1125.85,-571.08 1125.85,-576.68"/>
|
|
406
|
+
<text xml:space="preserve" text-anchor="middle" x="1071.19" y="-578.83" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">30 3 * * *</text>
|
|
407
|
+
</g>
|
|
408
|
+
<!-- MemGC -->
|
|
409
|
+
<g id="node25" class="node">
|
|
410
|
+
<title>MemGC</title>
|
|
411
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M1464.62,-591.88C1464.62,-591.88 1347.38,-591.88 1347.38,-591.88 1341.38,-591.88 1335.38,-585.88 1335.38,-579.88 1335.38,-579.88 1335.38,-567.88 1335.38,-567.88 1335.38,-561.88 1341.38,-555.88 1347.38,-555.88 1347.38,-555.88 1464.62,-555.88 1464.62,-555.88 1470.62,-555.88 1476.62,-561.88 1476.62,-567.88 1476.62,-567.88 1476.62,-579.88 1476.62,-579.88 1476.62,-585.88 1470.62,-591.88 1464.62,-591.88"/>
|
|
412
|
+
<text xml:space="preserve" text-anchor="middle" x="1406" y="-576.38" font-family="sans-Serif" font-size="10.00" fill="#0f172a">M1/M3  Learning.consolidate</text>
|
|
413
|
+
<text xml:space="preserve" text-anchor="middle" x="1406" y="-564.38" font-family="sans-Serif" font-size="10.00" fill="#0f172a">nightly memory GC</text>
|
|
414
|
+
</g>
|
|
415
|
+
<!-- Cron->MemGC -->
|
|
416
|
+
<g id="edge29" class="edge">
|
|
417
|
+
<title>Cron->MemGC</title>
|
|
418
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M988.99,-596.78C1028.32,-610.55 1081.25,-626.74 1129.62,-633.81 1209.3,-645.46 1300.33,-617.58 1355.45,-596.04"/>
|
|
419
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="1356.43,-598.67 1362.82,-593.1 1354.36,-593.47 1356.43,-598.67"/>
|
|
420
|
+
<text xml:space="preserve" text-anchor="middle" x="1145" y="-636.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">0 5 * * *</text>
|
|
421
|
+
</g>
|
|
422
|
+
<!-- OJ->R1 -->
|
|
423
|
+
<g id="edge30" class="edge">
|
|
424
|
+
<title>OJ->R1</title>
|
|
425
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" stroke-dasharray="5,2" d="M1218.79,-555.39C1223.48,-525.92 1233.01,-466.17 1238.61,-431.04"/>
|
|
426
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="1241.34,-431.69 1239.84,-423.35 1235.81,-430.8 1241.34,-431.69"/>
|
|
427
|
+
<text xml:space="preserve" text-anchor="middle" x="1241.33" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">backfill</text>
|
|
428
|
+
</g>
|
|
429
|
+
<!-- OJ->W3 -->
|
|
430
|
+
<g id="edge31" class="edge">
|
|
431
|
+
<title>OJ->W3</title>
|
|
432
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M1293.11,-555.23C1300.48,-553.84 1307.87,-552.57 1315,-551.5 1388.78,-540.47 1933.52,-549.92 1984,-495 2020.84,-454.91 2010.57,-420.02 1984,-372.5 1962.87,-334.71 1942.63,-333.41 1901,-321.5 1831.29,-301.56 665.14,-335.31 596,-313.5 550.28,-299.08 506.26,-264.2 479.91,-240.32"/>
|
|
433
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="481.86,-238.31 474.09,-234.93 478.06,-242.42 481.86,-238.31"/>
|
|
434
|
+
<text xml:space="preserve" text-anchor="middle" x="2030.06" y="-399.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">p(success)</text>
|
|
390
435
|
</g>
|
|
391
436
|
</g>
|
|
392
437
|
</svg>
|