pwn 0.5.618 → 0.5.620

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.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -2
  3. data/README.md +14 -6
  4. data/bin/pwn_gqrx_scanner +25 -5
  5. data/documentation/Agent-Tool-Registry.md +3 -3
  6. data/documentation/Diagrams.md +6 -2
  7. data/documentation/Extrospection.md +30 -11
  8. data/documentation/Home.md +5 -4
  9. data/documentation/How-PWN-Works.md +7 -4
  10. data/documentation/Mistakes.md +96 -0
  11. data/documentation/Persistence.md +3 -1
  12. data/documentation/SDR.md +23 -5
  13. data/documentation/Skills-Memory-Learning.md +15 -5
  14. data/documentation/diagrams/agent-tool-registry.svg +94 -92
  15. data/documentation/diagrams/dot/agent-tool-registry.dot +2 -2
  16. data/documentation/diagrams/dot/extrospection-world-awareness.dot +9 -7
  17. data/documentation/diagrams/dot/memory-skills-detailed.dot +12 -5
  18. data/documentation/diagrams/dot/mistakes-negative-feedback.dot +93 -0
  19. data/documentation/diagrams/dot/overall-pwn-architecture.dot +7 -5
  20. data/documentation/diagrams/dot/persistence-filesystem.dot +3 -2
  21. data/documentation/diagrams/dot/pwn-ai-feedback-learning-loop.dot +19 -7
  22. data/documentation/diagrams/dot/sdr-radio-flow.dot +13 -11
  23. data/documentation/diagrams/extrospection-world-awareness.svg +111 -93
  24. data/documentation/diagrams/memory-skills-detailed.svg +146 -97
  25. data/documentation/diagrams/mistakes-negative-feedback.svg +266 -0
  26. data/documentation/diagrams/overall-pwn-architecture.svg +184 -173
  27. data/documentation/diagrams/persistence-filesystem.svg +77 -62
  28. data/documentation/diagrams/pwn-ai-feedback-learning-loop.svg +217 -149
  29. data/documentation/diagrams/sdr-radio-flow.svg +76 -56
  30. data/documentation/pwn-ai-Agent.md +28 -15
  31. data/lib/pwn/ai/agent/extrospection.rb +65 -6
  32. data/lib/pwn/ai/agent/learning.rb +67 -7
  33. data/lib/pwn/ai/agent/loop.rb +72 -6
  34. data/lib/pwn/ai/agent/mistakes.rb +369 -0
  35. data/lib/pwn/ai/agent/prompt_builder.rb +10 -1
  36. data/lib/pwn/ai/agent/tools/extrospection.rb +2 -2
  37. data/lib/pwn/ai/agent/tools/mistakes.rb +132 -0
  38. data/lib/pwn/ai/agent.rb +1 -0
  39. data/lib/pwn/plugins/jira_data_center.rb +2 -2
  40. data/lib/pwn/sdr/decoder/adsb.rb +101 -0
  41. data/lib/pwn/sdr/decoder/apt.rb +75 -0
  42. data/lib/pwn/sdr/decoder/bluetooth.rb +78 -0
  43. data/lib/pwn/sdr/decoder/dect.rb +84 -0
  44. data/lib/pwn/sdr/decoder/gps.rb +83 -0
  45. data/lib/pwn/sdr/decoder/gsm.rb +50 -29
  46. data/lib/pwn/sdr/decoder/iridium.rb +81 -0
  47. data/lib/pwn/sdr/decoder/lora.rb +87 -0
  48. data/lib/pwn/sdr/decoder/lte.rb +88 -0
  49. data/lib/pwn/sdr/decoder/morse.rb +64 -0
  50. data/lib/pwn/sdr/decoder/p25.rb +71 -0
  51. data/lib/pwn/sdr/decoder/pager.rb +77 -0
  52. data/lib/pwn/sdr/decoder/pocsag.rb +26 -11
  53. data/lib/pwn/sdr/decoder/rfid.rb +88 -0
  54. data/lib/pwn/sdr/decoder/rtl433.rb +95 -0
  55. data/lib/pwn/sdr/decoder/rtty.rb +66 -0
  56. data/lib/pwn/sdr/decoder/wifi.rb +98 -0
  57. data/lib/pwn/sdr/decoder/zigbee.rb +96 -0
  58. data/lib/pwn/sdr/decoder.rb +67 -7
  59. data/lib/pwn/sdr/frequency_allocation.rb +82 -41
  60. data/lib/pwn/sdr/gqrx.rb +186 -95
  61. data/lib/pwn/version.rb +1 -1
  62. data/spec/lib/pwn/ai/agent/mistakes_spec.rb +36 -0
  63. data/spec/lib/pwn/ai/agent/tools/mistakes_spec.rb +12 -0
  64. data/spec/lib/pwn/sdr/decoder/adsb_spec.rb +15 -0
  65. data/spec/lib/pwn/sdr/decoder/apt_spec.rb +15 -0
  66. data/spec/lib/pwn/sdr/decoder/bluetooth_spec.rb +15 -0
  67. data/spec/lib/pwn/sdr/decoder/dect_spec.rb +15 -0
  68. data/spec/lib/pwn/sdr/decoder/gps_spec.rb +15 -0
  69. data/spec/lib/pwn/sdr/decoder/iridium_spec.rb +15 -0
  70. data/spec/lib/pwn/sdr/decoder/lora_spec.rb +15 -0
  71. data/spec/lib/pwn/sdr/decoder/lte_spec.rb +15 -0
  72. data/spec/lib/pwn/sdr/decoder/morse_spec.rb +15 -0
  73. data/spec/lib/pwn/sdr/decoder/p25_spec.rb +15 -0
  74. data/spec/lib/pwn/sdr/decoder/pager_spec.rb +15 -0
  75. data/spec/lib/pwn/sdr/decoder/rfid_spec.rb +15 -0
  76. data/spec/lib/pwn/sdr/decoder/rtl433_spec.rb +15 -0
  77. data/spec/lib/pwn/sdr/decoder/rtty_spec.rb +15 -0
  78. data/spec/lib/pwn/sdr/decoder/wifi_spec.rb +15 -0
  79. data/spec/lib/pwn/sdr/decoder/zigbee_spec.rb +15 -0
  80. data/third_party/pwn_rdoc.jsonl +92 -3
  81. metadata +44 -6
  82. data/README.md.bak +0 -200
