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,271 +4,288 @@
|
|
|
4
4
|
<!-- Generated by graphviz version 14.1.2 (0)
|
|
5
5
|
-->
|
|
6
6
|
<!-- Title: PWN_MemorySkills 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="1147pt" height="612pt"
|
|
8
|
+
viewBox="0.00 0.00 1147.00 612.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 568.45)">
|
|
10
10
|
<title>PWN_MemorySkills</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,-568.45 1104.26,-568.45 1104.26,43.2 -43.2,43.2"/>
|
|
12
|
+
<text xml:space="preserve" text-anchor="start" x="187.78" y="-503.25" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">Persistent Knowledge — Memory · Skills · Learning · Mistakes · Sessions</text>
|
|
13
|
+
<text xml:space="preserve" text-anchor="start" x="405.28" y="-491.8" font-family="sans-Serif" font-size="11.00" fill="#94a3b8">everything under ~/.pwn/ that shapes future prompts</text>
|
|
14
14
|
<g id="clust1" class="cluster">
|
|
15
15
|
<title>cluster_write</title>
|
|
16
|
-
<path fill="#022c22" stroke="#047857" d="M20,-
|
|
17
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
16
|
+
<path fill="#022c22" stroke="#047857" d="M20,-395C20,-395 692,-395 692,-395 698,-395 704,-401 704,-407 704,-407 704,-466.25 704,-466.25 704,-472.25 698,-478.25 692,-478.25 692,-478.25 20,-478.25 20,-478.25 14,-478.25 8,-472.25 8,-466.25 8,-466.25 8,-407 8,-407 8,-401 14,-395 20,-395"/>
|
|
17
|
+
<text xml:space="preserve" text-anchor="middle" x="356" y="-455.25" font-family="sans-Serif" font-size="20.00" fill="#a7f3d0">Write-Side Tools</text>
|
|
18
18
|
</g>
|
|
19
19
|
<g id="clust3" class="cluster">
|
|
20
20
|
<title>cluster_files</title>
|
|
21
|
-
<path fill="#422006" stroke="#a16207" d="
|
|
22
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
21
|
+
<path fill="#422006" stroke="#a16207" d="M44,-244.75C44,-244.75 890,-244.75 890,-244.75 896,-244.75 902,-250.75 902,-256.75 902,-256.75 902,-324 902,-324 902,-330 896,-336 890,-336 890,-336 44,-336 44,-336 38,-336 32,-330 32,-324 32,-324 32,-256.75 32,-256.75 32,-250.75 38,-244.75 44,-244.75"/>
|
|
22
|
+
<text xml:space="preserve" text-anchor="middle" x="467" y="-313" font-family="sans-Serif" font-size="20.00" fill="#fde68a">~/.pwn/</text>
|
|
23
23
|
</g>
|
|
24
24
|
<g id="clust5" class="cluster">
|
|
25
25
|
<title>cluster_read</title>
|
|
26
|
-
<path fill="#2e1065" stroke="#6d28d9" d="
|
|
27
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
26
|
+
<path fill="#2e1065" stroke="#6d28d9" d="M68,-126.5C68,-126.5 648,-126.5 648,-126.5 654,-126.5 660,-132.5 660,-138.5 660,-138.5 660,-197.75 660,-197.75 660,-203.75 654,-209.75 648,-209.75 648,-209.75 68,-209.75 68,-209.75 62,-209.75 56,-203.75 56,-197.75 56,-197.75 56,-138.5 56,-138.5 56,-132.5 62,-126.5 68,-126.5"/>
|
|
27
|
+
<text xml:space="preserve" text-anchor="middle" x="358" y="-186.75" font-family="sans-Serif" font-size="20.00" fill="#ddd6fe">Read-Side / Injection</text>
|
|
28
28
|
</g>
|
|
29
29
|
<!-- Rem -->
|
|
30
30
|
<g id="node1" class="node">
|
|
31
31
|
<title>Rem</title>
|
|
32
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
33
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
34
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
32
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M551.25,-439C551.25,-439 464.75,-439 464.75,-439 458.75,-439 452.75,-433 452.75,-427 452.75,-427 452.75,-415 452.75,-415 452.75,-409 458.75,-403 464.75,-403 464.75,-403 551.25,-403 551.25,-403 557.25,-403 563.25,-409 563.25,-415 563.25,-415 563.25,-427 563.25,-427 563.25,-433 557.25,-439 551.25,-439"/>
|
|
33
|
+
<text xml:space="preserve" text-anchor="middle" x="508" y="-423.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">memory_remember</text>
|
|
34
|
+
<text xml:space="preserve" text-anchor="middle" x="508" y="-411.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">key · value · category</text>
|
|
35
35
|
</g>
|
|
36
36
|
<!-- Fmem -->
|
|
37
37
|
<g id="node6" class="node">
|
|
38
38
|
<title>Fmem</title>
|
|
39
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
40
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
41
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
42
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
39
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M552.12,-292.75C552.12,-294.96 525.18,-296.75 492,-296.75 458.82,-296.75 431.88,-294.96 431.88,-292.75 431.88,-292.75 431.88,-256.75 431.88,-256.75 431.88,-254.54 458.82,-252.75 492,-252.75 525.18,-252.75 552.12,-254.54 552.12,-256.75 552.12,-256.75 552.12,-292.75 552.12,-292.75"/>
|
|
40
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M552.12,-292.75C552.12,-290.54 525.18,-288.75 492,-288.75 458.82,-288.75 431.88,-290.54 431.88,-292.75"/>
|
|
41
|
+
<text xml:space="preserve" text-anchor="middle" x="492" y="-277.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">memory.json</text>
|
|
42
|
+
<text xml:space="preserve" text-anchor="middle" x="492" y="-265.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">fact · pref · lesson · env</text>
|
|
43
43
|
</g>
|
|
44
44
|
<!-- Rem->Fmem -->
|
|
45
45
|
<g id="edge1" class="edge">
|
|
46
46
|
<title>Rem->Fmem</title>
|
|
47
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
48
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
47
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M506.07,-402.6C503.44,-378.87 498.68,-335.97 495.43,-306.69"/>
|
|
48
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="498.23,-306.55 494.57,-298.91 492.67,-307.17 498.23,-306.55"/>
|
|
49
49
|
</g>
|
|
50
50
|
<!-- Skc -->
|
|
51
51
|
<g id="node2" class="node">
|
|
52
52
|
<title>Skc</title>
|
|
53
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
54
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
55
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
53
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M104,-439C104,-439 28,-439 28,-439 22,-439 16,-433 16,-427 16,-427 16,-415 16,-415 16,-409 22,-403 28,-403 28,-403 104,-403 104,-403 110,-403 116,-409 116,-415 116,-415 116,-427 116,-427 116,-433 110,-439 104,-439"/>
|
|
54
|
+
<text xml:space="preserve" text-anchor="middle" x="66" y="-423.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">skill_create</text>
|
|
55
|
+
<text xml:space="preserve" text-anchor="middle" x="66" y="-411.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">skill_add_reference</text>
|
|
56
56
|
</g>
|
|
57
57
|
<!-- Fskl -->
|
|
58
58
|
<g id="node7" class="node">
|
|
59
59
|
<title>Fskl</title>
|
|
60
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
61
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
62
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
63
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
60
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M153.75,-292.75C153.75,-294.96 128.31,-296.75 97,-296.75 65.69,-296.75 40.25,-294.96 40.25,-292.75 40.25,-292.75 40.25,-256.75 40.25,-256.75 40.25,-254.54 65.69,-252.75 97,-252.75 128.31,-252.75 153.75,-254.54 153.75,-256.75 153.75,-256.75 153.75,-292.75 153.75,-292.75"/>
|
|
61
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M153.75,-292.75C153.75,-290.54 128.31,-288.75 97,-288.75 65.69,-288.75 40.25,-290.54 40.25,-292.75"/>
|
|
62
|
+
<text xml:space="preserve" text-anchor="middle" x="97" y="-277.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">skills/*.md</text>
|
|
63
|
+
<text xml:space="preserve" text-anchor="middle" x="97" y="-265.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">YAML front-matter refs</text>
|
|
64
64
|
</g>
|
|
65
65
|
<!-- Skc->Fskl -->
|
|
66
66
|
<g id="edge2" class="edge">
|
|
67
67
|
<title>Skc->Fskl</title>
|
|
68
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
69
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
68
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M69.74,-402.6C74.84,-378.87 84.06,-335.97 90.35,-306.69"/>
|
|
69
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="93.09,-307.29 92.03,-298.88 87.61,-306.11 93.09,-307.29"/>
|
|
70
70
|
</g>
|
|
71
71
|
<!-- Note -->
|
|
72
72
|
<g id="node3" class="node">
|
|
73
73
|
<title>Note</title>
|
|
74
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
75
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
76
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
74
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M400.25,-439C400.25,-439 307.75,-439 307.75,-439 301.75,-439 295.75,-433 295.75,-427 295.75,-427 295.75,-415 295.75,-415 295.75,-409 301.75,-403 307.75,-403 307.75,-403 400.25,-403 400.25,-403 406.25,-403 412.25,-409 412.25,-415 412.25,-415 412.25,-427 412.25,-427 412.25,-433 406.25,-439 400.25,-439"/>
|
|
75
|
+
<text xml:space="preserve" text-anchor="middle" x="354" y="-423.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning_note_outcome</text>
|
|
76
|
+
<text xml:space="preserve" text-anchor="middle" x="354" y="-411.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning_reflect</text>
|
|
77
77
|
</g>
|
|
78
78
|
<!-- Flrn -->
|
|
79
79
|
<g id="node8" class="node">
|
|
80
80
|
<title>Flrn</title>
|
|
81
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
82
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
83
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
84
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
81
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M391.5,-292.75C391.5,-294.96 375.14,-296.75 355,-296.75 334.86,-296.75 318.5,-294.96 318.5,-292.75 318.5,-292.75 318.5,-256.75 318.5,-256.75 318.5,-254.54 334.86,-252.75 355,-252.75 375.14,-252.75 391.5,-254.54 391.5,-256.75 391.5,-256.75 391.5,-292.75 391.5,-292.75"/>
|
|
82
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M391.5,-292.75C391.5,-290.54 375.14,-288.75 355,-288.75 334.86,-288.75 318.5,-290.54 318.5,-292.75"/>
|
|
83
|
+
<text xml:space="preserve" text-anchor="middle" x="355" y="-277.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning.jsonl</text>
|
|
84
|
+
<text xml:space="preserve" text-anchor="middle" x="355" y="-265.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">outcome log</text>
|
|
85
85
|
</g>
|
|
86
86
|
<!-- Note->Flrn -->
|
|
87
87
|
<g id="edge3" class="edge">
|
|
88
88
|
<title>Note->Flrn</title>
|
|
89
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
90
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
89
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M354.12,-402.6C354.29,-378.87 354.58,-335.97 354.79,-306.69"/>
|
|
90
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="357.58,-306.94 354.84,-298.92 351.98,-306.9 357.58,-306.94"/>
|
|
91
91
|
</g>
|
|
92
92
|
<!-- Dist -->
|
|
93
93
|
<g id="node4" class="node">
|
|
94
94
|
<title>Dist</title>
|
|
95
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
96
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
97
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
95
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M244,-439C244,-439 168,-439 168,-439 162,-439 156,-433 156,-427 156,-427 156,-415 156,-415 156,-409 162,-403 168,-403 168,-403 244,-403 244,-403 250,-403 256,-409 256,-415 256,-415 256,-427 256,-427 256,-433 250,-439 244,-439"/>
|
|
96
|
+
<text xml:space="preserve" text-anchor="middle" x="206" y="-423.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning_distill_skill</text>
|
|
97
|
+
<text xml:space="preserve" text-anchor="middle" x="206" y="-411.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">(session → skill)</text>
|
|
98
98
|
</g>
|
|
99
99
|
<!-- Dist->Fskl -->
|
|
100
100
|
<g id="edge4" class="edge">
|
|
101
101
|
<title>Dist->Fskl</title>
|
|
102
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
103
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
102
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M192.85,-402.6C174.53,-378.35 141.08,-334.09 118.95,-304.79"/>
|
|
103
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="121.27,-303.22 114.21,-298.53 116.8,-306.6 121.27,-303.22"/>
|
|
104
104
|
</g>
|
|
105
105
|
<!-- Fses -->
|
|
106
106
|
<g id="node9" class="node">
|
|
107
107
|
<title>Fses</title>
|
|
108
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
109
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
110
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
111
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
108
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M278.5,-292.75C278.5,-294.96 259.45,-296.75 236,-296.75 212.55,-296.75 193.5,-294.96 193.5,-292.75 193.5,-292.75 193.5,-256.75 193.5,-256.75 193.5,-254.54 212.55,-252.75 236,-252.75 259.45,-252.75 278.5,-254.54 278.5,-256.75 278.5,-256.75 278.5,-292.75 278.5,-292.75"/>
|
|
109
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M278.5,-292.75C278.5,-290.54 259.45,-288.75 236,-288.75 212.55,-288.75 193.5,-290.54 193.5,-292.75"/>
|
|
110
|
+
<text xml:space="preserve" text-anchor="middle" x="236" y="-277.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sessions/*.jsonl</text>
|
|
111
|
+
<text xml:space="preserve" text-anchor="middle" x="236" y="-265.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">transcripts</text>
|
|
112
112
|
</g>
|
|
113
113
|
<!-- Dist->Fses -->
|
|
114
114
|
<g id="edge5" class="edge">
|
|
115
115
|
<title>Dist->Fses</title>
|
|
116
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
117
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
118
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
116
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M211.6,-393.1C217.38,-365.29 226.29,-322.46 231.59,-296.96"/>
|
|
117
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="208.91,-392.27 210.02,-400.67 214.39,-393.41 208.91,-392.27"/>
|
|
118
|
+
<text xml:space="preserve" text-anchor="middle" x="231.12" y="-351.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">mine</text>
|
|
119
119
|
</g>
|
|
120
120
|
<!-- Mrec -->
|
|
121
121
|
<g id="node5" class="node">
|
|
122
122
|
<title>Mrec</title>
|
|
123
|
-
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="
|
|
124
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
125
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
123
|
+
<path fill="#6ee7b7" stroke="#334155" stroke-width="1.3" d="M684.25,-439C684.25,-439 615.75,-439 615.75,-439 609.75,-439 603.75,-433 603.75,-427 603.75,-427 603.75,-415 603.75,-415 603.75,-409 609.75,-403 615.75,-403 615.75,-403 684.25,-403 684.25,-403 690.25,-403 696.25,-409 696.25,-415 696.25,-415 696.25,-427 696.25,-427 696.25,-433 690.25,-439 684.25,-439"/>
|
|
124
|
+
<text xml:space="preserve" text-anchor="middle" x="650" y="-423.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mistakes_record</text>
|
|
125
|
+
<text xml:space="preserve" text-anchor="middle" x="650" y="-411.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mistakes_resolve</text>
|
|
126
126
|
</g>
|
|
127
127
|
<!-- Mrec->Fmem -->
|
|
128
128
|
<g id="edge7" class="edge">
|
|
129
129
|
<title>Mrec->Fmem</title>
|
|
130
|
-
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
131
|
-
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="
|
|
132
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
130
|
+
<path fill="none" stroke="#fbbf24" stroke-width="1.3" stroke-dasharray="5,2" d="M625.67,-402.47C611.64,-392.04 593.89,-378.29 579,-365 557.34,-345.67 534.48,-322.08 517.63,-304.01"/>
|
|
131
|
+
<polygon fill="#fbbf24" stroke="#fbbf24" stroke-width="1.3" points="520.09,-302.54 512.6,-298.57 515.98,-306.34 520.09,-302.54"/>
|
|
132
|
+
<text xml:space="preserve" text-anchor="middle" x="612" y="-351.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">resolve→lesson</text>
|
|
133
133
|
</g>
|
|
134
134
|
<!-- Fmis -->
|
|
135
135
|
<g id="node10" class="node">
|
|
136
136
|
<title>Fmis</title>
|
|
137
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
138
|
-
<path fill="none" stroke="#334155" stroke-width="1.3" d="
|
|
139
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
140
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
137
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M731.88,-292.75C731.88,-294.96 700.56,-296.75 662,-296.75 623.44,-296.75 592.12,-294.96 592.12,-292.75 592.12,-292.75 592.12,-256.75 592.12,-256.75 592.12,-254.54 623.44,-252.75 662,-252.75 700.56,-252.75 731.88,-254.54 731.88,-256.75 731.88,-256.75 731.88,-292.75 731.88,-292.75"/>
|
|
138
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M731.88,-292.75C731.88,-290.54 700.56,-288.75 662,-288.75 623.44,-288.75 592.12,-290.54 592.12,-292.75"/>
|
|
139
|
+
<text xml:space="preserve" text-anchor="middle" x="662" y="-277.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mistakes.json</text>
|
|
140
|
+
<text xml:space="preserve" text-anchor="middle" x="662" y="-265.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sig → count · fix · regressed</text>
|
|
141
141
|
</g>
|
|
142
142
|
<!-- Mrec->Fmis -->
|
|
143
143
|
<g id="edge6" class="edge">
|
|
144
144
|
<title>Mrec->Fmis</title>
|
|
145
|
-
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="
|
|
146
|
-
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="
|
|
145
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" d="M651.45,-402.6C653.42,-378.87 656.99,-335.97 659.43,-306.69"/>
|
|
146
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="662.2,-307.12 660.07,-298.92 656.62,-306.66 662.2,-307.12"/>
|
|
147
147
|
</g>
|
|
148
148
|
<!-- Rec -->
|
|
149
|
-
<g id="
|
|
149
|
+
<g id="node12" class="node">
|
|
150
150
|
<title>Rec</title>
|
|
151
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
152
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
151
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M519.88,-170.5C519.88,-170.5 464.12,-170.5 464.12,-170.5 458.12,-170.5 452.12,-164.5 452.12,-158.5 452.12,-158.5 452.12,-146.5 452.12,-146.5 452.12,-140.5 458.12,-134.5 464.12,-134.5 464.12,-134.5 519.88,-134.5 519.88,-134.5 525.88,-134.5 531.88,-140.5 531.88,-146.5 531.88,-146.5 531.88,-158.5 531.88,-158.5 531.88,-164.5 525.88,-170.5 519.88,-170.5"/>
|
|
152
|
+
<text xml:space="preserve" text-anchor="middle" x="492" y="-149" font-family="sans-Serif" font-size="10.00" fill="#0f172a">memory_recall</text>
|
|
153
153
|
</g>
|
|
154
154
|
<!-- Fmem->Rec -->
|
|
155
155
|
<g id="edge8" class="edge">
|
|
156
156
|
<title>Fmem->Rec</title>
|
|
157
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
158
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
157
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M492,-252.25C492,-232.28 492,-202.45 492,-180.8"/>
|
|
158
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="494.8,-180.88 492,-172.88 489.2,-180.88 494.8,-180.88"/>
|
|
159
159
|
</g>
|
|
160
160
|
<!-- ReVal -->
|
|
161
|
-
<g id="
|
|
161
|
+
<g id="node18" class="node">
|
|
162
162
|
<title>ReVal</title>
|
|
163
|
-
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="
|
|
164
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
165
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
166
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
163
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M975.12,-443C975.12,-443 872.88,-443 872.88,-443 866.88,-443 860.88,-437 860.88,-431 860.88,-431 860.88,-411 860.88,-411 860.88,-405 866.88,-399 872.88,-399 872.88,-399 975.12,-399 975.12,-399 981.12,-399 987.12,-405 987.12,-411 987.12,-411 987.12,-431 987.12,-431 987.12,-437 981.12,-443 975.12,-443"/>
|
|
164
|
+
<text xml:space="preserve" text-anchor="middle" x="924" y="-429.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">Extrospection.verify</text>
|
|
165
|
+
<text xml:space="preserve" text-anchor="middle" x="924" y="-417.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">revalidate_memory (cron)</text>
|
|
166
|
+
<text xml:space="preserve" text-anchor="middle" x="924" y="-405.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">browser-backed GC</text>
|
|
167
167
|
</g>
|
|
168
168
|
<!-- Fmem->ReVal -->
|
|
169
|
-
<g id="
|
|
169
|
+
<g id="edge20" class="edge">
|
|
170
170
|
<title>Fmem->ReVal</title>
|
|
171
|
-
<path fill="none" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,2" d="
|
|
172
|
-
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="
|
|
173
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
171
|
+
<path fill="none" stroke="#94a3b8" stroke-width="1.3" stroke-dasharray="5,2" d="M513.4,-297.11C528.45,-310.72 549.8,-327.37 572,-336 606.54,-349.43 618.99,-335.22 655,-344 679.32,-349.93 683.46,-357.24 707.25,-365 754.33,-380.36 808.31,-394.07 850.62,-403.96"/>
|
|
172
|
+
<polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.3" points="849.95,-406.67 858.37,-405.75 851.21,-401.22 849.95,-406.67"/>
|
|
173
|
+
<text xml:space="preserve" text-anchor="middle" x="749.62" y="-351.2" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">:fact w/ CVE|ver|URL</text>
|
|
174
174
|
</g>
|
|
175
175
|
<!-- Skv -->
|
|
176
|
-
<g id="
|
|
176
|
+
<g id="node13" class="node">
|
|
177
177
|
<title>Skv</title>
|
|
178
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
179
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
178
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M132.25,-170.5C132.25,-170.5 75.75,-170.5 75.75,-170.5 69.75,-170.5 63.75,-164.5 63.75,-158.5 63.75,-158.5 63.75,-146.5 63.75,-146.5 63.75,-140.5 69.75,-134.5 75.75,-134.5 75.75,-134.5 132.25,-134.5 132.25,-134.5 138.25,-134.5 144.25,-140.5 144.25,-146.5 144.25,-146.5 144.25,-158.5 144.25,-158.5 144.25,-164.5 138.25,-170.5 132.25,-170.5"/>
|
|
179
|
+
<text xml:space="preserve" text-anchor="middle" x="104" y="-149" font-family="sans-Serif" font-size="10.00" fill="#0f172a">skill_list · view</text>
|
|
180
180
|
</g>
|
|
181
181
|
<!-- Fskl->Skv -->
|
|
182
182
|
<g id="edge9" class="edge">
|
|
183
183
|
<title>Fskl->Skv</title>
|
|
184
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
185
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
184
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M98.25,-252.25C99.41,-232.28 101.15,-202.45 102.41,-180.8"/>
|
|
185
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="105.2,-181.03 102.87,-172.88 99.61,-180.7 105.2,-181.03"/>
|
|
186
186
|
</g>
|
|
187
187
|
<!-- Out -->
|
|
188
|
-
<g id="
|
|
188
|
+
<g id="node14" class="node">
|
|
189
189
|
<title>Out</title>
|
|
190
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
191
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
192
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
190
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M399.88,-170.5C399.88,-170.5 326.12,-170.5 326.12,-170.5 320.12,-170.5 314.12,-164.5 314.12,-158.5 314.12,-158.5 314.12,-146.5 314.12,-146.5 314.12,-140.5 320.12,-134.5 326.12,-134.5 326.12,-134.5 399.88,-134.5 399.88,-134.5 405.88,-134.5 411.88,-140.5 411.88,-146.5 411.88,-146.5 411.88,-158.5 411.88,-158.5 411.88,-164.5 405.88,-170.5 399.88,-170.5"/>
|
|
191
|
+
<text xml:space="preserve" text-anchor="middle" x="363" y="-155" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning_outcomes</text>
|
|
192
|
+
<text xml:space="preserve" text-anchor="middle" x="363" y="-143" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning_stats</text>
|
|
193
193
|
</g>
|
|
194
194
|
<!-- Flrn->Out -->
|
|
195
195
|
<g id="edge10" class="edge">
|
|
196
196
|
<title>Flrn->Out</title>
|
|
197
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
198
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
197
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M356.43,-252.25C357.76,-232.28 359.74,-202.45 361.18,-180.8"/>
|
|
198
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="363.97,-181.04 361.71,-172.88 358.39,-180.67 363.97,-181.04"/>
|
|
199
199
|
</g>
|
|
200
200
|
<!-- Sesv -->
|
|
201
|
-
<g id="
|
|
201
|
+
<g id="node15" class="node">
|
|
202
202
|
<title>Sesv</title>
|
|
203
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
204
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
205
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
203
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M262.12,-170.5C262.12,-170.5 195.88,-170.5 195.88,-170.5 189.88,-170.5 183.88,-164.5 183.88,-158.5 183.88,-158.5 183.88,-146.5 183.88,-146.5 183.88,-140.5 189.88,-134.5 195.88,-134.5 195.88,-134.5 262.12,-134.5 262.12,-134.5 268.12,-134.5 274.12,-140.5 274.12,-146.5 274.12,-146.5 274.12,-158.5 274.12,-158.5 274.12,-164.5 268.12,-170.5 262.12,-170.5"/>
|
|
204
|
+
<text xml:space="preserve" text-anchor="middle" x="229" y="-155" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sessions_view</text>
|
|
205
|
+
<text xml:space="preserve" text-anchor="middle" x="229" y="-143" font-family="sans-Serif" font-size="10.00" fill="#0f172a">sessions_current</text>
|
|
206
206
|
</g>
|
|
207
207
|
<!-- Fses->Sesv -->
|
|
208
208
|
<g id="edge11" class="edge">
|
|
209
209
|
<title>Fses->Sesv</title>
|
|
210
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
211
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
210
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M234.75,-252.25C233.59,-232.28 231.85,-202.45 230.59,-180.8"/>
|
|
211
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="233.39,-180.7 230.13,-172.88 227.8,-181.03 233.39,-180.7"/>
|
|
212
212
|
</g>
|
|
213
213
|
<!-- Mlst -->
|
|
214
|
-
<g id="
|
|
214
|
+
<g id="node16" class="node">
|
|
215
215
|
<title>Mlst</title>
|
|
216
|
-
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="
|
|
217
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
218
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
216
|
+
<path fill="#c4b5fd" stroke="#334155" stroke-width="1.3" d="M639.88,-170.5C639.88,-170.5 584.12,-170.5 584.12,-170.5 578.12,-170.5 572.12,-164.5 572.12,-158.5 572.12,-158.5 572.12,-146.5 572.12,-146.5 572.12,-140.5 578.12,-134.5 584.12,-134.5 584.12,-134.5 639.88,-134.5 639.88,-134.5 645.88,-134.5 651.88,-140.5 651.88,-146.5 651.88,-146.5 651.88,-158.5 651.88,-158.5 651.88,-164.5 645.88,-170.5 639.88,-170.5"/>
|
|
217
|
+
<text xml:space="preserve" text-anchor="middle" x="612" y="-155" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mistakes_list</text>
|
|
218
|
+
<text xml:space="preserve" text-anchor="middle" x="612" y="-143" font-family="sans-Serif" font-size="10.00" fill="#0f172a">correction_hint</text>
|
|
219
219
|
</g>
|
|
220
220
|
<!-- Fmis->Mlst -->
|
|
221
221
|
<g id="edge12" class="edge">
|
|
222
222
|
<title>Fmis->Mlst</title>
|
|
223
|
-
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="
|
|
224
|
-
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="
|
|
223
|
+
<path fill="none" stroke="#a78bfa" stroke-width="1.3" d="M653.06,-252.25C644.64,-232.01 632.01,-201.63 622.99,-179.92"/>
|
|
224
|
+
<polygon fill="#a78bfa" stroke="#a78bfa" stroke-width="1.3" points="625.65,-179.04 620,-172.73 620.48,-181.19 625.65,-179.04"/>
|
|
225
|
+
</g>
|
|
226
|
+
<!-- Fext -->
|
|
227
|
+
<g id="node11" class="node">
|
|
228
|
+
<title>Fext</title>
|
|
229
|
+
<path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M894.25,-292.75C894.25,-294.96 866.8,-296.75 833,-296.75 799.2,-296.75 771.75,-294.96 771.75,-292.75 771.75,-292.75 771.75,-256.75 771.75,-256.75 771.75,-254.54 799.2,-252.75 833,-252.75 866.8,-252.75 894.25,-254.54 894.25,-256.75 894.25,-256.75 894.25,-292.75 894.25,-292.75"/>
|
|
230
|
+
<path fill="none" stroke="#334155" stroke-width="1.3" d="M894.25,-292.75C894.25,-290.54 866.8,-288.75 833,-288.75 799.2,-288.75 771.75,-290.54 771.75,-292.75"/>
|
|
231
|
+
<text xml:space="preserve" text-anchor="middle" x="833" y="-277.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">extrospection.json</text>
|
|
232
|
+
<text xml:space="preserve" text-anchor="middle" x="833" y="-265.25" font-family="sans-Serif" font-size="10.00" fill="#0f172a">snapshot · rf · web · obs</text>
|
|
225
233
|
</g>
|
|
226
234
|
<!-- Prompt -->
|
|
227
|
-
<g id="
|
|
235
|
+
<g id="node17" class="node">
|
|
228
236
|
<title>Prompt</title>
|
|
229
|
-
<path fill="#7dd3fc" stroke="#334155" stroke-width="2" d="M436.
|
|
230
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
231
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
232
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
237
|
+
<path fill="#7dd3fc" stroke="#334155" stroke-width="2" d="M436.25,-56C436.25,-56 289.75,-56 289.75,-56 283.75,-56 277.75,-50 277.75,-44 277.75,-44 277.75,-12 277.75,-12 277.75,-6 283.75,0 289.75,0 289.75,0 436.25,0 436.25,0 442.25,0 448.25,-6 448.25,-12 448.25,-12 448.25,-44 448.25,-44 448.25,-50 442.25,-56 436.25,-56"/>
|
|
238
|
+
<text xml:space="preserve" text-anchor="middle" x="363" y="-42.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">PromptBuilder</text>
|
|
239
|
+
<text xml:space="preserve" text-anchor="middle" x="363" y="-30.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">MEMORY + SKILLS + LEARNING</text>
|
|
240
|
+
<text xml:space="preserve" text-anchor="middle" x="363" y="-18.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">+ KNOWN MISTAKES / FIXES</text>
|
|
241
|
+
<text xml:space="preserve" text-anchor="middle" x="363" y="-6.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">+ METRICS + EXTROSPECTION</text>
|
|
233
242
|
</g>
|
|
234
243
|
<!-- Rec->Prompt -->
|
|
235
244
|
<g id="edge13" class="edge">
|
|
236
245
|
<title>Rec->Prompt</title>
|
|
237
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
238
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
246
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M473.52,-133.95C454.24,-115.64 423.52,-86.47 399.36,-63.53"/>
|
|
247
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="401.57,-61.76 393.84,-58.29 397.71,-65.83 401.57,-61.76"/>
|
|
239
248
|
</g>
|
|
240
249
|
<!-- Skv->Prompt -->
|
|
241
250
|
<g id="edge14" class="edge">
|
|
242
251
|
<title>Skv->Prompt</title>
|
|
243
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
244
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
252
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M141.11,-133.95C181.14,-115.02 245.75,-84.46 294.95,-61.19"/>
|
|
253
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="296.13,-63.72 302.17,-57.77 293.74,-58.66 296.13,-63.72"/>
|
|
245
254
|
</g>
|
|
246
255
|
<!-- Out->Prompt -->
|
|
247
256
|
<g id="edge15" class="edge">
|
|
248
257
|
<title>Out->Prompt</title>
|
|
249
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
250
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
258
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M363,-133.95C363,-116.51 363,-89.2 363,-66.82"/>
|
|
259
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="365.8,-66.9 363,-58.9 360.2,-66.9 365.8,-66.9"/>
|
|
251
260
|
</g>
|
|
252
261
|
<!-- Sesv->Prompt -->
|
|
253
262
|
<g id="edge16" class="edge">
|
|
254
263
|
<title>Sesv->Prompt</title>
|
|
255
|
-
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="
|
|
256
|
-
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="
|
|
264
|
+
<path fill="none" stroke="#38bdf8" stroke-width="1.3" d="M248.2,-133.95C268.22,-115.64 300.13,-86.47 325.23,-63.53"/>
|
|
265
|
+
<polygon fill="#38bdf8" stroke="#38bdf8" stroke-width="1.3" points="326.98,-65.72 330.99,-58.26 323.2,-61.59 326.98,-65.72"/>
|
|
257
266
|
</g>
|
|
258
267
|
<!-- Mlst->Prompt -->
|
|
259
268
|
<g id="edge17" class="edge">
|
|
260
269
|
<title>Mlst->Prompt</title>
|
|
261
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" d="
|
|
262
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="
|
|
263
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
270
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" d="M576.32,-133.95C538.16,-115.17 476.76,-84.96 429.61,-61.77"/>
|
|
271
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="430.91,-59.29 422.49,-58.27 428.43,-64.31 430.91,-59.29"/>
|
|
272
|
+
<text xml:space="preserve" text-anchor="middle" x="532.41" y="-91.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">do NOT repeat</text>
|
|
264
273
|
</g>
|
|
265
274
|
<!-- ReVal->Fmem -->
|
|
266
275
|
<g id="edge18" class="edge">
|
|
267
276
|
<title>ReVal->Fmem</title>
|
|
268
|
-
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="
|
|
269
|
-
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="
|
|
270
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
271
|
-
<text xml:space="preserve" text-anchor="middle" x="
|
|
277
|
+
<path fill="none" stroke="#fb7185" stroke-width="2" stroke-dasharray="5,2" d="M889.97,-398.5C854.73,-376.3 804.47,-344.75 802,-344 753.08,-329.08 620.21,-353.06 572,-336 553.09,-329.31 534.98,-316.41 520.79,-304.26"/>
|
|
278
|
+
<polygon fill="#fb7185" stroke="#fb7185" stroke-width="2" points="523,-302.49 515.17,-299.26 519.28,-306.67 523,-302.49"/>
|
|
279
|
+
<text xml:space="preserve" text-anchor="middle" x="891.92" y="-356.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">[UNVERIFIED yyyy-mm-dd]</text>
|
|
280
|
+
<text xml:space="preserve" text-anchor="middle" x="891.92" y="-345.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">prefix stale :fact</text>
|
|
281
|
+
</g>
|
|
282
|
+
<!-- ReVal->Fext -->
|
|
283
|
+
<g id="edge19" class="edge">
|
|
284
|
+
<title>ReVal->Fext</title>
|
|
285
|
+
<path fill="none" stroke="#f59e0b" stroke-width="1.3" stroke-dasharray="5,2" d="M944.72,-398.38C957.03,-382.8 968.4,-361.53 958,-344 945.75,-323.35 924.8,-308.54 903.52,-298.12"/>
|
|
286
|
+
<polygon fill="#f59e0b" stroke="#f59e0b" stroke-width="1.3" points="904.95,-295.7 896.51,-294.88 902.6,-300.78 904.95,-295.7"/>
|
|
287
|
+
<text xml:space="preserve" text-anchor="middle" x="1011.56" y="-356.45" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">:confirmed → :intel obs</text>
|
|
288
|
+
<text xml:space="preserve" text-anchor="middle" x="1011.56" y="-345.95" font-family="sans-Serif" font-size="9.00" fill="#cbd5e1">:refuted → observe stale</text>
|
|
272
289
|
</g>
|
|
273
290
|
</g>
|
|
274
291
|
</svg>
|