pwn 0.5.781 → 0.5.783
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/documentation/Installation.md +33 -9
- data/documentation/diagrams/dot/extrospection-world-awareness.dot +37 -92
- data/documentation/diagrams/dot/memory-skills-detailed.dot +33 -98
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +54 -32
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +53 -30
- data/documentation/diagrams/dot/reinforcement-learning.dot +46 -111
- data/documentation/diagrams/dot/swarm-multi-agent.dot +36 -61
- data/documentation/diagrams/extrospection-world-awareness.svg +139 -510
- data/documentation/diagrams/memory-skills-detailed.svg +126 -475
- data/documentation/diagrams/overall-pwn-architecture.svg +116 -266
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +158 -244
- data/documentation/diagrams/reinforcement-learning.svg +238 -529
- data/documentation/diagrams/swarm-multi-agent.svg +104 -233
- data/documentation/pwn-REPL.md +31 -3
- data/documentation/pwn-ai-Agent.md +62 -2
- data/etc/default_cron/session_cleanup.rb +335 -42
- data/lib/pwn/ai/agent/curriculum.rb +2 -2
- data/lib/pwn/ai/agent/learning.rb +11 -4
- data/lib/pwn/ai/agent/mistakes.rb +22 -3
- data/lib/pwn/ai/agent/tools/sessions.rb +6 -6
- data/lib/pwn/ai/http_retry.rb +3 -0
- data/lib/pwn/ai/router.rb +3 -1
- data/lib/pwn/cron.rb +1 -1
- data/lib/pwn/memory.rb +62 -6
- data/lib/pwn/plugins/repl/ai.rb +13 -3
- data/lib/pwn/plugins/repl/ai_console.rb +37 -21
- data/lib/pwn/session_trace.rb +1 -1
- data/lib/pwn/sessions.rb +305 -80
- data/lib/pwn/version.rb +1 -1
- data/spec/lib/pwn/ai/agent/learning_spec.rb +65 -2
- data/spec/lib/pwn/ai/agent/swarm_spec.rb +3 -3
- data/spec/lib/pwn/memory_spec.rb +58 -1
- data/spec/lib/pwn/plugins/repl/ai_console_spec.rb +191 -6
- data/spec/lib/pwn/plugins/repl/ai_result_chronology_spec.rb +2 -2
- data/spec/lib/pwn/plugins/repl/ai_spec.rb +28 -11
- data/spec/lib/pwn/session_cleanup_default_spec.rb +2 -2
- data/spec/lib/pwn/session_cleanup_payload_spec.rb +467 -36
- data/spec/lib/pwn/sessions_spec.rb +116 -16
- data/third_party/pwn_rdoc.jsonl +12 -0
- metadata +1 -1
|
@@ -4,562 +4,271 @@
|
|
|
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(
|
|
7
|
+
<svg width="978pt" height="901pt"
|
|
8
|
+
viewBox="0.00 0.00 978.00 901.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(28.8 872.29)">
|
|
10
10
|
<title>PWN_Reinforcement_Learning</title>
|
|
11
|
-
<polygon fill="#0f172a" stroke="none" points="-
|
|
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="-28.8,28.8 -28.8,-872.29 948.8,-872.29 948.8,28.8 -28.8,28.8"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="178" y="-821.49" 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="272.5" y="-810.04" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">live accounting · optional curriculum / weights · explicit routing-policy evaluation</text>
|
|
14
|
+
<g id="clust1" class="cluster">
|
|
15
|
+
<title>cluster_live</title>
|
|
16
|
+
<path fill="#1e293b" stroke="#334155" d="M20,-8C20,-8 286,-8 286,-8 292,-8 298,-14 298,-20 298,-20 298,-777.74 298,-777.74 298,-783.74 292,-789.74 286,-789.74 286,-789.74 20,-789.74 20,-789.74 14,-789.74 8,-783.74 8,-777.74 8,-777.74 8,-20 8,-20 8,-14 14,-8 20,-8"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-774.34" font-family="sans-Serif" font-size="12.00" fill="#e2e8f0">LIVE REQUEST  ·  Loop / Reward / Policy</text>
|
|
18
|
+
</g>
|
|
14
19
|
<g id="clust2" class="cluster">
|
|
15
|
-
<title>
|
|
16
|
-
<path fill="#
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
18
|
-
</g>
|
|
19
|
-
<g id="
|
|
20
|
-
<title>
|
|
21
|
-
<path fill="#
|
|
22
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
23
|
-
</g>
|
|
24
|
-
<g id="clust6" class="cluster">
|
|
25
|
-
<title>cluster_weight</title>
|
|
26
|
-
<path fill="#450a0a" stroke="#b91c1c" stroke-width="2" d="M20,-406.5C20,-406.5 762,-406.5 762,-406.5 768,-406.5 774,-412.5 774,-418.5 774,-418.5 774,-529 774,-529 774,-535 768,-541 762,-541 762,-541 20,-541 20,-541 14,-541 8,-535 8,-529 8,-529 8,-418.5 8,-418.5 8,-412.5 14,-406.5 20,-406.5"/>
|
|
27
|
-
<text xml:space="preserve" text-anchor="middle" x="391" y="-518" font-family="sans-Serif" font-size="20.00" fill="#fecaca">Tier 5 · Weight Loop</text>
|
|
28
|
-
</g>
|
|
29
|
-
<g id="clust8" class="cluster">
|
|
30
|
-
<title>cluster_files</title>
|
|
31
|
-
<path fill="#422006" stroke="#a16207" stroke-dasharray="5,2" d="M553,-235.5C553,-235.5 1370,-235.5 1370,-235.5 1376,-235.5 1382,-241.5 1382,-247.5 1382,-247.5 1382,-346 1382,-346 1382,-352 1376,-358 1370,-358 1370,-358 553,-358 553,-358 547,-358 541,-352 541,-346 541,-346 541,-247.5 541,-247.5 541,-241.5 547,-235.5 553,-235.5"/>
|
|
32
|
-
<text xml:space="preserve" text-anchor="middle" x="961.5" y="-335" font-family="sans-Serif" font-size="20.00" fill="#fde68a">~/.pwn/</text>
|
|
33
|
-
</g>
|
|
34
|
-
<!-- Req -->
|
|
35
|
-
<g id="node1" class="node">
|
|
36
|
-
<title>Req</title>
|
|
37
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M1066.5,-825C1066.5,-825 1023.5,-825 1023.5,-825 1017.5,-825 1011.5,-819 1011.5,-813 1011.5,-813 1011.5,-801 1011.5,-801 1011.5,-795 1017.5,-789 1023.5,-789 1023.5,-789 1066.5,-789 1066.5,-789 1072.5,-789 1078.5,-795 1078.5,-801 1078.5,-801 1078.5,-813 1078.5,-813 1078.5,-819 1072.5,-825 1066.5,-825"/>
|
|
38
|
-
<text xml:space="preserve" text-anchor="middle" x="1045" y="-803.88" font-family="sans-Serif" font-size="10.00" fill="#0f172a">👤  request</text>
|
|
20
|
+
<title>cluster_curriculum</title>
|
|
21
|
+
<path fill="#1e293b" stroke="#94a3b8" stroke-dasharray="5,2" d="M324,-8C324,-8 602,-8 602,-8 608,-8 614,-14 614,-20 614,-20 614,-784.49 614,-784.49 614,-790.49 608,-796.49 602,-796.49 602,-796.49 324,-796.49 324,-796.49 318,-796.49 312,-790.49 312,-784.49 312,-784.49 312,-20 312,-20 312,-14 318,-8 324,-8"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="463" y="-781.09" font-family="sans-Serif" font-size="12.00" fill="#e2e8f0">OPTIONAL CURRICULUM  ·  independent invocation</text>
|
|
23
|
+
</g>
|
|
24
|
+
<g id="clust3" class="cluster">
|
|
25
|
+
<title>cluster_policy</title>
|
|
26
|
+
<path fill="#1e293b" stroke="#94a3b8" stroke-dasharray="5,2" d="M634,-142.29C634,-142.29 900,-142.29 900,-142.29 906,-142.29 912,-148.29 912,-154.29 912,-154.29 912,-777.74 912,-777.74 912,-783.74 906,-789.74 900,-789.74 900,-789.74 634,-789.74 634,-789.74 628,-789.74 622,-783.74 622,-777.74 622,-777.74 622,-154.29 622,-154.29 622,-148.29 628,-142.29 634,-142.29"/>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-774.34" font-family="sans-Serif" font-size="12.00" fill="#e2e8f0">FROZEN POLICY  ·  explicit operator workflow</text>
|
|
39
28
|
</g>
|
|
40
|
-
<!--
|
|
29
|
+
<!-- Run -->
|
|
30
|
+
<g id="node1" class="node">
|
|
31
|
+
<title>Run</title>
|
|
32
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M277.8,-759.49C277.8,-759.49 28.2,-759.49 28.2,-759.49 22.2,-759.49 16.2,-753.49 16.2,-747.49 16.2,-747.49 16.2,-694.45 16.2,-694.45 16.2,-688.45 22.2,-682.45 28.2,-682.45 28.2,-682.45 277.8,-682.45 277.8,-682.45 283.8,-682.45 289.8,-688.45 289.8,-694.45 289.8,-694.45 289.8,-747.49 289.8,-747.49 289.8,-753.49 283.8,-759.49 277.8,-759.49"/>
|
|
33
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-737.52" font-family="sans-Serif" font-size="11.00" fill="#0f172a">1  ACT + OBSERVE</text>
|
|
34
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-724.02" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Loop: plan, Dispatch, guard, final answer</text>
|
|
35
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-710.52" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Policy: begin_episode / observe_step</text>
|
|
36
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-697.02" font-family="sans-Serif" font-size="11.00" fill="#0f172a">semantic_ok: grep exit 1 need not be failure</text>
|
|
37
|
+
</g>
|
|
38
|
+
<!-- Diagnose -->
|
|
41
39
|
<g id="node2" class="node">
|
|
42
|
-
<title>
|
|
43
|
-
<path fill="#
|
|
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="
|
|
48
|
-
</g>
|
|
49
|
-
<!--
|
|
40
|
+
<title>Diagnose</title>
|
|
41
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M277.8,-620.95C277.8,-620.95 28.2,-620.95 28.2,-620.95 22.2,-620.95 16.2,-614.95 16.2,-608.95 16.2,-608.95 16.2,-555.91 16.2,-555.91 16.2,-549.91 22.2,-543.91 28.2,-543.91 28.2,-543.91 277.8,-543.91 277.8,-543.91 283.8,-543.91 289.8,-549.91 289.8,-555.91 289.8,-555.91 289.8,-608.95 289.8,-608.95 289.8,-614.95 283.8,-620.95 277.8,-620.95"/>
|
|
42
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-598.98" font-family="sans-Serif" font-size="11.00" fill="#0f172a">2  DIAGNOSE WHEN APPLICABLE</text>
|
|
43
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-585.48" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Curriculum: red_team_plan / critic</text>
|
|
44
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-571.98" font-family="sans-Serif" font-size="11.00" fill="#0f172a">counterfactual: real vs imagined dispatch</text>
|
|
45
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-558.48" font-family="sans-Serif" font-size="11.00" fill="#0f172a">hindsight: achieved-goal relabel, not proof</text>
|
|
46
|
+
</g>
|
|
47
|
+
<!-- Run->Diagnose -->
|
|
50
48
|
<g id="edge1" class="edge">
|
|
51
|
-
<title>
|
|
52
|
-
<path fill="none" stroke="#
|
|
53
|
-
<polygon fill="#
|
|
49
|
+
<title>Run->Diagnose</title>
|
|
50
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M153,-681.94C153,-666.11 153,-647.56 153,-630.85"/>
|
|
51
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="155.8,-631.23 153,-623.23 150.2,-631.23 155.8,-631.23"/>
|
|
54
52
|
</g>
|
|
55
|
-
<!--
|
|
53
|
+
<!-- Evidence -->
|
|
56
54
|
<g id="node3" class="node">
|
|
57
|
-
<title>
|
|
58
|
-
<path fill="#
|
|
59
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
60
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
61
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
62
|
-
</
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
<
|
|
67
|
-
<
|
|
68
|
-
<
|
|
55
|
+
<title>Evidence</title>
|
|
56
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M277.8,-489.16C277.8,-489.16 28.2,-489.16 28.2,-489.16 22.2,-489.16 16.2,-483.16 16.2,-477.16 16.2,-477.16 16.2,-410.62 16.2,-410.62 16.2,-404.62 22.2,-398.62 28.2,-398.62 28.2,-398.62 277.8,-398.62 277.8,-398.62 283.8,-398.62 289.8,-404.62 289.8,-410.62 289.8,-410.62 289.8,-477.16 289.8,-477.16 289.8,-483.16 283.8,-489.16 277.8,-489.16"/>
|
|
57
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-467.19" font-family="sans-Serif" font-size="11.00" fill="#0f172a">3  RESOLVE OUTCOME</text>
|
|
58
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-453.69" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Host Verification: pass / fail / unknown</text>
|
|
59
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-440.19" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Reward.judge remains a fallible claim</text>
|
|
60
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-426.69" font-family="sans-Serif" font-size="11.00" fill="#0f172a">verify_as_reward: claim diagnostics / caps</text>
|
|
61
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-413.19" font-family="sans-Serif" font-size="11.00" fill="#0f172a">False rate = refuted / checked claims</text>
|
|
62
|
+
</g>
|
|
63
|
+
<!-- Diagnose->Evidence -->
|
|
64
|
+
<g id="edge2" class="edge">
|
|
65
|
+
<title>Diagnose->Evidence</title>
|
|
66
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M153,-543.4C153,-529.67 153,-513.91 153,-499.07"/>
|
|
67
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="155.8,-499.45 153,-491.45 150.2,-499.45 155.8,-499.45"/>
|
|
69
68
|
</g>
|
|
70
|
-
<!--
|
|
69
|
+
<!-- Credit -->
|
|
71
70
|
<g id="node4" class="node">
|
|
72
|
-
<title>
|
|
73
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
74
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
75
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
76
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
77
|
-
</
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
<
|
|
82
|
-
<
|
|
83
|
-
<
|
|
71
|
+
<title>Credit</title>
|
|
72
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M277.8,-361.62C277.8,-361.62 28.2,-361.62 28.2,-361.62 22.2,-361.62 16.2,-355.62 16.2,-349.62 16.2,-349.62 16.2,-283.08 16.2,-283.08 16.2,-277.08 22.2,-271.08 28.2,-271.08 28.2,-271.08 277.8,-271.08 277.8,-271.08 283.8,-271.08 289.8,-277.08 289.8,-283.08 289.8,-283.08 289.8,-349.62 289.8,-349.62 289.8,-355.62 283.8,-361.62 277.8,-361.62"/>
|
|
73
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-339.65" font-family="sans-Serif" font-size="11.00" fill="#0f172a">4  ACCOUNT FOR ELIGIBLE CREDIT</text>
|
|
74
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-326.15" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Policy: Q-learning + REINFORCE</text>
|
|
75
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-312.65" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Positive credit needs independent attribution</text>
|
|
76
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-299.15" font-family="sans-Serif" font-size="11.00" fill="#0f172a">PRM: step rewards; sentinel: proxy distrust</text>
|
|
77
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-285.65" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Calibration: predicted vs actual (Brier)</text>
|
|
78
|
+
</g>
|
|
79
|
+
<!-- Evidence->Credit -->
|
|
80
|
+
<g id="edge3" class="edge">
|
|
81
|
+
<title>Evidence->Credit</title>
|
|
82
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M153,-398.28C153,-389.78 153,-380.79 153,-372.02"/>
|
|
83
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="155.8,-372.21 153,-364.21 150.2,-372.21 155.8,-372.21"/>
|
|
84
84
|
</g>
|
|
85
|
-
<!--
|
|
85
|
+
<!-- Retain -->
|
|
86
86
|
<g id="node5" class="node">
|
|
87
|
-
<title>
|
|
88
|
-
<path fill="#
|
|
89
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
90
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
91
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
92
|
-
</
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
<
|
|
97
|
-
<
|
|
87
|
+
<title>Retain</title>
|
|
88
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M277.8,-234.08C277.8,-234.08 28.2,-234.08 28.2,-234.08 22.2,-234.08 16.2,-228.08 16.2,-222.08 16.2,-222.08 16.2,-155.54 16.2,-155.54 16.2,-149.54 22.2,-143.54 28.2,-143.54 28.2,-143.54 277.8,-143.54 277.8,-143.54 283.8,-143.54 289.8,-149.54 289.8,-155.54 289.8,-155.54 289.8,-222.08 289.8,-222.08 289.8,-228.08 283.8,-234.08 277.8,-234.08"/>
|
|
89
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-212.11" font-family="sans-Serif" font-size="11.00" fill="#0f172a">5  RETAIN UNDER ~/.pwn/</text>
|
|
90
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-198.61" font-family="sans-Serif" font-size="11.00" fill="#0f172a">policy.json + policy_traj.jsonl</text>
|
|
91
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-185.11" font-family="sans-Serif" font-size="11.00" fill="#0f172a">sessions/*.jsonl: step_reward</text>
|
|
92
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-171.61" font-family="sans-Serif" font-size="11.00" fill="#0f172a">reward_sentinel.json + mistakes.json</text>
|
|
93
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-158.11" font-family="sans-Serif" font-size="11.00" fill="#0f172a">preferences.jsonl: scrubbed trajectory pairs</text>
|
|
94
|
+
</g>
|
|
95
|
+
<!-- Credit->Retain -->
|
|
96
|
+
<g id="edge4" class="edge">
|
|
97
|
+
<title>Credit->Retain</title>
|
|
98
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M153,-270.74C153,-262.24 153,-253.25 153,-244.48"/>
|
|
99
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="155.8,-244.67 153,-236.67 150.2,-244.67 155.8,-244.67"/>
|
|
98
100
|
</g>
|
|
99
|
-
<!--
|
|
101
|
+
<!-- Later -->
|
|
100
102
|
<g id="node6" class="node">
|
|
101
|
-
<title>
|
|
102
|
-
<path fill="#
|
|
103
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
104
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
105
|
-
</
|
|
106
|
-
|
|
107
|
-
<
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
<
|
|
111
|
-
<
|
|
103
|
+
<title>Later</title>
|
|
104
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M277.8,-106.54C277.8,-106.54 28.2,-106.54 28.2,-106.54 22.2,-106.54 16.2,-100.54 16.2,-94.54 16.2,-94.54 16.2,-28 16.2,-28 16.2,-22 22.2,-16 28.2,-16 28.2,-16 277.8,-16 277.8,-16 283.8,-16 289.8,-22 289.8,-28 289.8,-28 289.8,-94.54 289.8,-94.54 289.8,-100.54 283.8,-106.54 277.8,-106.54"/>
|
|
105
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-84.57" font-family="sans-Serif" font-size="11.00" fill="#0f172a">6  INFORM LATER TURNS</text>
|
|
106
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-71.07" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Registry ranking + advisory policy context</text>
|
|
107
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-57.57" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Warmup and episode budget apply</text>
|
|
108
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-44.07" font-family="sans-Serif" font-size="11.00" fill="#0f172a">RSI records ESR / ASR; ESR drop → lesson</text>
|
|
109
|
+
<text xml:space="preserve" text-anchor="middle" x="153" y="-30.57" font-family="sans-Serif" font-size="11.00" fill="#0f172a">No automatic policy-candidate promotion</text>
|
|
110
|
+
</g>
|
|
111
|
+
<!-- Retain->Later -->
|
|
112
|
+
<g id="edge5" class="edge">
|
|
113
|
+
<title>Retain->Later</title>
|
|
114
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M153,-143.2C153,-134.7 153,-125.71 153,-116.94"/>
|
|
115
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="155.8,-117.13 153,-109.13 150.2,-117.13 155.8,-117.13"/>
|
|
112
116
|
</g>
|
|
113
|
-
<!--
|
|
117
|
+
<!-- Schedule -->
|
|
114
118
|
<g id="node7" class="node">
|
|
115
|
-
<title>
|
|
116
|
-
<path fill="#
|
|
117
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
118
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
119
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
119
|
+
<title>Schedule</title>
|
|
120
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M583.8,-766.24C583.8,-766.24 334.2,-766.24 334.2,-766.24 328.2,-766.24 322.2,-760.24 322.2,-754.24 322.2,-754.24 322.2,-687.7 322.2,-687.7 322.2,-681.7 328.2,-675.7 334.2,-675.7 334.2,-675.7 583.8,-675.7 583.8,-675.7 589.8,-675.7 595.8,-681.7 595.8,-687.7 595.8,-687.7 595.8,-754.24 595.8,-754.24 595.8,-760.24 589.8,-766.24 583.8,-766.24"/>
|
|
121
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-744.27" font-family="sans-Serif" font-size="11.00" fill="#0f172a">A  OPT IN / INVOKE EXPLICITLY</text>
|
|
122
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-730.77" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Cron seeds disabled by default:</text>
|
|
123
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-717.27" font-family="sans-Serif" font-size="11.00" fill="#0f172a">practice 03:00; offline_judge 03:30 daily</text>
|
|
124
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-703.77" font-family="sans-Serif" font-size="11.00" fill="#0f172a">train dry_run 04:00 Sunday</text>
|
|
125
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-690.27" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Seeding jobs does not install system crontab</text>
|
|
126
|
+
</g>
|
|
127
|
+
<!-- Practice -->
|
|
128
|
+
<g id="node8" class="node">
|
|
129
|
+
<title>Practice</title>
|
|
130
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M583.8,-627.7C583.8,-627.7 334.2,-627.7 334.2,-627.7 328.2,-627.7 322.2,-621.7 322.2,-615.7 322.2,-615.7 322.2,-549.16 322.2,-549.16 322.2,-543.16 328.2,-537.16 334.2,-537.16 334.2,-537.16 583.8,-537.16 583.8,-537.16 589.8,-537.16 595.8,-543.16 595.8,-549.16 595.8,-549.16 595.8,-615.7 595.8,-615.7 595.8,-621.7 589.8,-627.7 583.8,-627.7"/>
|
|
131
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-605.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">B  PRACTICE / OFFLINE JUDGING</text>
|
|
132
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-592.23" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Practice: budget-first; real tools may run</text>
|
|
133
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-578.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Judge-qualified resolution + winning traces</text>
|
|
134
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-565.23" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Offline judge: backfill, calibrate, warm sentinel</text>
|
|
135
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-551.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Records: curriculum/ + mistakes / preferences</text>
|
|
136
|
+
</g>
|
|
137
|
+
<!-- Schedule->Practice -->
|
|
138
|
+
<g id="edge6" class="edge">
|
|
139
|
+
<title>Schedule->Practice</title>
|
|
140
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,2" d="M459,-675.26C459,-663.36 459,-650.36 459,-637.99"/>
|
|
141
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="461.8,-638.21 459,-630.21 456.2,-638.21 461.8,-638.21"/>
|
|
142
|
+
<text xml:space="preserve" text-anchor="middle" x="530.62" y="-648.2" font-family="sans-Serif" font-size="10.00" fill="#cbd5e1">independent jobs; not a job chain</text>
|
|
120
143
|
</g>
|
|
121
|
-
<!--
|
|
122
|
-
<g id="
|
|
123
|
-
<title>
|
|
124
|
-
<path fill="
|
|
125
|
-
<
|
|
126
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
144
|
+
<!-- Export -->
|
|
145
|
+
<g id="node9" class="node">
|
|
146
|
+
<title>Export</title>
|
|
147
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M583.8,-489.16C583.8,-489.16 334.2,-489.16 334.2,-489.16 328.2,-489.16 322.2,-483.16 322.2,-477.16 322.2,-477.16 322.2,-410.62 322.2,-410.62 322.2,-404.62 328.2,-398.62 334.2,-398.62 334.2,-398.62 583.8,-398.62 583.8,-398.62 589.8,-398.62 595.8,-404.62 595.8,-410.62 595.8,-410.62 595.8,-477.16 595.8,-477.16 595.8,-483.16 589.8,-489.16 583.8,-489.16"/>
|
|
148
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-467.19" font-family="sans-Serif" font-size="11.00" fill="#0f172a">C  EXPORT TRAINING DATA</text>
|
|
149
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-453.69" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Learning.export_finetune + Reward.export_dpo</text>
|
|
150
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-440.19" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Eligible sessions / outcomes + preference pairs</text>
|
|
151
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-426.69" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Scrub, geometry and source-balance filters</text>
|
|
152
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-413.19" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Output: finetune/*.jsonl + evaluation set</text>
|
|
153
|
+
</g>
|
|
154
|
+
<!-- Practice->Export -->
|
|
155
|
+
<g id="edge7" class="edge">
|
|
156
|
+
<title>Practice->Export</title>
|
|
157
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,2" d="M459,-536.72C459,-524.82 459,-511.82 459,-499.45"/>
|
|
158
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="461.8,-499.67 459,-491.67 456.2,-499.67 461.8,-499.67"/>
|
|
159
|
+
<text xml:space="preserve" text-anchor="middle" x="503.62" y="-509.66" font-family="sans-Serif" font-size="10.00" fill="#cbd5e1">eligible retained data</text>
|
|
127
160
|
</g>
|
|
128
|
-
<!--
|
|
161
|
+
<!-- Train -->
|
|
129
162
|
<g id="node10" class="node">
|
|
130
|
-
<title>
|
|
131
|
-
<path fill="#
|
|
132
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
133
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
134
|
-
</
|
|
135
|
-
|
|
136
|
-
<
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
<
|
|
140
|
-
<
|
|
163
|
+
<title>Train</title>
|
|
164
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M583.8,-361.62C583.8,-361.62 334.2,-361.62 334.2,-361.62 328.2,-361.62 322.2,-355.62 322.2,-349.62 322.2,-349.62 322.2,-283.08 322.2,-283.08 322.2,-277.08 328.2,-271.08 334.2,-271.08 334.2,-271.08 583.8,-271.08 583.8,-271.08 589.8,-271.08 595.8,-277.08 595.8,-283.08 595.8,-283.08 595.8,-349.62 595.8,-349.62 595.8,-355.62 589.8,-361.62 583.8,-361.62"/>
|
|
165
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-339.65" font-family="sans-Serif" font-size="11.00" fill="#0f172a">D  train_and_gate</text>
|
|
166
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-326.15" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Dry run or no trainer → export_ready only</text>
|
|
167
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-312.65" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Otherwise: configured trainer → LoRA adapter</text>
|
|
168
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-299.15" font-family="sans-Serif" font-size="11.00" fill="#0f172a">ollama create → candidate vs baseline gate</text>
|
|
169
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-285.65" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Preference-diet gate also required</text>
|
|
170
|
+
</g>
|
|
171
|
+
<!-- Export->Train -->
|
|
172
|
+
<g id="edge8" class="edge">
|
|
173
|
+
<title>Export->Train</title>
|
|
174
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M459,-398.28C459,-389.78 459,-380.79 459,-372.02"/>
|
|
175
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="461.8,-372.21 459,-364.21 456.2,-372.21 461.8,-372.21"/>
|
|
141
176
|
</g>
|
|
142
|
-
<!--
|
|
177
|
+
<!-- Model -->
|
|
143
178
|
<g id="node11" class="node">
|
|
144
|
-
<title>
|
|
145
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
146
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
147
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
148
|
-
</
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
<
|
|
153
|
-
<
|
|
154
|
-
<
|
|
179
|
+
<title>Model</title>
|
|
180
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M583.8,-227.33C583.8,-227.33 334.2,-227.33 334.2,-227.33 328.2,-227.33 322.2,-221.33 322.2,-215.33 322.2,-215.33 322.2,-162.29 322.2,-162.29 322.2,-156.29 328.2,-150.29 334.2,-150.29 334.2,-150.29 583.8,-150.29 583.8,-150.29 589.8,-150.29 595.8,-156.29 595.8,-162.29 595.8,-162.29 595.8,-215.33 595.8,-215.33 595.8,-221.33 589.8,-227.33 583.8,-227.33"/>
|
|
181
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-205.36" font-family="sans-Serif" font-size="11.00" fill="#0f172a">E  RETAIN GATED ADAPTER VERSION</text>
|
|
182
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-191.86" font-family="sans-Serif" font-size="11.00" fill="#0f172a">On passing gates: update curriculum model state</text>
|
|
183
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-178.36" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Optional local weight path, not routing policy</text>
|
|
184
|
+
<text xml:space="preserve" text-anchor="middle" x="459" y="-164.86" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Export alone is not training or improvement</text>
|
|
185
|
+
</g>
|
|
186
|
+
<!-- Train->Model -->
|
|
187
|
+
<g id="edge9" class="edge">
|
|
188
|
+
<title>Train->Model</title>
|
|
189
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M459,-270.74C459,-259.94 459,-248.37 459,-237.44"/>
|
|
190
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="461.8,-237.6 459,-229.6 456.2,-237.6 461.8,-237.6"/>
|
|
155
191
|
</g>
|
|
156
|
-
<!--
|
|
192
|
+
<!-- Hygiene -->
|
|
157
193
|
<g id="node12" class="node">
|
|
158
|
-
<title>
|
|
159
|
-
<path fill="#
|
|
160
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
161
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
162
|
-
</
|
|
163
|
-
|
|
194
|
+
<title>Hygiene</title>
|
|
195
|
+
<path fill="#1e293b" stroke="#334155" stroke-width="1.3" stroke-dasharray="5,2" d="M587.8,-106.54C587.8,-106.54 338.2,-106.54 338.2,-106.54 332.2,-106.54 326.2,-100.54 326.2,-94.54 326.2,-94.54 326.2,-28 326.2,-28 326.2,-22 332.2,-16 338.2,-16 338.2,-16 587.8,-16 587.8,-16 593.8,-16 599.8,-22 599.8,-28 599.8,-28 599.8,-94.54 599.8,-94.54 599.8,-100.54 593.8,-106.54 587.8,-106.54"/>
|
|
196
|
+
<text xml:space="preserve" text-anchor="middle" x="463" y="-84.57" font-family="sans-Serif" font-size="11.00" fill="#cbd5e1">SEPARATE ENABLED HYGIENE SEED</text>
|
|
197
|
+
<text xml:space="preserve" text-anchor="middle" x="463" y="-71.07" font-family="sans-Serif" font-size="11.00" fill="#cbd5e1">Learning.consolidate at 05:00 daily</text>
|
|
198
|
+
<text xml:space="preserve" text-anchor="middle" x="463" y="-57.57" font-family="sans-Serif" font-size="11.00" fill="#cbd5e1">Memory maintenance, not model training</text>
|
|
199
|
+
<text xml:space="preserve" text-anchor="middle" x="463" y="-44.07" font-family="sans-Serif" font-size="11.00" fill="#cbd5e1">ESR = verified_exploit_tools / vulnerable_tools</text>
|
|
200
|
+
<text xml:space="preserve" text-anchor="middle" x="463" y="-30.57" font-family="sans-Serif" font-size="11.00" fill="#cbd5e1">ASR = successful_attacks / total_attack_attempts</text>
|
|
201
|
+
</g>
|
|
202
|
+
<!-- Select -->
|
|
203
|
+
<g id="node13" class="node">
|
|
204
|
+
<title>Select</title>
|
|
205
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M891.8,-759.49C891.8,-759.49 642.2,-759.49 642.2,-759.49 636.2,-759.49 630.2,-753.49 630.2,-747.49 630.2,-747.49 630.2,-694.45 630.2,-694.45 630.2,-688.45 636.2,-682.45 642.2,-682.45 642.2,-682.45 891.8,-682.45 891.8,-682.45 897.8,-682.45 903.8,-688.45 903.8,-694.45 903.8,-694.45 903.8,-747.49 903.8,-747.49 903.8,-753.49 897.8,-759.49 891.8,-759.49"/>
|
|
206
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-737.52" font-family="sans-Serif" font-size="11.00" fill="#0f172a">I  SELECT SNAPSHOTS</text>
|
|
207
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-724.02" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Explicit baseline + candidate policy bytes</text>
|
|
208
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-710.52" font-family="sans-Serif" font-size="11.00" fill="#0f172a">PolicyEvaluation; not live online writers</text>
|
|
209
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-697.02" font-family="sans-Serif" font-size="11.00" fill="#0f172a">No automatic handoff from RSI or training</text>
|
|
210
|
+
</g>
|
|
211
|
+
<!-- Eval -->
|
|
212
|
+
<g id="node14" class="node">
|
|
213
|
+
<title>Eval</title>
|
|
214
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M891.8,-627.7C891.8,-627.7 642.2,-627.7 642.2,-627.7 636.2,-627.7 630.2,-621.7 630.2,-615.7 630.2,-615.7 630.2,-549.16 630.2,-549.16 630.2,-543.16 636.2,-537.16 642.2,-537.16 642.2,-537.16 891.8,-537.16 891.8,-537.16 897.8,-537.16 903.8,-543.16 903.8,-549.16 903.8,-549.16 903.8,-615.7 903.8,-615.7 903.8,-621.7 897.8,-627.7 891.8,-627.7"/>
|
|
215
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-605.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">II  EVALUATE LOCALLY</text>
|
|
216
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-592.23" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Public fixed held-out tasks</text>
|
|
217
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-578.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Off / baseline / candidate comparisons</text>
|
|
218
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-565.23" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Two disposable filesystem environments</text>
|
|
219
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-551.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Regression replay is a separate split</text>
|
|
220
|
+
</g>
|
|
221
|
+
<!-- Select->Eval -->
|
|
164
222
|
<g id="edge10" class="edge">
|
|
165
|
-
<title>
|
|
166
|
-
<path fill="none" stroke="#
|
|
167
|
-
<polygon fill="#
|
|
168
|
-
<text xml:space="preserve" text-anchor="middle" x="801.08" y="-732.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">plan_first</text>
|
|
223
|
+
<title>Select->Eval</title>
|
|
224
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M767,-681.94C767,-668.21 767,-652.45 767,-637.61"/>
|
|
225
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="769.8,-637.99 767,-629.99 764.2,-637.99 769.8,-637.99"/>
|
|
169
226
|
</g>
|
|
170
|
-
<!--
|
|
171
|
-
<g id="
|
|
172
|
-
<title>
|
|
173
|
-
<path fill="#
|
|
174
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
175
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
227
|
+
<!-- Gate -->
|
|
228
|
+
<g id="node15" class="node">
|
|
229
|
+
<title>Gate</title>
|
|
230
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M891.8,-489.16C891.8,-489.16 642.2,-489.16 642.2,-489.16 636.2,-489.16 630.2,-483.16 630.2,-477.16 630.2,-477.16 630.2,-410.62 630.2,-410.62 630.2,-404.62 636.2,-398.62 642.2,-398.62 642.2,-398.62 891.8,-398.62 891.8,-398.62 897.8,-398.62 903.8,-404.62 903.8,-410.62 903.8,-410.62 903.8,-477.16 903.8,-477.16 903.8,-483.16 897.8,-489.16 891.8,-489.16"/>
|
|
231
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-467.19" font-family="sans-Serif" font-size="11.00" fill="#0f172a">III  REPLAY ACCEPTANCE</text>
|
|
232
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-453.69" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Fresh replay + aggregate nonregression</text>
|
|
233
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-440.19" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Per-task nonregression + held-out gain</text>
|
|
234
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-426.69" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Local controller evidence only</text>
|
|
235
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-413.19" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Not proof of general live LLM gains</text>
|
|
236
|
+
</g>
|
|
237
|
+
<!-- Eval->Gate -->
|
|
238
|
+
<g id="edge11" class="edge">
|
|
239
|
+
<title>Eval->Gate</title>
|
|
240
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M767,-536.72C767,-524.82 767,-511.82 767,-499.45"/>
|
|
241
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="769.8,-499.67 767,-491.67 764.2,-499.67 769.8,-499.67"/>
|
|
176
242
|
</g>
|
|
177
|
-
<!--
|
|
178
|
-
<g id="
|
|
179
|
-
<title>
|
|
180
|
-
<path fill="
|
|
181
|
-
<
|
|
182
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
243
|
+
<!-- Approve -->
|
|
244
|
+
<g id="node16" class="node">
|
|
245
|
+
<title>Approve</title>
|
|
246
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M891.8,-354.87C891.8,-354.87 642.2,-354.87 642.2,-354.87 636.2,-354.87 630.2,-348.87 630.2,-342.87 630.2,-342.87 630.2,-289.83 630.2,-289.83 630.2,-283.83 636.2,-277.83 642.2,-277.83 642.2,-277.83 891.8,-277.83 891.8,-277.83 897.8,-277.83 903.8,-283.83 903.8,-289.83 903.8,-289.83 903.8,-342.87 903.8,-342.87 903.8,-348.87 897.8,-354.87 891.8,-354.87"/>
|
|
247
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-332.9" font-family="sans-Serif" font-size="11.00" fill="#0f172a">IV  OPERATOR APPROVAL</text>
|
|
248
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-319.4" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Explicit live policy target</text>
|
|
249
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-305.9" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Approval + stopped writers required</text>
|
|
250
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-292.4" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Replace routing policy, not model weights</text>
|
|
251
|
+
</g>
|
|
252
|
+
<!-- Gate->Approve -->
|
|
253
|
+
<g id="edge12" class="edge">
|
|
254
|
+
<title>Gate->Approve</title>
|
|
255
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M767,-398.28C767,-387.48 767,-375.91 767,-364.98"/>
|
|
256
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="769.8,-365.14 767,-357.14 764.2,-365.14 769.8,-365.14"/>
|
|
183
257
|
</g>
|
|
184
|
-
<!--
|
|
258
|
+
<!-- Receipt -->
|
|
185
259
|
<g id="node17" class="node">
|
|
186
|
-
<title>
|
|
187
|
-
<path fill="#
|
|
188
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
189
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
190
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
191
|
-
</
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
<
|
|
195
|
-
<
|
|
196
|
-
<
|
|
197
|
-
<
|
|
198
|
-
</g>
|
|
199
|
-
<!-- Checks -->
|
|
200
|
-
<g id="node30" class="node">
|
|
201
|
-
<title>Checks</title>
|
|
202
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M2372.75,-648C2372.75,-648 2247.25,-648 2247.25,-648 2241.25,-648 2235.25,-642 2235.25,-636 2235.25,-636 2235.25,-624 2235.25,-624 2235.25,-618 2241.25,-612 2247.25,-612 2247.25,-612 2372.75,-612 2372.75,-612 2378.75,-612 2384.75,-618 2384.75,-624 2384.75,-624 2384.75,-636 2384.75,-636 2384.75,-642 2378.75,-648 2372.75,-648"/>
|
|
203
|
-
<text xml:space="preserve" text-anchor="middle" x="2310" y="-632.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Host Verification</text>
|
|
204
|
-
<text xml:space="preserve" text-anchor="middle" x="2310" y="-620.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">complete pass / fail / unknown</text>
|
|
205
|
-
</g>
|
|
206
|
-
<!-- Loop->Checks -->
|
|
207
|
-
<g id="edge37" class="edge">
|
|
208
|
-
<title>Loop->Checks</title>
|
|
209
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M1326.85,-801.69C1547.23,-790.08 2126.24,-756.68 2206,-722.5 2240.21,-707.84 2271.06,-677.47 2290.12,-655.74"/>
|
|
210
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="2292,-657.84 2295.07,-649.94 2287.74,-654.2 2292,-657.84"/>
|
|
211
|
-
</g>
|
|
212
|
-
<!-- E3 -->
|
|
213
|
-
<g id="node8" class="node">
|
|
214
|
-
<title>E3</title>
|
|
215
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M2075.12,-648C2075.12,-648 1936.88,-648 1936.88,-648 1930.88,-648 1924.88,-642 1924.88,-636 1924.88,-636 1924.88,-624 1924.88,-624 1924.88,-618 1930.88,-612 1936.88,-612 1936.88,-612 2075.12,-612 2075.12,-612 2081.12,-612 2087.12,-618 2087.12,-624 2087.12,-624 2087.12,-636 2087.12,-636 2087.12,-642 2081.12,-648 2075.12,-648"/>
|
|
216
|
-
<text xml:space="preserve" text-anchor="middle" x="2006" y="-632.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">verify_as_reward</text>
|
|
217
|
-
<text xml:space="preserve" text-anchor="middle" x="2006" y="-620.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">claim diagnostics; refutation caps</text>
|
|
218
|
-
</g>
|
|
219
|
-
<!-- R1->E3 -->
|
|
220
|
-
<g id="edge7" class="edge">
|
|
221
|
-
<title>R1->E3</title>
|
|
222
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M1846.13,-630C1867.35,-630 1891.54,-630 1914.56,-630"/>
|
|
223
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="1914.38,-632.8 1922.38,-630 1914.38,-627.2 1914.38,-632.8"/>
|
|
224
|
-
<text xml:space="preserve" text-anchor="middle" x="1885.06" y="-634.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">ground</text>
|
|
225
|
-
</g>
|
|
226
|
-
<!-- Claims -->
|
|
227
|
-
<g id="node26" class="node">
|
|
228
|
-
<title>Claims</title>
|
|
229
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M1904.88,-460.5C1904.88,-460.5 1753.12,-460.5 1753.12,-460.5 1747.12,-460.5 1741.12,-454.5 1741.12,-448.5 1741.12,-448.5 1741.12,-436.5 1741.12,-436.5 1741.12,-430.5 1747.12,-424.5 1753.12,-424.5 1753.12,-424.5 1904.88,-424.5 1904.88,-424.5 1910.88,-424.5 1916.88,-430.5 1916.88,-436.5 1916.88,-436.5 1916.88,-448.5 1916.88,-448.5 1916.88,-454.5 1910.88,-460.5 1904.88,-460.5"/>
|
|
230
|
-
<text xml:space="preserve" text-anchor="middle" x="1829" y="-445" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Judge claim != verified completion</text>
|
|
231
|
-
<text xml:space="preserve" text-anchor="middle" x="1829" y="-433" font-family="sans-Serif" font-size="10.00" fill="#0f172a">false rate = refuted / checked claims</text>
|
|
232
|
-
</g>
|
|
233
|
-
<!-- R1->Claims -->
|
|
234
|
-
<g id="edge8" class="edge">
|
|
235
|
-
<title>R1->Claims</title>
|
|
236
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M1778.63,-607.01C1775.53,-590.78 1773.05,-568.28 1777.5,-549 1784.2,-519.98 1800.03,-489.72 1812.39,-469.08"/>
|
|
237
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="1814.61,-470.82 1816.4,-462.54 1809.83,-467.89 1814.61,-470.82"/>
|
|
238
|
-
<text xml:space="preserve" text-anchor="middle" x="1811.25" y="-556.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">fallible judgment</text>
|
|
239
|
-
</g>
|
|
240
|
-
<!-- R1->Claims -->
|
|
241
|
-
<g id="edge39" class="edge">
|
|
242
|
-
<title>R1->Claims</title>
|
|
243
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M1819.44,-607.11C1831.82,-597.42 1844.3,-584.83 1851,-570 1865.63,-537.62 1853.51,-496.51 1842.28,-470.1"/>
|
|
244
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="1844.87,-469.03 1839.04,-462.88 1839.76,-471.32 1844.87,-469.03"/>
|
|
245
|
-
</g>
|
|
246
|
-
<!-- Fses -->
|
|
247
|
-
<g id="node19" class="node">
|
|
248
|
-
<title>Fses</title>
|
|
249
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M884.5,-283.5C884.5,-285.71 865.45,-287.5 842,-287.5 818.55,-287.5 799.5,-285.71 799.5,-283.5 799.5,-283.5 799.5,-247.5 799.5,-247.5 799.5,-245.29 818.55,-243.5 842,-243.5 865.45,-243.5 884.5,-245.29 884.5,-247.5 884.5,-247.5 884.5,-283.5 884.5,-283.5"/>
|
|
250
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="M884.5,-283.5C884.5,-281.29 865.45,-279.5 842,-279.5 818.55,-279.5 799.5,-281.29 799.5,-283.5"/>
|
|
251
|
-
<text xml:space="preserve" text-anchor="middle" x="842" y="-268" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sessions/*.jsonl</text>
|
|
252
|
-
<text xml:space="preserve" text-anchor="middle" x="842" y="-256" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(step_reward)</text>
|
|
253
|
-
</g>
|
|
254
|
-
<!-- R2->Fses -->
|
|
255
|
-
<g id="edge14" class="edge">
|
|
256
|
-
<title>R2->Fses</title>
|
|
257
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M1324.52,-607.66C1316.02,-562.88 1289.92,-458.91 1224,-406.5 1156.42,-352.76 1119.54,-377.7 1034,-366 1005.54,-362.11 930,-372.14 905,-358 881.17,-344.52 864.39,-317.84 854.17,-296.76"/>
|
|
258
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="856.78,-295.71 850.89,-289.61 851.69,-298.05 856.78,-295.71"/>
|
|
259
|
-
<text xml:space="preserve" text-anchor="middle" x="1332.5" y="-439.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">step_reward</text>
|
|
260
|
-
</g>
|
|
261
|
-
<!-- Fmis -->
|
|
262
|
-
<g id="node18" class="node">
|
|
263
|
-
<title>Fmis</title>
|
|
264
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M1105.38,-280.23C1105.38,-282.03 1088.17,-283.5 1067,-283.5 1045.83,-283.5 1028.62,-282.03 1028.62,-280.23 1028.62,-280.23 1028.62,-250.77 1028.62,-250.77 1028.62,-248.97 1045.83,-247.5 1067,-247.5 1088.17,-247.5 1105.38,-248.97 1105.38,-250.77 1105.38,-250.77 1105.38,-280.23 1105.38,-280.23"/>
|
|
265
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="M1105.38,-280.23C1105.38,-278.42 1088.17,-276.95 1067,-276.95 1045.83,-276.95 1028.62,-278.42 1028.62,-280.23"/>
|
|
266
|
-
<text xml:space="preserve" text-anchor="middle" x="1067" y="-262" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mistakes.json</text>
|
|
267
|
-
</g>
|
|
268
|
-
<!-- R3->Fmis -->
|
|
269
|
-
<g id="edge16" class="edge">
|
|
270
|
-
<title>R3->Fmis</title>
|
|
271
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" stroke-dasharray="5,2" d="M1176.5,-607.47C1164.46,-567.69 1137.73,-480.01 1114,-406.5 1101.25,-367 1085.82,-321.46 1076.21,-293.32"/>
|
|
272
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="1078.94,-292.66 1073.7,-286 1073.65,-294.47 1078.94,-292.66"/>
|
|
273
|
-
<text xml:space="preserve" text-anchor="middle" x="1185.11" y="-439.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">reward_signal</text>
|
|
274
|
-
</g>
|
|
275
|
-
<!-- Frws -->
|
|
276
|
-
<g id="node24" class="node">
|
|
277
|
-
<title>Frws</title>
|
|
278
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M1250.62,-280.23C1250.62,-282.03 1227.04,-283.5 1198,-283.5 1168.96,-283.5 1145.38,-282.03 1145.38,-280.23 1145.38,-280.23 1145.38,-250.77 1145.38,-250.77 1145.38,-248.97 1168.96,-247.5 1198,-247.5 1227.04,-247.5 1250.62,-248.97 1250.62,-250.77 1250.62,-250.77 1250.62,-280.23 1250.62,-280.23"/>
|
|
279
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="M1250.62,-280.23C1250.62,-278.42 1227.04,-276.95 1198,-276.95 1168.96,-276.95 1145.38,-278.42 1145.38,-280.23"/>
|
|
280
|
-
<text xml:space="preserve" text-anchor="middle" x="1198" y="-262" font-family="sans-Serif" font-size="10.00" fill="#0f172a">reward_sentinel.json</text>
|
|
281
|
-
</g>
|
|
282
|
-
<!-- R3->Frws -->
|
|
283
|
-
<g id="edge15" class="edge">
|
|
284
|
-
<title>R3->Frws</title>
|
|
285
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M1242.42,-607.44C1300.13,-585.89 1380.32,-554.14 1389,-541 1421.94,-491.11 1422.35,-456.11 1389,-406.5 1357.13,-359.1 1315.62,-392.36 1270,-358 1246.23,-340.1 1225.99,-312.53 1213.08,-292.33"/>
|
|
286
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1215.48,-290.89 1208.88,-285.57 1210.72,-293.84 1215.48,-290.89"/>
|
|
287
|
-
</g>
|
|
288
|
-
<!-- Fpol -->
|
|
289
|
-
<g id="node20" class="node">
|
|
290
|
-
<title>Fpol</title>
|
|
291
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M1373.75,-283.5C1373.75,-285.71 1355.04,-287.5 1332,-287.5 1308.96,-287.5 1290.25,-285.71 1290.25,-283.5 1290.25,-283.5 1290.25,-247.5 1290.25,-247.5 1290.25,-245.29 1308.96,-243.5 1332,-243.5 1355.04,-243.5 1373.75,-245.29 1373.75,-247.5 1373.75,-247.5 1373.75,-283.5 1373.75,-283.5"/>
|
|
292
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="M1373.75,-283.5C1373.75,-281.29 1355.04,-279.5 1332,-279.5 1308.96,-279.5 1290.25,-281.29 1290.25,-283.5"/>
|
|
293
|
-
<text xml:space="preserve" text-anchor="middle" x="1332" y="-268" font-family="sans-Serif" font-size="10.00" fill="#0f172a">policy.json +</text>
|
|
294
|
-
<text xml:space="preserve" text-anchor="middle" x="1332" y="-256" font-family="sans-Serif" font-size="10.00" fill="#0f172a">policy_traj.jsonl</text>
|
|
295
|
-
</g>
|
|
296
|
-
<!-- R5->Fpol -->
|
|
297
|
-
<g id="edge9" class="edge">
|
|
298
|
-
<title>R5->Fpol</title>
|
|
299
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M1600.75,-607.14C1551.56,-544.79 1410.56,-366.07 1354.95,-295.59"/>
|
|
300
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1357.28,-294.02 1350.13,-289.48 1352.88,-297.49 1357.28,-294.02"/>
|
|
301
|
-
</g>
|
|
302
|
-
<!-- S1 -->
|
|
303
|
-
<g id="node9" class="node">
|
|
304
|
-
<title>S1</title>
|
|
305
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="2" d="M1068.75,-652C1068.75,-652 931.25,-652 931.25,-652 925.25,-652 919.25,-646 919.25,-640 919.25,-640 919.25,-620 919.25,-620 919.25,-614 925.25,-608 931.25,-608 931.25,-608 1068.75,-608 1068.75,-608 1074.75,-608 1080.75,-614 1080.75,-620 1080.75,-620 1080.75,-640 1080.75,-640 1080.75,-646 1074.75,-652 1068.75,-652"/>
|
|
306
|
-
<text xml:space="preserve" text-anchor="middle" x="1000" y="-638.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">practice</text>
|
|
307
|
-
<text xml:space="preserve" text-anchor="middle" x="1000" y="-626.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">budget-first + winning_trace DPO</text>
|
|
308
|
-
<text xml:space="preserve" text-anchor="middle" x="1000" y="-614.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">auto-resolve on judge>=0.7</text>
|
|
309
|
-
</g>
|
|
310
|
-
<!-- S1->Fmis -->
|
|
311
|
-
<g id="edge17" class="edge">
|
|
312
|
-
<title>S1->Fmis</title>
|
|
313
|
-
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M1013.49,-598.31C1017.02,-589.32 1020.52,-579.39 1023,-570 1049.35,-470.09 1061.03,-347.25 1065.15,-293.66"/>
|
|
314
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="1011.01,-596.97 1010.59,-605.44 1016.2,-599.09 1011.01,-596.97"/>
|
|
315
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="1067.93,-294.04 1065.72,-285.85 1062.34,-293.62 1067.93,-294.04"/>
|
|
316
|
-
<text xml:space="preserve" text-anchor="middle" x="1078.43" y="-439.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">auto-resolve</text>
|
|
317
|
-
</g>
|
|
318
|
-
<!-- Fcur -->
|
|
319
|
-
<g id="node22" class="node">
|
|
320
|
-
<title>Fcur</title>
|
|
321
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M989,-280.23C989,-282.03 974.66,-283.5 957,-283.5 939.34,-283.5 925,-282.03 925,-280.23 925,-280.23 925,-250.77 925,-250.77 925,-248.97 939.34,-247.5 957,-247.5 974.66,-247.5 989,-248.97 989,-250.77 989,-250.77 989,-280.23 989,-280.23"/>
|
|
322
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="M989,-280.23C989,-278.42 974.66,-276.95 957,-276.95 939.34,-276.95 925,-278.42 925,-280.23"/>
|
|
323
|
-
<text xml:space="preserve" text-anchor="middle" x="957" y="-262" font-family="sans-Serif" font-size="10.00" fill="#0f172a">curriculum/</text>
|
|
324
|
-
</g>
|
|
325
|
-
<!-- S1->Fcur -->
|
|
326
|
-
<g id="edge18" class="edge">
|
|
327
|
-
<title>S1->Fcur</title>
|
|
328
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M997.41,-607.14C989.95,-544.24 968.43,-362.9 960.23,-293.74"/>
|
|
329
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="963.03,-293.58 959.31,-285.96 957.47,-294.24 963.03,-293.58"/>
|
|
330
|
-
</g>
|
|
331
|
-
<!-- W1 -->
|
|
332
|
-
<g id="node14" class="node">
|
|
333
|
-
<title>W1</title>
|
|
334
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M125.5,-470.5C125.5,-470.5 28.5,-470.5 28.5,-470.5 22.5,-470.5 16.5,-464.5 16.5,-458.5 16.5,-458.5 16.5,-426.5 16.5,-426.5 16.5,-420.5 22.5,-414.5 28.5,-414.5 28.5,-414.5 125.5,-414.5 125.5,-414.5 131.5,-414.5 137.5,-420.5 137.5,-426.5 137.5,-426.5 137.5,-458.5 137.5,-458.5 137.5,-464.5 131.5,-470.5 125.5,-470.5"/>
|
|
335
|
-
<text xml:space="preserve" text-anchor="middle" x="77" y="-457" font-family="sans-Serif" font-size="10.00" fill="#0f172a">preference ledger</text>
|
|
336
|
-
<text xml:space="preserve" text-anchor="middle" x="77" y="-445" font-family="sans-Serif" font-size="10.00" fill="#0f172a">trajectory pairs</text>
|
|
337
|
-
<text xml:space="preserve" text-anchor="middle" x="77" y="-433" font-family="sans-Serif" font-size="10.00" fill="#0f172a">scrub + geometry filter</text>
|
|
338
|
-
<text xml:space="preserve" text-anchor="middle" x="77" y="-421" font-family="sans-Serif" font-size="10.00" fill="#0f172a">write+export <=40%/src</text>
|
|
339
|
-
</g>
|
|
340
|
-
<!-- S2->W1 -->
|
|
341
|
-
<g id="edge19" class="edge">
|
|
342
|
-
<title>S2->W1</title>
|
|
343
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M460.8,-611.36C449.13,-607.41 436.68,-603.4 425,-600 332.36,-573.06 308.75,-567.18 214,-549 189.31,-544.26 179.95,-553.27 158,-541 132.39,-526.69 111.49,-500.84 97.34,-479.36"/>
|
|
344
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="99.78,-477.97 93.12,-472.73 95.05,-480.98 99.78,-477.97"/>
|
|
345
|
-
<text xml:space="preserve" text-anchor="middle" x="341.36" y="-556.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">(loser,winner)</text>
|
|
346
|
-
</g>
|
|
347
|
-
<!-- S3->W1 -->
|
|
348
|
-
<g id="edge20" class="edge">
|
|
349
|
-
<title>S3->W1</title>
|
|
350
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M279.57,-611.44C244.58,-596.02 195.25,-571.35 158,-541 136.11,-523.16 115.81,-498.71 101.01,-478.75"/>
|
|
351
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="103.35,-477.2 96.38,-472.38 98.82,-480.5 103.35,-477.2"/>
|
|
352
|
-
</g>
|
|
353
|
-
<!-- C3->Fses -->
|
|
354
|
-
<g id="edge21" class="edge">
|
|
355
|
-
<title>C3->Fses</title>
|
|
356
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M825.82,-611.52C828.51,-554.11 837.11,-370.88 840.55,-297.41"/>
|
|
357
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="843.33,-297.88 840.91,-289.76 837.74,-297.62 843.33,-297.88"/>
|
|
358
|
-
<text xml:space="preserve" text-anchor="middle" x="859.94" y="-439.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">success:soft</text>
|
|
359
|
-
</g>
|
|
360
|
-
<!-- Fprf -->
|
|
361
|
-
<g id="node21" class="node">
|
|
362
|
-
<title>Fprf</title>
|
|
363
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M639.12,-280.23C639.12,-282.03 618.9,-283.5 594,-283.5 569.1,-283.5 548.88,-282.03 548.88,-280.23 548.88,-280.23 548.88,-250.77 548.88,-250.77 548.88,-248.97 569.1,-247.5 594,-247.5 618.9,-247.5 639.12,-248.97 639.12,-250.77 639.12,-250.77 639.12,-280.23 639.12,-280.23"/>
|
|
364
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="M639.12,-280.23C639.12,-278.42 618.9,-276.95 594,-276.95 569.1,-276.95 548.88,-278.42 548.88,-280.23"/>
|
|
365
|
-
<text xml:space="preserve" text-anchor="middle" x="594" y="-262" font-family="sans-Serif" font-size="10.00" fill="#0f172a">preferences.jsonl</text>
|
|
366
|
-
</g>
|
|
367
|
-
<!-- W1->Fprf -->
|
|
368
|
-
<g id="edge22" class="edge">
|
|
369
|
-
<title>W1->Fprf</title>
|
|
370
|
-
<path fill="none" stroke="#f59e0b" stroke-width="2" d="M123.65,-413.91C154.46,-397.08 196.34,-376.78 236,-366 275.18,-355.35 287.28,-366.42 327,-358 405.42,-341.37 492.65,-308.63 545.4,-287.16"/>
|
|
371
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="2" points="546.34,-289.8 552.68,-284.17 544.22,-284.62 546.34,-289.8"/>
|
|
372
|
-
</g>
|
|
373
|
-
<!-- W2 -->
|
|
374
|
-
<g id="node15" class="node">
|
|
375
|
-
<title>W2</title>
|
|
376
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="2" d="M302.38,-470.5C302.38,-470.5 189.62,-470.5 189.62,-470.5 183.62,-470.5 177.62,-464.5 177.62,-458.5 177.62,-458.5 177.62,-426.5 177.62,-426.5 177.62,-420.5 183.62,-414.5 189.62,-414.5 189.62,-414.5 302.38,-414.5 302.38,-414.5 308.38,-414.5 314.38,-420.5 314.38,-426.5 314.38,-426.5 314.38,-458.5 314.38,-458.5 314.38,-464.5 308.38,-470.5 302.38,-470.5"/>
|
|
377
|
-
<text xml:space="preserve" text-anchor="middle" x="246" y="-457" font-family="sans-Serif" font-size="10.00" fill="#0f172a">train_and_gate</text>
|
|
378
|
-
<text xml:space="preserve" text-anchor="middle" x="246" y="-445" font-family="sans-Serif" font-size="10.00" fill="#0f172a">SFT+DPO → LoRA vN+1</text>
|
|
379
|
-
<text xml:space="preserve" text-anchor="middle" x="246" y="-433" font-family="sans-Serif" font-size="10.00" fill="#0f172a">gate + preference diet</text>
|
|
380
|
-
<text xml:space="preserve" text-anchor="middle" x="246" y="-421" font-family="sans-Serif" font-size="10.00" fill="#0f172a">export_ready without trainer</text>
|
|
381
|
-
</g>
|
|
382
|
-
<!-- Fftn -->
|
|
383
|
-
<g id="node23" class="node">
|
|
384
|
-
<title>Fftn</title>
|
|
385
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M759.25,-280.23C759.25,-282.03 741.21,-283.5 719,-283.5 696.79,-283.5 678.75,-282.03 678.75,-280.23 678.75,-280.23 678.75,-250.77 678.75,-250.77 678.75,-248.97 696.79,-247.5 719,-247.5 741.21,-247.5 759.25,-248.97 759.25,-250.77 759.25,-250.77 759.25,-280.23 759.25,-280.23"/>
|
|
386
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="M759.25,-280.23C759.25,-278.42 741.21,-276.95 719,-276.95 696.79,-276.95 678.75,-278.42 678.75,-280.23"/>
|
|
387
|
-
<text xml:space="preserve" text-anchor="middle" x="719" y="-262" font-family="sans-Serif" font-size="10.00" fill="#0f172a">finetune/*.jsonl</text>
|
|
388
|
-
</g>
|
|
389
|
-
<!-- W2->Fftn -->
|
|
390
|
-
<g id="edge25" class="edge">
|
|
391
|
-
<title>W2->Fftn</title>
|
|
392
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M312.03,-413.64C319.69,-410.98 327.46,-408.52 335,-406.5 475.65,-368.84 536.38,-436.51 659,-358 682.86,-342.72 699.29,-314.19 708.84,-293.03"/>
|
|
393
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="711.4,-294.16 711.97,-285.71 706.25,-291.96 711.4,-294.16"/>
|
|
394
|
-
</g>
|
|
395
|
-
<!-- Ollama -->
|
|
396
|
-
<g id="node25" class="node">
|
|
397
|
-
<title>Ollama</title>
|
|
398
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M295.25,-283.5C295.25,-283.5 196.75,-283.5 196.75,-283.5 190.75,-283.5 184.75,-277.5 184.75,-271.5 184.75,-271.5 184.75,-259.5 184.75,-259.5 184.75,-253.5 190.75,-247.5 196.75,-247.5 196.75,-247.5 295.25,-247.5 295.25,-247.5 301.25,-247.5 307.25,-253.5 307.25,-259.5 307.25,-259.5 307.25,-271.5 307.25,-271.5 307.25,-277.5 301.25,-283.5 295.25,-283.5"/>
|
|
399
|
-
<text xml:space="preserve" text-anchor="middle" x="246" y="-268" font-family="sans-Serif" font-size="10.00" fill="#0f172a">ollama create pwn-vN+1</text>
|
|
400
|
-
<text xml:space="preserve" text-anchor="middle" x="246" y="-256" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(local LoRA adapter)</text>
|
|
401
|
-
</g>
|
|
402
|
-
<!-- W2->Ollama -->
|
|
403
|
-
<g id="edge26" class="edge">
|
|
404
|
-
<title>W2->Ollama</title>
|
|
405
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" d="M246,-413.77C246,-381.18 246,-327.41 246,-294.64"/>
|
|
406
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="248.8,-295.02 246,-287.02 243.2,-295.02 248.8,-295.02"/>
|
|
407
|
-
<text xml:space="preserve" text-anchor="middle" x="299.62" y="-367.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">optional configured trainer</text>
|
|
408
|
-
</g>
|
|
409
|
-
<!-- W3 -->
|
|
410
|
-
<g id="node16" class="node">
|
|
411
|
-
<title>W3</title>
|
|
412
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.3" d="M485.38,-460.5C485.38,-460.5 366.62,-460.5 366.62,-460.5 360.62,-460.5 354.62,-454.5 354.62,-448.5 354.62,-448.5 354.62,-436.5 354.62,-436.5 354.62,-430.5 360.62,-424.5 366.62,-424.5 366.62,-424.5 485.38,-424.5 485.38,-424.5 491.38,-424.5 497.38,-430.5 497.38,-436.5 497.38,-436.5 497.38,-448.5 497.38,-448.5 497.38,-454.5 491.38,-460.5 485.38,-460.5"/>
|
|
413
|
-
<text xml:space="preserve" text-anchor="middle" x="426" y="-445" font-family="sans-Serif" font-size="10.00" fill="#0f172a">calibrate</text>
|
|
414
|
-
<text xml:space="preserve" text-anchor="middle" x="426" y="-433" font-family="sans-Serif" font-size="10.00" fill="#0f172a">p(success) vs actual → Brier</text>
|
|
415
|
-
</g>
|
|
416
|
-
<!-- W3->Loop -->
|
|
417
|
-
<g id="edge28" class="edge">
|
|
418
|
-
<title>W3->Loop</title>
|
|
419
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M436.08,-460.93C450.71,-484.25 480.22,-524.57 518,-541 535.03,-548.41 1836.45,-548.09 1855,-549 1977.6,-555.04 2322.31,-509.29 2405,-600 2441.68,-640.24 2441.91,-682.48 2405,-722.5 2368.93,-761.62 1607.46,-792.81 1336.6,-802.7"/>
|
|
420
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="1336.64,-799.9 1328.75,-802.99 1336.84,-805.5 1336.64,-799.9"/>
|
|
421
|
-
<text xml:space="preserve" text-anchor="middle" x="2453.97" y="-626.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">calibration</text>
|
|
422
|
-
</g>
|
|
423
|
-
<!-- Fmis->W2 -->
|
|
424
|
-
<g id="edge27" class="edge">
|
|
425
|
-
<title>Fmis->W2</title>
|
|
426
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M1061.26,-284.11C1053.26,-305.57 1036.55,-341.05 1009,-358 881.09,-436.67 481.6,-373.98 335,-406.5 329.83,-407.65 324.57,-409.05 319.32,-410.63"/>
|
|
427
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="318.55,-407.94 311.78,-413.04 320.25,-413.27 318.55,-407.94"/>
|
|
428
|
-
<text xml:space="preserve" text-anchor="middle" x="1008.13" y="-367.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">eval set</text>
|
|
429
|
-
</g>
|
|
430
|
-
<!-- Fses->W2 -->
|
|
431
|
-
<g id="edge24" class="edge">
|
|
432
|
-
<title>Fses->W2</title>
|
|
433
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M833.23,-288.06C823.35,-309.43 805.19,-341.32 779,-358 768.55,-364.66 681.29,-374.92 669,-376.5 521.18,-395.54 480.04,-372.21 335,-406.5 330.18,-407.64 325.27,-408.99 320.36,-410.49"/>
|
|
434
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="319.56,-407.8 312.81,-412.92 321.28,-413.13 319.56,-407.8"/>
|
|
435
|
-
<text xml:space="preserve" text-anchor="middle" x="776.81" y="-367.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">export_finetune</text>
|
|
436
|
-
</g>
|
|
437
|
-
<!-- Frozen -->
|
|
438
|
-
<g id="node31" class="node">
|
|
439
|
-
<title>Frozen</title>
|
|
440
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M1316.12,-157C1316.12,-157 1135.88,-157 1135.88,-157 1129.88,-157 1123.88,-151 1123.88,-145 1123.88,-145 1123.88,-133 1123.88,-133 1123.88,-127 1129.88,-121 1135.88,-121 1135.88,-121 1316.12,-121 1316.12,-121 1322.12,-121 1328.12,-127 1328.12,-133 1328.12,-133 1328.12,-145 1328.12,-145 1328.12,-151 1322.12,-157 1316.12,-157"/>
|
|
441
|
-
<text xml:space="preserve" text-anchor="middle" x="1226" y="-141.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Explicit frozen PolicyEvaluation</text>
|
|
442
|
-
<text xml:space="preserve" text-anchor="middle" x="1226" y="-129.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">public local held-out / two filesystem suites</text>
|
|
443
|
-
</g>
|
|
444
|
-
<!-- Fpol->Frozen -->
|
|
445
|
-
<g id="edge41" class="edge">
|
|
446
|
-
<title>Fpol->Frozen</title>
|
|
447
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M1312.58,-243.11C1302.58,-232 1290.26,-218.12 1279.5,-205.5 1268.25,-192.3 1255.99,-177.34 1246.05,-165.05"/>
|
|
448
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="1248.32,-163.41 1241.12,-158.93 1243.96,-166.92 1248.32,-163.41"/>
|
|
449
|
-
<text xml:space="preserve" text-anchor="middle" x="1328.25" y="-196.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">snapshot, not live writes</text>
|
|
450
|
-
</g>
|
|
451
|
-
<!-- Fprf->W2 -->
|
|
452
|
-
<g id="edge23" class="edge">
|
|
453
|
-
<title>Fprf->W2</title>
|
|
454
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M560.24,-283.47C502.58,-312.47 384.17,-372.02 310.31,-409.16"/>
|
|
455
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="309.17,-406.6 303.28,-412.69 311.69,-411.6 309.17,-406.6"/>
|
|
456
|
-
<text xml:space="preserve" text-anchor="middle" x="412.08" y="-367.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">export_dpo</text>
|
|
457
|
-
</g>
|
|
458
|
-
<!-- Ollama->Loop -->
|
|
459
|
-
<g id="edge36" class="edge">
|
|
460
|
-
<title>Ollama->Loop</title>
|
|
461
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="M287.53,-284.13C342.18,-306.31 441.78,-343.3 531,-358 586.15,-367.09 978.13,-364.3 1034,-366 1435.55,-378.2 1542.66,-329.79 1937,-406.5 2190.54,-455.82 2335.83,-389.13 2485,-600 2516.44,-644.45 2519.62,-680.48 2485,-722.5 2481.58,-726.65 2395.34,-740.33 2390,-741 2187.36,-766.35 1575.31,-792.7 1337.73,-802.26"/>
|
|
462
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="1337.95,-799.45 1330.07,-802.56 1338.17,-805.04 1337.95,-799.45"/>
|
|
463
|
-
<text xml:space="preserve" text-anchor="middle" x="2492.42" y="-561.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">promoted vN+1</text>
|
|
464
|
-
<text xml:space="preserve" text-anchor="middle" x="2492.42" y="-550.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">(next session)</text>
|
|
465
|
-
</g>
|
|
466
|
-
<!-- Claims->R5 -->
|
|
467
|
-
<g id="edge40" class="edge">
|
|
468
|
-
<title>Claims->R5</title>
|
|
469
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M1782.15,-461.03C1742.29,-478.07 1685.97,-507.48 1650.25,-549 1638.28,-562.91 1630.38,-581.84 1625.4,-597.79"/>
|
|
470
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="1622.74,-596.92 1623.21,-605.38 1628.12,-598.47 1622.74,-596.92"/>
|
|
471
|
-
<text xml:space="preserve" text-anchor="middle" x="1707.62" y="-556.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">attributed eligible credit only</text>
|
|
472
|
-
</g>
|
|
473
|
-
<!-- Cron -->
|
|
474
|
-
<g id="node27" class="node">
|
|
475
|
-
<title>Cron</title>
|
|
476
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.3" d="M2044,-829.38C2044,-829.38 1914,-829.38 1914,-829.38 1908,-829.38 1902,-823.38 1902,-817.38 1902,-817.38 1902,-796.62 1902,-796.62 1902,-790.62 1908,-784.62 1914,-784.62 1914,-784.62 2044,-784.62 2044,-784.62 2050,-784.62 2056,-790.62 2056,-796.62 2056,-796.62 2056,-817.38 2056,-817.38 2056,-823.38 2050,-829.38 2044,-829.38"/>
|
|
477
|
-
<text xml:space="preserve" text-anchor="middle" x="1979" y="-815.88" font-family="sans-Serif" font-size="10.00" fill="#0f172a">⏱  PWN::Cron.install_defaults</text>
|
|
478
|
-
<text xml:space="preserve" text-anchor="middle" x="1979" y="-803.12" font-family="sans-Serif" font-size="10.00" fill="#0f172a">practice · offline_judge</text>
|
|
479
|
-
<text xml:space="preserve" text-anchor="middle" x="1979" y="-791.12" font-family="sans-Serif" font-size="10.00" fill="#0f172a">train dry_run · consolidate</text>
|
|
480
|
-
</g>
|
|
481
|
-
<!-- Cron->S1 -->
|
|
482
|
-
<g id="edge30" class="edge">
|
|
483
|
-
<title>Cron->S1</title>
|
|
484
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M1918.28,-784.05C1864.39,-765.76 1783.09,-741.05 1710,-730.5 1676.62,-725.68 1134.45,-734.69 1103,-722.5 1070.48,-709.9 1041.59,-681.97 1022.75,-660.26"/>
|
|
485
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="1025.08,-658.68 1017.78,-654.38 1020.8,-662.3 1025.08,-658.68"/>
|
|
486
|
-
<text xml:space="preserve" text-anchor="middle" x="1809.77" y="-732.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">OFF by default: 0 3 * * *</text>
|
|
487
|
-
</g>
|
|
488
|
-
<!-- Cron->W2 -->
|
|
489
|
-
<g id="edge32" class="edge">
|
|
490
|
-
<title>Cron->W2</title>
|
|
491
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M2056.64,-801.41C2180.91,-792.72 2417.39,-770.3 2485,-722.5 2554.95,-673.04 2629.47,-609.69 2569,-549 2558.05,-538.01 349.18,-547.29 335,-541 306.45,-528.34 283.08,-501.54 267.46,-479.23"/>
|
|
492
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="269.96,-477.94 263.16,-472.88 265.33,-481.07 269.96,-477.94"/>
|
|
493
|
-
<text xml:space="preserve" text-anchor="middle" x="2638.98" y="-626.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">OFF by default: 0 4 * * 0</text>
|
|
494
|
-
</g>
|
|
495
|
-
<!-- OJ -->
|
|
496
|
-
<g id="node28" class="node">
|
|
497
|
-
<title>OJ</title>
|
|
498
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M2618,-825C2618,-825 2476,-825 2476,-825 2470,-825 2464,-819 2464,-813 2464,-813 2464,-801 2464,-801 2464,-795 2470,-789 2476,-789 2476,-789 2618,-789 2618,-789 2624,-789 2630,-795 2630,-801 2630,-801 2630,-813 2630,-813 2630,-819 2624,-825 2618,-825"/>
|
|
499
|
-
<text xml:space="preserve" text-anchor="middle" x="2547" y="-809.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">offline_judge</text>
|
|
500
|
-
<text xml:space="preserve" text-anchor="middle" x="2547" y="-797.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">judges + calibrate + warm sentinel</text>
|
|
501
|
-
</g>
|
|
502
|
-
<!-- Cron->OJ -->
|
|
503
|
-
<g id="edge31" class="edge">
|
|
504
|
-
<title>Cron->OJ</title>
|
|
505
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M2056.49,-807C2159.92,-807 2342.91,-807 2453.77,-807"/>
|
|
506
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="2453.64,-809.8 2461.64,-807 2453.64,-804.2 2453.64,-809.8"/>
|
|
507
|
-
<text xml:space="preserve" text-anchor="middle" x="2260" y="-811.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">OFF by default: 30 3 * * *</text>
|
|
508
|
-
</g>
|
|
509
|
-
<!-- MemGC -->
|
|
510
|
-
<g id="node29" class="node">
|
|
511
|
-
<title>MemGC</title>
|
|
512
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M2763.62,-825C2763.62,-825 2682.38,-825 2682.38,-825 2676.38,-825 2670.38,-819 2670.38,-813 2670.38,-813 2670.38,-801 2670.38,-801 2670.38,-795 2676.38,-789 2682.38,-789 2682.38,-789 2763.62,-789 2763.62,-789 2769.62,-789 2775.62,-795 2775.62,-801 2775.62,-801 2775.62,-813 2775.62,-813 2775.62,-819 2769.62,-825 2763.62,-825"/>
|
|
513
|
-
<text xml:space="preserve" text-anchor="middle" x="2723" y="-809.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Learning.consolidate</text>
|
|
514
|
-
<text xml:space="preserve" text-anchor="middle" x="2723" y="-797.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">nightly memory GC</text>
|
|
515
|
-
</g>
|
|
516
|
-
<!-- Cron->MemGC -->
|
|
517
|
-
<g id="edge33" class="edge">
|
|
518
|
-
<title>Cron->MemGC</title>
|
|
519
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M2044.01,-829.98C2090.56,-845.18 2155.11,-863.71 2213.62,-871.62 2310.06,-884.66 2555.21,-857.01 2650,-835 2656.91,-833.4 2664.04,-831.28 2671.01,-828.93"/>
|
|
520
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="2671.93,-831.57 2678.53,-826.26 2670.06,-826.3 2671.93,-831.57"/>
|
|
521
|
-
<text xml:space="preserve" text-anchor="middle" x="2229" y="-874.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">0 5 * * *</text>
|
|
522
|
-
</g>
|
|
523
|
-
<!-- OJ->R1 -->
|
|
524
|
-
<g id="edge34" class="edge">
|
|
525
|
-
<title>OJ->R1</title>
|
|
526
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" stroke-dasharray="5,2" d="M2589.97,-788.42C2620.49,-773.56 2652.68,-751.41 2632,-730.5 2617.8,-716.14 1924.11,-729.03 1905,-722.5 1868.34,-709.98 1833.87,-681.64 1811.17,-659.79"/>
|
|
527
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="1813.29,-657.95 1805.62,-654.34 1809.36,-661.95 1813.29,-657.95"/>
|
|
528
|
-
<text xml:space="preserve" text-anchor="middle" x="2651.92" y="-732.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">backfill</text>
|
|
529
|
-
</g>
|
|
530
|
-
<!-- OJ->W3 -->
|
|
531
|
-
<g id="edge35" class="edge">
|
|
532
|
-
<title>OJ->W3</title>
|
|
533
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M2615.36,-788.4C2647.55,-775.99 2682.09,-755.5 2697,-722.5 2719.41,-672.88 2724.3,-647.11 2697,-600 2674.14,-560.56 2652.03,-560.81 2608,-549 2579.96,-541.48 544.63,-552.55 518,-541 484.34,-526.41 457.25,-492.81 441.4,-469.16"/>
|
|
534
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="443.85,-467.79 437.15,-462.59 439.15,-470.83 443.85,-467.79"/>
|
|
535
|
-
<text xml:space="preserve" text-anchor="middle" x="2737.81" y="-626.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">p(success)</text>
|
|
536
|
-
</g>
|
|
537
|
-
<!-- Checks->Claims -->
|
|
538
|
-
<g id="edge38" class="edge">
|
|
539
|
-
<title>Checks->Claims</title>
|
|
540
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M2266.28,-611.41C2219.79,-593.33 2143.77,-565.56 2076,-549 2052.86,-543.35 2045.7,-548.22 2023,-541 1964.89,-522.53 1902.75,-488.47 1864.89,-465.9"/>
|
|
541
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="1866.71,-463.73 1858.41,-462 1863.82,-468.52 1866.71,-463.73"/>
|
|
542
|
-
</g>
|
|
543
|
-
<!-- Promotion -->
|
|
544
|
-
<g id="node32" class="node">
|
|
545
|
-
<title>Promotion</title>
|
|
546
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M1414.62,-44C1414.62,-44 1219.38,-44 1219.38,-44 1213.38,-44 1207.38,-38 1207.38,-32 1207.38,-32 1207.38,-12 1207.38,-12 1207.38,-6 1213.38,0 1219.38,0 1219.38,0 1414.62,0 1414.62,0 1420.62,0 1426.62,-6 1426.62,-12 1426.62,-12 1426.62,-32 1426.62,-32 1426.62,-38 1420.62,-44 1414.62,-44"/>
|
|
547
|
-
<text xml:space="preserve" text-anchor="middle" x="1317" y="-30.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Fresh replay + per-task nonregression</text>
|
|
548
|
-
<text xml:space="preserve" text-anchor="middle" x="1317" y="-18.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">operator approval / stopped writers</text>
|
|
549
|
-
<text xml:space="preserve" text-anchor="middle" x="1317" y="-6.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">receipt v1 + rollback refuses intervening writes</text>
|
|
550
|
-
</g>
|
|
551
|
-
<!-- Frozen->Promotion -->
|
|
552
|
-
<g id="edge42" class="edge">
|
|
553
|
-
<title>Frozen->Promotion</title>
|
|
554
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M1239.82,-120.53C1254.17,-102.4 1276.86,-73.73 1293.93,-52.15"/>
|
|
555
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="1295.95,-54.11 1298.72,-46.1 1291.56,-50.64 1295.95,-54.11"/>
|
|
556
|
-
</g>
|
|
557
|
-
<!-- Promotion->Fpol -->
|
|
558
|
-
<g id="edge43" class="edge">
|
|
559
|
-
<title>Promotion->Fpol</title>
|
|
560
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,2" d="M1328.22,-44.51C1344.14,-76.35 1372.51,-138.39 1383,-195 1385.87,-210.48 1377.77,-224.97 1367.24,-236.67"/>
|
|
561
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="1365.43,-234.51 1361.82,-242.18 1369.42,-238.44 1365.43,-234.51"/>
|
|
562
|
-
<text xml:space="preserve" text-anchor="middle" x="1400.34" y="-135.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">explicit target</text>
|
|
260
|
+
<title>Receipt</title>
|
|
261
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M891.8,-227.33C891.8,-227.33 642.2,-227.33 642.2,-227.33 636.2,-227.33 630.2,-221.33 630.2,-215.33 630.2,-215.33 630.2,-162.29 630.2,-162.29 630.2,-156.29 636.2,-150.29 642.2,-150.29 642.2,-150.29 891.8,-150.29 891.8,-150.29 897.8,-150.29 903.8,-156.29 903.8,-162.29 903.8,-162.29 903.8,-215.33 903.8,-215.33 903.8,-221.33 897.8,-227.33 891.8,-227.33"/>
|
|
262
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-205.36" font-family="sans-Serif" font-size="11.00" fill="#0f172a">V  RETAIN RECEIPT / ROLLBACK</text>
|
|
263
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-191.86" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Versioned receipt v1 + byte digests</text>
|
|
264
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-178.36" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Rollback refuses intervening live writes</text>
|
|
265
|
+
<text xml:space="preserve" text-anchor="middle" x="767" y="-164.86" font-family="sans-Serif" font-size="11.00" fill="#0f172a">No silent overwrite of newer policy state</text>
|
|
266
|
+
</g>
|
|
267
|
+
<!-- Approve->Receipt -->
|
|
268
|
+
<g id="edge13" class="edge">
|
|
269
|
+
<title>Approve->Receipt</title>
|
|
270
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M767,-277.34C767,-264.81 767,-250.7 767,-237.53"/>
|
|
271
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="769.8,-237.66 767,-229.66 764.2,-237.66 769.8,-237.66"/>
|
|
563
272
|
</g>
|
|
564
273
|
</g>
|
|
565
274
|
</svg>
|