@@ -4,76 +4,91 @@
4
4
  <!-- Generated by graphviz version 14.1.2 (0)
5
5
  -->
6
6
  <!-- Title: PWN_Persistence Pages: 1 -->
7
- <svg width="604pt" height="822pt"
8
- viewBox="0.00 0.00 604.00 822.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 778.45)">
7
+ <svg width="604pt" height="904pt"
8
+ viewBox="0.00 0.00 604.00 904.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 860.45)">
10
10
  <title>PWN_Persistence</title>
11
- <polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-778.45 560.95,-778.45 560.95,43.2 -43.2,43.2"/>
12
- <text xml:space="preserve" text-anchor="start" x="8" y="-713.25" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">~/.pwn/ — Everything PWN Persists Across Sessions</text>
11
+ <polygon fill="#0f172a" stroke="none" points="-43.2,43.2 -43.2,-860.45 560.95,-860.45 560.95,43.2 -43.2,43.2"/>
12
+ <text xml:space="preserve" text-anchor="start" x="8" y="-795.25" font-family="sans-Serif" font-weight="bold" font-size="20.00" fill="#e2e8f0">~/.pwn/ — Everything PWN Persists Across Sessions</text>
13
13
  <!-- Root -->
14
14
  <g id="node1" class="node">
15
15
  <title>Root</title>
16
- <polygon fill="#7dd3fc" stroke="#334155" stroke-width="1.3" points="165.62,-370 162.62,-374 141.62,-374 138.62,-370 106.12,-370 106.12,-334 165.62,-334 165.62,-370"/>
17
- <text xml:space="preserve" text-anchor="middle" x="135.88" y="-347.15" font-family="sans-Serif" font-size="13.00" fill="#0f172a">~/.pwn/</text>
16
+ <polygon fill="#7dd3fc" stroke="#334155" stroke-width="1.3" points="156.62,-403 153.62,-407 132.62,-407 129.62,-403 97.12,-403 97.12,-367 156.62,-367 156.62,-403"/>
17
+ <text xml:space="preserve" text-anchor="middle" x="126.88" y="-380.15" font-family="sans-Serif" font-size="13.00" fill="#0f172a">~/.pwn/</text>
18
18
  </g>
