pwn 0.5.621 → 0.5.626
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +2 -2
- data/Gemfile +1 -1
- data/README.md +7 -1
- data/bin/pwn_gqrx_scanner +78 -9
- data/documentation/Agent-Tool-Registry.md +3 -3
- data/documentation/Configuration.md +301 -47
- data/documentation/Cron.md +5 -3
- data/documentation/Diagrams.md +1 -1
- data/documentation/Extrospection.md +472 -26
- data/documentation/FFI.md +72 -8
- data/documentation/Home.md +4 -4
- data/documentation/How-PWN-Works.md +7 -3
- data/documentation/Mistakes.md +9 -0
- data/documentation/SDR.md +83 -10
- data/documentation/Skills-Memory-Learning.md +101 -11
- data/documentation/diagrams/agent-tool-registry.svg +56 -55
- data/documentation/diagrams/ai-integration-tool-calling.svg +24 -24
- data/documentation/diagrams/aws-cloud-security.svg +25 -25
- data/documentation/diagrams/burp-vs-zap-preference.svg +12 -12
- data/documentation/diagrams/code-scanning-sast.svg +25 -25
- data/documentation/diagrams/cron-scheduling.svg +23 -23
- data/documentation/diagrams/dot/agent-tool-registry.dot +2 -2
- data/documentation/diagrams/dot/extrospection-world-awareness.dot +33 -6
- data/documentation/diagrams/dot/hardware-hacking.dot +3 -1
- data/documentation/diagrams/dot/memory-skills-detailed.dot +4 -2
- data/documentation/diagrams/dot/mistakes-negative-feedback.dot +4 -2
- data/documentation/diagrams/dot/overall-pwn-architecture.dot +3 -3
- data/documentation/diagrams/dot/persistence-filesystem.dot +3 -3
- data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +10 -4
- data/documentation/diagrams/dot/sdr-radio-flow.dot +39 -16
- data/documentation/diagrams/driver-framework.svg +13 -13
- data/documentation/diagrams/extrospection-world-awareness.svg +383 -177
- data/documentation/diagrams/fuzzing-workflow.svg +24 -24
- data/documentation/diagrams/hardware-hacking.svg +84 -69
- data/documentation/diagrams/history-to-drivers.svg +18 -18
- data/documentation/diagrams/memory-skills-detailed.svg +137 -120
- data/documentation/diagrams/mistakes-negative-feedback.svg +152 -137
- data/documentation/diagrams/network-infra-testing.svg +27 -27
- data/documentation/diagrams/overall-pwn-architecture.svg +97 -97
- data/documentation/diagrams/penetration-testing-workflow.svg +30 -30
- data/documentation/diagrams/persistence-filesystem.svg +100 -94
- data/documentation/diagrams/plugin-ecosystem.svg +35 -35
- data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +254 -207
- data/documentation/diagrams/pwn-repl-prototyping.svg +20 -20
- data/documentation/diagrams/reporting-pipeline.svg +18 -18
- data/documentation/diagrams/reverse-engineering-flow.svg +21 -21
- data/documentation/diagrams/sdr-radio-flow.svg +223 -91
- data/documentation/diagrams/sessions-cron-automation.svg +18 -18
- data/documentation/diagrams/swarm-multi-agent.svg +39 -39
- data/documentation/diagrams/web-application-testing.svg +26 -26
- data/documentation/diagrams/zero-day-research-flow.svg +25 -25
- data/documentation/pwn-ai-Agent.md +16 -10
- data/documentation/pwn_silent_help_learn_demo.gif +0 -0
- 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 +2562 -57
- data/lib/pwn/ai/agent/gqrx.rb +2 -2
- data/lib/pwn/ai/agent/hacker_one.rb +1 -1
- data/lib/pwn/ai/agent/learning.rb +16 -16
- data/lib/pwn/ai/agent/loop.rb +1 -1
- data/lib/pwn/ai/agent/{introspection.rb → reflect.rb} +12 -12
- data/lib/pwn/ai/agent/sast.rb +1 -1
- data/lib/pwn/ai/agent/tools/extrospection.rb +311 -8
- data/lib/pwn/ai/agent/tools/learning.rb +7 -7
- 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 +1 -1
- data/lib/pwn/ai/open_ai.rb +10 -6
- data/lib/pwn/config.rb +5 -4
- data/lib/pwn/ffi/adalm_pluto.rb +498 -0
- data/lib/pwn/ffi/fftw.rb +192 -0
- data/lib/pwn/ffi/hack_rf.rb +193 -0
- data/lib/pwn/ffi/liquid.rb +244 -0
- data/lib/pwn/ffi/rtl_sdr.rb +210 -0
- data/lib/pwn/ffi/soapy_sdr.rb +177 -0
- data/lib/pwn/ffi/stdio.rb +9 -1
- data/lib/pwn/ffi/volk.rb +241 -0
- data/lib/pwn/ffi.rb +45 -2
- data/lib/pwn/plugins/burp_suite.rb +2 -2
- data/lib/pwn/sast/pom_version.rb +2 -2
- data/lib/pwn/sast/test_case_engine.rb +1 -1
- data/lib/pwn/sdr/decoder/adsb.rb +201 -12
- data/lib/pwn/sdr/decoder/apt.rb +19 -5
- data/lib/pwn/sdr/decoder/base.rb +314 -1
- data/lib/pwn/sdr/decoder/bluetooth.rb +91 -18
- data/lib/pwn/sdr/decoder/dect.rb +81 -23
- data/lib/pwn/sdr/decoder/dsp.rb +229 -15
- data/lib/pwn/sdr/decoder/flex.rb +23 -6
- data/lib/pwn/sdr/decoder/gps.rb +80 -18
- data/lib/pwn/sdr/decoder/gsm.rb +83 -28
- data/lib/pwn/sdr/decoder/iridium.rb +80 -18
- data/lib/pwn/sdr/decoder/lora.rb +84 -28
- data/lib/pwn/sdr/decoder/lte.rb +80 -18
- data/lib/pwn/sdr/decoder/morse.rb +23 -6
- data/lib/pwn/sdr/decoder/p25.rb +90 -31
- data/lib/pwn/sdr/decoder/pager.rb +23 -6
- data/lib/pwn/sdr/decoder/pocsag.rb +23 -6
- data/lib/pwn/sdr/decoder/rds.rb +219 -52
- data/lib/pwn/sdr/decoder/rfid.rb +81 -27
- data/lib/pwn/sdr/decoder/rtl433.rb +85 -27
- data/lib/pwn/sdr/decoder/rtty.rb +23 -6
- data/lib/pwn/sdr/decoder/wifi.rb +86 -32
- data/lib/pwn/sdr/decoder/zigbee.rb +88 -35
- data/lib/pwn/sdr/decoder.rb +6 -5
- data/lib/pwn/sdr/frequency_allocation.rb +124 -81
- data/lib/pwn/sdr/gqrx.rb +1513 -165
- data/lib/pwn/version.rb +1 -1
- data/spec/lib/pwn/ai/agent/extrospection_spec.rb +96 -0
- data/spec/lib/pwn/ai/agent/{introspection_spec.rb → reflect_spec.rb} +3 -3
- data/spec/lib/pwn/ai/agent/tools/extrospection_spec.rb +8 -24
- data/spec/lib/pwn/ffi/adalm_pluto_spec.rb +37 -0
- data/spec/lib/pwn/ffi/fftw_spec.rb +26 -0
- data/spec/lib/pwn/ffi/hack_rf_spec.rb +25 -0
- data/spec/lib/pwn/ffi/liquid_spec.rb +42 -0
- data/spec/lib/pwn/ffi/rtl_sdr_spec.rb +24 -0
- data/spec/lib/pwn/ffi/soapy_sdr_spec.rb +25 -0
- data/spec/lib/pwn/ffi/volk_spec.rb +36 -0
- data/spec/lib/pwn/sdr/decoder/base_iq_spec.rb +65 -0
- data/spec/lib/pwn/sdr/decoder/dsp_spec.rb +50 -4
- data/spec/lib/pwn/sdr/decoder/rds_spec.rb +45 -4
- data/third_party/pwn_rdoc.jsonl +279 -30
- metadata +21 -5
|
@@ -4,417 +4,464 @@
|
|
|
4
4
|
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
5
|
-->
|
|
6
6
|
<!-- Title: PWN_AI_Feedback_Learning_Loop 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="1985pt" height="817pt"
|
|
8
|
+
viewBox="0.00 0.00 1985.00 817.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 773.7)">
|
|
10
10
|
<title>PWN_AI_Feedback_Learning_Loop</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,-773.7 1942.12,-773.7 1942.12,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="755.96" y="-708.5" 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="763.09" y="-697.05" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">Introspection (self)  ⟷  Extrospection (world)  ·  Mistakes (negative feedback)</text>
|
|
14
14
|
<g id="clust2" class="cluster">
|
|
15
15
|
<title>cluster_core</title>
|
|
16
|
-
<path fill="#2e1065" stroke="#6d28d9" stroke-width="2" d="
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
16
|
+
<path fill="#2e1065" stroke="#6d28d9" stroke-width="2" d="M55.88,-486.5C55.88,-486.5 392.88,-486.5 392.88,-486.5 398.88,-486.5 404.88,-492.5 404.88,-498.5 404.88,-498.5 404.88,-589 404.88,-589 404.88,-595 398.88,-601 392.88,-601 392.88,-601 55.88,-601 55.88,-601 49.88,-601 43.88,-595 43.88,-589 43.88,-589 43.88,-498.5 43.88,-498.5 43.88,-492.5 49.88,-486.5 55.88,-486.5"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="224.38" y="-578" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">PWN::AI::Agent::Loop</text>
|
|
18
18
|
</g>
|
|
19
19
|
<g id="clust4" class="cluster">
|
|
20
20
|
<title>cluster_intro</title>
|
|
21
|
-
<path fill="#022c22" stroke="#047857" stroke-width="2" d="
|
|
22
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
21
|
+
<path fill="#022c22" stroke="#047857" stroke-width="2" d="M61.88,-289C61.88,-289 573.88,-289 573.88,-289 579.88,-289 585.88,-295 585.88,-301 585.88,-301 585.88,-417.5 585.88,-417.5 585.88,-423.5 579.88,-429.5 573.88,-429.5 573.88,-429.5 61.88,-429.5 61.88,-429.5 55.88,-429.5 49.88,-423.5 49.88,-417.5 49.88,-417.5 49.88,-301 49.88,-301 49.88,-295 55.88,-289 61.88,-289"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="317.88" y="-406.5" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">INTROSPECTION  (self)</text>
|
|
23
23
|
</g>
|
|
24
24
|
<g id="clust5" class="cluster">
|
|
25
25
|
<title>cluster_extro</title>
|
|
26
|
-
<path fill="#422006" stroke="#a16207" stroke-width="2" d="
|
|
27
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
26
|
+
<path fill="#422006" stroke="#a16207" stroke-width="2" d="M624.88,-289C624.88,-289 1306.88,-289 1306.88,-289 1312.88,-289 1318.88,-295 1318.88,-301 1318.88,-301 1318.88,-417.5 1318.88,-417.5 1318.88,-423.5 1312.88,-429.5 1306.88,-429.5 1306.88,-429.5 624.88,-429.5 624.88,-429.5 618.88,-429.5 612.88,-423.5 612.88,-417.5 612.88,-417.5 612.88,-301 612.88,-301 612.88,-295 618.88,-289 624.88,-289"/>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="965.88" y="-406.5" font-family="sans-Serif" font-size="20.00" fill="#fde68a">EXTROSPECTION  (world)</text>
|
|
28
28
|
</g>
|
|
29
29
|
<g id="clust7" class="cluster">
|
|
30
30
|
<title>cluster_store</title>
|
|
31
|
-
<path fill="#1e293b" stroke="#334155" stroke-dasharray="5,2" d="
|
|
32
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
31
|
+
<path fill="#1e293b" stroke="#334155" stroke-dasharray="5,2" d="M312.88,-8C312.88,-8 995.88,-8 995.88,-8 1001.88,-8 1007.88,-14 1007.88,-20 1007.88,-20 1007.88,-110.5 1007.88,-110.5 1007.88,-116.5 1001.88,-122.5 995.88,-122.5 995.88,-122.5 312.88,-122.5 312.88,-122.5 306.88,-122.5 300.88,-116.5 300.88,-110.5 300.88,-110.5 300.88,-20 300.88,-20 300.88,-14 306.88,-8 312.88,-8"/>
|
|
32
|
+
<text xml:space="preserve" text-anchor="middle" x="654.38" y="-99.5" font-family="sans-Serif" font-size="20.00" fill="#94a3b8">~/.pwn/</text>
|
|
33
33
|
</g>
|
|
34
34
|
<!-- User -->
|
|
35
35
|
<g id="node1" class="node">
|
|
36
36
|
<title>User</title>
|
|
37
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="
|
|
38
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
37
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="1.4" d="M79.75,-691.5C79.75,-691.5 12,-691.5 12,-691.5 6,-691.5 0,-685.5 0,-679.5 0,-679.5 0,-667.5 0,-667.5 0,-661.5 6,-655.5 12,-655.5 12,-655.5 79.75,-655.5 79.75,-655.5 85.75,-655.5 91.75,-661.5 91.75,-667.5 91.75,-667.5 91.75,-679.5 91.75,-679.5 91.75,-685.5 85.75,-691.5 79.75,-691.5"/>
|
|
38
|
+
<text xml:space="preserve" text-anchor="middle" x="45.88" y="-669.8" font-family="sans-Serif" font-size="11.00" fill="#0f172a">👤  Researcher</text>
|
|
39
39
|
</g>
|
|
40
40
|
<!-- Prompt -->
|
|
41
41
|
<g id="node4" class="node">
|
|
42
42
|
<title>Prompt</title>
|
|
43
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="
|
|
44
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
45
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
43
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M125.38,-530.5C125.38,-530.5 64.38,-530.5 64.38,-530.5 58.38,-530.5 52.38,-524.5 52.38,-518.5 52.38,-518.5 52.38,-506.5 52.38,-506.5 52.38,-500.5 58.38,-494.5 64.38,-494.5 64.38,-494.5 125.38,-494.5 125.38,-494.5 131.38,-494.5 137.38,-500.5 137.38,-506.5 137.38,-506.5 137.38,-518.5 137.38,-518.5 137.38,-524.5 131.38,-530.5 125.38,-530.5"/>
|
|
44
|
+
<text xml:space="preserve" text-anchor="middle" x="94.88" y="-515.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">PromptBuilder</text>
|
|
45
|
+
<text xml:space="preserve" text-anchor="middle" x="94.88" y="-502.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">inject context</text>
|
|
46
46
|
</g>
|
|
47
47
|
<!-- User->Prompt -->
|
|
48
48
|
<g id="edge1" class="edge">
|
|
49
49
|
<title>User->Prompt</title>
|
|
50
|
-
<path fill="none" stroke="#38bdf8" stroke-width="2" d="
|
|
51
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="
|
|
52
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
50
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M41.63,-654.97C39.23,-642.06 37.41,-624.19 41.38,-609 47.96,-583.79 62.83,-558.19 75.23,-539.85"/>
|
|
51
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="77.42,-541.61 79.7,-533.45 72.83,-538.4 77.42,-541.61"/>
|
|
52
|
+
<text xml:space="preserve" text-anchor="middle" x="49.62" y="-610.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">task</text>
|
|
53
53
|
</g>
|
|
54
54
|
<!-- Mistakes -->
|
|
55
55
|
<g id="node9" class="node">
|
|
56
56
|
<title>Mistakes</title>
|
|
57
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="2" d="
|
|
58
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
59
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
60
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
61
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
57
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="2" d="M566.12,-359C566.12,-359 419.62,-359 419.62,-359 413.62,-359 407.62,-353 407.62,-347 407.62,-347 407.62,-309 407.62,-309 407.62,-303 413.62,-297 419.62,-297 419.62,-297 566.12,-297 566.12,-297 572.12,-297 578.12,-303 578.12,-309 578.12,-309 578.12,-347 578.12,-347 578.12,-353 572.12,-359 566.12,-359"/>
|
|
58
|
+
<text xml:space="preserve" text-anchor="middle" x="492.88" y="-344.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Mistakes</text>
|
|
59
|
+
<text xml:space="preserve" text-anchor="middle" x="492.88" y="-331.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">record · resolve</text>
|
|
60
|
+
<text xml:space="preserve" text-anchor="middle" x="492.88" y="-317.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">guard · correction_hint</text>
|
|
61
|
+
<text xml:space="preserve" text-anchor="middle" x="492.88" y="-304.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">[REPEATING] · [REGRESSED]</text>
|
|
62
62
|
</g>
|
|
63
63
|
<!-- User->Mistakes -->
|
|
64
64
|
<g id="edge9" class="edge">
|
|
65
65
|
<title>User->Mistakes</title>
|
|
66
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
67
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
68
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
69
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
66
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" stroke-dasharray="5,2" d="M62.3,-655.03C77.98,-639.69 103.14,-618.39 129.88,-609 159.77,-598.5 383.59,-605.96 414.88,-601 592.88,-572.79 628.08,-526.18 803.88,-486.5 842.51,-477.78 954.17,-488.62 979.88,-458.5 985.93,-451.4 986.4,-444.17 979.88,-437.5 965.22,-422.53 622.32,-437.29 602.88,-429.5 570.94,-416.72 542.51,-390.1 522.55,-367.47"/>
|
|
67
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="524.73,-365.71 517.39,-361.46 520.48,-369.36 524.73,-365.71"/>
|
|
68
|
+
<text xml:space="preserve" text-anchor="middle" x="850.38" y="-514.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">"that's wrong"</text>
|
|
69
|
+
<text xml:space="preserve" text-anchor="middle" x="850.38" y="-503.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">check_user_correction</text>
|
|
70
70
|
</g>
|
|
71
71
|
<!-- LLM -->
|
|
72
72
|
<g id="node2" class="node">
|
|
73
73
|
<title>LLM</title>
|
|
74
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="
|
|
75
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
74
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M520.88,-691.5C520.88,-691.5 444.88,-691.5 444.88,-691.5 438.88,-691.5 432.88,-685.5 432.88,-679.5 432.88,-679.5 432.88,-667.5 432.88,-667.5 432.88,-661.5 438.88,-655.5 444.88,-655.5 444.88,-655.5 520.88,-655.5 520.88,-655.5 526.88,-655.5 532.88,-661.5 532.88,-667.5 532.88,-667.5 532.88,-679.5 532.88,-679.5 532.88,-685.5 526.88,-691.5 520.88,-691.5"/>
|
|
75
|
+
<text xml:space="preserve" text-anchor="middle" x="482.88" y="-669.8" font-family="sans-Serif" font-size="11.00" fill="#0f172a">🤖  LLM Provider</text>
|
|
76
76
|
</g>
|
|
77
77
|
<!-- Dispatch -->
|
|
78
78
|
<g id="node5" class="node">
|
|
79
79
|
<title>Dispatch</title>
|
|
80
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="
|
|
81
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
82
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
80
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M384.88,-530.5C384.88,-530.5 350.88,-530.5 350.88,-530.5 344.88,-530.5 338.88,-524.5 338.88,-518.5 338.88,-518.5 338.88,-506.5 338.88,-506.5 338.88,-500.5 344.88,-494.5 350.88,-494.5 350.88,-494.5 384.88,-494.5 384.88,-494.5 390.88,-494.5 396.88,-500.5 396.88,-506.5 396.88,-506.5 396.88,-518.5 396.88,-518.5 396.88,-524.5 390.88,-530.5 384.88,-530.5"/>
|
|
81
|
+
<text xml:space="preserve" text-anchor="middle" x="367.88" y="-515.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Dispatch</text>
|
|
82
|
+
<text xml:space="preserve" text-anchor="middle" x="367.88" y="-502.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">tool calls</text>
|
|
83
83
|
</g>
|
|
84
84
|
<!-- LLM->Dispatch -->
|
|
85
85
|
<g id="edge2" class="edge">
|
|
86
86
|
<title>LLM->Dispatch</title>
|
|
87
|
-
<path fill="none" stroke="#a78bfa" stroke-width="2" d="
|
|
88
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="2" points="
|
|
89
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="2" points="
|
|
90
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
87
|
+
<path fill="none" stroke="#a78bfa" stroke-width="2" d="M463.91,-646.28C442.56,-616.76 408.07,-569.08 386.75,-539.6"/>
|
|
88
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="2" points="461.4,-647.58 468.35,-652.42 465.93,-644.3 461.4,-647.58"/>
|
|
89
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="2" points="389.06,-538.01 382.1,-533.17 384.52,-541.29 389.06,-538.01"/>
|
|
90
|
+
<text xml:space="preserve" text-anchor="middle" x="461.89" y="-610.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">tool_calls</text>
|
|
91
91
|
</g>
|
|
92
92
|
<!-- World -->
|
|
93
93
|
<g id="node3" class="node">
|
|
94
94
|
<title>World</title>
|
|
95
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="1.4" d="
|
|
96
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
97
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
95
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="1.4" d="M277.75,-691.5C277.75,-691.5 156,-691.5 156,-691.5 150,-691.5 144,-685.5 144,-679.5 144,-679.5 144,-667.5 144,-667.5 144,-661.5 150,-655.5 156,-655.5 156,-655.5 277.75,-655.5 277.75,-655.5 283.75,-655.5 289.75,-661.5 289.75,-667.5 289.75,-667.5 289.75,-679.5 289.75,-679.5 289.75,-685.5 283.75,-691.5 277.75,-691.5"/>
|
|
96
|
+
<text xml:space="preserve" text-anchor="middle" x="216.88" y="-676.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">🌍  Host · Net · Repo</text>
|
|
97
|
+
<text xml:space="preserve" text-anchor="middle" x="216.88" y="-663.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Toolchain · RF · Web · Intel</text>
|
|
98
98
|
</g>
|
|
99
99
|
<!-- Result -->
|
|
100
100
|
<g id="node6" class="node">
|
|
101
101
|
<title>Result</title>
|
|
102
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="
|
|
103
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
104
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
102
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.4" d="M241.75,-530.5C241.75,-530.5 192,-530.5 192,-530.5 186,-530.5 180,-524.5 180,-518.5 180,-518.5 180,-506.5 180,-506.5 180,-500.5 186,-494.5 192,-494.5 192,-494.5 241.75,-494.5 241.75,-494.5 247.75,-494.5 253.75,-500.5 253.75,-506.5 253.75,-506.5 253.75,-518.5 253.75,-518.5 253.75,-524.5 247.75,-530.5 241.75,-530.5"/>
|
|
103
|
+
<text xml:space="preserve" text-anchor="middle" x="216.88" y="-515.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Result</text>
|
|
104
|
+
<text xml:space="preserve" text-anchor="middle" x="216.88" y="-502.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">final answer</text>
|
|
105
105
|
</g>
|
|
106
106
|
<!-- World->Result -->
|
|
107
107
|
<!-- Snapshot -->
|
|
108
108
|
<g id="node10" class="node">
|
|
109
109
|
<title>Snapshot</title>
|
|
110
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="
|
|
111
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
112
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
113
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
110
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M798.5,-359C798.5,-359 633.25,-359 633.25,-359 627.25,-359 621.25,-353 621.25,-347 621.25,-347 621.25,-309 621.25,-309 621.25,-303 627.25,-297 633.25,-297 633.25,-297 798.5,-297 798.5,-297 804.5,-297 810.5,-303 810.5,-309 810.5,-309 810.5,-347 810.5,-347 810.5,-353 804.5,-359 798.5,-359"/>
|
|
111
|
+
<text xml:space="preserve" text-anchor="middle" x="715.88" y="-344.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">snapshot · drift</text>
|
|
112
|
+
<text xml:space="preserve" text-anchor="middle" x="715.88" y="-331.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">host/net/toolchain</text>
|
|
113
|
+
<text xml:space="preserve" text-anchor="middle" x="715.88" y="-317.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">repo/env/rf/web</text>
|
|
114
|
+
<text xml:space="preserve" text-anchor="middle" x="715.88" y="-304.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">(AUTO_SECTIONS=host/repo/env)</text>
|
|
114
115
|
</g>
|
|
115
116
|
<!-- World->Snapshot -->
|
|
116
117
|
<g id="edge12" class="edge">
|
|
117
118
|
<title>World->Snapshot</title>
|
|
118
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="
|
|
119
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
119
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M231.12,-654.97C244.84,-639.59 267.11,-618.26 291.88,-609 323.67,-597.11 872.47,-616.1 902.88,-601 942.2,-581.46 1044.24,-469.23 1013.88,-437.5 999.88,-422.88 850.68,-436.99 831.88,-429.5 798.59,-416.25 768.27,-389.19 746.98,-366.49"/>
|
|
120
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="749.19,-364.76 741.73,-360.75 745.06,-368.54 749.19,-364.76"/>
|
|
120
121
|
</g>
|
|
121
122
|
<!-- Observe -->
|
|
122
123
|
<g id="node11" class="node">
|
|
123
124
|
<title>Observe</title>
|
|
124
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="
|
|
125
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
126
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
125
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M1298.38,-346C1298.38,-346 1189.38,-346 1189.38,-346 1183.38,-346 1177.38,-340 1177.38,-334 1177.38,-334 1177.38,-322 1177.38,-322 1177.38,-316 1183.38,-310 1189.38,-310 1189.38,-310 1298.38,-310 1298.38,-310 1304.38,-310 1310.38,-316 1310.38,-322 1310.38,-322 1310.38,-334 1310.38,-334 1310.38,-340 1304.38,-346 1298.38,-346"/>
|
|
126
|
+
<text xml:space="preserve" text-anchor="middle" x="1243.88" y="-331.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">observe · intel · watch</text>
|
|
127
|
+
<text xml:space="preserve" text-anchor="middle" x="1243.88" y="-317.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">recon · CVE · web DOM</text>
|
|
127
128
|
</g>
|
|
128
129
|
<!-- World->Observe -->
|
|
129
130
|
<g id="edge13" class="edge">
|
|
130
131
|
<title>World->Observe</title>
|
|
131
|
-
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="
|
|
132
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="
|
|
132
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" d="M242.56,-654.86C266.7,-639.39 304.49,-618.01 340.88,-609 375.77,-600.36 955.17,-615.91 987.88,-601 1049.89,-572.73 1041.31,-534.32 1089.88,-486.5 1117.49,-459.3 1128.38,-456.81 1155.88,-429.5 1180.53,-405.01 1206.48,-374.75 1223.75,-353.87"/>
|
|
133
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="1225.76,-355.84 1228.68,-347.88 1221.43,-352.28 1225.76,-355.84"/>
|
|
133
134
|
</g>
|
|
134
135
|
<!-- Verify -->
|
|
135
136
|
<g id="node12" class="node">
|
|
136
137
|
<title>Verify</title>
|
|
137
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="2" d="
|
|
138
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
139
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
140
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
138
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="2" d="M1122.38,-352.25C1122.38,-352.25 1025.38,-352.25 1025.38,-352.25 1019.38,-352.25 1013.38,-346.25 1013.38,-340.25 1013.38,-340.25 1013.38,-315.75 1013.38,-315.75 1013.38,-309.75 1019.38,-303.75 1025.38,-303.75 1025.38,-303.75 1122.38,-303.75 1122.38,-303.75 1128.38,-303.75 1134.38,-309.75 1134.38,-315.75 1134.38,-315.75 1134.38,-340.25 1134.38,-340.25 1134.38,-346.25 1128.38,-352.25 1122.38,-352.25"/>
|
|
139
|
+
<text xml:space="preserve" text-anchor="middle" x="1073.88" y="-337.8" font-family="sans-Serif" font-size="11.00" fill="#0f172a">verify (browser)</text>
|
|
140
|
+
<text xml:space="preserve" text-anchor="middle" x="1073.88" y="-324.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">fact-check own claims</text>
|
|
141
|
+
<text xml:space="preserve" text-anchor="middle" x="1073.88" y="-310.8" font-family="sans-Serif" font-size="11.00" fill="#0f172a">revalidate_memory</text>
|
|
141
142
|
</g>
|
|
142
143
|
<!-- World->Verify -->
|
|
143
144
|
<g id="edge14" class="edge">
|
|
144
145
|
<title>World->Verify</title>
|
|
145
|
-
<path fill="none" stroke="#38bdf8" stroke-width="2" d="
|
|
146
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="
|
|
147
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
148
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
146
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M253.64,-654.85C287.97,-639.38 341.11,-618 389.88,-609 406.21,-605.98 974.07,-610.24 987.88,-601 1065.79,-548.85 1075.5,-425.1 1075.27,-364.15"/>
|
|
147
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="1078.07,-364.17 1075.16,-356.21 1072.47,-364.25 1078.07,-364.17"/>
|
|
148
|
+
<text xml:space="preserve" text-anchor="middle" x="1102.2" y="-514.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">TransparentBrowser</text>
|
|
149
|
+
<text xml:space="preserve" text-anchor="middle" x="1102.2" y="-503.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">:headless</text>
|
|
150
|
+
</g>
|
|
151
|
+
<!-- RFTune -->
|
|
152
|
+
<g id="node13" class="node">
|
|
153
|
+
<title>RFTune</title>
|
|
154
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="2" d="M958.5,-352.25C958.5,-352.25 865.25,-352.25 865.25,-352.25 859.25,-352.25 853.25,-346.25 853.25,-340.25 853.25,-340.25 853.25,-315.75 853.25,-315.75 853.25,-309.75 859.25,-303.75 865.25,-303.75 865.25,-303.75 958.5,-303.75 958.5,-303.75 964.5,-303.75 970.5,-309.75 970.5,-315.75 970.5,-315.75 970.5,-340.25 970.5,-340.25 970.5,-346.25 964.5,-352.25 958.5,-352.25"/>
|
|
155
|
+
<text xml:space="preserve" text-anchor="middle" x="911.88" y="-337.8" font-family="sans-Serif" font-size="11.00" fill="#0f172a">rf_tune  📡</text>
|
|
156
|
+
<text xml:space="preserve" text-anchor="middle" x="911.88" y="-324.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">tune GQRX · demod</text>
|
|
157
|
+
<text xml:space="preserve" text-anchor="middle" x="911.88" y="-310.8" font-family="sans-Serif" font-size="11.00" fill="#0f172a">RDS → now_playing</text>
|
|
158
|
+
</g>
|
|
159
|
+
<!-- World->RFTune -->
|
|
160
|
+
<g id="edge15" class="edge">
|
|
161
|
+
<title>World->RFTune</title>
|
|
162
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" d="M272.2,-654.83C326.87,-637.7 406.84,-613.65 438.88,-609 450.56,-607.31 1280.57,-609.39 1288.88,-601 1324.69,-564.85 1321.06,-525.92 1288.88,-486.5 1220.02,-402.17 1156.17,-455.96 1048.88,-437.5 1023.66,-433.16 1014.09,-442.19 991.88,-429.5 964.6,-413.92 943.11,-385.05 929.31,-362.24"/>
|
|
163
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="931.83,-361.01 925.39,-355.51 926.99,-363.83 931.83,-361.01"/>
|
|
164
|
+
<text xml:space="preserve" text-anchor="middle" x="1342.89" y="-514.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">GQRX remote</text>
|
|
165
|
+
<text xml:space="preserve" text-anchor="middle" x="1342.89" y="-503.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">:7356 + SDR</text>
|
|
149
166
|
</g>
|
|
150
167
|
<!-- Prompt->Dispatch -->
|
|
151
168
|
<g id="edge4" class="edge">
|
|
152
169
|
<title>Prompt->Dispatch</title>
|
|
153
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
154
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
170
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M101.92,-530.95C113.51,-558.28 139.46,-608.41 180.38,-628.25 209.57,-642.4 223.43,-640.75 253.38,-628.25 296.4,-610.29 331.51,-567.43 351.05,-539.2"/>
|
|
171
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="353.36,-540.79 355.51,-532.59 348.71,-537.66 353.36,-540.79"/>
|
|
155
172
|
</g>
|
|
156
173
|
<!-- Dispatch->Result -->
|
|
157
174
|
<g id="edge5" class="edge">
|
|
158
175
|
<title>Dispatch->Result</title>
|
|
159
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
160
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
176
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M338.6,-512.5C313.8,-512.5 289,-512.5 264.21,-512.5"/>
|
|
177
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="264.3,-509.7 256.3,-512.5 264.3,-515.3 264.3,-509.7"/>
|
|
161
178
|
</g>
|
|
162
179
|
<!-- Metrics -->
|
|
163
180
|
<g id="node7" class="node">
|
|
164
181
|
<title>Metrics</title>
|
|
165
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="
|
|
166
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
167
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
182
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M352.62,-346C352.62,-346 239.12,-346 239.12,-346 233.12,-346 227.12,-340 227.12,-334 227.12,-334 227.12,-322 227.12,-322 227.12,-316 233.12,-310 239.12,-310 239.12,-310 352.62,-310 352.62,-310 358.62,-310 364.62,-316 364.62,-322 364.62,-322 364.62,-334 364.62,-334 364.62,-340 358.62,-346 352.62,-346"/>
|
|
183
|
+
<text xml:space="preserve" text-anchor="middle" x="295.88" y="-331.05" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Metrics</text>
|
|
184
|
+
<text xml:space="preserve" text-anchor="middle" x="295.88" y="-317.55" font-family="sans-Serif" font-size="11.00" fill="#0f172a">per-tool success · avg ms</text>
|
|
168
185
|
</g>
|
|
169
186
|
<!-- Dispatch->Metrics -->
|
|
170
187
|
<g id="edge6" class="edge">
|
|
171
188
|
<title>Dispatch->Metrics</title>
|
|
172
|
-
<path fill="none" stroke="#34d399" stroke-width="1.3" d="
|
|
173
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="
|
|
174
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
189
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M338.53,-501.85C318.86,-493.68 294.48,-479.83 282.62,-458.5 264.85,-426.52 274.86,-383.19 284.62,-355.66"/>
|
|
190
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="287.13,-356.94 287.32,-348.47 281.88,-354.97 287.13,-356.94"/>
|
|
191
|
+
<text xml:space="preserve" text-anchor="middle" x="298.75" y="-444.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">record()</text>
|
|
175
192
|
</g>
|
|
176
193
|
<!-- Dispatch->Mistakes -->
|
|
177
194
|
<g id="edge8" class="edge">
|
|
178
195
|
<title>Dispatch->Mistakes</title>
|
|
179
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" d="
|
|
180
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="
|
|
181
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
182
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
196
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" d="M360.76,-493.93C355.46,-477.76 350.96,-453.86 362.62,-437.5 368.97,-428.6 376.52,-435.14 385.88,-429.5 413.23,-413 439.45,-388.56 459.09,-367.91"/>
|
|
197
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="461.08,-369.89 464.49,-362.13 456.98,-366.07 461.08,-369.89"/>
|
|
198
|
+
<text xml:space="preserve" text-anchor="middle" x="381.75" y="-449.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">on failure</text>
|
|
199
|
+
<text xml:space="preserve" text-anchor="middle" x="381.75" y="-439.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">record()</text>
|
|
183
200
|
</g>
|
|
184
201
|
<!-- Dispatch->Snapshot -->
|
|
185
202
|
<g id="edge10" class="edge">
|
|
186
203
|
<title>Dispatch->Snapshot</title>
|
|
187
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
188
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
189
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
204
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M397.41,-506.03C434.8,-498.45 500.64,-482.85 552.88,-458.5 601.4,-435.88 648.34,-396.08 679.29,-366.56"/>
|
|
205
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="681.19,-368.61 685,-361.04 677.3,-364.58 681.19,-368.61"/>
|
|
206
|
+
<text xml:space="preserve" text-anchor="middle" x="599.62" y="-444.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">probe</text>
|
|
207
|
+
</g>
|
|
208
|
+
<!-- Dispatch->Observe -->
|
|
209
|
+
<g id="edge16" class="edge">
|
|
210
|
+
<title>Dispatch->Observe</title>
|
|
211
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" stroke-dasharray="5,2" d="M379.85,-493.83C393.23,-475.82 416.71,-448.95 444.62,-437.5 481.19,-422.51 1119.98,-446.02 1155.88,-429.5 1189.27,-414.13 1215.05,-379.25 1229.84,-354.93"/>
|
|
212
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1232.16,-356.51 1233.79,-348.19 1227.33,-353.68 1232.16,-356.51"/>
|
|
213
|
+
<text xml:space="preserve" text-anchor="middle" x="493.75" y="-449.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">sense tools</text>
|
|
214
|
+
<text xml:space="preserve" text-anchor="middle" x="493.75" y="-439.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">verify/watch/rf_tune/intel</text>
|
|
190
215
|
</g>
|
|
191
216
|
<!-- Result->User -->
|
|
192
|
-
<g id="
|
|
217
|
+
<g id="edge43" class="edge">
|
|
193
218
|
<title>Result->User</title>
|
|
194
|
-
<path fill="none" stroke="#38bdf8" stroke-width="2" d="
|
|
195
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="
|
|
196
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
219
|
+
<path fill="none" stroke="#38bdf8" stroke-width="2" d="M208.06,-531.18C198.03,-550.06 180.23,-580.09 158.88,-601 139.08,-620.38 113.18,-637.23 91.18,-649.7"/>
|
|
220
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="2" points="89.99,-647.15 84.34,-653.47 92.7,-652.05 89.99,-647.15"/>
|
|
221
|
+
<text xml:space="preserve" text-anchor="middle" x="163.19" y="-610.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">answer</text>
|
|
197
222
|
</g>
|
|
198
223
|
<!-- Learning -->
|
|
199
224
|
<g id="node8" class="node">
|
|
200
225
|
<title>Learning</title>
|
|
201
|
-
<path fill="#6ee7b7" 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="
|
|
226
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.4" d="M171.62,-352.25C171.62,-352.25 70.12,-352.25 70.12,-352.25 64.12,-352.25 58.12,-346.25 58.12,-340.25 58.12,-340.25 58.12,-315.75 58.12,-315.75 58.12,-309.75 64.12,-303.75 70.12,-303.75 70.12,-303.75 171.62,-303.75 171.62,-303.75 177.62,-303.75 183.62,-309.75 183.62,-315.75 183.62,-315.75 183.62,-340.25 183.62,-340.25 183.62,-346.25 177.62,-352.25 171.62,-352.25"/>
|
|
227
|
+
<text xml:space="preserve" text-anchor="middle" x="120.88" y="-337.8" font-family="sans-Serif" font-size="11.00" fill="#0f172a">Learning</text>
|
|
228
|
+
<text xml:space="preserve" text-anchor="middle" x="120.88" y="-324.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">note_outcome · reflect</text>
|
|
229
|
+
<text xml:space="preserve" text-anchor="middle" x="120.88" y="-310.8" font-family="sans-Serif" font-size="11.00" fill="#0f172a">consolidate · distill_skill</text>
|
|
205
230
|
</g>
|
|
206
231
|
<!-- Result->Learning -->
|
|
207
232
|
<g id="edge7" class="edge">
|
|
208
233
|
<title>Result->Learning</title>
|
|
209
|
-
<path fill="none" stroke="#34d399" stroke-width="1.3" d="
|
|
210
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="
|
|
211
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
234
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M207.67,-494C191.64,-463.52 158.36,-400.26 137.99,-361.53"/>
|
|
235
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="140.47,-360.24 134.27,-354.46 135.51,-362.84 140.47,-360.24"/>
|
|
236
|
+
<text xml:space="preserve" text-anchor="middle" x="220.01" y="-444.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">auto_introspect</text>
|
|
212
237
|
</g>
|
|
213
238
|
<!-- Result->Observe -->
|
|
214
239
|
<g id="edge11" class="edge">
|
|
215
240
|
<title>Result->Observe</title>
|
|
216
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
217
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
218
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
241
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M254.01,-500.88C272.97,-495.83 296.5,-490.11 317.88,-486.5 451.66,-463.91 491.62,-496.5 621.88,-458.5 641.43,-452.79 642.86,-442.46 662.62,-437.5 689.21,-430.83 1131.01,-441.02 1155.88,-429.5 1189.23,-414.04 1215.02,-379.19 1229.83,-354.89"/>
|
|
242
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="1232.14,-356.48 1233.78,-348.17 1227.31,-353.64 1232.14,-356.48"/>
|
|
243
|
+
<text xml:space="preserve" text-anchor="middle" x="713.25" y="-449.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">auto_extrospect</text>
|
|
244
|
+
<text xml:space="preserve" text-anchor="middle" x="713.25" y="-439.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">(AUTO_SECTIONS only)</text>
|
|
219
245
|
</g>
|
|
220
246
|
<!-- Correlate -->
|
|
221
|
-
<g id="
|
|
247
|
+
<g id="node14" class="node">
|
|
222
248
|
<title>Correlate</title>
|
|
223
|
-
<path fill="#fda4af" stroke="#334155" stroke-width="2" d="
|
|
224
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
225
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
249
|
+
<path fill="#fda4af" stroke="#334155" stroke-width="2" d="M815.75,-204C815.75,-204 616,-204 616,-204 610,-204 604,-198 604,-192 604,-192 604,-179.5 604,-179.5 604,-173.5 610,-167.5 616,-167.5 616,-167.5 815.75,-167.5 815.75,-167.5 821.75,-167.5 827.75,-173.5 827.75,-179.5 827.75,-179.5 827.75,-192 827.75,-192 827.75,-198 821.75,-204 815.75,-204"/>
|
|
250
|
+
<text xml:space="preserve" text-anchor="middle" x="715.88" y="-188.6" font-family="sans-Serif" font-size="12.00" fill="#0f172a">extro_correlate()</text>
|
|
251
|
+
<text xml:space="preserve" text-anchor="middle" x="715.88" y="-174.35" font-family="sans-Serif" font-size="12.00" fill="#0f172a">"I did it wrong"  vs  "the world changed"</text>
|
|
226
252
|
</g>
|
|
227
253
|
<!-- Metrics->Correlate -->
|
|
228
|
-
<g id="
|
|
254
|
+
<g id="edge17" class="edge">
|
|
229
255
|
<title>Metrics->Correlate</title>
|
|
230
|
-
<path fill="none" stroke="#34d399" stroke-width="1.3" d="
|
|
231
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="
|
|
256
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M333.91,-309.4C349.77,-302.47 368.5,-294.8 385.88,-289 434.54,-272.75 448.66,-275.51 497.88,-261 552.36,-244.94 613.52,-223.84 657.15,-208.23"/>
|
|
257
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="658.03,-210.89 664.62,-205.56 656.14,-205.62 658.03,-210.89"/>
|
|
232
258
|
</g>
|
|
233
259
|
<!-- Fmet -->
|
|
234
|
-
<g id="
|
|
260
|
+
<g id="node15" class="node">
|
|
235
261
|
<title>Fmet</title>
|
|
236
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="
|
|
237
|
-
<path fill="none" stroke="#334155" stroke-width="1.4" d="
|
|
238
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
262
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M731.38,-48.73C731.38,-50.53 715.02,-52 694.88,-52 674.73,-52 658.38,-50.53 658.38,-48.73 658.38,-48.73 658.38,-19.27 658.38,-19.27 658.38,-17.47 674.73,-16 694.88,-16 715.02,-16 731.38,-17.47 731.38,-19.27 731.38,-19.27 731.38,-48.73 731.38,-48.73"/>
|
|
263
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M731.38,-48.73C731.38,-46.92 715.02,-45.45 694.88,-45.45 674.73,-45.45 658.38,-46.92 658.38,-48.73"/>
|
|
264
|
+
<text xml:space="preserve" text-anchor="middle" x="694.88" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">metrics.json</text>
|
|
239
265
|
</g>
|
|
240
266
|
<!-- Metrics->Fmet -->
|
|
241
|
-
<g id="
|
|
267
|
+
<g id="edge25" class="edge">
|
|
242
268
|
<title>Metrics->Fmet</title>
|
|
243
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="
|
|
244
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="
|
|
269
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M319.95,-309.44C362.75,-278.62 455.43,-213.7 538.88,-167.5 580.81,-144.28 600.46,-153.67 636.88,-122.5 656.63,-105.59 672.38,-80.36 682.45,-61.33"/>
|
|
270
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="684.89,-62.7 686.04,-54.3 679.91,-60.15 684.89,-62.7"/>
|
|
245
271
|
</g>
|
|
246
272
|
<!-- Learning->Correlate -->
|
|
247
|
-
<g id="
|
|
273
|
+
<g id="edge18" class="edge">
|
|
248
274
|
<title>Learning->Correlate</title>
|
|
249
|
-
<path fill="none" stroke="#34d399" stroke-width="1.3" d="
|
|
250
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="
|
|
275
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M169.14,-303.19C180.96,-297.99 193.71,-292.89 205.88,-289 335.38,-247.64 488.95,-219.56 593.49,-203.45"/>
|
|
276
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="593.7,-206.25 601.19,-202.27 592.85,-200.71 593.7,-206.25"/>
|
|
251
277
|
</g>
|
|
252
278
|
<!-- Flrn -->
|
|
253
|
-
<g id="
|
|
279
|
+
<g id="node16" class="node">
|
|
254
280
|
<title>Flrn</title>
|
|
255
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="
|
|
256
|
-
<path fill="none" stroke="#334155" stroke-width="1.4" d="
|
|
257
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
281
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M495.38,-48.73C495.38,-50.53 477.67,-52 455.88,-52 434.08,-52 416.38,-50.53 416.38,-48.73 416.38,-48.73 416.38,-19.27 416.38,-19.27 416.38,-17.47 434.08,-16 455.88,-16 477.67,-16 495.38,-17.47 495.38,-19.27 495.38,-19.27 495.38,-48.73 495.38,-48.73"/>
|
|
282
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M495.38,-48.73C495.38,-46.92 477.67,-45.45 455.88,-45.45 434.08,-45.45 416.38,-46.92 416.38,-48.73"/>
|
|
283
|
+
<text xml:space="preserve" text-anchor="middle" x="455.88" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">learning.jsonl</text>
|
|
258
284
|
</g>
|
|
259
285
|
<!-- Learning->Flrn -->
|
|
260
|
-
<g id="
|
|
286
|
+
<g id="edge26" class="edge">
|
|
261
287
|
<title>Learning->Flrn</title>
|
|
262
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="
|
|
263
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="
|
|
288
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M118.59,-303.26C115.86,-259.16 117.58,-165.88 175.88,-130.5 196.69,-117.87 373.5,-134.16 394.88,-122.5 418.98,-109.35 435.63,-82.08 445.37,-61.45"/>
|
|
289
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="447.85,-62.76 448.56,-54.32 442.74,-60.48 447.85,-62.76"/>
|
|
264
290
|
</g>
|
|
265
291
|
<!-- Fmem -->
|
|
266
|
-
<g id="
|
|
292
|
+
<g id="node18" class="node">
|
|
267
293
|
<title>Fmem</title>
|
|
268
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="
|
|
269
|
-
<path fill="none" stroke="#334155" stroke-width="1.4" d="
|
|
270
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
294
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M615.62,-48.73C615.62,-50.53 598.26,-52 576.88,-52 555.49,-52 538.12,-50.53 538.12,-48.73 538.12,-48.73 538.12,-19.27 538.12,-19.27 538.12,-17.47 555.49,-16 576.88,-16 598.26,-16 615.62,-17.47 615.62,-19.27 615.62,-19.27 615.62,-48.73 615.62,-48.73"/>
|
|
295
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M615.62,-48.73C615.62,-46.92 598.26,-45.45 576.88,-45.45 555.49,-45.45 538.12,-46.92 538.12,-48.73"/>
|
|
296
|
+
<text xml:space="preserve" text-anchor="middle" x="576.88" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">memory.json</text>
|
|
271
297
|
</g>
|
|
272
298
|
<!-- Learning->Fmem -->
|
|
273
|
-
<g id="
|
|
299
|
+
<g id="edge29" class="edge">
|
|
274
300
|
<title>Learning->Fmem</title>
|
|
275
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="
|
|
276
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="
|
|
277
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
301
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M157,-303.23C208.4,-270.06 306.24,-209.26 394.88,-167.5 396.51,-166.73 515.45,-123.61 516.88,-122.5 537.83,-106.19 554.21,-80.5 564.52,-61.17"/>
|
|
302
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="566.9,-62.67 568.06,-54.27 561.92,-60.11 566.9,-62.67"/>
|
|
303
|
+
<text xml:space="preserve" text-anchor="middle" x="408.38" y="-182.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">lesson</text>
|
|
278
304
|
</g>
|
|
279
305
|
<!-- Fskl -->
|
|
280
|
-
<g id="
|
|
306
|
+
<g id="node19" class="node">
|
|
281
307
|
<title>Fskl</title>
|
|
282
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="
|
|
283
|
-
<path fill="none" stroke="#334155" stroke-width="1.4" d="
|
|
284
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
308
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M372.88,-48.73C372.88,-50.53 358.53,-52 340.88,-52 323.22,-52 308.88,-50.53 308.88,-48.73 308.88,-48.73 308.88,-19.27 308.88,-19.27 308.88,-17.47 323.22,-16 340.88,-16 358.53,-16 372.88,-17.47 372.88,-19.27 372.88,-19.27 372.88,-48.73 372.88,-48.73"/>
|
|
309
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M372.88,-48.73C372.88,-46.92 358.53,-45.45 340.88,-45.45 323.22,-45.45 308.88,-46.92 308.88,-48.73"/>
|
|
310
|
+
<text xml:space="preserve" text-anchor="middle" x="340.88" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">skills/*.md</text>
|
|
285
311
|
</g>
|
|
286
312
|
<!-- Learning->Fskl -->
|
|
287
|
-
<g id="
|
|
313
|
+
<g id="edge30" class="edge">
|
|
288
314
|
<title>Learning->Fskl</title>
|
|
289
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="
|
|
290
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="
|
|
291
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
315
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M97.9,-303.29C87.45,-291.41 75.71,-276.31 67.88,-261 41.45,-209.37 25.53,-170.14 67.88,-130.5 133.19,-69.35 239.85,-47.06 298.65,-39.16"/>
|
|
316
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="298.82,-41.96 306.4,-38.17 298.12,-36.4 298.82,-41.96"/>
|
|
317
|
+
<text xml:space="preserve" text-anchor="middle" x="51.8" y="-182.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">skill</text>
|
|
292
318
|
</g>
|
|
293
319
|
<!-- Mistakes->Dispatch -->
|
|
294
|
-
<g id="
|
|
320
|
+
<g id="edge41" class="edge">
|
|
295
321
|
<title>Mistakes->Dispatch</title>
|
|
296
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="
|
|
297
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="
|
|
298
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
299
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
322
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="M516.21,-359.73C536.28,-383.52 567.52,-414.82 602.88,-429.5 620.44,-436.79 760.74,-423.74 773.88,-437.5 780.32,-444.25 780.03,-451.49 773.88,-458.5 761.85,-472.19 508.5,-497.96 408.22,-507.67"/>
|
|
323
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="408.04,-504.88 400.35,-508.43 408.58,-510.45 408.04,-504.88"/>
|
|
324
|
+
<text xml:space="preserve" text-anchor="middle" x="811.23" y="-449.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">correction_hint</text>
|
|
325
|
+
<text xml:space="preserve" text-anchor="middle" x="811.23" y="-439.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">(inline, next iter)</text>
|
|
300
326
|
</g>
|
|
301
327
|
<!-- Mistakes->Correlate -->
|
|
302
|
-
<g id="
|
|
328
|
+
<g id="edge19" class="edge">
|
|
303
329
|
<title>Mistakes->Correlate</title>
|
|
304
|
-
<path fill="none" stroke="#34d399" stroke-width="1.3" d="
|
|
305
|
-
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="
|
|
330
|
+
<path fill="none" stroke="#34d399" stroke-width="1.3" d="M564.39,-296.08C585.43,-285.92 608.1,-273.9 627.88,-261 650.24,-246.42 673.22,-226.85 690.08,-211.46"/>
|
|
331
|
+
<polygon fill="#34d399" stroke="#34d399" stroke-width="1.3" points="691.96,-213.53 695.93,-206.05 688.16,-209.42 691.96,-213.53"/>
|
|
306
332
|
</g>
|
|
307
333
|
<!-- Fmis -->
|
|
308
|
-
<g id="
|
|
334
|
+
<g id="node17" class="node">
|
|
309
335
|
<title>Fmis</title>
|
|
310
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="
|
|
311
|
-
<path fill="none" stroke="#334155" stroke-width="1.4" d="
|
|
312
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
336
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M855.12,-48.73C855.12,-50.53 837.08,-52 814.88,-52 792.67,-52 774.62,-50.53 774.62,-48.73 774.62,-48.73 774.62,-19.27 774.62,-19.27 774.62,-17.47 792.67,-16 814.88,-16 837.08,-16 855.12,-17.47 855.12,-19.27 855.12,-19.27 855.12,-48.73 855.12,-48.73"/>
|
|
337
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M855.12,-48.73C855.12,-46.92 837.08,-45.45 814.88,-45.45 792.67,-45.45 774.62,-46.92 774.62,-48.73"/>
|
|
338
|
+
<text xml:space="preserve" text-anchor="middle" x="814.88" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">mistakes.json</text>
|
|
313
339
|
</g>
|
|
314
340
|
<!-- Mistakes->Fmis -->
|
|
315
|
-
<g id="
|
|
341
|
+
<g id="edge27" class="edge">
|
|
316
342
|
<title>Mistakes->Fmis</title>
|
|
317
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="
|
|
318
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="
|
|
343
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M502.04,-296.28C514.45,-260.04 540.11,-200.55 582.88,-167.5 644.72,-119.71 688.66,-167.05 752.88,-122.5 775.06,-107.11 792.01,-81.07 802.53,-61.39"/>
|
|
344
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="804.99,-62.74 806.15,-54.34 800.01,-60.18 804.99,-62.74"/>
|
|
319
345
|
</g>
|
|
320
346
|
<!-- Mistakes->Fmem -->
|
|
321
|
-
<g id="
|
|
347
|
+
<g id="edge28" class="edge">
|
|
322
348
|
<title>Mistakes->Fmem</title>
|
|
323
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="
|
|
324
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="
|
|
325
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
349
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M468.39,-296.09C445.21,-262.78 417.22,-209 440.88,-167.5 460.32,-133.4 488.21,-149.32 516.88,-122.5 535.95,-104.66 552.3,-79.73 563.09,-61.05"/>
|
|
350
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="565.49,-62.5 566.97,-54.15 560.61,-59.76 565.49,-62.5"/>
|
|
351
|
+
<text xml:space="preserve" text-anchor="middle" x="473.88" y="-182.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">resolve→lesson</text>
|
|
326
352
|
</g>
|
|
327
353
|
<!-- Snapshot->Correlate -->
|
|
328
|
-
<g id="
|
|
354
|
+
<g id="edge20" class="edge">
|
|
329
355
|
<title>Snapshot->Correlate</title>
|
|
330
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
331
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
356
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M715.88,-296.57C715.88,-272.15 715.88,-238.15 715.88,-214.47"/>
|
|
357
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="718.68,-214.67 715.88,-206.67 713.08,-214.67 718.68,-214.67"/>
|
|
332
358
|
</g>
|
|
333
359
|
<!-- Observe->Correlate -->
|
|
334
|
-
<g id="
|
|
360
|
+
<g id="edge21" class="edge">
|
|
335
361
|
<title>Observe->Correlate</title>
|
|
336
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
337
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
362
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M1207.19,-309.41C1191.62,-302.4 1173.1,-294.67 1155.88,-289 1046.09,-252.86 916.88,-224.45 827,-206.84"/>
|
|
363
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="827.65,-204.11 819.26,-205.33 826.58,-209.61 827.65,-204.11"/>
|
|
338
364
|
</g>
|
|
339
365
|
<!-- Fext -->
|
|
340
|
-
<g id="
|
|
366
|
+
<g id="node20" class="node">
|
|
341
367
|
<title>Fext</title>
|
|
342
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="
|
|
343
|
-
<path fill="none" stroke="#334155" stroke-width="1.4" d="
|
|
344
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
368
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.4" d="M1000,-48.73C1000,-50.53 977.08,-52 948.88,-52 920.67,-52 897.75,-50.53 897.75,-48.73 897.75,-48.73 897.75,-19.27 897.75,-19.27 897.75,-17.47 920.67,-16 948.88,-16 977.08,-16 1000,-17.47 1000,-19.27 1000,-19.27 1000,-48.73 1000,-48.73"/>
|
|
369
|
+
<path fill="none" stroke="#334155" stroke-width="1.4" d="M1000,-48.73C1000,-46.92 977.08,-45.45 948.88,-45.45 920.67,-45.45 897.75,-46.92 897.75,-48.73"/>
|
|
370
|
+
<text xml:space="preserve" text-anchor="middle" x="948.88" y="-30.3" font-family="sans-Serif" font-size="11.00" fill="#0f172a">extrospection.json</text>
|
|
345
371
|
</g>
|
|
346
372
|
<!-- Observe->Fext -->
|
|
347
|
-
<g id="
|
|
373
|
+
<g id="edge31" class="edge">
|
|
348
374
|
<title>Observe->Fext</title>
|
|
349
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="
|
|
350
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="
|
|
375
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M1250.01,-309.76C1259.72,-279.45 1275.46,-215.29 1253.88,-167.5 1212.56,-76.05 1086.75,-47.7 1010.22,-38.92"/>
|
|
376
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="1010.89,-36.18 1002.64,-38.11 1010.3,-41.75 1010.89,-36.18"/>
|
|
377
|
+
</g>
|
|
378
|
+
<!-- Verify->Mistakes -->
|
|
379
|
+
<g id="edge34" class="edge">
|
|
380
|
+
<title>Verify->Mistakes</title>
|
|
381
|
+
<path fill="none" stroke="#fb7185" stroke-width="1.3" stroke-dasharray="5,2" d="M1060.51,-353.2C1046.75,-376.17 1022.95,-408.62 991.88,-422.83 913.26,-458.78 683.91,-452.94 602.88,-422.83 572.64,-411.6 545.16,-387.91 525.22,-367.03"/>
|
|
382
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="1.3" points="527.33,-365.18 519.83,-361.22 523.22,-368.99 527.33,-365.18"/>
|
|
383
|
+
<text xml:space="preserve" text-anchor="middle" x="954.88" y="-444.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">:refuted</text>
|
|
351
384
|
</g>
|
|
352
385
|
<!-- Verify->Correlate -->
|
|
353
|
-
<g id="
|
|
386
|
+
<g id="edge22" class="edge">
|
|
354
387
|
<title>Verify->Correlate</title>
|
|
355
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
356
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
388
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M1023.41,-302.85C1013.05,-298.11 1002.16,-293.28 991.88,-289 919.26,-258.78 834.18,-227.93 777.88,-208.14"/>
|
|
389
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="779.09,-205.59 770.61,-205.59 777.23,-210.88 779.09,-205.59"/>
|
|
357
390
|
</g>
|
|
358
391
|
<!-- Verify->Fmis -->
|
|
359
|
-
<g id="
|
|
392
|
+
<g id="edge33" class="edge">
|
|
360
393
|
<title>Verify->Fmis</title>
|
|
361
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" d="
|
|
362
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="
|
|
363
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
364
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
394
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" d="M1065.83,-302.95C1053.21,-268.6 1025.7,-205.46 982.88,-167.5 944.27,-133.28 915.99,-154.94 875.88,-122.5 855.61,-106.11 839.2,-81.31 828.52,-62.29"/>
|
|
395
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="831.03,-61.05 824.77,-55.34 826.1,-63.71 831.03,-61.05"/>
|
|
396
|
+
<text xml:space="preserve" text-anchor="middle" x="1054.66" y="-187.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">:refuted →</text>
|
|
397
|
+
<text xml:space="preserve" text-anchor="middle" x="1054.66" y="-177.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">assumption mistake</text>
|
|
365
398
|
</g>
|
|
366
399
|
<!-- Verify->Fmem -->
|
|
367
|
-
<g id="
|
|
400
|
+
<g id="edge35" class="edge">
|
|
368
401
|
<title>Verify->Fmem</title>
|
|
369
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
370
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
371
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
372
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
402
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" stroke-dasharray="5,2" d="M1043.41,-303.04C992.12,-263.11 890.1,-185.56 848.88,-167.5 760.65,-128.85 716.94,-176.04 636.88,-122.5 614.54,-107.56 598.17,-81.23 588.23,-61.35"/>
|
|
403
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="590.81,-60.24 584.84,-54.23 585.75,-62.66 590.81,-60.24"/>
|
|
404
|
+
<text xml:space="preserve" text-anchor="middle" x="938.92" y="-187.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">mark stale</text>
|
|
405
|
+
<text xml:space="preserve" text-anchor="middle" x="938.92" y="-177.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">[UNVERIFIED]</text>
|
|
373
406
|
</g>
|
|
374
407
|
<!-- Verify->Fext -->
|
|
375
|
-
<g id="
|
|
408
|
+
<g id="edge36" class="edge">
|
|
376
409
|
<title>Verify->Fext</title>
|
|
377
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="
|
|
378
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="
|
|
379
|
-
<text xml:space="preserve" text-anchor="middle" x="33
|
|
380
|
-
<text xml:space="preserve" text-anchor="middle" x="33
|
|
410
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M1114.63,-302.88C1157.03,-274.32 1215.02,-223.51 1197.88,-167.5 1174,-89.51 1075.79,-56.92 1010.08,-43.66"/>
|
|
411
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="1010.95,-40.98 1002.56,-42.21 1009.89,-46.48 1010.95,-40.98"/>
|
|
412
|
+
<text xml:space="preserve" text-anchor="middle" x="1222.33" y="-187.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">:confirmed</text>
|
|
413
|
+
<text xml:space="preserve" text-anchor="middle" x="1222.33" y="-177.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">:intel obs</text>
|
|
414
|
+
</g>
|
|
415
|
+
<!-- RFTune->Correlate -->
|
|
416
|
+
<g id="edge23" class="edge">
|
|
417
|
+
<title>RFTune->Correlate</title>
|
|
418
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M877.82,-302.92C860.2,-290.44 838.36,-274.94 818.88,-261 795.39,-244.21 768.98,-225.16 748.78,-210.57"/>
|
|
419
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="750.53,-208.38 742.41,-205.96 747.25,-212.91 750.53,-208.38"/>
|
|
420
|
+
</g>
|
|
421
|
+
<!-- RFTune->Fext -->
|
|
422
|
+
<g id="edge32" class="edge">
|
|
423
|
+
<title>RFTune->Fext</title>
|
|
424
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" d="M961.76,-302.86C1029.94,-269.64 1144.46,-212.9 1149.88,-204 1191.37,-135.85 1082.19,-81.89 1008.95,-54.58"/>
|
|
425
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="1010.09,-52.01 1001.62,-51.89 1008.17,-57.27 1010.09,-52.01"/>
|
|
426
|
+
<text xml:space="preserve" text-anchor="middle" x="1173.62" y="-187.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">:rf obs</text>
|
|
427
|
+
<text xml:space="preserve" text-anchor="middle" x="1173.62" y="-177.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">ttl 300s</text>
|
|
381
428
|
</g>
|
|
382
429
|
<!-- Correlate->Prompt -->
|
|
383
|
-
<g id="
|
|
430
|
+
<g id="edge42" class="edge">
|
|
384
431
|
<title>Correlate->Prompt</title>
|
|
385
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="
|
|
386
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="
|
|
387
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
432
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="M828.62,-203.67C1003.45,-230.16 1320.86,-279.42 1328.88,-289 1368.92,-336.91 1372.57,-384.89 1328.88,-429.5 1321.29,-437.24 949.62,-436.08 938.88,-437.5 900.3,-442.6 892.4,-453.02 853.88,-458.5 547.81,-502.02 461.46,-423.17 158.88,-486.5 153.95,-487.53 148.92,-488.9 143.94,-490.47"/>
|
|
433
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="143.38,-487.7 136.71,-492.94 145.19,-493 143.38,-487.7"/>
|
|
434
|
+
<text xml:space="preserve" text-anchor="middle" x="1399.67" y="-324.7" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">findings → next run</text>
|
|
388
435
|
</g>
|
|
389
436
|
<!-- Correlate->Fmet -->
|
|
390
437
|
<!-- Fmis->Prompt -->
|
|
391
|
-
<g id="
|
|
438
|
+
<g id="edge39" class="edge">
|
|
392
439
|
<title>Fmis->Prompt</title>
|
|
393
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="
|
|
394
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="
|
|
395
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
396
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
440
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="M821.76,-52.51C830.84,-73.04 848.88,-106.31 875.88,-122.5 884.94,-127.94 1243.9,-164 1253.88,-167.5 1350.22,-201.35 1399.31,-199.72 1448.88,-289 1479.18,-343.6 1491.79,-384.14 1448.88,-429.5 1443.37,-435.32 1312.87,-437.02 1304.88,-437.5 1160.39,-446.18 1124.44,-451.37 979.88,-458.5 797.55,-467.5 337.67,-449.65 158.88,-486.5 153.95,-487.52 148.91,-488.87 143.93,-490.44"/>
|
|
441
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="143.37,-487.67 136.71,-492.9 145.18,-492.97 143.37,-487.67"/>
|
|
442
|
+
<text xml:space="preserve" text-anchor="middle" x="1471.38" y="-252.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">KNOWN MISTAKES</text>
|
|
443
|
+
<text xml:space="preserve" text-anchor="middle" x="1471.38" y="-241.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">+ KNOWN FIXES</text>
|
|
397
444
|
</g>
|
|
398
445
|
<!-- Fmem->Prompt -->
|
|
399
|
-
<g id="
|
|
446
|
+
<g id="edge37" class="edge">
|
|
400
447
|
<title>Fmem->Prompt</title>
|
|
401
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
402
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
403
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
448
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M583.29,-52.35C591.97,-73.04 609.56,-106.82 636.88,-122.5 651.78,-131.06 1236.83,-165.33 1253.88,-167.5 1433.69,-190.41 1680.78,-82.21 1650.88,-261 1637.81,-339.12 1654.91,-380.26 1592.88,-429.5 1589.79,-431.95 1314.8,-458.25 1310.88,-458.5 1055.31,-474.72 409.93,-436.04 158.88,-486.5 153.69,-487.54 148.37,-488.98 143.13,-490.63"/>
|
|
449
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="142.35,-487.94 135.69,-493.18 144.17,-493.24 142.35,-487.94"/>
|
|
450
|
+
<text xml:space="preserve" text-anchor="middle" x="1685.37" y="-247.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">MEMORY block</text>
|
|
404
451
|
</g>
|
|
405
452
|
<!-- Fskl->Prompt -->
|
|
406
|
-
<g id="
|
|
453
|
+
<g id="edge38" class="edge">
|
|
407
454
|
<title>Fskl->Prompt</title>
|
|
408
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
409
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
410
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
455
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M346.1,-52.39C353.34,-73.12 368.62,-106.93 394.88,-122.5 477.09,-171.24 1158.75,-158.27 1253.88,-167.5 1483.24,-189.77 1802.5,-33.82 1763.88,-261 1750.58,-339.22 1765.56,-378.38 1704.88,-429.5 1645.25,-479.73 1609.5,-451.24 1531.88,-458.5 1228.03,-486.91 458.18,-426.95 158.88,-486.5 153.48,-487.57 147.95,-489.07 142.51,-490.81"/>
|
|
456
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="141.99,-488.02 135.34,-493.28 143.82,-493.32 141.99,-488.02"/>
|
|
457
|
+
<text xml:space="preserve" text-anchor="middle" x="1793.81" y="-247.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">SKILLS block</text>
|
|
411
458
|
</g>
|
|
412
459
|
<!-- Fext->Prompt -->
|
|
413
|
-
<g id="
|
|
460
|
+
<g id="edge40" class="edge">
|
|
414
461
|
<title>Fext->Prompt</title>
|
|
415
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
416
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
417
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
462
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M1000.59,-38.76C1173.55,-52.54 1726.75,-106.52 1830.88,-240 1885.73,-310.32 1832.08,-370.87 1764.88,-429.5 1723.53,-465.57 1699.29,-451.5 1644.88,-458.5 1317.3,-500.65 482.86,-422.3 158.88,-486.5 153.48,-487.57 147.95,-489.07 142.51,-490.8"/>
|
|
463
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="141.99,-488.02 135.34,-493.27 143.81,-493.31 141.99,-488.02"/>
|
|
464
|
+
<text xml:space="preserve" text-anchor="middle" x="1871.55" y="-247.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">EXTRO block</text>
|
|
418
465
|
</g>
|
|
419
466
|
</g>
|
|
420
467
|
</svg>
|