pwn 0.5.779 → 0.5.781
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +3 -3
- data/documentation/AI-Integration.md +4 -4
- data/documentation/AWS.md +10 -9
- data/documentation/Agent-Tool-Registry.md +20 -17
- data/documentation/Blockchain.md +3 -2
- data/documentation/Bounty.md +8 -6
- data/documentation/BurpSuite.md +6 -10
- data/documentation/CLI-Drivers.md +7 -4
- data/documentation/Capability-Broker-Sandbox.md +1 -1
- data/documentation/Configuration.md +23 -15
- data/documentation/Contributing.md +3 -3
- data/documentation/Cron.md +3 -2
- data/documentation/Diagrams.md +9 -3
- data/documentation/Drivers.md +12 -6
- data/documentation/Extrospection.md +25 -5
- data/documentation/FFI.md +15 -25
- data/documentation/Fuzzing.md +13 -13
- data/documentation/General-PWN-Usage.md +7 -4
- data/documentation/Harness-Evaluation.md +90 -3
- data/documentation/Home.md +6 -5
- data/documentation/How-PWN-Works.md +9 -10
- data/documentation/Installation.md +12 -11
- data/documentation/Metasploit.md +13 -19
- data/documentation/Mistakes.md +2 -2
- data/documentation/NmapIt.md +6 -3
- data/documentation/Operability.md +99 -0
- data/documentation/Persistence.md +3 -2
- data/documentation/Plugin-Degradation.md +4 -2
- data/documentation/Plugins.md +4 -11
- data/documentation/Policy-Benchmark.md +4 -0
- data/documentation/Reinforcement-Learning.md +19 -3
- data/documentation/Reporting.md +6 -5
- data/documentation/SAST.md +15 -10
- data/documentation/SDR-Decoder-Coverage.md +10 -4
- data/documentation/SDR.md +28 -40
- data/documentation/Session-Workflow.md +25 -12
- data/documentation/Sessions.md +7 -0
- data/documentation/Skills-Memory-Learning.md +11 -4
- data/documentation/Swarm.md +6 -0
- data/documentation/Transparent-Browser.md +1 -1
- data/documentation/Troubleshooting.md +6 -3
- data/documentation/What-is-PWN.md +4 -4
- data/documentation/Why-PWN.md +1 -1
- data/documentation/diagrams/agent-tool-registry.svg +219 -180
- data/documentation/diagrams/ai-integration-tool-calling.svg +35 -34
- data/documentation/diagrams/code-scanning-sast.svg +78 -78
- data/documentation/diagrams/cron-scheduling.svg +165 -145
- data/documentation/diagrams/dot/_THEME.md +6 -4
- data/documentation/diagrams/dot/agent-tool-registry.dot +6 -2
- data/documentation/diagrams/dot/ai-integration-tool-calling.dot +1 -1
- data/documentation/diagrams/dot/code-scanning-sast.dot +8 -8
- data/documentation/diagrams/dot/cron-scheduling.dot +2 -0
- data/documentation/diagrams/dot/driver-framework.dot +1 -1
- data/documentation/diagrams/dot/extrospection-world-awareness.dot +2 -2
- data/documentation/diagrams/dot/fuzzing-workflow.dot +3 -3
- data/documentation/diagrams/dot/history-to-drivers.dot +1 -1
- data/documentation/diagrams/dot/memory-skills-detailed.dot +3 -3
- data/documentation/diagrams/dot/mistakes-negative-feedback.dot +2 -2
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +33 -121
- data/documentation/diagrams/dot/persistence-filesystem.dot +2 -2
- data/documentation/diagrams/dot/plugin-ecosystem.dot +2 -2
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +31 -167
- data/documentation/diagrams/dot/pwn-repl-prototyping.dot +1 -1
- data/documentation/diagrams/dot/reinforcement-learning.dot +15 -7
- data/documentation/diagrams/dot/reporting-pipeline.dot +5 -3
- data/documentation/diagrams/dot/reverse-engineering-flow.dot +3 -3
- data/documentation/diagrams/dot/sdr-radio-flow.dot +5 -5
- data/documentation/diagrams/dot/sessions-cron-automation.dot +1 -1
- data/documentation/diagrams/dot/swarm-multi-agent.dot +3 -3
- data/documentation/diagrams/dot/task-summarizer.dot +2 -2
- data/documentation/diagrams/dot/web-application-testing.dot +4 -3
- data/documentation/diagrams/dot/zero-day-research-flow.dot +4 -3
- data/documentation/diagrams/driver-framework.svg +1 -1
- data/documentation/diagrams/extrospection-world-awareness.svg +178 -178
- data/documentation/diagrams/fuzzing-workflow.svg +58 -58
- data/documentation/diagrams/history-to-drivers.svg +42 -42
- data/documentation/diagrams/memory-skills-detailed.svg +210 -210
- data/documentation/diagrams/mistakes-negative-feedback.svg +116 -116
- data/documentation/diagrams/overall-pwn-architecture.svg +248 -404
- data/documentation/diagrams/persistence-filesystem.svg +143 -143
- data/documentation/diagrams/plugin-ecosystem.svg +100 -100
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +233 -752
- data/documentation/diagrams/pwn-repl-prototyping.svg +27 -27
- data/documentation/diagrams/reinforcement-learning.svg +295 -221
- data/documentation/diagrams/reporting-pipeline.svg +94 -80
- data/documentation/diagrams/reverse-engineering-flow.svg +31 -31
- data/documentation/diagrams/sdr-radio-flow.svg +157 -155
- data/documentation/diagrams/sessions-cron-automation.svg +13 -13
- data/documentation/diagrams/swarm-multi-agent.svg +86 -86
- data/documentation/diagrams/task-summarizer.svg +57 -57
- data/documentation/diagrams/web-application-testing.svg +81 -75
- data/documentation/diagrams/zero-day-research-flow.svg +101 -92
- data/documentation/pwn-REPL.md +5 -3
- data/documentation/pwn-ai-Agent.md +18 -14
- data/documentation/pwn_silent_help_learn_demo.gif +0 -0
- data/etc/default_skills/pwn/ai/agent/learning/SKILL.md +1 -0
- data/lib/pwn/ai/agent/learning.rb +46 -1
- data/lib/pwn/ai/agent/loop.rb +6 -3
- data/lib/pwn/ai/agent/policy_evaluation.rb +5 -1
- data/lib/pwn/ai/agent/reward.rb +9 -0
- data/lib/pwn/version.rb +1 -1
- data/spec/fixtures/harness/completion_regressions.json +10 -0
- data/spec/fixtures/harness/completion_regressions.json.sha256 +1 -0
- data/spec/integration/harness_evaluation_spec.rb +13 -0
- data/spec/lib/pwn/ai/agent/learning_spec.rb +22 -0
- data/spec/lib/pwn/ai/agent/loop_spec.rb +39 -0
- data/spec/lib/pwn/ai/agent/policy_evaluation_spec.rb +6 -1
- data/spec/lib/pwn/ai/agent/reward_spec.rb +21 -0
- data/spec/support/harness/evaluate.rb +1 -1
- data/third_party/pwn_rdoc.jsonl +2 -1
- metadata +10 -7
|
@@ -4,288 +4,308 @@
|
|
|
4
4
|
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
5
|
-->
|
|
6
6
|
<!-- Title: PWN_Cron 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="1671pt" height="1049pt"
|
|
8
|
+
viewBox="0.00 0.00 1671.00 1049.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 1006.14)">
|
|
10
10
|
<title>PWN_Cron</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,-1006.14 1627.7,-1006.14 1627.7,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="590.88" y="-940.94" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">PWN::Cron - Scheduled Autonomous Jobs</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="587.12" y="-929.49" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">prompt · ruby · script → jobs.yml → worker → pwn-ai  ·  hygiene on · curriculum opt-in</text>
|
|
14
14
|
<g id="clust2" class="cluster">
|
|
15
15
|
<title>cluster_kinds</title>
|
|
16
|
-
<path fill="#022c22" stroke="#047857" stroke-width="2" d="
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
16
|
+
<path fill="#022c22" stroke="#047857" stroke-width="2" d="M820.25,-378.93C820.25,-378.93 974.5,-378.93 974.5,-378.93 980.5,-378.93 986.5,-384.93 986.5,-390.93 986.5,-390.93 986.5,-593.93 986.5,-593.93 986.5,-599.93 980.5,-605.93 974.5,-605.93 974.5,-605.93 820.25,-605.93 820.25,-605.93 814.25,-605.93 808.25,-599.93 808.25,-593.93 808.25,-593.93 808.25,-390.93 808.25,-390.93 808.25,-384.93 814.25,-378.93 820.25,-378.93"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="897.38" y="-582.93" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">Job Kinds</text>
|
|
18
18
|
</g>
|
|
19
19
|
<g id="clust4" class="cluster">
|
|
20
20
|
<title>cluster_seed</title>
|
|
21
|
-
<path fill="#2e1065" stroke="#6d28d9" stroke-width="2" d="
|
|
22
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
21
|
+
<path fill="#2e1065" stroke="#6d28d9" stroke-width="2" d="M1085.5,-196.93C1085.5,-196.93 1345.25,-196.93 1345.25,-196.93 1351.25,-196.93 1357.25,-202.93 1357.25,-208.93 1357.25,-208.93 1357.25,-632.93 1357.25,-632.93 1357.25,-638.93 1351.25,-644.93 1345.25,-644.93 1345.25,-644.93 1085.5,-644.93 1085.5,-644.93 1079.5,-644.93 1073.5,-638.93 1073.5,-632.93 1073.5,-632.93 1073.5,-208.93 1073.5,-208.93 1073.5,-202.93 1079.5,-196.93 1085.5,-196.93"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="1215.38" y="-621.93" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">Seeded Jobs (install_defaults)</text>
|
|
23
23
|
</g>
|
|
24
24
|
<!-- Create -->
|
|
25
25
|
<g id="node1" class="node">
|
|
26
26
|
<title>Create</title>
|
|
27
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M118,-
|
|
28
|
-
<text xml:space="preserve" text-anchor="middle" x="72.88" y="-
|
|
29
|
-
<text xml:space="preserve" text-anchor="middle" x="72.88" y="-
|
|
30
|
-
<text xml:space="preserve" text-anchor="middle" x="72.88" y="-
|
|
27
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M118,-562.18C118,-562.18 27.75,-562.18 27.75,-562.18 21.75,-562.18 15.75,-556.18 15.75,-550.18 15.75,-550.18 15.75,-525.68 15.75,-525.68 15.75,-519.68 21.75,-513.68 27.75,-513.68 27.75,-513.68 118,-513.68 118,-513.68 124,-513.68 130,-519.68 130,-525.68 130,-525.68 130,-550.18 130,-550.18 130,-556.18 124,-562.18 118,-562.18"/>
|
|
28
|
+
<text xml:space="preserve" text-anchor="middle" x="72.88" y="-547.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">cron_create</text>
|
|
29
|
+
<text xml:space="preserve" text-anchor="middle" x="72.88" y="-534.23" font-family="sans-Serif" font-size="11.00" fill="#0f172a">name · schedule</text>
|
|
30
|
+
<text xml:space="preserve" text-anchor="middle" x="72.88" y="-520.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">prompt | ruby | script</text>
|
|
31
31
|
</g>
|
|
32
32
|
<!-- Jobs -->
|
|
33
33
|
<g id="node3" class="node">
|
|
34
34
|
<title>Jobs</title>
|
|
35
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M439.12,-
|
|
36
|
-
<path fill="none" stroke="#334155" stroke-width="1.4" d="M439.12,-
|
|
37
|
-
<text xml:space="preserve" text-anchor="middle" x="381.62" y="-
|
|
35
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M439.12,-514.66C439.12,-516.46 413.35,-517.93 381.62,-517.93 349.9,-517.93 324.12,-516.46 324.12,-514.66 324.12,-514.66 324.12,-485.2 324.12,-485.2 324.12,-483.4 349.9,-481.93 381.62,-481.93 413.35,-481.93 439.12,-483.4 439.12,-485.2 439.12,-485.2 439.12,-514.66 439.12,-514.66"/>
|
|
36
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M439.12,-514.66C439.12,-512.85 413.35,-511.39 381.62,-511.39 349.9,-511.39 324.12,-512.85 324.12,-514.66"/>
|
|
37
|
+
<text xml:space="preserve" text-anchor="middle" x="381.62" y="-496.23" font-family="sans-Serif" font-size="11.00" fill="#0f172a">~/.pwn/cron/jobs.yml</text>
|
|
38
38
|
</g>
|
|
39
39
|
<!-- Create->Jobs -->
|
|
40
|
-
<g id="
|
|
40
|
+
<g id="edge3" class="edge">
|
|
41
41
|
<title>Create->Jobs</title>
|
|
42
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M130.5,-
|
|
43
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="314.01,-
|
|
44
|
-
<text xml:space="preserve" text-anchor="middle" x="226.88" y="-
|
|
42
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M130.5,-530.92C182.35,-524.49 259.13,-514.98 313.93,-508.19"/>
|
|
43
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="314.01,-511.01 321.6,-507.24 313.32,-505.45 314.01,-511.01"/>
|
|
44
|
+
<text xml:space="preserve" text-anchor="middle" x="226.88" y="-524.28" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">write</text>
|
|
45
45
|
</g>
|
|
46
46
|
<!-- Crontab -->
|
|
47
47
|
<g id="node4" class="node">
|
|
48
48
|
<title>Crontab</title>
|
|
49
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.4" d="M428.25,-
|
|
50
|
-
<text xml:space="preserve" text-anchor="middle" x="381.62" y="-
|
|
51
|
-
<text xml:space="preserve" text-anchor="middle" x="381.62" y="-
|
|
49
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.4" d="M428.25,-589.93C428.25,-589.93 335,-589.93 335,-589.93 329,-589.93 323,-583.93 323,-577.93 323,-577.93 323,-565.93 323,-565.93 323,-559.93 329,-553.93 335,-553.93 335,-553.93 428.25,-553.93 428.25,-553.93 434.25,-553.93 440.25,-559.93 440.25,-565.93 440.25,-565.93 440.25,-577.93 440.25,-577.93 440.25,-583.93 434.25,-589.93 428.25,-589.93"/>
|
|
50
|
+
<text xml:space="preserve" text-anchor="middle" x="381.62" y="-574.98" font-family="sans-Serif" font-size="11.00" fill="#0f172a">per-job crontab</text>
|
|
51
|
+
<text xml:space="preserve" text-anchor="middle" x="381.62" y="-561.48" font-family="sans-Serif" font-size="11.00" fill="#0f172a">(install_crontab: true)</text>
|
|
52
52
|
</g>
|
|
53
53
|
<!-- Create->Crontab -->
|
|
54
|
-
<g id="
|
|
54
|
+
<g id="edge5" class="edge">
|
|
55
55
|
<title>Create->Crontab</title>
|
|
56
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M130.5,-
|
|
57
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="312.3,-
|
|
58
|
-
<text xml:space="preserve" text-anchor="middle" x="226.88" y="-
|
|
56
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M130.5,-544.21C182.02,-549.92 258.16,-558.36 312.89,-564.42"/>
|
|
57
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="312.3,-567.17 320.56,-565.27 312.91,-561.61 312.3,-567.17"/>
|
|
58
|
+
<text xml:space="preserve" text-anchor="middle" x="226.88" y="-559.93" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">optional per-job</text>
|
|
59
59
|
</g>
|
|
60
60
|
<!-- Seed -->
|
|
61
61
|
<g id="node2" class="node">
|
|
62
62
|
<title>Seed</title>
|
|
63
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M133.75,-
|
|
64
|
-
<text xml:space="preserve" text-anchor="middle" x="72.88" y="-
|
|
65
|
-
<text xml:space="preserve" text-anchor="middle" x="72.88" y="-
|
|
63
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M133.75,-464.93C133.75,-464.93 12,-464.93 12,-464.93 6,-464.93 0,-458.93 0,-452.93 0,-452.93 0,-440.93 0,-440.93 0,-434.93 6,-428.93 12,-428.93 12,-428.93 133.75,-428.93 133.75,-428.93 139.75,-428.93 145.75,-434.93 145.75,-440.93 145.75,-440.93 145.75,-452.93 145.75,-452.93 145.75,-458.93 139.75,-464.93 133.75,-464.93"/>
|
|
64
|
+
<text xml:space="preserve" text-anchor="middle" x="72.88" y="-449.98" font-family="sans-Serif" font-size="11.00" fill="#0f172a">PWN::Cron.install_defaults</text>
|
|
65
|
+
<text xml:space="preserve" text-anchor="middle" x="72.88" y="-436.48" font-family="sans-Serif" font-size="11.00" fill="#0f172a">(pwn setup --migrate)</text>
|
|
66
66
|
</g>
|
|
67
67
|
<!-- Seed->Jobs -->
|
|
68
|
-
<g id="
|
|
68
|
+
<g id="edge4" class="edge">
|
|
69
69
|
<title>Seed->Jobs</title>
|
|
70
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M146.18,-
|
|
71
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="313.33,-
|
|
72
|
-
<text xml:space="preserve" text-anchor="middle" x="226.88" y="-
|
|
70
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M146.18,-459.42C197,-468.2 264.47,-479.86 313.98,-488.42"/>
|
|
71
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="313.33,-491.15 321.69,-489.75 314.29,-485.63 313.33,-491.15"/>
|
|
72
|
+
<text xml:space="preserve" text-anchor="middle" x="226.88" y="-480.13" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">idempotent seed</text>
|
|
73
73
|
</g>
|
|
74
74
|
<!-- Worker -->
|
|
75
75
|
<g id="node5" class="node">
|
|
76
76
|
<title>Worker</title>
|
|
77
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.4" d="M443.25,-
|
|
78
|
-
<text xml:space="preserve" text-anchor="middle" x="381.62" y="-
|
|
79
|
-
<text xml:space="preserve" text-anchor="middle" x="381.62" y="-
|
|
80
|
-
<text xml:space="preserve" text-anchor="middle" x="381.62" y="-
|
|
81
|
-
<text xml:space="preserve" text-anchor="middle" x="381.62" y="-
|
|
77
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.4" d="M443.25,-445.93C443.25,-445.93 320,-445.93 320,-445.93 314,-445.93 308,-439.93 308,-433.93 308,-433.93 308,-395.93 308,-395.93 308,-389.93 314,-383.93 320,-383.93 320,-383.93 443.25,-383.93 443.25,-383.93 449.25,-383.93 455.25,-389.93 455.25,-395.93 455.25,-395.93 455.25,-433.93 455.25,-433.93 455.25,-439.93 449.25,-445.93 443.25,-445.93"/>
|
|
78
|
+
<text xml:space="preserve" text-anchor="middle" x="381.62" y="-431.48" font-family="sans-Serif" font-size="11.00" fill="#0f172a">background worker</text>
|
|
79
|
+
<text xml:space="preserve" text-anchor="middle" x="381.62" y="-417.98" font-family="sans-Serif" font-size="11.00" fill="#0f172a">pwn setup keep-alive</text>
|
|
80
|
+
<text xml:space="preserve" text-anchor="middle" x="381.62" y="-404.48" font-family="sans-Serif" font-size="11.00" fill="#0f172a">systemd --user / launchd</text>
|
|
81
|
+
<text xml:space="preserve" text-anchor="middle" x="381.62" y="-390.98" font-family="sans-Serif" font-size="11.00" fill="#0f172a">schtasks / crontab @reboot</text>
|
|
82
82
|
</g>
|
|
83
83
|
<!-- Seed->Worker -->
|
|
84
|
-
<g id="
|
|
84
|
+
<g id="edge6" class="edge">
|
|
85
85
|
<title>Seed->Worker</title>
|
|
86
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M130.08,-
|
|
87
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="297.57,-
|
|
88
|
-
<text xml:space="preserve" text-anchor="middle" x="226.88" y="-
|
|
86
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M130.08,-428.26C149.68,-422.64 171.97,-417.22 192.75,-414.43 227.03,-409.83 265.14,-409.13 298.03,-409.88"/>
|
|
87
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="297.57,-412.67 305.64,-410.09 297.72,-407.07 297.57,-412.67"/>
|
|
88
|
+
<text xml:space="preserve" text-anchor="middle" x="226.88" y="-416.38" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">pwn setup</text>
|
|
89
89
|
</g>
|
|
90
90
|
<!-- Runner -->
|
|
91
91
|
<g id="node6" class="node">
|
|
92
92
|
<title>Runner</title>
|
|
93
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M709.25,-
|
|
94
|
-
<text xml:space="preserve" text-anchor="middle" x="667.88" y="-
|
|
93
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M709.25,-494.93C709.25,-494.93 626.5,-494.93 626.5,-494.93 620.5,-494.93 614.5,-488.93 614.5,-482.93 614.5,-482.93 614.5,-470.93 614.5,-470.93 614.5,-464.93 620.5,-458.93 626.5,-458.93 626.5,-458.93 709.25,-458.93 709.25,-458.93 715.25,-458.93 721.25,-464.93 721.25,-470.93 721.25,-470.93 721.25,-482.93 721.25,-482.93 721.25,-488.93 715.25,-494.93 709.25,-494.93"/>
|
|
94
|
+
<text xml:space="preserve" text-anchor="middle" x="667.88" y="-473.23" font-family="sans-Serif" font-size="11.00" fill="#0f172a">PWN::Cron.run(id)</text>
|
|
95
95
|
</g>
|
|
96
96
|
<!-- Jobs->Runner -->
|
|
97
|
-
<g id="
|
|
97
|
+
<g id="edge9" class="edge">
|
|
98
98
|
<title>Jobs->Runner</title>
|
|
99
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M439.81,-
|
|
100
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="604.39,-
|
|
101
|
-
<text xml:space="preserve" text-anchor="middle" x="534.88" y="-
|
|
99
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M439.81,-495.3C487.43,-491.45 555.15,-485.97 604.24,-482"/>
|
|
100
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="604.39,-484.8 612.14,-481.36 603.94,-479.21 604.39,-484.8"/>
|
|
101
|
+
<text xml:space="preserve" text-anchor="middle" x="534.88" y="-491.76" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">load job</text>
|
|
102
102
|
</g>
|
|
103
103
|
<!-- Crontab->Runner -->
|
|
104
|
-
<g id="
|
|
104
|
+
<g id="edge7" class="edge">
|
|
105
105
|
<title>Crontab->Runner</title>
|
|
106
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" d="M440.92,-
|
|
107
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="630.84,-
|
|
108
|
-
<text xml:space="preserve" text-anchor="middle" x="534.88" y="-
|
|
106
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" d="M440.92,-563.81C477.95,-557.56 526.46,-547.35 567.5,-531.93 589.04,-523.84 611.58,-511.7 629.74,-500.89"/>
|
|
107
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="630.84,-503.5 636.23,-496.95 627.93,-498.71 630.84,-503.5"/>
|
|
108
|
+
<text xml:space="preserve" text-anchor="middle" x="534.88" y="-553.21" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">fire on schedule</text>
|
|
109
109
|
</g>
|
|
110
110
|
<!-- Worker->Runner -->
|
|
111
|
-
<g id="
|
|
111
|
+
<g id="edge8" class="edge">
|
|
112
112
|
<title>Worker->Runner</title>
|
|
113
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" d="M455.83,-
|
|
114
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="602.74,-
|
|
115
|
-
<text xml:space="preserve" text-anchor="middle" x="534.88" y="-
|
|
113
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" d="M455.83,-430.9C501.57,-440.87 559.88,-453.59 603.61,-463.13"/>
|
|
114
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="602.74,-465.81 611.16,-464.78 603.94,-460.34 602.74,-465.81"/>
|
|
115
|
+
<text xml:space="preserve" text-anchor="middle" x="534.88" y="-457.06" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">poll jobs.yml</text>
|
|
116
116
|
</g>
|
|
117
117
|
<!-- Prompt -->
|
|
118
118
|
<g id="node7" class="node">
|
|
119
119
|
<title>Prompt</title>
|
|
120
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="
|
|
121
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
122
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
120
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M939.12,-494.93C939.12,-494.93 855.62,-494.93 855.62,-494.93 849.62,-494.93 843.62,-488.93 843.62,-482.93 843.62,-482.93 843.62,-470.93 843.62,-470.93 843.62,-464.93 849.62,-458.93 855.62,-458.93 855.62,-458.93 939.12,-458.93 939.12,-458.93 945.12,-458.93 951.12,-464.93 951.12,-470.93 951.12,-470.93 951.12,-482.93 951.12,-482.93 951.12,-488.93 945.12,-494.93 939.12,-494.93"/>
|
|
121
|
+
<text xml:space="preserve" text-anchor="middle" x="897.38" y="-479.98" font-family="sans-Serif" font-size="11.00" fill="#0f172a">:prompt</text>
|
|
122
|
+
<text xml:space="preserve" text-anchor="middle" x="897.38" y="-466.48" font-family="sans-Serif" font-size="11.00" fill="#0f172a">→ pwn-ai one-shot</text>
|
|
123
123
|
</g>
|
|
124
124
|
<!-- Runner->Prompt -->
|
|
125
|
-
<g id="
|
|
125
|
+
<g id="edge10" class="edge">
|
|
126
126
|
<title>Runner->Prompt</title>
|
|
127
|
-
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M721.
|
|
128
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="
|
|
127
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M721.93,-476.93C755.29,-476.93 798.51,-476.93 833.58,-476.93"/>
|
|
128
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="833.27,-479.73 841.27,-476.93 833.27,-474.13 833.27,-479.73"/>
|
|
129
129
|
</g>
|
|
130
130
|
<!-- Ruby -->
|
|
131
131
|
<g id="node8" class="node">
|
|
132
132
|
<title>Ruby</title>
|
|
133
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="
|
|
134
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
135
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
133
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M966.5,-422.93C966.5,-422.93 828.25,-422.93 828.25,-422.93 822.25,-422.93 816.25,-416.93 816.25,-410.93 816.25,-410.93 816.25,-398.93 816.25,-398.93 816.25,-392.93 822.25,-386.93 828.25,-386.93 828.25,-386.93 966.5,-386.93 966.5,-386.93 972.5,-386.93 978.5,-392.93 978.5,-398.93 978.5,-398.93 978.5,-410.93 978.5,-410.93 978.5,-416.93 972.5,-422.93 966.5,-422.93"/>
|
|
134
|
+
<text xml:space="preserve" text-anchor="middle" x="897.38" y="-407.98" font-family="sans-Serif" font-size="11.00" fill="#0f172a">:ruby</text>
|
|
135
|
+
<text xml:space="preserve" text-anchor="middle" x="897.38" y="-394.48" font-family="sans-Serif" font-size="11.00" fill="#0f172a">→ TOPLEVEL_BINDING.eval</text>
|
|
136
136
|
</g>
|
|
137
137
|
<!-- Runner->Ruby -->
|
|
138
|
-
<g id="
|
|
138
|
+
<g id="edge11" class="edge">
|
|
139
139
|
<title>Runner->Ruby</title>
|
|
140
|
-
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M721.
|
|
141
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="
|
|
140
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M721.93,-460.14C753.61,-450.11 794.18,-437.27 828.22,-426.5"/>
|
|
141
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="828.98,-429.2 835.76,-424.12 827.29,-423.86 828.98,-429.2"/>
|
|
142
142
|
</g>
|
|
143
143
|
<!-- Script -->
|
|
144
144
|
<g id="node9" class="node">
|
|
145
145
|
<title>Script</title>
|
|
146
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="
|
|
147
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
148
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
146
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M940.62,-566.93C940.62,-566.93 854.12,-566.93 854.12,-566.93 848.12,-566.93 842.12,-560.93 842.12,-554.93 842.12,-554.93 842.12,-542.93 842.12,-542.93 842.12,-536.93 848.12,-530.93 854.12,-530.93 854.12,-530.93 940.62,-530.93 940.62,-530.93 946.62,-530.93 952.62,-536.93 952.62,-542.93 952.62,-542.93 952.62,-554.93 952.62,-554.93 952.62,-560.93 946.62,-566.93 940.62,-566.93"/>
|
|
147
|
+
<text xml:space="preserve" text-anchor="middle" x="897.38" y="-551.98" font-family="sans-Serif" font-size="11.00" fill="#0f172a">:script</text>
|
|
148
|
+
<text xml:space="preserve" text-anchor="middle" x="897.38" y="-538.48" font-family="sans-Serif" font-size="11.00" fill="#0f172a">→ exec external file</text>
|
|
149
149
|
</g>
|
|
150
150
|
<!-- Runner->Script -->
|
|
151
|
-
<g id="
|
|
151
|
+
<g id="edge12" class="edge">
|
|
152
152
|
<title>Runner->Script</title>
|
|
153
|
-
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M721.
|
|
154
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="
|
|
153
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M721.93,-493.72C754.95,-504.17 797.63,-517.68 832.51,-528.72"/>
|
|
154
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="831.31,-531.28 839.78,-531.02 833,-525.94 831.31,-531.28"/>
|
|
155
155
|
</g>
|
|
156
156
|
<!-- Log -->
|
|
157
|
-
<g id="
|
|
157
|
+
<g id="node16" class="node">
|
|
158
158
|
<title>Log</title>
|
|
159
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="
|
|
160
|
-
<path fill="none" stroke="#334155" stroke-width="1.4" d="
|
|
161
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
162
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
159
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M1584.5,-559.62C1584.5,-562.03 1554.86,-563.99 1518.38,-563.99 1481.89,-563.99 1452.25,-562.03 1452.25,-559.62 1452.25,-559.62 1452.25,-520.24 1452.25,-520.24 1452.25,-517.83 1481.89,-515.87 1518.38,-515.87 1554.86,-515.87 1584.5,-517.83 1584.5,-520.24 1584.5,-520.24 1584.5,-559.62 1584.5,-559.62"/>
|
|
160
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M1584.5,-559.62C1584.5,-557.2 1554.86,-555.24 1518.38,-555.24 1481.89,-555.24 1452.25,-557.2 1452.25,-559.62"/>
|
|
161
|
+
<text xml:space="preserve" text-anchor="middle" x="1518.38" y="-542.98" font-family="sans-Serif" font-size="11.00" fill="#0f172a">~/.pwn/cron/log/<id>.log</text>
|
|
162
|
+
<text xml:space="preserve" text-anchor="middle" x="1518.38" y="-529.48" font-family="sans-Serif" font-size="11.00" fill="#0f172a">last_run · last_status</text>
|
|
163
163
|
</g>
|
|
164
164
|
<!-- Prompt->Log -->
|
|
165
|
-
<g id="
|
|
165
|
+
<g id="edge18" class="edge">
|
|
166
166
|
<title>Prompt->Log</title>
|
|
167
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
168
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
167
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M951.66,-492.58C963.93,-497.78 976.34,-504.47 986.5,-512.93 1041.62,-558.87 1010.56,-614.48 1073.5,-648.93 1184.12,-709.49 1236.73,-686.06 1357.25,-648.93 1406.58,-633.73 1454.32,-597.58 1484.64,-571.06"/>
|
|
168
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1486.38,-573.26 1490.5,-565.85 1482.66,-569.07 1486.38,-573.26"/>
|
|
169
169
|
</g>
|
|
170
170
|
<!-- Practice -->
|
|
171
171
|
<g id="node10" class="node">
|
|
172
172
|
<title>Practice</title>
|
|
173
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="
|
|
174
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
175
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
176
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
173
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M1275.75,-605.18C1275.75,-605.18 1154,-605.18 1154,-605.18 1148,-605.18 1142,-599.18 1142,-593.18 1142,-593.18 1142,-568.68 1142,-568.68 1142,-562.68 1148,-556.68 1154,-556.68 1154,-556.68 1275.75,-556.68 1275.75,-556.68 1281.75,-556.68 1287.75,-562.68 1287.75,-568.68 1287.75,-568.68 1287.75,-593.18 1287.75,-593.18 1287.75,-599.18 1281.75,-605.18 1275.75,-605.18"/>
|
|
174
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-590.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">curriculum_practice_nightly</text>
|
|
175
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-577.23" font-family="sans-Serif" font-size="11.00" fill="#0f172a">0 3 * * *  OFF</text>
|
|
176
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-563.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Curriculum.practice(limit:3)</text>
|
|
177
177
|
</g>
|
|
178
178
|
<!-- Ruby->Practice -->
|
|
179
|
-
<g id="
|
|
179
|
+
<g id="edge13" class="edge">
|
|
180
180
|
<title>Ruby->Practice</title>
|
|
181
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
182
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
181
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M954.9,-423.57C965.86,-428.39 976.91,-434.17 986.5,-440.93 1033.84,-474.28 1024.7,-506.76 1073.5,-537.93 1091.12,-549.18 1111.85,-557.64 1131.9,-563.94"/>
|
|
182
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="1131.01,-566.59 1139.47,-566.2 1132.61,-561.23 1131.01,-566.59"/>
|
|
183
183
|
</g>
|
|
184
184
|
<!-- Offline -->
|
|
185
185
|
<g id="node11" class="node">
|
|
186
186
|
<title>Offline</title>
|
|
187
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="
|
|
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="
|
|
187
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M1269,-520.18C1269,-520.18 1160.75,-520.18 1160.75,-520.18 1154.75,-520.18 1148.75,-514.18 1148.75,-508.18 1148.75,-508.18 1148.75,-483.68 1148.75,-483.68 1148.75,-477.68 1154.75,-471.68 1160.75,-471.68 1160.75,-471.68 1269,-471.68 1269,-471.68 1275,-471.68 1281,-477.68 1281,-483.68 1281,-483.68 1281,-508.18 1281,-508.18 1281,-514.18 1275,-520.18 1269,-520.18"/>
|
|
188
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-505.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">curriculum_offline_judge</text>
|
|
189
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-492.23" font-family="sans-Serif" font-size="11.00" fill="#0f172a">30 3 * * *  OFF</text>
|
|
190
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-478.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Curriculum.offline_judge</text>
|
|
191
191
|
</g>
|
|
192
192
|
<!-- Ruby->Offline -->
|
|
193
|
-
<g id="
|
|
193
|
+
<g id="edge14" class="edge">
|
|
194
194
|
<title>Ruby->Offline</title>
|
|
195
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
196
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
195
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M962.98,-423.57C1014,-438.28 1085.28,-458.84 1138.82,-474.28"/>
|
|
196
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="1137.92,-476.94 1146.38,-476.46 1139.47,-471.56 1137.92,-476.94"/>
|
|
197
197
|
</g>
|
|
198
198
|
<!-- Train -->
|
|
199
199
|
<g id="node12" class="node">
|
|
200
200
|
<title>Train</title>
|
|
201
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="
|
|
202
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
203
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
204
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
205
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
201
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M1274.62,-435.93C1274.62,-435.93 1155.12,-435.93 1155.12,-435.93 1149.12,-435.93 1143.12,-429.93 1143.12,-423.93 1143.12,-423.93 1143.12,-385.93 1143.12,-385.93 1143.12,-379.93 1149.12,-373.93 1155.12,-373.93 1155.12,-373.93 1274.62,-373.93 1274.62,-373.93 1280.62,-373.93 1286.62,-379.93 1286.62,-385.93 1286.62,-385.93 1286.62,-423.93 1286.62,-423.93 1286.62,-429.93 1280.62,-435.93 1274.62,-435.93"/>
|
|
202
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-421.48" font-family="sans-Serif" font-size="11.00" fill="#0f172a">curriculum_train_weekly</text>
|
|
203
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-407.98" font-family="sans-Serif" font-size="11.00" fill="#0f172a">0 4 * * 0  OFF</text>
|
|
204
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-394.48" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Curriculum.train_and_gate</text>
|
|
205
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-380.98" font-family="sans-Serif" font-size="11.00" fill="#0f172a">(dry_run / export_ready)</text>
|
|
206
206
|
</g>
|
|
207
207
|
<!-- Ruby->Train -->
|
|
208
|
-
<g id="
|
|
208
|
+
<g id="edge15" class="edge">
|
|
209
209
|
<title>Ruby->Train</title>
|
|
210
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
211
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
210
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M978.81,-404.93C1025.93,-404.93 1085.29,-404.93 1132.57,-404.93"/>
|
|
211
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="1132.5,-407.73 1140.5,-404.93 1132.5,-402.13 1132.5,-407.73"/>
|
|
212
212
|
</g>
|
|
213
213
|
<!-- MemGC -->
|
|
214
214
|
<g id="node13" class="node">
|
|
215
215
|
<title>MemGC</title>
|
|
216
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="
|
|
217
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
218
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
219
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
216
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M1278.38,-338.18C1278.38,-338.18 1151.38,-338.18 1151.38,-338.18 1145.38,-338.18 1139.38,-332.18 1139.38,-326.18 1139.38,-326.18 1139.38,-301.68 1139.38,-301.68 1139.38,-295.68 1145.38,-289.68 1151.38,-289.68 1151.38,-289.68 1278.38,-289.68 1278.38,-289.68 1284.38,-289.68 1290.38,-295.68 1290.38,-301.68 1290.38,-301.68 1290.38,-326.18 1290.38,-326.18 1290.38,-332.18 1284.38,-338.18 1278.38,-338.18"/>
|
|
217
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-323.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">learning_consolidate_nightly</text>
|
|
218
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-310.23" font-family="sans-Serif" font-size="11.00" fill="#0f172a">0 5 * * *  ON</text>
|
|
219
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-296.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Learning.consolidate</text>
|
|
220
220
|
</g>
|
|
221
221
|
<!-- Ruby->MemGC -->
|
|
222
|
-
<g id="
|
|
222
|
+
<g id="edge16" class="edge">
|
|
223
223
|
<title>Ruby->MemGC</title>
|
|
224
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
225
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
224
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M962.98,-386.3C1011.11,-372.41 1077.26,-353.33 1129.56,-338.25"/>
|
|
225
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="1130.02,-341.03 1136.93,-336.12 1128.47,-335.65 1130.02,-341.03"/>
|
|
226
226
|
</g>
|
|
227
227
|
<!-- Lean -->
|
|
228
228
|
<g id="node14" class="node">
|
|
229
229
|
<title>Lean</title>
|
|
230
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="
|
|
231
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
232
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
233
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
230
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M1270.12,-253.18C1270.12,-253.18 1159.62,-253.18 1159.62,-253.18 1153.62,-253.18 1147.62,-247.18 1147.62,-241.18 1147.62,-241.18 1147.62,-216.68 1147.62,-216.68 1147.62,-210.68 1153.62,-204.68 1159.62,-204.68 1159.62,-204.68 1270.12,-204.68 1270.12,-204.68 1276.12,-204.68 1282.12,-210.68 1282.12,-216.68 1282.12,-216.68 1282.12,-241.18 1282.12,-241.18 1282.12,-247.18 1276.12,-253.18 1270.12,-253.18"/>
|
|
231
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-238.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">pwn_stores_lean_nightly</text>
|
|
232
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-225.23" font-family="sans-Serif" font-size="11.00" fill="#0f172a">15 5 * * *  ON</text>
|
|
233
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-211.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Learning.gc_stores!</text>
|
|
234
234
|
</g>
|
|
235
235
|
<!-- Ruby->Lean -->
|
|
236
|
-
<g id="
|
|
236
|
+
<g id="edge17" class="edge">
|
|
237
237
|
<title>Ruby->Lean</title>
|
|
238
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
239
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
238
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M917.81,-386.42C948.55,-358.06 1011.32,-303.78 1073.5,-271.93 1093.46,-261.71 1116.28,-253.43 1137.64,-246.97"/>
|
|
239
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="1138.23,-249.72 1145.12,-244.78 1136.65,-244.34 1138.23,-249.72"/>
|
|
240
|
+
</g>
|
|
241
|
+
<!-- Cleanup -->
|
|
242
|
+
<g id="node15" class="node">
|
|
243
|
+
<title>Cleanup</title>
|
|
244
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M1295.25,-168.18C1295.25,-168.18 1134.5,-168.18 1134.5,-168.18 1128.5,-168.18 1122.5,-162.18 1122.5,-156.18 1122.5,-156.18 1122.5,-131.68 1122.5,-131.68 1122.5,-125.68 1128.5,-119.68 1134.5,-119.68 1134.5,-119.68 1295.25,-119.68 1295.25,-119.68 1301.25,-119.68 1307.25,-125.68 1307.25,-131.68 1307.25,-131.68 1307.25,-156.18 1307.25,-156.18 1307.25,-162.18 1301.25,-168.18 1295.25,-168.18"/>
|
|
245
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-153.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">session_cleanup</text>
|
|
246
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-140.23" font-family="sans-Serif" font-size="11.00" fill="#0f172a">45 3 * * * ON</text>
|
|
247
|
+
<text xml:space="preserve" text-anchor="middle" x="1214.88" y="-126.73" font-family="sans-Serif" font-size="11.00" fill="#0f172a">leases / pins / backup before delete</text>
|
|
248
|
+
</g>
|
|
249
|
+
<!-- Ruby->Cleanup -->
|
|
250
|
+
<g id="edge1" class="edge">
|
|
251
|
+
<title>Ruby->Cleanup</title>
|
|
252
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M908.19,-386.46C931.29,-344.73 993.27,-242.56 1073.5,-187.93 1085.45,-179.8 1098.98,-173.11 1112.8,-167.62"/>
|
|
253
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="1113.57,-170.32 1120.07,-164.88 1111.6,-165.08 1113.57,-170.32"/>
|
|
240
254
|
</g>
|
|
241
255
|
<!-- Ruby->Log -->
|
|
242
|
-
<g id="
|
|
256
|
+
<g id="edge19" class="edge">
|
|
243
257
|
<title>Ruby->Log</title>
|
|
244
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
245
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
258
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M906.06,-386.62C931.86,-326.11 1016.93,-134.58 1073.5,-101.93 1182.73,-38.9 1253.69,-29.97 1357.25,-101.93 1493.34,-196.5 1514.17,-419.84 1517.06,-505.58"/>
|
|
259
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1514.25,-505.45 1517.27,-513.37 1519.85,-505.3 1514.25,-505.45"/>
|
|
246
260
|
</g>
|
|
247
261
|
<!-- Script->Log -->
|
|
248
|
-
<g id="
|
|
262
|
+
<g id="edge20" class="edge">
|
|
249
263
|
<title>Script->Log</title>
|
|
250
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
251
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
264
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M909.46,-567.5C964.23,-656.99 1211.17,-1033.8 1405.25,-891.93 1457.76,-853.55 1497.45,-655.03 1511.67,-574.22"/>
|
|
265
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1514.41,-574.81 1513.02,-566.45 1508.89,-573.86 1514.41,-574.81"/>
|
|
252
266
|
</g>
|
|
253
267
|
<!-- Practice->Log -->
|
|
254
|
-
<g id="
|
|
268
|
+
<g id="edge22" class="edge">
|
|
255
269
|
<title>Practice->Log</title>
|
|
256
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
257
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
270
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M1220.86,-605.77C1238.37,-687.36 1301.6,-937.75 1405.25,-863.93 1500.02,-796.44 1515.44,-643.12 1517.43,-574.39"/>
|
|
271
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="1520.23,-574.52 1517.6,-566.47 1514.63,-574.4 1520.23,-574.52"/>
|
|
258
272
|
</g>
|
|
259
273
|
<!-- Offline->Log -->
|
|
260
|
-
<g id="
|
|
274
|
+
<g id="edge23" class="edge">
|
|
261
275
|
<title>Offline->Log</title>
|
|
262
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
263
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
276
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M1281.39,-500.87C1308.6,-506.31 1338.21,-517.24 1357.25,-538.93 1441.07,-634.43 1307.3,-738.8 1404.25,-820.93 1487.42,-891.39 1510.07,-663.57 1515.68,-574.27"/>
|
|
277
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="1518.46,-574.7 1516.14,-566.55 1512.87,-574.37 1518.46,-574.7"/>
|
|
264
278
|
</g>
|
|
265
279
|
<!-- Train->Log -->
|
|
266
|
-
<g id="
|
|
280
|
+
<g id="edge24" class="edge">
|
|
267
281
|
<title>Train->Log</title>
|
|
268
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
269
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
282
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M1287.28,-414.02C1312.97,-420.88 1339.88,-432.91 1357.25,-453.93 1449.94,-566.1 1294.22,-682.71 1404.25,-777.93 1474.5,-838.72 1504.48,-653.32 1513.88,-574.05"/>
|
|
283
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="1516.62,-574.71 1514.75,-566.44 1511.05,-574.07 1516.62,-574.71"/>
|
|
270
284
|
</g>
|
|
271
285
|
<!-- MemGC->Log -->
|
|
272
|
-
<g id="
|
|
286
|
+
<g id="edge25" class="edge">
|
|
273
287
|
<title>MemGC->Log</title>
|
|
274
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
275
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
288
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M1290.95,-319.95C1315.51,-325.71 1340.7,-336.39 1357.25,-355.93 1466.95,-485.46 1277.06,-622.54 1404.25,-734.93 1462.11,-786.06 1497.98,-642.56 1511.39,-574.06"/>
|
|
289
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="1514.09,-574.84 1512.83,-566.46 1508.59,-573.79 1514.09,-574.84"/>
|
|
276
290
|
</g>
|
|
277
291
|
<!-- Lean->Log -->
|
|
278
|
-
<g id="
|
|
292
|
+
<g id="edge26" class="edge">
|
|
279
293
|
<title>Lean->Log</title>
|
|
280
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
281
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
294
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M1282.55,-238.66C1307.91,-244.93 1335.83,-255.18 1357.25,-271.93 1437.36,-334.59 1486.06,-449.38 1506.36,-506.21"/>
|
|
295
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="1503.66,-506.99 1508.95,-513.62 1508.95,-505.14 1503.66,-506.99"/>
|
|
296
|
+
</g>
|
|
297
|
+
<!-- Cleanup->Log -->
|
|
298
|
+
<g id="edge2" class="edge">
|
|
299
|
+
<title>Cleanup->Log</title>
|
|
300
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M1307.74,-160.21C1325.63,-166.61 1343.18,-175.52 1357.25,-187.93 1456.11,-275.13 1497.52,-435.63 1511.45,-505.7"/>
|
|
301
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="1508.67,-506.1 1512.93,-513.43 1514.17,-505.05 1508.67,-506.1"/>
|
|
282
302
|
</g>
|
|
283
303
|
<!-- Log->Jobs -->
|
|
284
|
-
<g id="
|
|
304
|
+
<g id="edge21" class="edge">
|
|
285
305
|
<title>Log->Jobs</title>
|
|
286
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
287
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="449.85,-
|
|
288
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
306
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M1513.67,-515.3C1499.08,-422.14 1442.16,-93.91 1357.25,-41.93 1249.69,23.91 1191.62,2.23 1073.5,-41.93 820.32,-136.59 811.21,-255.55 614.5,-440.93 592.77,-461.41 594.67,-476.55 567.5,-488.93 530.84,-505.64 485.78,-508.63 449.32,-507.32"/>
|
|
307
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="449.85,-504.55 441.73,-506.97 449.59,-510.14 449.85,-504.55"/>
|
|
308
|
+
<text xml:space="preserve" text-anchor="middle" x="897.38" y="-225.59" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">update status</text>
|
|
289
309
|
</g>
|
|
290
310
|
</g>
|
|
291
311
|
</svg>
|