19
19
  <!-- cfg -->
20
20
  <g id="node2" class="node">
21
21
  <title>cfg</title>
22
- <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M406.38,-700C406.38,-702.21 376.23,-704 339.12,-704 302.02,-704 271.88,-702.21 271.88,-700 271.88,-700 271.88,-664 271.88,-664 271.88,-661.79 302.02,-660 339.12,-660 376.23,-660 406.38,-661.79 406.38,-664 406.38,-664 406.38,-700 406.38,-700"/>
23
- <path fill="none" stroke="#334155" stroke-width="1.3" d="M406.38,-700C406.38,-697.79 376.23,-696 339.12,-696 302.02,-696 271.88,-697.79 271.88,-700"/>
24
- <text xml:space="preserve" text-anchor="middle" x="339.12" y="-684.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">config.yml</text>
25
- <text xml:space="preserve" text-anchor="middle" x="339.12" y="-672.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">engines · keys · agent opts</text>
22
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M406.38,-782C406.38,-784.21 376.23,-786 339.12,-786 302.02,-786 271.88,-784.21 271.88,-782 271.88,-782 271.88,-746 271.88,-746 271.88,-743.79 302.02,-742 339.12,-742 376.23,-742 406.38,-743.79 406.38,-746 406.38,-746 406.38,-782 406.38,-782"/>
23
+ <path fill="none" stroke="#334155" stroke-width="1.3" d="M406.38,-782C406.38,-779.79 376.23,-778 339.12,-778 302.02,-778 271.88,-779.79 271.88,-782"/>
24
+ <text xml:space="preserve" text-anchor="middle" x="339.12" y="-766.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">config.yml</text>
25
+ <text xml:space="preserve" text-anchor="middle" x="339.12" y="-754.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">engines · keys · agent opts</text>
26
26
  </g>
27
27
  <!-- Root&#45;&gt;cfg -->
28
28
  <g id="edge1" class="edge">
29
29
  <title>Root&#45;&gt;cfg</title>
30
- <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M140.21,-370.59C150.26,-421.58 184.72,-565.4 266.62,-649 269.05,-651.47 271.69,-653.78 274.48,-655.93"/>
31
- <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="272.75,-657.7 279.89,-659.7 275.55,-653.68 272.75,-657.7"/>
30
+ <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M129.66,-403.5C136.09,-460.16 162.92,-633.38 257.62,-731 260.31,-733.77 263.26,-736.31 266.4,-738.65"/>
31
+ <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="264.52,-740.34 271.69,-742.23 267.26,-736.28 264.52,-740.34"/>
32
32
  </g>
33
33
  <!-- mem -->
34
34
  <g id="node3" class="node">
35
35
  <title>mem</title>
36
- <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M407.12,-634C407.12,-636.21 376.65,-638 339.12,-638 301.6,-638 271.12,-636.21 271.12,-634 271.12,-634 271.12,-598 271.12,-598 271.12,-595.79 301.6,-594 339.12,-594 376.65,-594 407.12,-595.79 407.12,-598 407.12,-598 407.12,-634 407.12,-634"/>
37
- <path fill="none" stroke="#334155" stroke-width="1.3" d="M407.12,-634C407.12,-631.79 376.65,-630 339.12,-630 301.6,-630 271.12,-631.79 271.12,-634"/>
38
- <text xml:space="preserve" text-anchor="middle" x="339.12" y="-618.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">memory.json</text>
39
- <text xml:space="preserve" text-anchor="middle" x="339.12" y="-606.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">facts · prefs · lessons · env</text>
36
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M407.12,-716C407.12,-718.21 376.65,-720 339.12,-720 301.6,-720 271.12,-718.21 271.12,-716 271.12,-716 271.12,-680 271.12,-680 271.12,-677.79 301.6,-676 339.12,-676 376.65,-676 407.12,-677.79 407.12,-680 407.12,-680 407.12,-716 407.12,-716"/>
37
+ <path fill="none" stroke="#334155" stroke-width="1.3" d="M407.12,-716C407.12,-713.79 376.65,-712 339.12,-712 301.6,-712 271.12,-713.79 271.12,-716"/>
38
+ <text xml:space="preserve" text-anchor="middle" x="339.12" y="-700.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">memory.json</text>
39
+ <text xml:space="preserve" text-anchor="middle" x="339.12" y="-688.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">facts · prefs · lessons · env</text>
40
40
  </g>
