pwn 0.5.615 → 0.5.618
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +109 -85
- data/README.md.bak +200 -0
- data/bin/pwn +47 -2
- data/bin/pwn_gqrx_scanner +75 -18
- data/documentation/AI-Integration.md +42 -26
- data/documentation/AWS.md +57 -0
- data/documentation/Agent-Tool-Registry.md +56 -0
- data/documentation/Banner.md +17 -0
- data/documentation/Blockchain.md +18 -0
- data/documentation/Bounty.md +21 -0
- data/documentation/BurpSuite.md +41 -16
- data/documentation/CLI-Drivers.md +58 -0
- data/documentation/Configuration.md +66 -0
- data/documentation/Contributing.md +33 -19
- data/documentation/Cron.md +47 -0
- data/documentation/Diagrams.md +123 -40
- data/documentation/Drivers.md +43 -16
- data/documentation/Extrospection.md +54 -0
- data/documentation/FFI.md +14 -0
- data/documentation/Fuzzing.md +36 -0
- data/documentation/General-PWN-Usage.md +50 -30
- data/documentation/Hardware.md +40 -0
- data/documentation/Home.md +78 -51
- data/documentation/How-PWN-Works.md +59 -57
- data/documentation/Installation.md +53 -28
- data/documentation/Metasploit.md +34 -0
- data/documentation/NmapIt.md +18 -12
- data/documentation/PWN.png +0 -0
- data/documentation/PWN_Contributors_and_Users.png +0 -0
- data/documentation/Persistence.md +38 -0
- data/documentation/Plugins.md +97 -47
- data/documentation/Reporting.md +25 -18
- data/documentation/SAST.md +39 -22
- data/documentation/SDR.md +40 -0
- data/documentation/Sessions.md +39 -0
- data/documentation/Skills-Memory-Learning.md +49 -29
- data/documentation/Swarm.md +71 -0
- data/documentation/Transparent-Browser.md +26 -22
- data/documentation/Troubleshooting.md +44 -25
- data/documentation/WWW.md +32 -0
- data/documentation/What-is-PWN.md +51 -32
- data/documentation/Why-PWN.md +41 -11
- data/documentation/diagrams/agent-tool-registry.svg +284 -0
- data/documentation/diagrams/ai-integration-tool-calling.svg +141 -103
- data/documentation/diagrams/aws-cloud-security.svg +166 -0
- data/documentation/diagrams/build.sh +20 -0
- data/documentation/diagrams/burp-vs-zap-preference.svg +47 -62
- data/documentation/diagrams/code-scanning-sast.svg +139 -79
- data/documentation/diagrams/cron-scheduling.svg +148 -0
- data/documentation/diagrams/dot/_THEME.md +27 -0
- data/documentation/diagrams/dot/agent-tool-registry.dot +59 -0
- data/documentation/diagrams/dot/ai-integration-tool-calling.dot +47 -20
- data/documentation/diagrams/dot/aws-cloud-security.dot +48 -0
- data/documentation/diagrams/dot/burp-vs-zap-preference.dot +23 -12
- data/documentation/diagrams/dot/code-scanning-sast.dot +46 -18
- data/documentation/diagrams/dot/cron-scheduling.dot +40 -0
- data/documentation/diagrams/dot/driver-framework.dot +36 -14
- data/documentation/diagrams/dot/extrospection-world-awareness.dot +55 -0
- data/documentation/diagrams/dot/fuzzing-workflow.dot +44 -24
- data/documentation/diagrams/dot/hardware-hacking.dot +48 -0
- data/documentation/diagrams/dot/history-to-drivers.dot +31 -17
- data/documentation/diagrams/dot/memory-skills-detailed.dot +57 -25
- data/documentation/diagrams/dot/network-infra-testing.dot +51 -19
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +110 -44
- data/documentation/diagrams/dot/penetration-testing-workflow.dot +56 -25
- data/documentation/diagrams/dot/persistence-filesystem.dot +29 -0
- data/documentation/diagrams/dot/plugin-ecosystem.dot +41 -27
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +87 -46
- data/documentation/diagrams/dot/pwn-repl-prototyping.dot +49 -30
- data/documentation/diagrams/dot/reporting-pipeline.dot +43 -14
- data/documentation/diagrams/dot/reverse-engineering-flow.dot +40 -18
- data/documentation/diagrams/dot/sdr-radio-flow.dot +45 -0
- data/documentation/diagrams/dot/sessions-cron-automation.dot +41 -14
- data/documentation/diagrams/dot/swarm-multi-agent.dot +70 -0
- data/documentation/diagrams/dot/web-application-testing.dot +45 -23
- data/documentation/diagrams/dot/zero-day-research-flow.dot +46 -24
- data/documentation/diagrams/driver-framework.svg +87 -66
- data/documentation/diagrams/extrospection-world-awareness.svg +185 -0
- data/documentation/diagrams/fuzzing-workflow.svg +128 -115
- data/documentation/diagrams/hardware-hacking.svg +163 -0
- data/documentation/diagrams/history-to-drivers.svg +84 -82
- data/documentation/diagrams/memory-skills-detailed.svg +167 -119
- data/documentation/diagrams/network-infra-testing.svg +146 -84
- data/documentation/diagrams/overall-pwn-architecture.svg +356 -185
- data/documentation/diagrams/penetration-testing-workflow.svg +161 -108
- data/documentation/diagrams/persistence-filesystem.svg +174 -0
- data/documentation/diagrams/plugin-ecosystem.svg +225 -121
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +257 -185
- data/documentation/diagrams/pwn-repl-prototyping.svg +126 -137
- data/documentation/diagrams/reporting-pipeline.svg +128 -68
- data/documentation/diagrams/reverse-engineering-flow.svg +100 -80
- data/documentation/diagrams/sdr-radio-flow.svg +146 -0
- data/documentation/diagrams/sessions-cron-automation.svg +112 -68
- data/documentation/diagrams/swarm-multi-agent.svg +225 -0
- data/documentation/diagrams/web-application-testing.svg +136 -100
- data/documentation/diagrams/zero-day-research-flow.svg +116 -112
- data/documentation/fax-spectrogram.png +0 -0
- data/documentation/fax-waveform.png +0 -0
- data/documentation/pwn-REPL.md +40 -24
- data/documentation/pwn-ai-Agent.md +59 -30
- data/documentation/pwn_android_war_dialer_session.png +0 -0
- data/documentation/pwn_install.png +0 -0
- data/documentation/pwn_wallpaper.jpg +0 -0
- data/documentation/ringing-spectrogram.png +0 -0
- data/documentation/ringing-waveform.png +0 -0
- data/git_commit.sh +1 -1
- data/lib/pwn/ai/agent/assembly.rb +1 -1
- data/lib/pwn/ai/agent/btc.rb +1 -1
- data/lib/pwn/ai/agent/burp_suite.rb +1 -1
- data/lib/pwn/ai/agent/extrospection.rb +618 -0
- data/lib/pwn/ai/agent/gqrx.rb +2 -2
- data/lib/pwn/ai/agent/hacker_one.rb +1 -1
- data/lib/pwn/ai/agent/introspection.rb +91 -0
- data/lib/pwn/ai/agent/learning.rb +6 -4
- data/lib/pwn/ai/agent/loop.rb +15 -0
- data/lib/pwn/ai/agent/prompt_builder.rb +10 -1
- data/lib/pwn/ai/agent/sast.rb +1 -1
- data/lib/pwn/ai/agent/swarm.rb +437 -0
- data/lib/pwn/ai/agent/tools/cron.rb +163 -0
- data/lib/pwn/ai/agent/tools/extrospection.rb +280 -0
- data/lib/pwn/ai/agent/tools/learning.rb +108 -0
- data/lib/pwn/ai/agent/tools/memory.rb +27 -0
- data/lib/pwn/ai/agent/tools/metrics.rb +61 -0
- data/lib/pwn/ai/agent/tools/sessions.rb +139 -0
- data/lib/pwn/ai/agent/tools/skills.rb +30 -0
- data/lib/pwn/ai/agent/tools/swarm.rb +229 -0
- data/lib/pwn/ai/agent/transparent_browser.rb +1 -1
- data/lib/pwn/ai/agent/vuln_gen.rb +2 -2
- data/lib/pwn/ai/agent.rb +3 -0
- data/lib/pwn/ai/anthropic.rb +19 -4
- data/lib/pwn/ai.rb +0 -1
- data/lib/pwn/config.rb +10 -23
- data/lib/pwn/cron.rb +16 -7
- data/lib/pwn/plugins/repl.rb +90 -281
- data/lib/pwn/sdr/decoder/base.rb +251 -0
- data/lib/pwn/sdr/decoder/gsm.rb +84 -185
- data/lib/pwn/sdr/decoder/pocsag.rb +62 -217
- data/lib/pwn/sdr/decoder.rb +1 -0
- data/lib/pwn/sdr/gqrx.rb +446 -65
- data/lib/pwn/version.rb +1 -1
- data/spec/lib/pwn/ai/agent/extrospection_spec.rb +15 -0
- data/spec/lib/pwn/ai/agent/introspection_spec.rb +15 -0
- data/spec/lib/pwn/ai/agent/swarm_spec.rb +34 -0
- data/spec/lib/pwn/ai/agent/tools/cron_spec.rb +40 -0
- data/spec/lib/pwn/ai/agent/tools/extrospection_spec.rb +40 -0
- data/spec/lib/pwn/ai/agent/tools/metrics_spec.rb +20 -0
- data/spec/lib/pwn/ai/agent/tools/sessions_spec.rb +35 -0
- data/spec/lib/pwn/ai/agent/tools/swarm_spec.rb +17 -0
- data/spec/lib/pwn/{ai/introspection_spec.rb → sdr/decoder/base_spec.rb} +3 -3
- data/third_party/pwn_rdoc.jsonl +199 -37
- metadata +65 -3
- data/lib/pwn/ai/introspection.rb +0 -76
|
@@ -3,232 +3,304 @@
|
|
|
3
3
|
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
4
4
|
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
5
|
-->
|
|
6
|
-
<!-- Title:
|
|
7
|
-
<svg width="
|
|
8
|
-
viewBox="0.00 0.00
|
|
9
|
-
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(
|
|
10
|
-
<title>
|
|
11
|
-
<polygon fill="
|
|
12
|
-
<
|
|
13
|
-
<
|
|
14
|
-
<
|
|
15
|
-
<
|
|
6
|
+
<!-- Title: PWN_AI_Feedback_Learning_Loop Pages: 1 -->
|
|
7
|
+
<svg width="1195pt" height="689pt"
|
|
8
|
+
viewBox="0.00 0.00 1195.00 689.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 645.45)">
|
|
10
|
+
<title>PWN_AI_Feedback_Learning_Loop</title>
|
|
11
|
+
<polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-645.45 1152.12,-645.45 1152.12,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="360.96" y="-580.25" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">pwn-ai — Closed Self-Improvement Loop</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="445.34" y="-568.8" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">Introspection (self)  ⟷  Extrospection (world)</text>
|
|
14
|
+
<g id="clust2" class="cluster">
|
|
15
|
+
<title>cluster_core</title>
|
|
16
|
+
<path fill="#2e1065" stroke="#6d28d9" stroke-width="2" d="M120,-389.5C120,-389.5 500,-389.5 500,-389.5 506,-389.5 512,-395.5 512,-401.5 512,-401.5 512,-460.75 512,-460.75 512,-466.75 506,-472.75 500,-472.75 500,-472.75 120,-472.75 120,-472.75 114,-472.75 108,-466.75 108,-460.75 108,-460.75 108,-401.5 108,-401.5 108,-395.5 114,-389.5 120,-389.5"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="310" y="-449.75" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">PWN::AI::Agent::Loop</text>
|
|
18
|
+
</g>
|
|
19
|
+
<g id="clust4" class="cluster">
|
|
20
|
+
<title>cluster_intro</title>
|
|
21
|
+
<path fill="#022c22" stroke="#047857" stroke-width="2" d="M357,-247.25C357,-247.25 656,-247.25 656,-247.25 662,-247.25 668,-253.25 668,-259.25 668,-259.25 668,-331 668,-331 668,-337 662,-343 656,-343 656,-343 357,-343 357,-343 351,-343 345,-337 345,-331 345,-331 345,-259.25 345,-259.25 345,-253.25 351,-247.25 357,-247.25"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="506.5" y="-320" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">INTROSPECTION  (self)</text>
|
|
23
|
+
</g>
|
|
24
|
+
<g id="clust5" class="cluster">
|
|
25
|
+
<title>cluster_extro</title>
|
|
26
|
+
<path fill="#422006" stroke="#a16207" stroke-width="2" d="M20,-253.5C20,-253.5 304,-253.5 304,-253.5 310,-253.5 316,-259.5 316,-265.5 316,-265.5 316,-324.75 316,-324.75 316,-330.75 310,-336.75 304,-336.75 304,-336.75 20,-336.75 20,-336.75 14,-336.75 8,-330.75 8,-324.75 8,-324.75 8,-265.5 8,-265.5 8,-259.5 14,-253.5 20,-253.5"/>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="162" y="-313.75" font-family="sans-Serif" font-size="20.00" fill="#fde68a">EXTROSPECTION  (world)</text>
|
|
28
|
+
</g>
|
|
29
|
+
<g id="clust7" class="cluster">
|
|
30
|
+
<title>cluster_store</title>
|
|
31
|
+
<path fill="#1e293b" stroke="#334155" stroke-dasharray="5,2" d="M199,-8C199,-8 759,-8 759,-8 765,-8 771,-14 771,-20 771,-20 771,-79.25 771,-79.25 771,-85.25 765,-91.25 759,-91.25 759,-91.25 199,-91.25 199,-91.25 193,-91.25 187,-85.25 187,-79.25 187,-79.25 187,-20 187,-20 187,-14 193,-8 199,-8"/>
|
|
32
|
+
<text xml:space="preserve" text-anchor="middle" x="479" y="-68.25" font-family="sans-Serif" font-size="20.00" fill="#94a3b8">~/.pwn/</text>
|
|
16
33
|
</g>
|
|
17
34
|
<!-- User -->
|
|
18
35
|
<g id="node1" class="node">
|
|
19
36
|
<title>User</title>
|
|
20
|
-
<path fill="
|
|
21
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
22
|
-
<text xml:space="preserve" text-anchor="middle" x="52.62" y="-233.35" font-family="Arial" font-size="10.00">(User / pwn-ai)</text>
|
|
37
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M192.88,-563.25C192.88,-563.25 125.12,-563.25 125.12,-563.25 119.12,-563.25 113.12,-557.25 113.12,-551.25 113.12,-551.25 113.12,-539.25 113.12,-539.25 113.12,-533.25 119.12,-527.25 125.12,-527.25 125.12,-527.25 192.88,-527.25 192.88,-527.25 198.88,-527.25 204.88,-533.25 204.88,-539.25 204.88,-539.25 204.88,-551.25 204.88,-551.25 204.88,-557.25 198.88,-563.25 192.88,-563.25"/>
|
|
38
|
+
<text xml:space="preserve" text-anchor="middle" x="159" y="-541.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">👤  Researcher</text>
|
|
23
39
|
</g>
|
|
24
|
-
<!--
|
|
25
|
-
<g id="
|
|
26
|
-
<title>
|
|
27
|
-
<
|
|
28
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
29
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
40
|
+
<!-- Prompt -->
|
|
41
|
+
<g id="node4" class="node">
|
|
42
|
+
<title>Prompt</title>
|
|
43
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M189.5,-433.5C189.5,-433.5 128.5,-433.5 128.5,-433.5 122.5,-433.5 116.5,-427.5 116.5,-421.5 116.5,-421.5 116.5,-409.5 116.5,-409.5 116.5,-403.5 122.5,-397.5 128.5,-397.5 128.5,-397.5 189.5,-397.5 189.5,-397.5 195.5,-397.5 201.5,-403.5 201.5,-409.5 201.5,-409.5 201.5,-421.5 201.5,-421.5 201.5,-427.5 195.5,-433.5 189.5,-433.5"/>
|
|
44
|
+
<text xml:space="preserve" text-anchor="middle" x="159" y="-418.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">PromptBuilder</text>
|
|
45
|
+
<text xml:space="preserve" text-anchor="middle" x="159" y="-405.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">inject context</text>
|
|
30
46
|
</g>
|
|
31
|
-
<!-- User->
|
|
47
|
+
<!-- User->Prompt -->
|
|
32
48
|
<g id="edge1" class="edge">
|
|
33
|
-
<title>User->
|
|
34
|
-
<path fill="none" stroke="
|
|
35
|
-
<polygon fill="
|
|
36
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
37
|
-
<text xml:space="preserve" text-anchor="middle" x="293.62" y="-332.43" font-family="Arial" font-size="9.00">(e.g. scan + exploit + report)</text>
|
|
38
|
-
</g>
|
|
39
|
-
<!-- History -->
|
|
40
|
-
<g id="node10" class="node">
|
|
41
|
-
<title>History</title>
|
|
42
|
-
<path fill="none" stroke="black" d="M160.25,-150.11C160.25,-152.32 143.39,-154.11 122.62,-154.11 101.86,-154.11 85,-152.32 85,-150.11 85,-150.11 85,-114.11 85,-114.11 85,-111.91 101.86,-110.11 122.62,-110.11 143.39,-110.11 160.25,-111.91 160.25,-114.11 160.25,-114.11 160.25,-150.11 160.25,-150.11"/>
|
|
43
|
-
<path fill="none" stroke="black" d="M160.25,-150.11C160.25,-147.91 143.39,-146.11 122.62,-146.11 101.86,-146.11 85,-147.91 85,-150.11"/>
|
|
44
|
-
<text xml:space="preserve" text-anchor="middle" x="122.62" y="-134.61" font-family="Arial" font-size="10.00">Pry History /</text>
|
|
45
|
-
<text xml:space="preserve" text-anchor="middle" x="122.62" y="-122.61" font-family="Arial" font-size="10.00">Session Logs</text>
|
|
46
|
-
</g>
|
|
47
|
-
<!-- User->History -->
|
|
48
|
-
<g id="edge16" class="edge">
|
|
49
|
-
<title>User->History</title>
|
|
50
|
-
<path fill="none" stroke="black" d="M33.61,-224.43C22.5,-212.08 12.25,-195.26 21.12,-181.23 32.87,-162.66 53.93,-151.12 73.83,-144.01"/>
|
|
51
|
-
<polygon fill="black" stroke="black" points="74.82,-147.37 83.26,-140.97 72.67,-140.71 74.82,-147.37"/>
|
|
52
|
-
<text xml:space="preserve" text-anchor="middle" x="60.88" y="-193.68" font-family="Arial" font-size="9.00">history command to</text>
|
|
53
|
-
<text xml:space="preserve" text-anchor="middle" x="60.88" y="-183.18" font-family="Arial" font-size="9.00">inspect previous</text>
|
|
49
|
+
<title>User->Prompt</title>
|
|
50
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M159,-526.75C159,-505.75 159,-470.24 159,-445.2"/>
|
|
51
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="161.8,-445.22 159,-437.22 156.2,-445.22 161.8,-445.22"/>
|
|
52
|
+
<text xml:space="preserve" text-anchor="middle" x="167.25" y="-482.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">task</text>
|
|
54
53
|
</g>
|
|
55
54
|
<!-- LLM -->
|
|
56
55
|
<g id="node2" class="node">
|
|
57
56
|
<title>LLM</title>
|
|
58
|
-
<path fill="
|
|
59
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
60
|
-
<text xml:space="preserve" text-anchor="middle" x="650.62" y="-239.35" font-family="Arial" font-size="10.00">(Grok/OAuth, OpenAI,</text>
|
|
61
|
-
<text xml:space="preserve" text-anchor="middle" x="650.62" y="-227.35" font-family="Arial" font-size="10.00">Anthropic, Gemini, Ollama)</text>
|
|
57
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M593,-563.25C593,-563.25 517,-563.25 517,-563.25 511,-563.25 505,-557.25 505,-551.25 505,-551.25 505,-539.25 505,-539.25 505,-533.25 511,-527.25 517,-527.25 517,-527.25 593,-527.25 593,-527.25 599,-527.25 605,-533.25 605,-539.25 605,-539.25 605,-551.25 605,-551.25 605,-557.25 599,-563.25 593,-563.25"/>
|
|
58
|
+
<text xml:space="preserve" text-anchor="middle" x="555" y="-541.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">🤖  LLM Provider</text>
|
|
62
59
|
</g>
|
|
63
|
-
<!--
|
|
64
|
-
<g id="
|
|
65
|
-
<title>
|
|
66
|
-
<
|
|
67
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
68
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
69
|
-
<text xml:space="preserve" text-anchor="middle" x="474.62" y="-116.61" font-family="Arial" font-size="10.00">skill_list, etc.)</text>
|
|
70
|
-
</g>
|
|
71
|
-
<!-- LLM->ToolCall -->
|
|
72
|
-
<g id="edge6" class="edge">
|
|
73
|
-
<title>LLM->ToolCall</title>
|
|
74
|
-
<path fill="none" stroke="black" d="M673.74,-220.48C684.11,-208.31 692.11,-193.15 682.62,-181.23 668.37,-163.3 619.4,-151.47 572.56,-144.02"/>
|
|
75
|
-
<polygon fill="black" stroke="black" points="573.26,-140.59 562.85,-142.54 572.2,-147.51 573.26,-140.59"/>
|
|
76
|
-
<text xml:space="preserve" text-anchor="middle" x="710.1" y="-188.43" font-family="Arial" font-size="9.00">Responses</text>
|
|
77
|
-
</g>
|
|
78
|
-
<!-- PwnAI->User -->
|
|
79
|
-
<g id="edge18" class="edge">
|
|
80
|
-
<title>PwnAI->User</title>
|
|
81
|
-
<path fill="none" stroke="black" d="M444.57,-265.15C424.25,-283.98 392.24,-309.56 358.62,-320.38 300.66,-339.02 281.11,-333.37 221.62,-320.38 174.75,-310.14 125.34,-285.66 92.14,-266.92"/>
|
|
82
|
-
<polygon fill="black" stroke="black" points="94.1,-264.02 83.69,-262.07 90.62,-270.09 94.1,-264.02"/>
|
|
83
|
-
<text xml:space="preserve" text-anchor="middle" x="177.62" y="-337.68" font-family="Arial" font-size="9.00">Results, reports, next steps</text>
|
|
60
|
+
<!-- Dispatch -->
|
|
61
|
+
<g id="node5" class="node">
|
|
62
|
+
<title>Dispatch</title>
|
|
63
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M333,-433.5C333,-433.5 299,-433.5 299,-433.5 293,-433.5 287,-427.5 287,-421.5 287,-421.5 287,-409.5 287,-409.5 287,-403.5 293,-397.5 299,-397.5 299,-397.5 333,-397.5 333,-397.5 339,-397.5 345,-403.5 345,-409.5 345,-409.5 345,-421.5 345,-421.5 345,-427.5 339,-433.5 333,-433.5"/>
|
|
64
|
+
<text xml:space="preserve" text-anchor="middle" x="316" y="-418.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Dispatch</text>
|
|
65
|
+
<text xml:space="preserve" text-anchor="middle" x="316" y="-405.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">tool calls</text>
|
|
84
66
|
</g>
|
|
85
|
-
<!--
|
|
67
|
+
<!-- LLM->Dispatch -->
|
|
86
68
|
<g id="edge2" class="edge">
|
|
87
|
-
<title>
|
|
88
|
-
<path fill="none" stroke="
|
|
89
|
-
<polygon fill="
|
|
90
|
-
<
|
|
69
|
+
<title>LLM->Dispatch</title>
|
|
70
|
+
<path fill="none" stroke="#a78bfa" stroke-width="2" d="M506.92,-522.02C478.18,-508.41 441.13,-490.29 409,-472.75 390.13,-462.45 369.65,-450.18 352.71,-439.73"/>
|
|
71
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="2" points="505.55,-524.47 513.98,-525.35 507.94,-519.41 505.55,-524.47"/>
|
|
72
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="2" points="354.55,-437.58 346.28,-435.74 351.6,-442.34 354.55,-437.58"/>
|
|
73
|
+
<text xml:space="preserve" text-anchor="middle" x="460" y="-482.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">tool_calls</text>
|
|
91
74
|
</g>
|
|
92
|
-
<!--
|
|
93
|
-
<g id="
|
|
94
|
-
<title>
|
|
95
|
-
<path fill="
|
|
96
|
-
<
|
|
97
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
75
|
+
<!-- World -->
|
|
76
|
+
<g id="node3" class="node">
|
|
77
|
+
<title>World</title>
|
|
78
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.4" d="M434.75,-563.25C434.75,-563.25 339.25,-563.25 339.25,-563.25 333.25,-563.25 327.25,-557.25 327.25,-551.25 327.25,-551.25 327.25,-539.25 327.25,-539.25 327.25,-533.25 333.25,-527.25 339.25,-527.25 339.25,-527.25 434.75,-527.25 434.75,-527.25 440.75,-527.25 446.75,-533.25 446.75,-539.25 446.75,-539.25 446.75,-551.25 446.75,-551.25 446.75,-557.25 440.75,-563.25 434.75,-563.25"/>
|
|
79
|
+
<text xml:space="preserve" text-anchor="middle" x="387" y="-548.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">🌍  Host · Net · Repo</text>
|
|
80
|
+
<text xml:space="preserve" text-anchor="middle" x="387" y="-534.8" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Toolchain · Intel feeds</text>
|
|
98
81
|
</g>
|
|
99
|
-
<!--
|
|
82
|
+
<!-- Result -->
|
|
100
83
|
<g id="node6" class="node">
|
|
101
|
-
<title>
|
|
102
|
-
<path fill="
|
|
103
|
-
<
|
|
104
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
105
|
-
<text xml:space="preserve" text-anchor="middle" x="658.62" y="-12.5" font-family="Arial" font-size="10.00">(~/.pwn/memory.json)</text>
|
|
84
|
+
<title>Result</title>
|
|
85
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M491.88,-433.5C491.88,-433.5 442.12,-433.5 442.12,-433.5 436.12,-433.5 430.12,-427.5 430.12,-421.5 430.12,-421.5 430.12,-409.5 430.12,-409.5 430.12,-403.5 436.12,-397.5 442.12,-397.5 442.12,-397.5 491.88,-397.5 491.88,-397.5 497.88,-397.5 503.88,-403.5 503.88,-409.5 503.88,-409.5 503.88,-421.5 503.88,-421.5 503.88,-427.5 497.88,-433.5 491.88,-433.5"/>
|
|
86
|
+
<text xml:space="preserve" text-anchor="middle" x="467" y="-418.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Result</text>
|
|
87
|
+
<text xml:space="preserve" text-anchor="middle" x="467" y="-405.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">final answer</text>
|
|
106
88
|
</g>
|
|
107
|
-
<!--
|
|
108
|
-
|
|
109
|
-
<
|
|
110
|
-
<
|
|
111
|
-
<
|
|
112
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
89
|
+
<!-- World->Result -->
|
|
90
|
+
<!-- Snapshot -->
|
|
91
|
+
<g id="node9" class="node">
|
|
92
|
+
<title>Snapshot</title>
|
|
93
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M296.38,-297.5C296.38,-297.5 195.62,-297.5 195.62,-297.5 189.62,-297.5 183.62,-291.5 183.62,-285.5 183.62,-285.5 183.62,-273.5 183.62,-273.5 183.62,-267.5 189.62,-261.5 195.62,-261.5 195.62,-261.5 296.38,-261.5 296.38,-261.5 302.38,-261.5 308.38,-267.5 308.38,-273.5 308.38,-273.5 308.38,-285.5 308.38,-285.5 308.38,-291.5 302.38,-297.5 296.38,-297.5"/>
|
|
94
|
+
<text xml:space="preserve" text-anchor="middle" x="246" y="-282.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">snapshot · drift</text>
|
|
95
|
+
<text xml:space="preserve" text-anchor="middle" x="246" y="-269.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">host/net/toolchain/repo</text>
|
|
96
|
+
</g>
|
|
97
|
+
<!-- World->Snapshot -->
|
|
98
|
+
<g id="edge10" class="edge">
|
|
99
|
+
<title>World->Snapshot</title>
|
|
100
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M402.07,-526.82C416.01,-511.95 438.14,-491.34 462,-480.75 486.59,-469.84 499.66,-487.73 522,-472.75 572.77,-438.71 628.53,-394.91 586,-351 576.29,-340.98 348.23,-347.42 335,-343 311.08,-335.02 287.9,-318.36 271.19,-304.24"/>
|
|
101
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="273.35,-302.41 265.48,-299.27 269.67,-306.63 273.35,-302.41"/>
|
|
102
|
+
</g>
|
|
103
|
+
<!-- Observe -->
|
|
104
|
+
<g id="node10" class="node">
|
|
105
|
+
<title>Observe</title>
|
|
106
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M128.38,-297.5C128.38,-297.5 27.62,-297.5 27.62,-297.5 21.62,-297.5 15.63,-291.5 15.63,-285.5 15.63,-285.5 15.63,-273.5 15.63,-273.5 15.63,-267.5 21.63,-261.5 27.63,-261.5 27.63,-261.5 128.38,-261.5 128.38,-261.5 134.38,-261.5 140.38,-267.5 140.38,-273.5 140.38,-273.5 140.38,-285.5 140.38,-285.5 140.38,-291.5 134.38,-297.5 128.38,-297.5"/>
|
|
107
|
+
<text xml:space="preserve" text-anchor="middle" x="78" y="-282.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">observe · intel</text>
|
|
108
|
+
<text xml:space="preserve" text-anchor="middle" x="78" y="-269.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">recon facts · CVE feed</text>
|
|
109
|
+
</g>
|
|
110
|
+
<!-- World->Observe -->
|
|
111
|
+
<g id="edge11" class="edge">
|
|
112
|
+
<title>World->Observe</title>
|
|
113
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M422.73,-526.62C460,-508.02 514.11,-480.37 522,-472.75 565.98,-430.29 628.82,-394.63 586,-351 569.5,-334.18 184.29,-350.62 162,-343 139.24,-335.22 117.56,-318.78 101.93,-304.72"/>
|
|
114
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="103.97,-302.79 96.2,-299.39 100.15,-306.89 103.97,-302.79"/>
|
|
115
|
+
</g>
|
|
116
|
+
<!-- Prompt->Dispatch -->
|
|
117
|
+
<g id="edge4" class="edge">
|
|
118
|
+
<title>Prompt->Dispatch</title>
|
|
119
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M201.93,-415.5C226.84,-415.5 251.76,-415.5 276.67,-415.5"/>
|
|
120
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="276.62,-418.3 284.62,-415.5 276.62,-412.7 276.62,-418.3"/>
|
|
121
|
+
</g>
|
|
122
|
+
<!-- Dispatch->Result -->
|
|
123
|
+
<g id="edge5" class="edge">
|
|
124
|
+
<title>Dispatch->Result</title>
|
|
125
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M345.49,-415.5C370.21,-415.5 394.94,-415.5 419.66,-415.5"/>
|
|
126
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="419.54,-418.3 427.54,-415.5 419.54,-412.7 419.54,-418.3"/>
|
|
113
127
|
</g>
|
|
114
128
|
<!-- Metrics -->
|
|
115
129
|
<g id="node7" class="node">
|
|
116
130
|
<title>Metrics</title>
|
|
117
|
-
<path fill="
|
|
118
|
-
<
|
|
119
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
120
|
-
<text xml:space="preserve" text-anchor="middle" x="224.62" y="-12.5" font-family="Arial" font-size="10.00">(~/.pwn/metrics.json)</text>
|
|
131
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M478.75,-297.5C478.75,-297.5 365.25,-297.5 365.25,-297.5 359.25,-297.5 353.25,-291.5 353.25,-285.5 353.25,-285.5 353.25,-273.5 353.25,-273.5 353.25,-267.5 359.25,-261.5 365.25,-261.5 365.25,-261.5 478.75,-261.5 478.75,-261.5 484.75,-261.5 490.75,-267.5 490.75,-273.5 490.75,-273.5 490.75,-285.5 490.75,-285.5 490.75,-291.5 484.75,-297.5 478.75,-297.5"/>
|
|
132
|
+
<text xml:space="preserve" text-anchor="middle" x="422" y="-282.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Metrics</text>
|
|
133
|
+
<text xml:space="preserve" text-anchor="middle" x="422" y="-269.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">per-tool success · avg ms</text>
|
|
121
134
|
</g>
|
|
122
|
-
<!--
|
|
123
|
-
<g id="
|
|
124
|
-
<title>
|
|
125
|
-
<path fill="none" stroke="
|
|
126
|
-
<polygon fill="
|
|
127
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
128
|
-
|
|
135
|
+
<!-- Dispatch->Metrics -->
|
|
136
|
+
<g id="edge6" class="edge">
|
|
137
|
+
<title>Dispatch->Metrics</title>
|
|
138
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M341.32,-396.81C353.7,-387.32 368.22,-374.84 379,-361.5 392.43,-344.89 403.59,-323.44 411.17,-306.79"/>
|
|
139
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="413.55,-308.34 414.22,-299.89 408.43,-306.08 413.55,-308.34"/>
|
|
140
|
+
<text xml:space="preserve" text-anchor="middle" x="402.55" y="-352.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">record()</text>
|
|
141
|
+
</g>
|
|
142
|
+
<!-- Dispatch->Snapshot -->
|
|
143
|
+
<g id="edge8" class="edge">
|
|
144
|
+
<title>Dispatch->Snapshot</title>
|
|
145
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M286.41,-403.45C268.31,-394.97 246.64,-381.31 236,-361.5 227.09,-344.91 230.13,-323.71 235.11,-307.16"/>
|
|
146
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="237.66,-308.37 237.56,-299.89 232.35,-306.58 237.66,-308.37"/>
|
|
147
|
+
<text xml:space="preserve" text-anchor="middle" x="248" y="-352.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">probe</text>
|
|
148
|
+
</g>
|
|
149
|
+
<!-- Result->User -->
|
|
150
|
+
<g id="edge26" class="edge">
|
|
151
|
+
<title>Result->User</title>
|
|
152
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M438.83,-434.16C419.18,-446.03 392.08,-461.5 367,-472.75 317.22,-495.09 258.21,-514.76 215.78,-527.79"/>
|
|
153
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="215.1,-525.07 208.26,-530.08 216.73,-530.43 215.1,-525.07"/>
|
|
154
|
+
<text xml:space="preserve" text-anchor="middle" x="360.1" y="-482.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">answer</text>
|
|
129
155
|
</g>
|
|
130
156
|
<!-- Learning -->
|
|
131
157
|
<g id="node8" class="node">
|
|
132
158
|
<title>Learning</title>
|
|
133
|
-
<path fill="
|
|
134
|
-
<
|
|
135
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
136
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
159
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M647.75,-303.75C647.75,-303.75 546.25,-303.75 546.25,-303.75 540.25,-303.75 534.25,-297.75 534.25,-291.75 534.25,-291.75 534.25,-267.25 534.25,-267.25 534.25,-261.25 540.25,-255.25 546.25,-255.25 546.25,-255.25 647.75,-255.25 647.75,-255.25 653.75,-255.25 659.75,-261.25 659.75,-267.25 659.75,-267.25 659.75,-291.75 659.75,-291.75 659.75,-297.75 653.75,-303.75 647.75,-303.75"/>
|
|
160
|
+
<text xml:space="preserve" text-anchor="middle" x="597" y="-289.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Learning</text>
|
|
161
|
+
<text xml:space="preserve" text-anchor="middle" x="597" y="-275.8" font-family="sans-Serif" font-size="11.00" fill="#0f172a">note_outcome · reflect</text>
|
|
162
|
+
<text xml:space="preserve" text-anchor="middle" x="597" y="-262.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">consolidate · distill_skill</text>
|
|
137
163
|
</g>
|
|
138
|
-
<!--
|
|
139
|
-
<g id="
|
|
140
|
-
<title>
|
|
141
|
-
<path fill="none" stroke="
|
|
142
|
-
<polygon fill="
|
|
143
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
164
|
+
<!-- Result->Learning -->
|
|
165
|
+
<g id="edge7" class="edge">
|
|
166
|
+
<title>Result->Learning</title>
|
|
167
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M484,-396.98C505.1,-375.23 541.45,-337.76 567.22,-311.2"/>
|
|
168
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="568.93,-313.46 572.49,-305.77 564.91,-309.56 568.93,-313.46"/>
|
|
169
|
+
<text xml:space="preserve" text-anchor="middle" x="552.1" y="-352.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">auto_reflect</text>
|
|
170
|
+
</g>
|
|
171
|
+
<!-- Result->Observe -->
|
|
172
|
+
<g id="edge9" class="edge">
|
|
173
|
+
<title>Result->Observe</title>
|
|
174
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M429.54,-402.15C376,-384.59 282.26,-354.15 266,-351 220.49,-342.18 205.42,-359.25 162,-343 139.62,-334.62 118.07,-318.36 102.4,-304.53"/>
|
|
175
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="104.46,-302.61 96.66,-299.3 100.69,-306.76 104.46,-302.61"/>
|
|
176
|
+
<text xml:space="preserve" text-anchor="middle" x="332.76" y="-352.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">auto_extrospect</text>
|
|
144
177
|
</g>
|
|
145
|
-
<!--
|
|
178
|
+
<!-- Correlate -->
|
|
146
179
|
<g id="node11" class="node">
|
|
147
|
-
<title>
|
|
148
|
-
<path fill="
|
|
149
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
150
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
151
|
-
</g>
|
|
152
|
-
<!-- ToolCall->REPL -->
|
|
153
|
-
<g id="edge3" class="edge">
|
|
154
|
-
<title>ToolCall->REPL</title>
|
|
155
|
-
<path fill="none" stroke="black" d="M564.63,-126.04C629.65,-120.35 718.82,-108.32 793.62,-83 794.57,-82.68 830.75,-62.73 861.17,-45.93"/>
|
|
156
|
-
<polygon fill="black" stroke="black" points="862.82,-49.01 869.88,-41.11 859.44,-42.89 862.82,-49.01"/>
|
|
157
|
-
<text xml:space="preserve" text-anchor="middle" x="890.35" y="-69.2" font-family="Arial" font-size="9.00">pwn_eval(code) or shell(cmd)</text>
|
|
158
|
-
</g>
|
|
159
|
-
<!-- Introspection -->
|
|
160
|
-
<g id="node5" class="node">
|
|
161
|
-
<title>Introspection</title>
|
|
162
|
-
<ellipse fill="lightblue" stroke="black" cx="291.62" cy="-242.85" rx="57.98" ry="22.63"/>
|
|
163
|
-
<text xml:space="preserve" text-anchor="middle" x="291.62" y="-245.35" font-family="Arial" font-size="10.00">Introspection &</text>
|
|
164
|
-
<text xml:space="preserve" text-anchor="middle" x="291.62" y="-233.35" font-family="Arial" font-size="10.00">Reflection</text>
|
|
180
|
+
<title>Correlate</title>
|
|
181
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="2" d="M345.88,-172.75C345.88,-172.75 146.12,-172.75 146.12,-172.75 140.12,-172.75 134.12,-166.75 134.12,-160.75 134.12,-160.75 134.12,-148.25 134.12,-148.25 134.12,-142.25 140.12,-136.25 146.12,-136.25 146.12,-136.25 345.88,-136.25 345.88,-136.25 351.88,-136.25 357.88,-142.25 357.88,-148.25 357.88,-148.25 357.88,-160.75 357.88,-160.75 357.88,-166.75 351.88,-172.75 345.88,-172.75"/>
|
|
182
|
+
<text xml:space="preserve" text-anchor="middle" x="246" y="-157.35" font-family="sans-Serif" font-size="12.00" fill="#0f172a">extro_correlate()</text>
|
|
183
|
+
<text xml:space="preserve" text-anchor="middle" x="246" y="-143.1" font-family="sans-Serif" font-size="12.00" fill="#0f172a">"I did it wrong"  vs  "the world changed"</text>
|
|
165
184
|
</g>
|
|
166
|
-
<!--
|
|
167
|
-
<g id="
|
|
168
|
-
<title>
|
|
169
|
-
<path fill="none" stroke="
|
|
170
|
-
<
|
|
171
|
-
|
|
172
|
-
|
|
185
|
+
<!-- Metrics->Correlate -->
|
|
186
|
+
<g id="edge12" class="edge">
|
|
187
|
+
<title>Metrics->Correlate</title>
|
|
188
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M396,-261.03C378.65,-249.31 355.37,-233.48 335,-219.25 316.25,-206.16 295.47,-191.29 278.7,-179.21"/>
|
|
189
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="280.55,-177.08 272.42,-174.67 277.27,-181.62 280.55,-177.08"/>
|
|
190
|
+
</g>
|
|
191
|
+
<!-- Fmet -->
|
|
192
|
+
<g id="node12" class="node">
|
|
193
|
+
<title>Fmet</title>
|
|
194
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M413.5,-48.73C413.5,-50.53 397.14,-52 377,-52 356.86,-52 340.5,-50.53 340.5,-48.73 340.5,-48.73 340.5,-19.27 340.5,-19.27 340.5,-17.47 356.86,-16 377,-16 397.14,-16 413.5,-17.47 413.5,-19.27 413.5,-19.27 413.5,-48.73 413.5,-48.73"/>
|
|
195
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M413.5,-48.73C413.5,-46.92 397.14,-45.45 377,-45.45 356.86,-45.45 340.5,-46.92 340.5,-48.73"/>
|
|
196
|
+
<text xml:space="preserve" text-anchor="middle" x="377" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">metrics.json</text>
|
|
173
197
|
</g>
|
|
174
|
-
<!--
|
|
198
|
+
<!-- Metrics->Fmet -->
|
|
199
|
+
<g id="edge17" class="edge">
|
|
200
|
+
<title>Metrics->Fmet</title>
|
|
201
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M418.76,-260.99C411.01,-219.06 391.35,-112.65 382.04,-62.26"/>
|
|
202
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="384.83,-61.97 380.63,-54.62 379.33,-62.99 384.83,-61.97"/>
|
|
203
|
+
</g>
|
|
204
|
+
<!-- Learning->Correlate -->
|
|
175
205
|
<g id="edge13" class="edge">
|
|
176
|
-
<title>
|
|
177
|
-
<path fill="none" stroke="
|
|
178
|
-
<polygon fill="
|
|
179
|
-
<text xml:space="preserve" text-anchor="middle" x="541.62" y="-342.93" font-family="Arial" font-size="9.00">distill_skill(name, content,</text>
|
|
180
|
-
<text xml:space="preserve" text-anchor="middle" x="541.62" y="-332.43" font-family="Arial" font-size="9.00">references)</text>
|
|
206
|
+
<title>Learning->Correlate</title>
|
|
207
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M533.92,-255.15C526.54,-252.46 519.11,-249.78 512,-247.25 442.72,-222.57 362.94,-195.19 308.96,-176.82"/>
|
|
208
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="310.2,-174.28 301.72,-174.36 308.4,-179.58 310.2,-174.28"/>
|
|
181
209
|
</g>
|
|
182
|
-
<!--
|
|
183
|
-
<g id="
|
|
184
|
-
<title>
|
|
185
|
-
<path fill="
|
|
186
|
-
<
|
|
187
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
210
|
+
<!-- Flrn -->
|
|
211
|
+
<g id="node13" class="node">
|
|
212
|
+
<title>Flrn</title>
|
|
213
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M535.5,-48.73C535.5,-50.53 517.8,-52 496,-52 474.2,-52 456.5,-50.53 456.5,-48.73 456.5,-48.73 456.5,-19.27 456.5,-19.27 456.5,-17.47 474.2,-16 496,-16 517.8,-16 535.5,-17.47 535.5,-19.27 535.5,-19.27 535.5,-48.73 535.5,-48.73"/>
|
|
214
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M535.5,-48.73C535.5,-46.92 517.8,-45.45 496,-45.45 474.2,-45.45 456.5,-46.92 456.5,-48.73"/>
|
|
215
|
+
<text xml:space="preserve" text-anchor="middle" x="496" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">learning.jsonl</text>
|
|
188
216
|
</g>
|
|
189
|
-
<!--
|
|
190
|
-
<g id="
|
|
191
|
-
<title>
|
|
192
|
-
<path fill="none" stroke="
|
|
193
|
-
<polygon fill="
|
|
194
|
-
<text xml:space="preserve" text-anchor="middle" x="746.87" y="-74.45" font-family="Arial" font-size="9.00">recall(query) injected</text>
|
|
195
|
-
<text xml:space="preserve" text-anchor="middle" x="746.87" y="-63.95" font-family="Arial" font-size="9.00">into prompts</text>
|
|
217
|
+
<!-- Learning->Flrn -->
|
|
218
|
+
<g id="edge18" class="edge">
|
|
219
|
+
<title>Learning->Flrn</title>
|
|
220
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M587.13,-254.71C568.19,-209.03 526.84,-109.35 507.02,-61.57"/>
|
|
221
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="509.65,-60.6 504,-54.29 504.48,-62.75 509.65,-60.6"/>
|
|
196
222
|
</g>
|
|
197
|
-
<!--
|
|
198
|
-
<g id="
|
|
199
|
-
<title>
|
|
200
|
-
<path fill="
|
|
201
|
-
<
|
|
202
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
223
|
+
<!-- Fmem -->
|
|
224
|
+
<g id="node14" class="node">
|
|
225
|
+
<title>Fmem</title>
|
|
226
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M655.75,-48.73C655.75,-50.53 638.38,-52 617,-52 595.62,-52 578.25,-50.53 578.25,-48.73 578.25,-48.73 578.25,-19.27 578.25,-19.27 578.25,-17.47 595.62,-16 617,-16 638.38,-16 655.75,-17.47 655.75,-19.27 655.75,-19.27 655.75,-48.73 655.75,-48.73"/>
|
|
227
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M655.75,-48.73C655.75,-46.92 638.38,-45.45 617,-45.45 595.62,-45.45 578.25,-46.92 578.25,-48.73"/>
|
|
228
|
+
<text xml:space="preserve" text-anchor="middle" x="617" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">memory.json</text>
|
|
203
229
|
</g>
|
|
204
|
-
<!-- Learning->
|
|
205
|
-
<g id="
|
|
206
|
-
<title>Learning->
|
|
207
|
-
<path fill="none" stroke="
|
|
208
|
-
<polygon fill="
|
|
209
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
230
|
+
<!-- Learning->Fmem -->
|
|
231
|
+
<g id="edge19" class="edge">
|
|
232
|
+
<title>Learning->Fmem</title>
|
|
233
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M598.95,-254.71C602.69,-209.22 610.83,-110.18 614.77,-62.17"/>
|
|
234
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="617.54,-62.63 615.4,-54.43 611.96,-62.17 617.54,-62.63"/>
|
|
235
|
+
<text xml:space="preserve" text-anchor="middle" x="622.16" y="-151.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">lesson</text>
|
|
210
236
|
</g>
|
|
211
|
-
<!--
|
|
237
|
+
<!-- Fskl -->
|
|
238
|
+
<g id="node15" class="node">
|
|
239
|
+
<title>Fskl</title>
|
|
240
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M763,-48.73C763,-50.53 748.66,-52 731,-52 713.34,-52 699,-50.53 699,-48.73 699,-48.73 699,-19.27 699,-19.27 699,-17.47 713.34,-16 731,-16 748.66,-16 763,-17.47 763,-19.27 763,-19.27 763,-48.73 763,-48.73"/>
|
|
241
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M763,-48.73C763,-46.92 748.66,-45.45 731,-45.45 713.34,-45.45 699,-46.92 699,-48.73"/>
|
|
242
|
+
<text xml:space="preserve" text-anchor="middle" x="731" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">skills/*.md</text>
|
|
243
|
+
</g>
|
|
244
|
+
<!-- Learning->Fskl -->
|
|
245
|
+
<g id="edge20" class="edge">
|
|
246
|
+
<title>Learning->Fskl</title>
|
|
247
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M612.35,-254.81C619.17,-244.07 627.17,-231.13 634,-219.25 665.74,-164 699.75,-97.49 717.86,-61.42"/>
|
|
248
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="720.37,-62.67 721.45,-54.26 715.36,-60.16 720.37,-62.67"/>
|
|
249
|
+
<text xml:space="preserve" text-anchor="middle" x="686.07" y="-151.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">skill</text>
|
|
250
|
+
</g>
|
|
251
|
+
<!-- Snapshot->Correlate -->
|
|
212
252
|
<g id="edge14" class="edge">
|
|
213
|
-
<title>
|
|
214
|
-
<path fill="none" stroke="
|
|
215
|
-
<polygon fill="
|
|
216
|
-
<text xml:space="preserve" text-anchor="middle" x="816.11" y="-193.68" font-family="Arial" font-size="9.00">skill_list / skill_view</text>
|
|
217
|
-
<text xml:space="preserve" text-anchor="middle" x="816.11" y="-183.18" font-family="Arial" font-size="9.00">injected into future prompts</text>
|
|
253
|
+
<title>Snapshot->Correlate</title>
|
|
254
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M246,-260.88C246,-240.62 246,-207.13 246,-183.34"/>
|
|
255
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="248.8,-183.46 246,-175.46 243.2,-183.46 248.8,-183.46"/>
|
|
218
256
|
</g>
|
|
219
|
-
<!--
|
|
220
|
-
<g id="
|
|
221
|
-
<title>
|
|
222
|
-
<path fill="none" stroke="
|
|
223
|
-
<polygon fill="
|
|
224
|
-
<text xml:space="preserve" text-anchor="middle" x="340.33" y="-188.43" font-family="Arial" font-size="9.00">context from prior sessions</text>
|
|
257
|
+
<!-- Observe->Correlate -->
|
|
258
|
+
<g id="edge15" class="edge">
|
|
259
|
+
<title>Observe->Correlate</title>
|
|
260
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M102.07,-260.88C131.26,-239.51 180.6,-203.38 213.24,-179.49"/>
|
|
261
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="214.76,-181.84 219.57,-174.85 211.46,-177.32 214.76,-181.84"/>
|
|
225
262
|
</g>
|
|
226
|
-
<!--
|
|
227
|
-
<g id="
|
|
228
|
-
<title>
|
|
229
|
-
<path fill="
|
|
230
|
-
<
|
|
231
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
263
|
+
<!-- Fext -->
|
|
264
|
+
<g id="node16" class="node">
|
|
265
|
+
<title>Fext</title>
|
|
266
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M297.12,-48.73C297.12,-50.53 274.21,-52 246,-52 217.79,-52 194.88,-50.53 194.88,-48.73 194.88,-48.73 194.88,-19.27 194.88,-19.27 194.88,-17.47 217.79,-16 246,-16 274.21,-16 297.12,-17.47 297.12,-19.27 297.12,-19.27 297.12,-48.73 297.12,-48.73"/>
|
|
267
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M297.12,-48.73C297.12,-46.92 274.21,-45.45 246,-45.45 217.79,-45.45 194.88,-46.92 194.88,-48.73"/>
|
|
268
|
+
<text xml:space="preserve" text-anchor="middle" x="246" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">extrospection.json</text>
|
|
269
|
+
</g>
|
|
270
|
+
<!-- Observe->Fext -->
|
|
271
|
+
<g id="edge21" class="edge">
|
|
272
|
+
<title>Observe->Fext</title>
|
|
273
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M78.63,-260.82C80.4,-232.36 87.19,-175.59 113,-136.25 135.46,-102.02 173.55,-74.77 203.23,-57.2"/>
|
|
274
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="204.52,-59.69 210.05,-53.27 201.72,-54.84 204.52,-59.69"/>
|
|
275
|
+
</g>
|
|
276
|
+
<!-- Correlate->Prompt -->
|
|
277
|
+
<g id="edge25" class="edge">
|
|
278
|
+
<title>Correlate->Prompt</title>
|
|
279
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="M358.73,-163.68C473.02,-174.59 638.52,-198.5 678,-247.25 704.78,-280.32 704.96,-310.08 678,-343 619.62,-414.28 356.98,-374.97 266,-389.5 248.45,-392.3 229.5,-396.38 212.5,-400.43"/>
|
|
280
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="212.25,-397.61 205.13,-402.22 213.57,-403.05 212.25,-397.61"/>
|
|
281
|
+
<text xml:space="preserve" text-anchor="middle" x="737.53" y="-276.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">findings → next run</text>
|
|
282
|
+
</g>
|
|
283
|
+
<!-- Correlate->Fmet -->
|
|
284
|
+
<!-- Fmem->Prompt -->
|
|
285
|
+
<g id="edge22" class="edge">
|
|
286
|
+
<title>Fmem->Prompt</title>
|
|
287
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M633.9,-52.68C673.84,-94.96 771.88,-201.78 787,-247.25 800.43,-287.63 814,-310.1 787,-343 750.13,-387.93 323.49,-380.96 266,-389.5 248.09,-392.16 228.75,-396.28 211.5,-400.42"/>
|
|
288
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="211.17,-397.62 204.07,-402.24 212.51,-403.06 211.17,-397.62"/>
|
|
289
|
+
<text xml:space="preserve" text-anchor="middle" x="804.5" y="-210.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">MEMORY block</text>
|
|
290
|
+
</g>
|
|
291
|
+
<!-- Fskl->Prompt -->
|
|
292
|
+
<g id="edge23" class="edge">
|
|
293
|
+
<title>Fskl->Prompt</title>
|
|
294
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M747.89,-52.39C775.06,-81.72 827.43,-144.19 847,-208.75 864.5,-266.48 862.72,-294.39 827,-343 816.11,-357.82 807.77,-356.8 790,-361.5 564.53,-421.12 496.89,-356.62 266,-389.5 248.07,-392.05 228.73,-396.15 211.48,-400.29"/>
|
|
295
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="211.15,-397.49 204.05,-402.12 212.49,-402.93 211.15,-397.49"/>
|
|
296
|
+
<text xml:space="preserve" text-anchor="middle" x="877.38" y="-210.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">SKILLS block</text>
|
|
297
|
+
</g>
|
|
298
|
+
<!-- Fext->Prompt -->
|
|
299
|
+
<g id="edge24" class="edge">
|
|
300
|
+
<title>Fext->Prompt</title>
|
|
301
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M263.15,-52.62C276.95,-65.62 297.51,-82.51 319,-91.25 622.57,-214.77 840.6,45.84 1047,-208.75 1084.61,-255.14 1077.51,-295.73 1041,-343 988.27,-411.27 351.49,-377.95 266,-389.5 248.06,-391.92 228.71,-395.99 211.46,-400.14"/>
|
|
302
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="211.13,-397.34 204.03,-401.98 212.47,-402.78 211.13,-397.34"/>
|
|
303
|
+
<text xml:space="preserve" text-anchor="middle" x="1081.55" y="-210.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">EXTRO block</text>
|
|
232
304
|
</g>
|
|
233
305
|
</g>
|
|
234
306
|
</svg>
|