pwn 0.5.669 → 0.5.673
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -1
- data/Gemfile +1 -1
- data/README.md +13 -9
- data/documentation/AI-Integration.md +1 -1
- data/documentation/Agent-Tool-Registry.md +17 -5
- data/documentation/Configuration.md +19 -8
- data/documentation/Diagrams.md +2 -2
- data/documentation/Home.md +2 -2
- data/documentation/How-PWN-Works.md +12 -10
- data/documentation/Installation.md +3 -1
- data/documentation/Mistakes.md +3 -0
- data/documentation/Persistence.md +4 -1
- data/documentation/Reinforcement-Learning.md +90 -73
- data/documentation/Skills-Memory-Learning.md +28 -4
- data/documentation/What-is-PWN.md +8 -7
- data/documentation/Why-PWN.md +3 -2
- data/documentation/diagrams/agent-tool-registry.svg +188 -160
- data/documentation/diagrams/dot/agent-tool-registry.dot +7 -4
- data/documentation/diagrams/dot/memory-skills-detailed.dot +12 -5
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +4 -3
- data/documentation/diagrams/dot/persistence-filesystem.dot +2 -1
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +11 -4
- data/documentation/diagrams/dot/reinforcement-learning.dot +8 -3
- data/documentation/diagrams/dot/task-summarizer.dot +24 -12
- data/documentation/diagrams/memory-skills-detailed.svg +252 -210
- data/documentation/diagrams/overall-pwn-architecture.svg +21 -12
- data/documentation/diagrams/persistence-filesystem.svg +127 -113
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +449 -397
- data/documentation/diagrams/reinforcement-learning.svg +276 -239
- data/documentation/diagrams/task-summarizer.svg +178 -126
- data/documentation/pwn-ai-Agent.md +66 -32
- data/lib/pwn/ai/agent/curriculum.rb +13 -4
- data/lib/pwn/ai/agent/dispatch.rb +3 -0
- data/lib/pwn/ai/agent/learning.rb +100 -14
- data/lib/pwn/ai/agent/loop.rb +692 -25
- data/lib/pwn/ai/agent/metrics.rb +52 -4
- data/lib/pwn/ai/agent/mistakes.rb +158 -1
- data/lib/pwn/ai/agent/policy.rb +935 -0
- data/lib/pwn/ai/agent/prompt_builder.rb +82 -6
- data/lib/pwn/ai/agent/reflect.rb +11 -3
- data/lib/pwn/ai/agent/registry.rb +18 -3
- data/lib/pwn/ai/agent/reward.rb +360 -48
- data/lib/pwn/ai/agent/task_summarizer.rb +415 -33
- data/lib/pwn/ai/agent/tool_guard.rb +157 -0
- data/lib/pwn/ai/agent/tools/policy.rb +76 -0
- data/lib/pwn/ai/agent/tools/ruby_eval.rb +27 -1
- data/lib/pwn/ai/agent/tools/shell.rb +28 -32
- data/lib/pwn/ai/agent.rb +2 -0
- data/lib/pwn/config.rb +14 -2
- data/lib/pwn/memory.rb +188 -0
- data/lib/pwn/sessions.rb +9 -4
- data/lib/pwn/version.rb +1 -1
- data/spec/integration/reinforced_feedback_loop_spec.rb +35 -9
- data/spec/lib/pwn/ai/agent/learning_spec.rb +119 -3
- data/spec/lib/pwn/ai/agent/loop_spec.rb +215 -3
- data/spec/lib/pwn/ai/agent/metrics_spec.rb +10 -0
- data/spec/lib/pwn/ai/agent/mistakes_spec.rb +33 -0
- data/spec/lib/pwn/ai/agent/policy_spec.rb +165 -0
- data/spec/lib/pwn/ai/agent/prompt_builder_spec.rb +51 -0
- data/spec/lib/pwn/ai/agent/reward_spec.rb +75 -0
- data/spec/lib/pwn/ai/agent/signal_hygiene_spec.rb +118 -0
- data/spec/lib/pwn/ai/agent/task_summarizer_spec.rb +111 -6
- data/spec/lib/pwn/ai/agent/tool_guard_spec.rb +61 -0
- data/spec/lib/pwn/ai/agent/tools/policy_spec.rb +18 -0
- data/spec/lib/pwn/memory_spec.rb +62 -0
- data/spec/support/sandbox.rb +2 -0
- data/third_party/pwn_rdoc.jsonl +108 -4
- metadata +10 -3
|
@@ -4,436 +4,473 @@
|
|
|
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="2325pt" height="733pt"
|
|
8
|
+
viewBox="0.00 0.00 2325.00 733.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 689.7)">
|
|
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,-689.7 2281.94,-689.7 2281.94,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="837.37" y="-624.5" 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="922.12" y="-613.05" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">reward signal · credit assignment · memory · self-play · weight loop · 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="M20,-372.5C20,-372.5 959,-372.5 959,-372.5 965,-372.5 971,-378.5 971,-384.5 971,-384.5 971,-483 971,-483 971,-489 965,-495 959,-495 959,-495 20,-495 20,-495 14,-495 8,-489 8,-483 8,-483 8,-384.5 8,-384.5 8,-378.5 14,-372.5 20,-372.5"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="489.5" 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="M1007,-372.5C1007,-372.5 1838,-372.5 1838,-372.5 1844,-372.5 1850,-378.5 1850,-384.5 1850,-384.5 1850,-483 1850,-483 1850,-489 1844,-495 1838,-495 1838,-495 1007,-495 1007,-495 1001,-495 995,-489 995,-483 995,-483 995,-384.5 995,-384.5 995,-378.5 1001,-372.5 1007,-372.5"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="1422.5" 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="
|
|
27
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
26
|
+
<path fill="#450a0a" stroke="#b91c1c" stroke-width="2" d="M1425,-179C1425,-179 1898,-179 1898,-179 1904,-179 1910,-185 1910,-191 1910,-191 1910,-301.5 1910,-301.5 1910,-307.5 1904,-313.5 1898,-313.5 1898,-313.5 1425,-313.5 1425,-313.5 1419,-313.5 1413,-307.5 1413,-301.5 1413,-301.5 1413,-191 1413,-191 1413,-185 1419,-179 1425,-179"/>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="1661.5" 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="M720,-8C720,-8 1538,-8 1538,-8 1544,-8 1550,-14 1550,-20 1550,-20 1550,-118.5 1550,-118.5 1550,-124.5 1544,-130.5 1538,-130.5 1538,-130.5 720,-130.5 720,-130.5 714,-130.5 708,-124.5 708,-118.5 708,-118.5 708,-20 708,-20 708,-14 714,-8 720,-8"/>
|
|
32
|
+
<text xml:space="preserve" text-anchor="middle" x="1129" 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="M373.5,-597.5C373.5,-597.5 330.5,-597.5 330.5,-597.5 324.5,-597.5 318.5,-591.5 318.5,-585.5 318.5,-585.5 318.5,-573.5 318.5,-573.5 318.5,-567.5 324.5,-561.5 330.5,-561.5 330.5,-561.5 373.5,-561.5 373.5,-561.5 379.5,-561.5 385.5,-567.5 385.5,-573.5 385.5,-573.5 385.5,-585.5 385.5,-585.5 385.5,-591.5 379.5,-597.5 373.5,-597.5"/>
|
|
38
|
+
<text xml:space="preserve" text-anchor="middle" x="352" y="-576.38" 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="
|
|
47
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
43
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="2" d="M621.12,-607.5C621.12,-607.5 476.88,-607.5 476.88,-607.5 470.88,-607.5 464.88,-601.5 464.88,-595.5 464.88,-595.5 464.88,-563.5 464.88,-563.5 464.88,-557.5 470.88,-551.5 476.88,-551.5 476.88,-551.5 621.12,-551.5 621.12,-551.5 627.12,-551.5 633.12,-557.5 633.12,-563.5 633.12,-563.5 633.12,-595.5 633.12,-595.5 633.12,-601.5 627.12,-607.5 621.12,-607.5"/>
|
|
44
|
+
<text xml:space="preserve" text-anchor="middle" x="549" y="-594" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Loop.run</text>
|
|
45
|
+
<text xml:space="preserve" text-anchor="middle" x="549" y="-582" font-family="sans-Serif" font-size="10.00" fill="#0f172a">TaskSummarizer · budget pressure</text>
|
|
46
|
+
<text xml:space="preserve" text-anchor="middle" x="549" y="-570" font-family="sans-Serif" font-size="10.00" fill="#0f172a">plan_first · Dispatch · guard</text>
|
|
47
|
+
<text xml:space="preserve" text-anchor="middle" x="549" y="-558" font-family="sans-Serif" font-size="10.00" fill="#0f172a">final answer</text>
|
|
48
48
|
</g>
|
|
49
49
|
<!-- Req->Loop -->
|
|
50
50
|
<g id="edge1" class="edge">
|
|
51
51
|
<title>Req->Loop</title>
|
|
52
|
-
<path fill="none" stroke="#38bdf8" stroke-width="2" d="
|
|
53
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="
|
|
52
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M385.86,-579.5C408.22,-579.5 430.58,-579.5 452.95,-579.5"/>
|
|
53
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="452.9,-582.3 460.9,-579.5 452.9,-576.7 452.9,-582.3"/>
|
|
54
54
|
</g>
|
|
55
55
|
<!-- R1 -->
|
|
56
56
|
<g id="node3" class="node">
|
|
57
57
|
<title>R1</title>
|
|
58
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="2" d="
|
|
59
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
60
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
58
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="2" d="M126.25,-424.5C126.25,-424.5 27.75,-424.5 27.75,-424.5 21.75,-424.5 15.75,-418.5 15.75,-412.5 15.75,-412.5 15.75,-392.5 15.75,-392.5 15.75,-386.5 21.75,-380.5 27.75,-380.5 27.75,-380.5 126.25,-380.5 126.25,-380.5 132.25,-380.5 138.25,-386.5 138.25,-392.5 138.25,-392.5 138.25,-412.5 138.25,-412.5 138.25,-418.5 132.25,-424.5 126.25,-424.5"/>
|
|
59
|
+
<text xml:space="preserve" text-anchor="middle" x="77" y="-411" font-family="sans-Serif" font-size="10.00" fill="#0f172a">judge (cheap LLM ORM)</text>
|
|
60
|
+
<text xml:space="preserve" text-anchor="middle" x="77" y="-399" font-family="sans-Serif" font-size="10.00" fill="#0f172a">score · verdict · source</text>
|
|
61
|
+
<text xml:space="preserve" text-anchor="middle" x="77" y="-387" font-family="sans-Serif" font-size="10.00" fill="#0f172a">evidence-prior fallback</text>
|
|
61
62
|
</g>
|
|
62
63
|
<!-- Loop->R1 -->
|
|
63
|
-
<g id="
|
|
64
|
+
<g id="edge4" class="edge">
|
|
64
65
|
<title>Loop->R1</title>
|
|
65
|
-
<path fill="none" stroke="#a78bfa" stroke-width="2" d="
|
|
66
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="2" points="
|
|
67
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
66
|
+
<path fill="none" stroke="#a78bfa" stroke-width="2" d="M463.99,-562.46C375.84,-545.1 244.53,-516.93 198,-495 164.26,-479.1 130.83,-452.79 107.68,-432.46"/>
|
|
67
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="2" points="109.72,-430.53 101.89,-427.28 105.99,-434.7 109.72,-430.53"/>
|
|
68
|
+
<text xml:space="preserve" text-anchor="middle" x="255.27" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">final</text>
|
|
68
69
|
</g>
|
|
69
70
|
<!-- R2 -->
|
|
70
71
|
<g id="node4" class="node">
|
|
71
72
|
<title>R2</title>
|
|
72
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
73
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
74
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
75
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
73
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M639.88,-424.5C639.88,-424.5 578.12,-424.5 578.12,-424.5 572.12,-424.5 566.12,-418.5 566.12,-412.5 566.12,-412.5 566.12,-392.5 566.12,-392.5 566.12,-386.5 572.12,-380.5 578.12,-380.5 578.12,-380.5 639.88,-380.5 639.88,-380.5 645.88,-380.5 651.88,-386.5 651.88,-392.5 651.88,-392.5 651.88,-412.5 651.88,-412.5 651.88,-418.5 645.88,-424.5 639.88,-424.5"/>
|
|
74
|
+
<text xml:space="preserve" text-anchor="middle" x="609" y="-411" font-family="sans-Serif" font-size="10.00" fill="#0f172a">prm (process)</text>
|
|
75
|
+
<text xml:space="preserve" text-anchor="middle" x="609" y="-399" font-family="sans-Serif" font-size="10.00" fill="#0f172a">per-step +1/0/-1</text>
|
|
76
|
+
<text xml:space="preserve" text-anchor="middle" x="609" y="-387" font-family="sans-Serif" font-size="10.00" fill="#0f172a">→ Registry.rank</text>
|
|
76
77
|
</g>
|
|
77
78
|
<!-- Loop->R2 -->
|
|
78
|
-
<g id="
|
|
79
|
+
<g id="edge5" class="edge">
|
|
79
80
|
<title>Loop->R2</title>
|
|
80
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
81
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
82
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
81
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M464.05,-566.2C410.14,-555.01 355.84,-535.23 386.5,-503 398.73,-490.14 530.5,-503.65 546,-495 569.91,-481.66 586.68,-454.97 596.87,-433.84"/>
|
|
82
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="599.37,-435.12 600.15,-426.68 594.27,-432.79 599.37,-435.12"/>
|
|
83
|
+
<text xml:space="preserve" text-anchor="middle" x="402.25" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">session</text>
|
|
83
84
|
</g>
|
|
84
85
|
<!-- R3 -->
|
|
85
86
|
<g id="node5" class="node">
|
|
86
87
|
<title>R3</title>
|
|
87
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
88
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
89
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
90
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
88
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M514,-424.5C514,-424.5 414,-424.5 414,-424.5 408,-424.5 402,-418.5 402,-412.5 402,-412.5 402,-392.5 402,-392.5 402,-386.5 408,-380.5 414,-380.5 414,-380.5 514,-380.5 514,-380.5 520,-380.5 526,-386.5 526,-392.5 526,-392.5 526,-412.5 526,-412.5 526,-418.5 520,-424.5 514,-424.5"/>
|
|
89
|
+
<text xml:space="preserve" text-anchor="middle" x="464" y="-411" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sentinel (ring N=40)</text>
|
|
90
|
+
<text xml:space="preserve" text-anchor="middle" x="464" y="-399" font-family="sans-Serif" font-size="10.00" fill="#0f172a">proxy != judge != (1-corr)</text>
|
|
91
|
+
<text xml:space="preserve" text-anchor="middle" x="464" y="-387" font-family="sans-Serif" font-size="10.00" fill="#0f172a">warm + proxy distrust</text>
|
|
91
92
|
</g>
|
|
92
93
|
<!-- Loop->R3 -->
|
|
93
|
-
<g id="
|
|
94
|
+
<g id="edge6" class="edge">
|
|
94
95
|
<title>Loop->R3</title>
|
|
95
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
96
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
96
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M463.91,-569.19C428.51,-560.64 390.67,-544.36 369,-513.5 366.32,-509.68 366.72,-507.07 369,-503 372.31,-497.08 376.79,-499.35 382,-495 404.3,-476.37 426.09,-451.66 441.59,-432.61"/>
|
|
97
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="443.57,-434.62 446.4,-426.63 439.21,-431.11 443.57,-434.62"/>
|
|
97
98
|
</g>
|
|
98
99
|
<!-- R4 -->
|
|
99
100
|
<g id="node6" class="node">
|
|
100
101
|
<title>R4</title>
|
|
101
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
102
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
103
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
102
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M782.5,-420.5C782.5,-420.5 703.5,-420.5 703.5,-420.5 697.5,-420.5 691.5,-414.5 691.5,-408.5 691.5,-408.5 691.5,-396.5 691.5,-396.5 691.5,-390.5 697.5,-384.5 703.5,-384.5 703.5,-384.5 782.5,-384.5 782.5,-384.5 788.5,-384.5 794.5,-390.5 794.5,-396.5 794.5,-396.5 794.5,-408.5 794.5,-408.5 794.5,-414.5 788.5,-420.5 782.5,-420.5"/>
|
|
103
|
+
<text xml:space="preserve" text-anchor="middle" x="743" y="-405" font-family="sans-Serif" font-size="10.00" fill="#0f172a">semantic_ok</text>
|
|
104
|
+
<text xml:space="preserve" text-anchor="middle" x="743" y="-393" font-family="sans-Serif" font-size="10.00" fill="#0f172a">grep exit 1 != failure</text>
|
|
104
105
|
</g>
|
|
105
106
|
<!-- Loop->R4 -->
|
|
106
107
|
<g id="edge2" class="edge">
|
|
107
108
|
<title>Loop->R4</title>
|
|
108
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
109
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
110
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
109
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M485.92,-550.53C463.32,-536.81 446.95,-519.68 463,-503 479.12,-486.26 651.33,-505.62 672,-495 699.07,-481.09 718.95,-451.64 730.68,-429.89"/>
|
|
110
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="733.13,-431.25 734.31,-422.85 728.15,-428.68 733.13,-431.25"/>
|
|
111
|
+
<text xml:space="preserve" text-anchor="middle" x="481" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">Dispatch</text>
|
|
112
|
+
</g>
|
|
113
|
+
<!-- R5 -->
|
|
114
|
+
<g id="node7" class="node">
|
|
115
|
+
<title>R5</title>
|
|
116
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="2" d="M951.25,-424.5C951.25,-424.5 846.75,-424.5 846.75,-424.5 840.75,-424.5 834.75,-418.5 834.75,-412.5 834.75,-412.5 834.75,-392.5 834.75,-392.5 834.75,-386.5 840.75,-380.5 846.75,-380.5 846.75,-380.5 951.25,-380.5 951.25,-380.5 957.25,-380.5 963.25,-386.5 963.25,-392.5 963.25,-392.5 963.25,-412.5 963.25,-412.5 963.25,-418.5 957.25,-424.5 951.25,-424.5"/>
|
|
117
|
+
<text xml:space="preserve" text-anchor="middle" x="899" y="-411" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Policy (live MDP)</text>
|
|
118
|
+
<text xml:space="preserve" text-anchor="middle" x="899" y="-399" font-family="sans-Serif" font-size="10.00" fill="#0f172a">plan · complete · usable</text>
|
|
119
|
+
<text xml:space="preserve" text-anchor="middle" x="899" y="-387" font-family="sans-Serif" font-size="10.00" fill="#0f172a">warm Q + episode budget</text>
|
|
120
|
+
</g>
|
|
121
|
+
<!-- Loop->R5 -->
|
|
122
|
+
<g id="edge3" class="edge">
|
|
123
|
+
<title>Loop->R5</title>
|
|
124
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M538.16,-550.54C533.96,-534.53 532.61,-515.25 544.5,-503 554.97,-492.21 801.33,-501.25 815,-495 842.85,-482.27 865.64,-455.51 880.43,-434.2"/>
|
|
125
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="882.67,-435.89 884.77,-427.68 878.01,-432.79 882.67,-435.89"/>
|
|
126
|
+
<text xml:space="preserve" text-anchor="middle" x="560.25" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">(s,a,r,s')</text>
|
|
111
127
|
</g>
|
|
112
128
|
<!-- S2 -->
|
|
113
|
-
<g id="
|
|
129
|
+
<g id="node10" class="node">
|
|
114
130
|
<title>S2</title>
|
|
115
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
116
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
117
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
131
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M1321.62,-420.5C1321.62,-420.5 1216.38,-420.5 1216.38,-420.5 1210.38,-420.5 1204.38,-414.5 1204.38,-408.5 1204.38,-408.5 1204.38,-396.5 1204.38,-396.5 1204.38,-390.5 1210.38,-384.5 1216.38,-384.5 1216.38,-384.5 1321.62,-384.5 1321.62,-384.5 1327.62,-384.5 1333.62,-390.5 1333.62,-396.5 1333.62,-396.5 1333.62,-408.5 1333.62,-408.5 1333.62,-414.5 1327.62,-420.5 1321.62,-420.5"/>
|
|
132
|
+
<text xml:space="preserve" text-anchor="middle" x="1269" y="-405" font-family="sans-Serif" font-size="10.00" fill="#0f172a">counterfactual</text>
|
|
133
|
+
<text xml:space="preserve" text-anchor="middle" x="1269" y="-393" font-family="sans-Serif" font-size="10.00" fill="#0f172a">real_dispatch vs imagined</text>
|
|
118
134
|
</g>
|
|
119
135
|
<!-- Loop->S2 -->
|
|
120
|
-
<g id="
|
|
136
|
+
<g id="edge12" class="edge">
|
|
121
137
|
<title>Loop->S2</title>
|
|
122
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="
|
|
123
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
124
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
138
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M590.59,-550.53C618.9,-533.2 657.95,-512.48 695.75,-503 722.12,-496.39 1160.2,-506.14 1185,-495 1215.22,-481.43 1239.41,-451.2 1253.94,-429.19"/>
|
|
139
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="1256.21,-430.83 1258.14,-422.58 1251.49,-427.82 1256.21,-430.83"/>
|
|
140
|
+
<text xml:space="preserve" text-anchor="middle" x="723.88" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">[REPEATING]</text>
|
|
125
141
|
</g>
|
|
126
142
|
<!-- S3 -->
|
|
127
|
-
<g id="
|
|
143
|
+
<g id="node11" class="node">
|
|
128
144
|
<title>S3</title>
|
|
129
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
130
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
131
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
145
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M1525.88,-420.5C1525.88,-420.5 1386.12,-420.5 1386.12,-420.5 1380.12,-420.5 1374.12,-414.5 1374.12,-408.5 1374.12,-408.5 1374.12,-396.5 1374.12,-396.5 1374.12,-390.5 1380.12,-384.5 1386.12,-384.5 1386.12,-384.5 1525.88,-384.5 1525.88,-384.5 1531.88,-384.5 1537.88,-390.5 1537.88,-396.5 1537.88,-396.5 1537.88,-408.5 1537.88,-408.5 1537.88,-414.5 1531.88,-420.5 1525.88,-420.5"/>
|
|
146
|
+
<text xml:space="preserve" text-anchor="middle" x="1456" y="-405" font-family="sans-Serif" font-size="10.00" fill="#0f172a">critic</text>
|
|
147
|
+
<text xml:space="preserve" text-anchor="middle" x="1456" y="-393" font-family="sans-Serif" font-size="10.00" fill="#0f172a">tool-armed · revised_answer DPO</text>
|
|
132
148
|
</g>
|
|
133
149
|
<!-- Loop->S3 -->
|
|
134
|
-
<g id="
|
|
150
|
+
<g id="edge11" class="edge">
|
|
135
151
|
<title>Loop->S3</title>
|
|
136
|
-
<path fill="none" stroke="#34d399" stroke-width="1.3" d="
|
|
137
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="
|
|
138
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
152
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M634.12,-556.5C719.91,-534.34 840.07,-503.36 842.75,-503 870.9,-499.22 1327.55,-505.36 1354,-495 1388.33,-481.55 1418.47,-450.86 1436.92,-428.72"/>
|
|
153
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="1439.07,-430.51 1441.93,-422.53 1434.72,-426.98 1439.07,-430.51"/>
|
|
154
|
+
<text xml:space="preserve" text-anchor="middle" x="851.38" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">final</text>
|
|
139
155
|
</g>
|
|
140
156
|
<!-- S4 -->
|
|
141
|
-
<g id="
|
|
157
|
+
<g id="node12" class="node">
|
|
142
158
|
<title>S4</title>
|
|
143
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
144
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
145
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
159
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M1681.88,-420.5C1681.88,-420.5 1590.12,-420.5 1590.12,-420.5 1584.12,-420.5 1578.12,-414.5 1578.12,-408.5 1578.12,-408.5 1578.12,-396.5 1578.12,-396.5 1578.12,-390.5 1584.12,-384.5 1590.12,-384.5 1590.12,-384.5 1681.88,-384.5 1681.88,-384.5 1687.88,-384.5 1693.88,-390.5 1693.88,-396.5 1693.88,-396.5 1693.88,-408.5 1693.88,-408.5 1693.88,-414.5 1687.88,-420.5 1681.88,-420.5"/>
|
|
160
|
+
<text xml:space="preserve" text-anchor="middle" x="1636" y="-405" font-family="sans-Serif" font-size="10.00" fill="#0f172a">red_team_plan</text>
|
|
161
|
+
<text xml:space="preserve" text-anchor="middle" x="1636" y="-393" font-family="sans-Serif" font-size="10.00" fill="#0f172a">adversarial plan review</text>
|
|
146
162
|
</g>
|
|
147
163
|
<!-- Loop->S4 -->
|
|
148
|
-
<g id="
|
|
164
|
+
<g id="edge10" class="edge">
|
|
149
165
|
<title>Loop->S4</title>
|
|
150
|
-
<path fill="none" stroke="#34d399" stroke-width="1.3" d="
|
|
151
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="
|
|
152
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
166
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M634.02,-562.3C698,-549.81 787.74,-531.66 866,-513.5 884.11,-509.3 888.07,-505.47 906.5,-503 924.44,-500.6 1541.61,-502.69 1558,-495 1586.9,-481.44 1609.11,-451.43 1622.3,-429.46"/>
|
|
167
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="1624.69,-430.94 1626.26,-422.61 1619.83,-428.14 1624.69,-430.94"/>
|
|
168
|
+
<text xml:space="preserve" text-anchor="middle" x="925.25" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">plan_first</text>
|
|
153
169
|
</g>
|
|
154
170
|
<!-- C3 -->
|
|
155
|
-
<g id="
|
|
171
|
+
<g id="node13" class="node">
|
|
156
172
|
<title>C3</title>
|
|
157
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
158
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
159
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
173
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M1829.75,-420.5C1829.75,-420.5 1746.25,-420.5 1746.25,-420.5 1740.25,-420.5 1734.25,-414.5 1734.25,-408.5 1734.25,-408.5 1734.25,-396.5 1734.25,-396.5 1734.25,-390.5 1740.25,-384.5 1746.25,-384.5 1746.25,-384.5 1829.75,-384.5 1829.75,-384.5 1835.75,-384.5 1841.75,-390.5 1841.75,-396.5 1841.75,-396.5 1841.75,-408.5 1841.75,-408.5 1841.75,-414.5 1835.75,-420.5 1829.75,-420.5"/>
|
|
174
|
+
<text xml:space="preserve" text-anchor="middle" x="1788" y="-405" font-family="sans-Serif" font-size="10.00" fill="#0f172a">hindsight (HER)</text>
|
|
175
|
+
<text xml:space="preserve" text-anchor="middle" x="1788" y="-393" font-family="sans-Serif" font-size="10.00" fill="#0f172a">relabel achieved-goal</text>
|
|
160
176
|
</g>
|
|
161
177
|
<!-- Loop->C3 -->
|
|
162
|
-
<g id="
|
|
178
|
+
<g id="edge13" class="edge">
|
|
163
179
|
<title>Loop->C3</title>
|
|
164
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="
|
|
165
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
166
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
180
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M634.03,-562.39C654.32,-558.68 675.91,-554.85 696,-551.5 808.59,-532.74 837.17,-530.75 950,-513.5 979.9,-508.93 987.1,-505.51 1017.25,-503 1036.54,-501.39 1696.58,-503.44 1714,-495 1742.12,-481.38 1763.05,-451.38 1775.35,-429.43"/>
|
|
181
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="1777.69,-430.99 1779,-422.61 1772.75,-428.34 1777.69,-430.99"/>
|
|
182
|
+
<text xml:space="preserve" text-anchor="middle" x="1038.62" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">failed goal</text>
|
|
183
|
+
</g>
|
|
184
|
+
<!-- R1->R5 -->
|
|
185
|
+
<g id="edge8" class="edge">
|
|
186
|
+
<title>R1->R5</title>
|
|
187
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M100.59,-425.2C123.42,-445.46 160.05,-473.7 198,-485.46 263.48,-505.75 751.58,-511.5 815,-485.46 840.72,-474.9 862.76,-452.25 877.81,-433.27"/>
|
|
188
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="879.98,-435.03 882.62,-426.98 875.54,-431.63 879.98,-435.03"/>
|
|
189
|
+
<text xml:space="preserve" text-anchor="middle" x="778" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">terminal</text>
|
|
167
190
|
</g>
|
|
168
191
|
<!-- E3 -->
|
|
169
|
-
<g id="
|
|
192
|
+
<g id="node8" class="node">
|
|
170
193
|
<title>E3</title>
|
|
171
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
172
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
173
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
194
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M350.12,-420.5C350.12,-420.5 229.88,-420.5 229.88,-420.5 223.88,-420.5 217.88,-414.5 217.88,-408.5 217.88,-408.5 217.88,-396.5 217.88,-396.5 217.88,-390.5 223.88,-384.5 229.88,-384.5 229.88,-384.5 350.12,-384.5 350.12,-384.5 356.12,-384.5 362.12,-390.5 362.12,-396.5 362.12,-396.5 362.12,-408.5 362.12,-408.5 362.12,-414.5 356.12,-420.5 350.12,-420.5"/>
|
|
195
|
+
<text xml:space="preserve" text-anchor="middle" x="290" y="-405" font-family="sans-Serif" font-size="10.00" fill="#0f172a">verify_as_reward</text>
|
|
196
|
+
<text xml:space="preserve" text-anchor="middle" x="290" y="-393" font-family="sans-Serif" font-size="10.00" fill="#0f172a">extro_verify caps/floors judge</text>
|
|
174
197
|
</g>
|
|
175
198
|
<!-- R1->E3 -->
|
|
176
|
-
<g id="
|
|
199
|
+
<g id="edge7" class="edge">
|
|
177
200
|
<title>R1->E3</title>
|
|
178
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
179
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
180
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
201
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M139.18,-402.5C160.67,-402.5 185.09,-402.5 207.92,-402.5"/>
|
|
202
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="207.63,-405.3 215.63,-402.5 207.63,-399.7 207.63,-405.3"/>
|
|
203
|
+
<text xml:space="preserve" text-anchor="middle" x="178.06" y="-407.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">ground</text>
|
|
181
204
|
</g>
|
|
182
205
|
<!-- Fses -->
|
|
183
|
-
<g id="
|
|
206
|
+
<g id="node18" class="node">
|
|
184
207
|
<title>Fses</title>
|
|
185
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
186
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
187
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
188
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
208
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M1291.5,-56C1291.5,-58.21 1272.45,-60 1249,-60 1225.55,-60 1206.5,-58.21 1206.5,-56 1206.5,-56 1206.5,-20 1206.5,-20 1206.5,-17.79 1225.55,-16 1249,-16 1272.45,-16 1291.5,-17.79 1291.5,-20 1291.5,-20 1291.5,-56 1291.5,-56"/>
|
|
209
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M1291.5,-56C1291.5,-53.79 1272.45,-52 1249,-52 1225.55,-52 1206.5,-53.79 1206.5,-56"/>
|
|
210
|
+
<text xml:space="preserve" text-anchor="middle" x="1249" y="-40.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sessions/*.jsonl</text>
|
|
211
|
+
<text xml:space="preserve" text-anchor="middle" x="1249" y="-28.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(step_reward)</text>
|
|
189
212
|
</g>
|
|
190
213
|
<!-- R2->Fses -->
|
|
191
|
-
<g id="
|
|
214
|
+
<g id="edge14" class="edge">
|
|
192
215
|
<title>R2->Fses</title>
|
|
193
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
194
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
195
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
216
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M652.17,-379.95C658.71,-377.18 665.46,-374.58 672,-372.5 807.72,-329.28 859.65,-377.29 987,-313.5 1101.81,-255.99 1193.67,-126.93 1230.98,-68.61"/>
|
|
217
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1233.12,-70.45 1235.03,-62.2 1228.39,-67.46 1233.12,-70.45"/>
|
|
218
|
+
<text xml:space="preserve" text-anchor="middle" x="1173.43" y="-211.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">step_reward</text>
|
|
196
219
|
</g>
|
|
197
220
|
<!-- Fmis -->
|
|
198
|
-
<g id="
|
|
221
|
+
<g id="node17" class="node">
|
|
199
222
|
<title>Fmis</title>
|
|
200
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
201
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
202
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
223
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M938.38,-52.73C938.38,-54.53 921.17,-56 900,-56 878.83,-56 861.62,-54.53 861.62,-52.73 861.62,-52.73 861.62,-23.27 861.62,-23.27 861.62,-21.47 878.83,-20 900,-20 921.17,-20 938.38,-21.47 938.38,-23.27 938.38,-23.27 938.38,-52.73 938.38,-52.73"/>
|
|
224
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M938.38,-52.73C938.38,-50.92 921.17,-49.45 900,-49.45 878.83,-49.45 861.62,-50.92 861.62,-52.73"/>
|
|
225
|
+
<text xml:space="preserve" text-anchor="middle" x="900" y="-34.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mistakes.json</text>
|
|
203
226
|
</g>
|
|
204
227
|
<!-- R3->Fmis -->
|
|
205
|
-
<g id="
|
|
228
|
+
<g id="edge16" class="edge">
|
|
206
229
|
<title>R3->Fmis</title>
|
|
207
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
208
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
209
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
230
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" stroke-dasharray="5,2" d="M491.1,-380.15C542.97,-339.54 660.32,-249.01 763.5,-179 797.44,-155.97 812.83,-159.33 842,-130.5 861.28,-111.44 877.24,-84.83 887.51,-65.21"/>
|
|
231
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="889.92,-66.64 891.05,-58.24 884.93,-64.1 889.92,-66.64"/>
|
|
232
|
+
<text xml:space="preserve" text-anchor="middle" x="792.75" y="-211.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">reward_signal</text>
|
|
210
233
|
</g>
|
|
211
234
|
<!-- Frws -->
|
|
212
|
-
<g id="
|
|
235
|
+
<g id="node23" class="node">
|
|
213
236
|
<title>Frws</title>
|
|
214
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
215
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
216
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
237
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M821.62,-52.73C821.62,-54.53 798.04,-56 769,-56 739.96,-56 716.38,-54.53 716.38,-52.73 716.38,-52.73 716.38,-23.27 716.38,-23.27 716.38,-21.47 739.96,-20 769,-20 798.04,-20 821.62,-21.47 821.62,-23.27 821.62,-23.27 821.62,-52.73 821.62,-52.73"/>
|
|
238
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M821.62,-52.73C821.62,-50.92 798.04,-49.45 769,-49.45 739.96,-49.45 716.38,-50.92 716.38,-52.73"/>
|
|
239
|
+
<text xml:space="preserve" text-anchor="middle" x="769" y="-34.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">reward_sentinel.json</text>
|
|
217
240
|
</g>
|
|
218
241
|
<!-- R3->Frws -->
|
|
219
|
-
<g id="
|
|
242
|
+
<g id="edge15" class="edge">
|
|
220
243
|
<title>R3->Frws</title>
|
|
221
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
222
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
244
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M467.66,-379.86C476.99,-330.82 505.99,-209.99 575,-138.5 611.54,-100.65 665.59,-74.57 707.36,-58.64"/>
|
|
245
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="708.25,-61.29 714.77,-55.88 706.3,-56.04 708.25,-61.29"/>
|
|
246
|
+
</g>
|
|
247
|
+
<!-- Fpol -->
|
|
248
|
+
<g id="node19" class="node">
|
|
249
|
+
<title>Fpol</title>
|
|
250
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M1061.75,-56C1061.75,-58.21 1043.04,-60 1020,-60 996.96,-60 978.25,-58.21 978.25,-56 978.25,-56 978.25,-20 978.25,-20 978.25,-17.79 996.96,-16 1020,-16 1043.04,-16 1061.75,-17.79 1061.75,-20 1061.75,-20 1061.75,-56 1061.75,-56"/>
|
|
251
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M1061.75,-56C1061.75,-53.79 1043.04,-52 1020,-52 996.96,-52 978.25,-53.79 978.25,-56"/>
|
|
252
|
+
<text xml:space="preserve" text-anchor="middle" x="1020" y="-40.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">policy.json +</text>
|
|
253
|
+
<text xml:space="preserve" text-anchor="middle" x="1020" y="-28.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">policy_traj.jsonl</text>
|
|
254
|
+
</g>
|
|
255
|
+
<!-- R5->Fpol -->
|
|
256
|
+
<g id="edge9" class="edge">
|
|
257
|
+
<title>R5->Fpol</title>
|
|
258
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M882.7,-379.7C871.04,-362.67 856.33,-337.87 850,-313.5 834.98,-255.64 817.52,-229.19 850,-179 878.59,-134.83 917.71,-164.34 958,-130.5 978.13,-113.59 994.47,-88.57 1005.32,-68.97"/>
|
|
259
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1007.67,-70.5 1008.98,-62.12 1002.73,-67.86 1007.67,-70.5"/>
|
|
223
260
|
</g>
|
|
224
261
|
<!-- S1 -->
|
|
225
|
-
<g id="
|
|
262
|
+
<g id="node9" class="node">
|
|
226
263
|
<title>S1</title>
|
|
227
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="2" d="
|
|
228
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
229
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
230
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
264
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="2" d="M1152.75,-424.5C1152.75,-424.5 1015.25,-424.5 1015.25,-424.5 1009.25,-424.5 1003.25,-418.5 1003.25,-412.5 1003.25,-412.5 1003.25,-392.5 1003.25,-392.5 1003.25,-386.5 1009.25,-380.5 1015.25,-380.5 1015.25,-380.5 1152.75,-380.5 1152.75,-380.5 1158.75,-380.5 1164.75,-386.5 1164.75,-392.5 1164.75,-392.5 1164.75,-412.5 1164.75,-412.5 1164.75,-418.5 1158.75,-424.5 1152.75,-424.5"/>
|
|
265
|
+
<text xml:space="preserve" text-anchor="middle" x="1084" y="-411" font-family="sans-Serif" font-size="10.00" fill="#0f172a">practice</text>
|
|
266
|
+
<text xml:space="preserve" text-anchor="middle" x="1084" y="-399" font-family="sans-Serif" font-size="10.00" fill="#0f172a">budget-first + winning_trace DPO</text>
|
|
267
|
+
<text xml:space="preserve" text-anchor="middle" x="1084" y="-387" font-family="sans-Serif" font-size="10.00" fill="#0f172a">auto-resolve on judge>=0.7</text>
|
|
231
268
|
</g>
|
|
232
269
|
<!-- S1->Fmis -->
|
|
233
|
-
<g id="
|
|
270
|
+
<g id="edge17" class="edge">
|
|
234
271
|
<title>S1->Fmis</title>
|
|
235
|
-
<path fill="none" stroke="#34d399" stroke-width="1.3" d="
|
|
236
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="
|
|
237
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="
|
|
238
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
272
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M1007.98,-375.45C978.91,-361.6 948.36,-341.51 930,-313.5 879.12,-235.88 888.04,-118.68 895.41,-66.15"/>
|
|
273
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="1006.71,-377.95 1015.15,-378.73 1009.04,-372.85 1006.71,-377.95"/>
|
|
274
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="898.14,-66.81 896.55,-58.48 892.6,-65.98 898.14,-66.81"/>
|
|
275
|
+
<text xml:space="preserve" text-anchor="middle" x="955.5" y="-211.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">auto-resolve</text>
|
|
239
276
|
</g>
|
|
240
277
|
<!-- Fcur -->
|
|
241
|
-
<g id="
|
|
278
|
+
<g id="node21" class="node">
|
|
242
279
|
<title>Fcur</title>
|
|
243
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
244
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
245
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
280
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M1166,-52.73C1166,-54.53 1151.66,-56 1134,-56 1116.34,-56 1102,-54.53 1102,-52.73 1102,-52.73 1102,-23.27 1102,-23.27 1102,-21.47 1116.34,-20 1134,-20 1151.66,-20 1166,-21.47 1166,-23.27 1166,-23.27 1166,-52.73 1166,-52.73"/>
|
|
281
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M1166,-52.73C1166,-50.92 1151.66,-49.45 1134,-49.45 1116.34,-49.45 1102,-50.92 1102,-52.73"/>
|
|
282
|
+
<text xml:space="preserve" text-anchor="middle" x="1134" y="-34.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">curriculum/</text>
|
|
246
283
|
</g>
|
|
247
284
|
<!-- S1->Fcur -->
|
|
248
|
-
<g id="
|
|
285
|
+
<g id="edge18" class="edge">
|
|
249
286
|
<title>S1->Fcur</title>
|
|
250
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
251
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
287
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M1087.02,-379.64C1095.69,-316.74 1120.7,-135.4 1130.24,-66.24"/>
|
|
288
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1133,-66.76 1131.32,-58.46 1127.45,-66 1133,-66.76"/>
|
|
252
289
|
</g>
|
|
253
290
|
<!-- W1 -->
|
|
254
|
-
<g id="
|
|
291
|
+
<g id="node14" class="node">
|
|
255
292
|
<title>W1</title>
|
|
256
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="
|
|
257
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
258
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
259
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
260
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
293
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M1530.5,-243C1530.5,-243 1433.5,-243 1433.5,-243 1427.5,-243 1421.5,-237 1421.5,-231 1421.5,-231 1421.5,-199 1421.5,-199 1421.5,-193 1427.5,-187 1433.5,-187 1433.5,-187 1530.5,-187 1530.5,-187 1536.5,-187 1542.5,-193 1542.5,-199 1542.5,-199 1542.5,-231 1542.5,-231 1542.5,-237 1536.5,-243 1530.5,-243"/>
|
|
294
|
+
<text xml:space="preserve" text-anchor="middle" x="1482" y="-229.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">preference ledger</text>
|
|
295
|
+
<text xml:space="preserve" text-anchor="middle" x="1482" y="-217.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">trajectory pairs</text>
|
|
296
|
+
<text xml:space="preserve" text-anchor="middle" x="1482" y="-205.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">scrub + geometry filter</text>
|
|
297
|
+
<text xml:space="preserve" text-anchor="middle" x="1482" y="-193.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">write+export <=40%/src</text>
|
|
261
298
|
</g>
|
|
262
299
|
<!-- S2->W1 -->
|
|
263
|
-
<g id="
|
|
300
|
+
<g id="edge19" class="edge">
|
|
264
301
|
<title>S2->W1</title>
|
|
265
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="
|
|
266
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
267
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
302
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M1296.31,-384.04C1321.82,-367.22 1360.44,-340.44 1391,-313.5 1412.93,-294.17 1435.36,-270.2 1452.46,-250.86"/>
|
|
303
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="1454.52,-252.77 1457.68,-244.9 1450.31,-249.07 1454.52,-252.77"/>
|
|
304
|
+
<text xml:space="preserve" text-anchor="middle" x="1406.72" y="-328.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">(loser,winner)</text>
|
|
268
305
|
</g>
|
|
269
306
|
<!-- S3->W1 -->
|
|
270
|
-
<g id="
|
|
307
|
+
<g id="edge20" class="edge">
|
|
271
308
|
<title>S3->W1</title>
|
|
272
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="
|
|
273
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
309
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M1457.4,-383.98C1458.78,-367.75 1461.1,-342.94 1464,-321.5 1467.09,-298.66 1471.41,-273.18 1475.04,-252.99"/>
|
|
310
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="1477.79,-253.55 1476.47,-245.18 1472.28,-252.55 1477.79,-253.55"/>
|
|
274
311
|
</g>
|
|
275
312
|
<!-- C3->Fses -->
|
|
276
|
-
<g id="
|
|
313
|
+
<g id="edge21" class="edge">
|
|
277
314
|
<title>C3->Fses</title>
|
|
278
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
279
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
280
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
315
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M1748.67,-383.95C1737.64,-379.62 1725.51,-375.4 1714,-372.5 1605.47,-345.2 1573.97,-363.24 1464,-342.5 1457.68,-341.31 1356.78,-317.8 1352,-313.5 1279.68,-248.44 1257.94,-127.55 1251.56,-70.43"/>
|
|
316
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1254.35,-70.17 1250.74,-62.5 1248.78,-70.74 1254.35,-70.17"/>
|
|
317
|
+
<text xml:space="preserve" text-anchor="middle" x="1377.5" y="-211.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">success:true</text>
|
|
281
318
|
</g>
|
|
282
319
|
<!-- Fprf -->
|
|
283
|
-
<g id="
|
|
320
|
+
<g id="node20" class="node">
|
|
284
321
|
<title>Fprf</title>
|
|
285
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
286
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
287
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
322
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M1422.12,-52.73C1422.12,-54.53 1401.9,-56 1377,-56 1352.1,-56 1331.88,-54.53 1331.88,-52.73 1331.88,-52.73 1331.88,-23.27 1331.88,-23.27 1331.88,-21.47 1352.1,-20 1377,-20 1401.9,-20 1422.12,-21.47 1422.12,-23.27 1422.12,-23.27 1422.12,-52.73 1422.12,-52.73"/>
|
|
323
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M1422.12,-52.73C1422.12,-50.92 1401.9,-49.45 1377,-49.45 1352.1,-49.45 1331.88,-50.92 1331.88,-52.73"/>
|
|
324
|
+
<text xml:space="preserve" text-anchor="middle" x="1377" y="-34.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">preferences.jsonl</text>
|
|
288
325
|
</g>
|
|
289
326
|
<!-- W1->Fprf -->
|
|
290
|
-
<g id="
|
|
327
|
+
<g id="edge22" class="edge">
|
|
291
328
|
<title>W1->Fprf</title>
|
|
292
|
-
<path fill="none" stroke="#f59e0b" stroke-width="2" d="
|
|
293
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="2" points="
|
|
329
|
+
<path fill="none" stroke="#f59e0b" stroke-width="2" d="M1437.94,-186.67C1424.58,-176.38 1411.07,-163.59 1402,-149 1386.53,-124.1 1380.6,-90.7 1378.35,-67.26"/>
|
|
330
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="2" points="1381.14,-67.1 1377.73,-59.34 1375.56,-67.54 1381.14,-67.1"/>
|
|
294
331
|
</g>
|
|
295
332
|
<!-- W2 -->
|
|
296
|
-
<g id="
|
|
333
|
+
<g id="node15" class="node">
|
|
297
334
|
<title>W2</title>
|
|
298
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="2" d="
|
|
299
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
300
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
301
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
302
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
335
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="2" d="M1707.38,-243C1707.38,-243 1594.62,-243 1594.62,-243 1588.62,-243 1582.62,-237 1582.62,-231 1582.62,-231 1582.62,-199 1582.62,-199 1582.62,-193 1588.62,-187 1594.62,-187 1594.62,-187 1707.38,-187 1707.38,-187 1713.38,-187 1719.38,-193 1719.38,-199 1719.38,-199 1719.38,-231 1719.38,-231 1719.38,-237 1713.38,-243 1707.38,-243"/>
|
|
336
|
+
<text xml:space="preserve" text-anchor="middle" x="1651" y="-229.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">train_and_gate</text>
|
|
337
|
+
<text xml:space="preserve" text-anchor="middle" x="1651" y="-217.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">SFT+DPO → LoRA vN+1</text>
|
|
338
|
+
<text xml:space="preserve" text-anchor="middle" x="1651" y="-205.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">gate + preference diet</text>
|
|
339
|
+
<text xml:space="preserve" text-anchor="middle" x="1651" y="-193.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">export_ready without trainer</text>
|
|
303
340
|
</g>
|
|
304
341
|
<!-- Fftn -->
|
|
305
|
-
<g id="
|
|
342
|
+
<g id="node22" class="node">
|
|
306
343
|
<title>Fftn</title>
|
|
307
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
308
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
309
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
344
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M1542.25,-52.73C1542.25,-54.53 1524.21,-56 1502,-56 1479.79,-56 1461.75,-54.53 1461.75,-52.73 1461.75,-52.73 1461.75,-23.27 1461.75,-23.27 1461.75,-21.47 1479.79,-20 1502,-20 1524.21,-20 1542.25,-21.47 1542.25,-23.27 1542.25,-23.27 1542.25,-52.73 1542.25,-52.73"/>
|
|
345
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M1542.25,-52.73C1542.25,-50.92 1524.21,-49.45 1502,-49.45 1479.79,-49.45 1461.75,-50.92 1461.75,-52.73"/>
|
|
346
|
+
<text xml:space="preserve" text-anchor="middle" x="1502" y="-34.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">finetune/*.jsonl</text>
|
|
310
347
|
</g>
|
|
311
348
|
<!-- W2->Fftn -->
|
|
312
|
-
<g id="
|
|
349
|
+
<g id="edge25" class="edge">
|
|
313
350
|
<title>W2->Fftn</title>
|
|
314
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
315
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
351
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M1583.08,-186.04C1576.34,-183.55 1569.56,-181.16 1563,-179 1513.23,-162.62 1480.99,-190.49 1449,-149 1438.21,-135 1463.96,-92.57 1483.23,-64.68"/>
|
|
352
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1485.51,-66.31 1487.82,-58.15 1480.93,-63.09 1485.51,-66.31"/>
|
|
316
353
|
</g>
|
|
317
354
|
<!-- Ollama -->
|
|
318
|
-
<g id="
|
|
355
|
+
<g id="node24" class="node">
|
|
319
356
|
<title>Ollama</title>
|
|
320
|
-
<path fill="#7dd3fc" 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="
|
|
357
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M1817.25,-56C1817.25,-56 1718.75,-56 1718.75,-56 1712.75,-56 1706.75,-50 1706.75,-44 1706.75,-44 1706.75,-32 1706.75,-32 1706.75,-26 1712.75,-20 1718.75,-20 1718.75,-20 1817.25,-20 1817.25,-20 1823.25,-20 1829.25,-26 1829.25,-32 1829.25,-32 1829.25,-44 1829.25,-44 1829.25,-50 1823.25,-56 1817.25,-56"/>
|
|
358
|
+
<text xml:space="preserve" text-anchor="middle" x="1768" y="-40.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">ollama create pwn-vN+1</text>
|
|
359
|
+
<text xml:space="preserve" text-anchor="middle" x="1768" y="-28.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(local LoRA adapter)</text>
|
|
323
360
|
</g>
|
|
324
361
|
<!-- W2->Ollama -->
|
|
325
|
-
<g id="
|
|
362
|
+
<g id="edge26" class="edge">
|
|
326
363
|
<title>W2->Ollama</title>
|
|
327
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" d="
|
|
328
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="
|
|
329
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
364
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" d="M1688.8,-186.16C1701.25,-175.59 1714.35,-162.75 1724,-149 1741.67,-123.82 1753.71,-90.53 1760.67,-67.19"/>
|
|
365
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="1763.35,-67.98 1762.85,-59.52 1757.97,-66.45 1763.35,-67.98"/>
|
|
366
|
+
<text xml:space="preserve" text-anchor="middle" x="1740.89" y="-140.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">LoRA</text>
|
|
330
367
|
</g>
|
|
331
368
|
<!-- W3 -->
|
|
332
|
-
<g id="
|
|
369
|
+
<g id="node16" class="node">
|
|
333
370
|
<title>W3</title>
|
|
334
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="
|
|
335
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
336
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
371
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M1890.38,-233C1890.38,-233 1771.62,-233 1771.62,-233 1765.62,-233 1759.62,-227 1759.62,-221 1759.62,-221 1759.62,-209 1759.62,-209 1759.62,-203 1765.62,-197 1771.62,-197 1771.62,-197 1890.38,-197 1890.38,-197 1896.38,-197 1902.38,-203 1902.38,-209 1902.38,-209 1902.38,-221 1902.38,-221 1902.38,-227 1896.38,-233 1890.38,-233"/>
|
|
372
|
+
<text xml:space="preserve" text-anchor="middle" x="1831" y="-217.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">calibrate</text>
|
|
373
|
+
<text xml:space="preserve" text-anchor="middle" x="1831" y="-205.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">p(success) vs actual → Brier</text>
|
|
337
374
|
</g>
|
|
338
375
|
<!-- W3->Loop -->
|
|
339
|
-
<g id="
|
|
376
|
+
<g id="edge28" class="edge">
|
|
340
377
|
<title>W3->Loop</title>
|
|
341
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
342
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
343
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
378
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M1809.04,-233.23C1779.62,-258.42 1734.08,-306.21 1761,-342.5 1788.39,-379.42 1832.61,-335.58 1860,-372.5 1892.44,-416.23 1897.55,-455.58 1860,-495 1815.34,-541.88 760.31,-544.07 696,-551.5 678.93,-553.47 660.85,-556.23 643.43,-559.24"/>
|
|
379
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="643.16,-556.44 635.77,-560.59 644.13,-561.96 643.16,-556.44"/>
|
|
380
|
+
<text xml:space="preserve" text-anchor="middle" x="1907.66" y="-399.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">calibration</text>
|
|
344
381
|
</g>
|
|
345
382
|
<!-- Fmis->W2 -->
|
|
346
|
-
<g id="
|
|
383
|
+
<g id="edge27" class="edge">
|
|
347
384
|
<title>Fmis->W2</title>
|
|
348
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
349
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
350
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
385
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M905.55,-56.32C913.45,-77.81 930.14,-113.69 958,-130.5 1073.48,-200.18 1431.65,-148.35 1563,-179 1568,-180.17 1573.1,-181.57 1578.18,-183.14"/>
|
|
386
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="1576.97,-185.69 1585.44,-185.5 1578.7,-180.36 1576.97,-185.69"/>
|
|
387
|
+
<text xml:space="preserve" text-anchor="middle" x="1015.21" y="-140.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">eval set</text>
|
|
351
388
|
</g>
|
|
352
389
|
<!-- Fses->W2 -->
|
|
353
|
-
<g id="
|
|
390
|
+
<g id="edge24" class="edge">
|
|
354
391
|
<title>Fses->W2</title>
|
|
355
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
356
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
357
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
392
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M1257,-60.45C1266.45,-82.4 1284.45,-115.35 1312,-130.5 1332.56,-141.81 1500.49,-131.89 1523,-138.5 1553.01,-147.3 1583.29,-164.7 1606.87,-180.57"/>
|
|
393
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1605.12,-182.76 1613.29,-184.99 1608.29,-178.15 1605.12,-182.76"/>
|
|
394
|
+
<text xml:space="preserve" text-anchor="middle" x="1581.39" y="-140.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">export_finetune</text>
|
|
358
395
|
</g>
|
|
359
396
|
<!-- Fprf->W2 -->
|
|
360
|
-
<g id="
|
|
397
|
+
<g id="edge23" class="edge">
|
|
361
398
|
<title>Fprf->W2</title>
|
|
362
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
363
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
364
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
399
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M1383.73,-56.54C1393.11,-78.28 1412.38,-114.41 1442,-130.5 1460.57,-140.59 1615.61,-125.16 1632,-138.5 1643.33,-147.72 1648.48,-162.61 1650.65,-176.74"/>
|
|
400
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1647.83,-176.72 1651.49,-184.36 1653.39,-176.1 1647.83,-176.72"/>
|
|
401
|
+
<text xml:space="preserve" text-anchor="middle" x="1663.49" y="-140.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">export_dpo</text>
|
|
365
402
|
</g>
|
|
366
403
|
<!-- Ollama->Loop -->
|
|
367
|
-
<g id="
|
|
404
|
+
<g id="edge35" class="edge">
|
|
368
405
|
<title>Ollama->Loop</title>
|
|
369
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="
|
|
370
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="
|
|
371
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
372
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
406
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="M1804.27,-56.47C1927.84,-118.08 2316.29,-330.44 2161,-495 2063.53,-598.29 1983.87,-507.04 1842,-513.5 1332.92,-536.7 1202.68,-496.87 696,-551.5 679.23,-553.31 661.5,-555.94 644.37,-558.86"/>
|
|
407
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="644.18,-556.05 636.78,-560.19 645.15,-561.57 644.18,-556.05"/>
|
|
408
|
+
<text xml:space="preserve" text-anchor="middle" x="2207.24" y="-333.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">promoted vN+1</text>
|
|
409
|
+
<text xml:space="preserve" text-anchor="middle" x="2207.24" y="-323.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">(next session)</text>
|
|
373
410
|
</g>
|
|
374
411
|
<!-- Cron -->
|
|
375
|
-
<g id="
|
|
412
|
+
<g id="node25" class="node">
|
|
376
413
|
<title>Cron</title>
|
|
377
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="
|
|
378
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
379
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
380
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
414
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M1126,-601.88C1126,-601.88 996,-601.88 996,-601.88 990,-601.88 984,-595.88 984,-589.88 984,-589.88 984,-569.12 984,-569.12 984,-563.12 990,-557.12 996,-557.12 996,-557.12 1126,-557.12 1126,-557.12 1132,-557.12 1138,-563.12 1138,-569.12 1138,-569.12 1138,-589.88 1138,-589.88 1138,-595.88 1132,-601.88 1126,-601.88"/>
|
|
415
|
+
<text xml:space="preserve" text-anchor="middle" x="1061" y="-588.38" font-family="sans-Serif" font-size="10.00" fill="#0f172a">⏱  PWN::Cron.install_defaults</text>
|
|
416
|
+
<text xml:space="preserve" text-anchor="middle" x="1061" y="-575.62" font-family="sans-Serif" font-size="10.00" fill="#0f172a">practice · offline_judge</text>
|
|
417
|
+
<text xml:space="preserve" text-anchor="middle" x="1061" y="-563.62" font-family="sans-Serif" font-size="10.00" fill="#0f172a">train dry_run · consolidate</text>
|
|
381
418
|
</g>
|
|
382
419
|
<!-- Cron->S1 -->
|
|
383
|
-
<g id="
|
|
420
|
+
<g id="edge29" class="edge">
|
|
384
421
|
<title>Cron->S1</title>
|
|
385
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
386
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
387
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
422
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M1063.87,-556.69C1067.89,-526.08 1075.23,-470.21 1079.85,-435.07"/>
|
|
423
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="1082.61,-435.56 1080.88,-427.26 1077.06,-434.83 1082.61,-435.56"/>
|
|
424
|
+
<text xml:space="preserve" text-anchor="middle" x="1085.81" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">0 3 * * *</text>
|
|
388
425
|
</g>
|
|
389
426
|
<!-- Cron->W2 -->
|
|
390
|
-
<g id="
|
|
427
|
+
<g id="edge31" class="edge">
|
|
391
428
|
<title>Cron->W2</title>
|
|
392
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
393
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
394
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
429
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M1138.4,-561.42C1157.48,-557.68 1177.92,-554.08 1197,-551.5 1282.89,-539.9 1915.97,-558.47 1975,-495 2012.08,-455.13 2011.62,-412.79 1975,-372.5 1928.01,-320.79 1711.19,-392.13 1662,-342.5 1639.37,-319.67 1638.95,-281.81 1642.78,-253.45"/>
|
|
430
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="1645.51,-254.13 1643.98,-245.79 1639.98,-253.26 1645.51,-254.13"/>
|
|
431
|
+
<text xml:space="preserve" text-anchor="middle" x="2018.76" y="-399.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">0 4 * * 0</text>
|
|
395
432
|
</g>
|
|
396
433
|
<!-- OJ -->
|
|
397
|
-
<g id="
|
|
434
|
+
<g id="node26" class="node">
|
|
398
435
|
<title>OJ</title>
|
|
399
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
400
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
401
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
436
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M870,-597.5C870,-597.5 728,-597.5 728,-597.5 722,-597.5 716,-591.5 716,-585.5 716,-585.5 716,-573.5 716,-573.5 716,-567.5 722,-561.5 728,-561.5 728,-561.5 870,-561.5 870,-561.5 876,-561.5 882,-567.5 882,-573.5 882,-573.5 882,-585.5 882,-585.5 882,-591.5 876,-597.5 870,-597.5"/>
|
|
437
|
+
<text xml:space="preserve" text-anchor="middle" x="799" y="-582" font-family="sans-Serif" font-size="10.00" fill="#0f172a">offline_judge</text>
|
|
438
|
+
<text xml:space="preserve" text-anchor="middle" x="799" y="-570" font-family="sans-Serif" font-size="10.00" fill="#0f172a">judges + calibrate + warm sentinel</text>
|
|
402
439
|
</g>
|
|
403
440
|
<!-- Cron->OJ -->
|
|
404
|
-
<g id="
|
|
441
|
+
<g id="edge30" class="edge">
|
|
405
442
|
<title>Cron->OJ</title>
|
|
406
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
407
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
408
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
443
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M983.51,-579.5C954.87,-579.5 922.11,-579.5 892.21,-579.5"/>
|
|
444
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="892.59,-576.7 884.59,-579.5 892.59,-582.3 892.59,-576.7"/>
|
|
445
|
+
<text xml:space="preserve" text-anchor="middle" x="933" y="-584.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">30 3 * * *</text>
|
|
409
446
|
</g>
|
|
410
447
|
<!-- MemGC -->
|
|
411
|
-
<g id="
|
|
448
|
+
<g id="node27" class="node">
|
|
412
449
|
<title>MemGC</title>
|
|
413
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
414
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
415
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
450
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M1310.62,-597.5C1310.62,-597.5 1229.38,-597.5 1229.38,-597.5 1223.38,-597.5 1217.38,-591.5 1217.38,-585.5 1217.38,-585.5 1217.38,-573.5 1217.38,-573.5 1217.38,-567.5 1223.38,-561.5 1229.38,-561.5 1229.38,-561.5 1310.62,-561.5 1310.62,-561.5 1316.62,-561.5 1322.62,-567.5 1322.62,-573.5 1322.62,-573.5 1322.62,-585.5 1322.62,-585.5 1322.62,-591.5 1316.62,-597.5 1310.62,-597.5"/>
|
|
451
|
+
<text xml:space="preserve" text-anchor="middle" x="1270" y="-582" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Learning.consolidate</text>
|
|
452
|
+
<text xml:space="preserve" text-anchor="middle" x="1270" y="-570" font-family="sans-Serif" font-size="10.00" fill="#0f172a">nightly memory GC</text>
|
|
416
453
|
</g>
|
|
417
454
|
<!-- Cron->MemGC -->
|
|
418
|
-
<g id="
|
|
455
|
+
<g id="edge32" class="edge">
|
|
419
456
|
<title>Cron->MemGC</title>
|
|
420
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
421
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
422
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
457
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M1138.53,-579.5C1161.19,-579.5 1185.68,-579.5 1207.3,-579.5"/>
|
|
458
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="1207.05,-582.3 1215.05,-579.5 1207.05,-576.7 1207.05,-582.3"/>
|
|
459
|
+
<text xml:space="preserve" text-anchor="middle" x="1177.69" y="-584.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">0 5 * * *</text>
|
|
423
460
|
</g>
|
|
424
461
|
<!-- OJ->R1 -->
|
|
425
|
-
<g id="
|
|
462
|
+
<g id="edge33" class="edge">
|
|
426
463
|
<title>OJ->R1</title>
|
|
427
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
428
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
429
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
464
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" stroke-dasharray="5,2" d="M753.75,-560.87C700.61,-540.51 615.47,-509.02 582,-503 540,-495.45 238.32,-509 198,-495 161.41,-482.3 126.92,-453.99 104.2,-432.2"/>
|
|
465
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="106.32,-430.36 98.65,-426.76 102.4,-434.36 106.32,-430.36"/>
|
|
466
|
+
<text xml:space="preserve" text-anchor="middle" x="633.06" y="-504.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">backfill</text>
|
|
430
467
|
</g>
|
|
431
468
|
<!-- OJ->W3 -->
|
|
432
|
-
<g id="
|
|
469
|
+
<g id="edge34" class="edge">
|
|
433
470
|
<title>OJ->W3</title>
|
|
434
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
435
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
436
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
471
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M882.27,-563.04C908.36,-558.69 937.3,-554.37 964,-551.5 1083.58,-538.63 1962.2,-582.24 2045,-495 2261.15,-267.25 1843.74,-412.77 1781,-342.5 1754.84,-313.19 1783.79,-268.56 1807.28,-240.89"/>
|
|
472
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="1809.24,-242.9 1812.41,-235.04 1805.03,-239.21 1809.24,-242.9"/>
|
|
473
|
+
<text xml:space="preserve" text-anchor="middle" x="2128.7" y="-399.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">p(success)</text>
|
|
437
474
|
</g>
|
|
438
475
|
</g>
|
|
439
476
|
</svg>
|