41
41
  <!-- Root&#45;&gt;mem -->
42
42
  <g id="edge2" class="edge">
43
43
  <title>Root&#45;&gt;mem</title>
44
- <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M142.76,-370.4C157.25,-413.11 198.54,-520.11 266.62,-583 269.28,-585.45 272.15,-587.75 275.16,-589.9"/>
45
- <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="273.82,-591.95 281.02,-593.73 276.5,-587.85 273.82,-591.95"/>
44
+ <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M131.51,-403.42C142.1,-452.59 177.46,-588.36 257.62,-665 260.4,-667.66 263.42,-670.11 266.61,-672.37"/>
45
+ <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="265.22,-674.39 272.43,-676.13 267.88,-670.28 265.22,-674.39"/>
46
46
  </g>
47
47
  <!-- skl -->
48
48
  <g id="node4" class="node">
49
49
  <title>skl</title>
50
- <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M405.25,-568C405.25,-570.21 375.61,-572 339.12,-572 302.64,-572 273,-570.21 273,-568 273,-568 273,-532 273,-532 273,-529.79 302.64,-528 339.12,-528 375.61,-528 405.25,-529.79 405.25,-532 405.25,-532 405.25,-568 405.25,-568"/>
51
- <path fill="none" stroke="#334155" stroke-width="1.3" d="M405.25,-568C405.25,-565.79 375.61,-564 339.12,-564 302.64,-564 273,-565.79 273,-568"/>
52
- <text xml:space="preserve" text-anchor="middle" x="339.12" y="-552.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">skills/*.md</text>
53
- <text xml:space="preserve" text-anchor="middle" x="339.12" y="-540.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">reusable procedures + refs</text>
50
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M405.25,-650C405.25,-652.21 375.61,-654 339.12,-654 302.64,-654 273,-652.21 273,-650 273,-650 273,-614 273,-614 273,-611.79 302.64,-610 339.12,-610 375.61,-610 405.25,-611.79 405.25,-614 405.25,-614 405.25,-650 405.25,-650"/>
51
+ <path fill="none" stroke="#334155" stroke-width="1.3" d="M405.25,-650C405.25,-647.79 375.61,-646 339.12,-646 302.64,-646 273,-647.79 273,-650"/>
52
+ <text xml:space="preserve" text-anchor="middle" x="339.12" y="-634.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">skills/*.md</text>
53
+ <text xml:space="preserve" text-anchor="middle" x="339.12" y="-622.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">reusable procedures + refs</text>
54
54
  </g>
55
55
  <!-- Root&#45;&gt;skl -->
56
56
  <g id="edge3" class="edge">
57
57
  <title>Root&#45;&gt;skl</title>
58
- <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M147.31,-370.43C166.9,-403.62 212.14,-473.98 266.62,-517 269.81,-519.52 273.22,-521.89 276.75,-524.13"/>
59
- <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="275.46,-526.21 282.73,-527.67 277.96,-521.99 275.46,-526.21"/>
58
+ <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M134.42,-403.44C149.75,-444.17 191.74,-542.67 257.62,-599 260.91,-601.81 264.47,-604.41 268.2,-606.8"/>
59
+ <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="266.85,-608.85 274.13,-610.31 269.35,-604.63 266.85,-608.85"/>
60
60
  </g>
61
61
  <!-- lrn -->
62
62
  <g id="node5" class="node">
63
63
  <title>lrn</title>
64
- <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M379.38,-502C379.38,-504.21 361.33,-506 339.12,-506 316.92,-506 298.88,-504.21 298.88,-502 298.88,-502 298.88,-466 298.88,-466 298.88,-463.79 316.92,-462 339.12,-462 361.33,-462 379.38,-463.79 379.38,-466 379.38,-466 379.38,-502 379.38,-502"/>
65
- <path fill="none" stroke="#334155" stroke-width="1.3" d="M379.38,-502C379.38,-499.79 361.33,-498 339.12,-498 316.92,-498 298.88,-499.79 298.88,-502"/>
66
- <text xml:space="preserve" text-anchor="middle" x="339.12" y="-486.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning.jsonl</text>
67
- <text xml:space="preserve" text-anchor="middle" x="339.12" y="-474.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">task outcomes</text>
64
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M379.38,-584C379.38,-586.21 361.33,-588 339.12,-588 316.92,-588 298.88,-586.21 298.88,-584 298.88,-584 298.88,-548 298.88,-548 298.88,-545.79 316.92,-544 339.12,-544 361.33,-544 379.38,-545.79 379.38,-548 379.38,-548 379.38,-584 379.38,-584"/>
65
+ <path fill="none" stroke="#334155" stroke-width="1.3" d="M379.38,-584C379.38,-581.79 361.33,-580 339.12,-580 316.92,-580 298.88,-581.79 298.88,-584"/>
66
+ <text xml:space="preserve" text-anchor="middle" x="339.12" y="-568.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">learning.jsonl</text>
67
+ <text xml:space="preserve" text-anchor="middle" x="339.12" y="-556.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">task outcomes</text>
68
68
  </g>
69
69
  <!-- Root&#45;&gt;lrn -->
70
70
  <g id="edge4" class="edge">
71
71
  <title>Root&#45;&gt;lrn</title>
72
- <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M157.87,-370.35C182.71,-391.48 225.85,-426.44 266.62,-451 274.17,-455.54 282.44,-459.89 290.6,-463.85"/>
73
- <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="289.48,-466.03 296.86,-466.81 291.58,-461.6 289.48,-466.03"/>
72
+ <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M139.74,-403.37C160.36,-434.01 205.62,-495.87 257.62,-533 267.61,-540.13 279.37,-546.06 290.77,-550.83"/>
73
+ <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="289.62,-553.01 297.03,-553.33 291.44,-548.46 289.62,-553.01"/>
74
74
  </g>
75
- <!-- met -->
75
+ <!-- mis -->
76
76
  <g id="node6" class="node">
77
+ <title>mis</title>
78
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M418.38,-516.75C418.38,-519.78 382.85,-522.25 339.12,-522.25 295.4,-522.25 259.88,-519.78 259.88,-516.75 259.88,-516.75 259.88,-467.25 259.88,-467.25 259.88,-464.22 295.4,-461.75 339.12,-461.75 382.85,-461.75 418.38,-464.22 418.38,-467.25 418.38,-467.25 418.38,-516.75 418.38,-516.75"/>
79
+ <path fill="none" stroke="#334155" stroke-width="1.3" d="M418.38,-516.75C418.38,-513.72 382.85,-511.25 339.12,-511.25 295.4,-511.25 259.88,-513.72 259.88,-516.75"/>
80
+ <text xml:space="preserve" text-anchor="middle" x="339.12" y="-500.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">mistakes.json</text>
81
+ <text xml:space="preserve" text-anchor="middle" x="339.12" y="-488.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">failure fingerprints · fixes</text>
82
+ <text xml:space="preserve" text-anchor="middle" x="339.12" y="-476.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">[REPEATING] · [REGRESSED]</text>
83
+ </g>
84
+ <!-- Root&#45;&gt;mis -->
85
+ <g id="edge5" class="edge">
86
+ <title>Root&#45;&gt;mis</title>
87
+ <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M157.11,-399.88C186.73,-414.95 233.56,-438.78 272.16,-458.43"/>
88
+ <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="270.93,-460.55 278.28,-461.55 273.16,-456.19 270.93,-460.55"/>
89
+ </g>
90
+ <!-- met -->
91
+ <g id="node7" class="node">
77
92
  <title>met</title>
78
93
  <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M385,-436C385,-438.21 364.44,-440 339.12,-440 313.81,-440 293.25,-438.21 293.25,-436 293.25,-436 293.25,-400 293.25,-400 293.25,-397.79 313.81,-396 339.12,-396 364.44,-396 385,-397.79 385,-400 385,-400 385,-436 385,-436"/>
79
94
  <path fill="none" stroke="#334155" stroke-width="1.3" d="M385,-436C385,-433.79 364.44,-432 339.12,-432 313.81,-432 293.25,-433.79 293.25,-436"/>
@@ -81,27 +96,27 @@
81
96
  <text xml:space="preserve" text-anchor="middle" x="339.12" y="-408.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">per&#45;tool telemetry</text>
82
97
  </g>
83
98
  <!-- Root&#45;&gt;met -->
84
- <g id="edge5" class="edge">
99
+ <g id="edge6" class="edge">
85
100
  <title>Root&#45;&gt;met</title>
86
- <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M166.14,-361.6C197.18,-371.78 246.89,-388.08 284.9,-400.55"/>
87
- <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="283.83,-402.77 291.24,-402.62 285.35,-398.12 283.83,-402.77"/>
101
+ <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M157.11,-389.59C189.98,-394.75 244.03,-403.23 284.53,-409.59"/>
102
+ <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="284.02,-411.99 291.31,-410.65 284.78,-407.15 284.02,-411.99"/>
88
103
  </g>
89
104
  <!-- ext -->
90
- <g id="node7" class="node">
105
+ <g id="node8" class="node">
91
106
  <title>ext</title>
92
- <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M411.62,-370C411.62,-372.21 379.13,-374 339.12,-374 299.12,-374 266.62,-372.21 266.62,-370 266.62,-370 266.62,-334 266.62,-334 266.62,-331.79 299.12,-330 339.12,-330 379.13,-330 411.62,-331.79 411.62,-334 411.62,-334 411.62,-370 411.62,-370"/>
93
- <path fill="none" stroke="#334155" stroke-width="1.3" d="M411.62,-370C411.62,-367.79 379.13,-366 339.12,-366 299.12,-366 266.62,-367.79 266.62,-370"/>
107
+ <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M420.62,-370C420.62,-372.21 384.1,-374 339.12,-374 294.15,-374 257.62,-372.21 257.62,-370 257.62,-370 257.62,-334 257.62,-334 257.62,-331.79 294.15,-330 339.12,-330 384.1,-330 420.62,-331.79 420.62,-334 420.62,-334 420.62,-370 420.62,-370"/>
108
+ <path fill="none" stroke="#334155" stroke-width="1.3" d="M420.62,-370C420.62,-367.79 384.1,-366 339.12,-366 294.15,-366 257.62,-367.79 257.62,-370"/>
94
109
  <text xml:space="preserve" text-anchor="middle" x="339.12" y="-354.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">extrospection.json</text>
95
- <text xml:space="preserve" text-anchor="middle" x="339.12" y="-342.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">host snapshot + observations</text>
110
+ <text xml:space="preserve" text-anchor="middle" x="339.12" y="-342.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">host snapshot + rf + observations</text>
96
111
  </g>
97
112
  <!-- Root&#45;&gt;ext -->
98
- <g id="edge6" class="edge">
113
+ <g id="edge7" class="edge">
99
114
  <title>Root&#45;&gt;ext</title>
100
- <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M166.14,-352C190.16,-352 225.35,-352 257.65,-352"/>
101
- <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="257.57,-354.45 264.57,-352 257.57,-349.55 257.57,-354.45"/>
115
+ <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M157.11,-380.41C180.93,-376.67 215.88,-371.19 248.73,-366.03"/>
116
+ <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="248.85,-368.49 255.39,-364.99 248.09,-363.65 248.85,-368.49"/>
102
117
  </g>
103
118
  <!-- ses -->
104
- <g id="node8" class="node">
119
+ <g id="node9" class="node">
105
120
  <title>ses</title>
106
121
  <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M381.62,-304C381.62,-306.21 362.58,-308 339.12,-308 315.67,-308 296.62,-306.21 296.62,-304 296.62,-304 296.62,-268 296.62,-268 296.62,-265.79 315.67,-264 339.12,-264 362.58,-264 381.62,-265.79 381.62,-268 381.62,-268 381.62,-304 381.62,-304"/>
107
122
  <path fill="none" stroke="#334155" stroke-width="1.3" d="M381.62,-304C381.62,-301.79 362.58,-300 339.12,-300 315.67,-300 296.62,-301.79 296.62,-304"/>
@@ -109,13 +124,13 @@
109
124
  <text xml:space="preserve" text-anchor="middle" x="339.12" y="-276.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">transcripts</text>
110
125
  </g>
111
126
  <!-- Root&#45;&gt;ses -->
112
- <g id="edge7" class="edge">
127
+ <g id="edge8" class="edge">
113
128
  <title>Root&#45;&gt;ses</title>
114
- <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M166.14,-342.4C198.1,-331.92 249.84,-314.95 288.24,-302.36"/>
115
- <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="288.74,-304.77 294.63,-300.26 287.22,-300.12 288.74,-304.77"/>
129
+ <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M157.17,-369.23C183.25,-355.41 222.59,-335.06 257.62,-319 267.47,-314.49 278.12,-309.91 288.35,-305.66"/>
130
+ <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="288.99,-308.05 294.53,-303.12 287.12,-303.52 288.99,-308.05"/>
116
131
  </g>
117
132
  <!-- crn -->
118
- <g id="node9" class="node">
133
+ <g id="node10" class="node">
119
134
  <title>crn</title>
120
135
  <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M394.75,-238C394.75,-240.21 369.82,-242 339.12,-242 308.43,-242 283.5,-240.21 283.5,-238 283.5,-238 283.5,-202 283.5,-202 283.5,-199.79 308.43,-198 339.12,-198 369.82,-198 394.75,-199.79 394.75,-202 394.75,-202 394.75,-238 394.75,-238"/>
121
136
  <path fill="none" stroke="#334155" stroke-width="1.3" d="M394.75,-238C394.75,-235.79 369.82,-234 339.12,-234 308.43,-234 283.5,-235.79 283.5,-238"/>
@@ -123,13 +138,13 @@
123
138
  <text xml:space="preserve" text-anchor="middle" x="339.12" y="-210.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">scheduled jobs + logs</text>
124
139
  </g>
125
140
  <!-- Root&#45;&gt;crn -->
126
- <g id="edge8" class="edge">
141
+ <g id="edge9" class="edge">
127
142
  <title>Root&#45;&gt;crn</title>
128
- <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M157.87,-333.65C182.71,-312.52 225.85,-277.56 266.62,-253 271.16,-250.27 275.96,-247.61 280.84,-245.06"/>
129
- <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="281.92,-247.26 287.06,-241.91 279.71,-242.89 281.92,-247.26"/>
143
+ <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M141.96,-366.46C163.98,-338.57 209.08,-285.61 257.62,-253 263.09,-249.33 269.03,-245.95 275.12,-242.87"/>
144
+ <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="276.15,-245.1 281.4,-239.86 274.02,-240.68 276.15,-245.1"/>
130
145
  </g>
131
146
  <!-- agt -->
132
- <g id="node10" class="node">
147
+ <g id="node11" class="node">
133
148
  <title>agt</title>
134
149
  <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M382,-172C382,-174.21 362.78,-176 339.12,-176 315.47,-176 296.25,-174.21 296.25,-172 296.25,-172 296.25,-136 296.25,-136 296.25,-133.79 315.47,-132 339.12,-132 362.78,-132 382,-133.79 382,-136 382,-136 382,-172 382,-172"/>
135
150
  <path fill="none" stroke="#334155" stroke-width="1.3" d="M382,-172C382,-169.79 362.78,-168 339.12,-168 315.47,-168 296.25,-169.79 296.25,-172"/>
@@ -137,13 +152,13 @@
137
152
  <text xml:space="preserve" text-anchor="middle" x="339.12" y="-144.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">persona registry</text>
138
153
  </g>
139
154
  <!-- Root&#45;&gt;agt -->
140
- <g id="edge9" class="edge">
155
+ <g id="edge10" class="edge">
141
156
  <title>Root&#45;&gt;agt</title>
142
- <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M147.31,-333.57C166.9,-300.38 212.14,-230.02 266.62,-187 273.14,-181.85 280.59,-177.29 288.17,-173.32"/>
143
- <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="289.08,-175.61 294.26,-170.3 286.9,-171.22 289.08,-175.61"/>
157
+ <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M135.42,-366.51C152,-328 195.18,-238.53 257.62,-187 266.53,-179.65 277.3,-173.75 288.02,-169.08"/>
158
+ <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="288.7,-171.45 294.25,-166.53 286.84,-166.92 288.7,-171.45"/>
144
159
  </g>
145
160
  <!-- swm -->
146
- <g id="node11" class="node">
161
+ <g id="node12" class="node">
147
162
  <title>swm</title>
148
163
  <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M394,-106C394,-108.21 369.4,-110 339.12,-110 308.85,-110 284.25,-108.21 284.25,-106 284.25,-106 284.25,-70 284.25,-70 284.25,-67.79 308.85,-66 339.12,-66 369.4,-66 394,-67.79 394,-70 394,-70 394,-106 394,-106"/>
149
164
  <path fill="none" stroke="#334155" stroke-width="1.3" d="M394,-106C394,-103.79 369.4,-102 339.12,-102 308.85,-102 284.25,-103.79 284.25,-106"/>
@@ -151,13 +166,13 @@
151
166
  <text xml:space="preserve" text-anchor="middle" x="339.12" y="-78.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">multi&#45;agent chat</text>
152
167
  </g>
153
168
  <!-- Root&#45;&gt;swm -->
154
- <g id="edge10" class="edge">
169
+ <g id="edge11" class="edge">
155
170
  <title>Root&#45;&gt;swm</title>
156
- <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M142.76,-333.6C157.25,-290.89 198.54,-183.89 266.62,-121 269.75,-118.12 273.16,-115.45 276.76,-112.98"/>
157
- <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="277.85,-115.19 282.45,-109.38 275.23,-111.05 277.85,-115.19"/>
171
+ <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M132.08,-366.6C143.76,-319.39 180.94,-192.65 257.62,-121 263.14,-115.85 269.56,-111.45 276.33,-107.71"/>
172
+ <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="277.19,-110.03 282.31,-104.66 274.96,-105.66 277.19,-110.03"/>
158
173
  </g>
159
174
  <!-- hist -->
160
- <g id="node12" class="node">
175
+ <g id="node13" class="node">
161
176
  <title>hist</title>
162
177
  <path fill="#fcd34d" stroke="#334155" stroke-width="1.3" d="M379.38,-40C379.38,-42.21 361.33,-44 339.12,-44 316.92,-44 298.88,-42.21 298.88,-40 298.88,-40 298.88,-4 298.88,-4 298.88,-1.79 316.92,0 339.12,0 361.33,0 379.38,-1.79 379.38,-4 379.38,-4 379.38,-40 379.38,-40"/>
163
178
  <path fill="none" stroke="#334155" stroke-width="1.3" d="M379.38,-40C379.38,-37.79 361.33,-36 339.12,-36 316.92,-36 298.88,-37.79 298.88,-40"/>
@@ -165,10 +180,10 @@
165
180
  <text xml:space="preserve" text-anchor="middle" x="339.12" y="-12.5" font-family="sans-Serif" font-size="10.00" fill="#0f172a">REPL history</text>
166
181
  </g>
167
182
  <!-- Root&#45;&gt;hist -->
168
- <g id="edge11" class="edge">
183
+ <g id="edge12" class="edge">
169
184
  <title>Root&#45;&gt;hist</title>
170
- <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M140.21,-333.41C150.26,-282.42 184.72,-138.6 266.62,-55 273.43,-48.05 281.98,-42.42 290.77,-37.9"/>
171
- <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="291.75,-40.15 297.02,-34.93 289.65,-35.72 291.75,-40.15"/>
185
+ <path fill="none" stroke="#94a3b8" stroke-width="1.1" d="M130.04,-366.57C137.42,-311.7 166.44,-147.51 257.62,-55 266.67,-45.82 278.63,-39.1 290.55,-34.21"/>
186
+ <polygon fill="#94a3b8" stroke="#94a3b8" stroke-width="1.1" points="291.11,-36.61 296.79,-31.84 289.38,-32.03 291.11,-36.61"/>
172
187
  </g>
173
188
  </g>
174
189
  </svg>