# Concepts

Second-brain semantic layer: nouns map atomically to file sets (EXTRACTED); verbs aggregate structural edges (INFERRED).

| Concept | Files | Mentions | Top Files |
|---------|-------|----------|-----------|
| `bof` | 28 | 93 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/gopher_beacon.c` |
| `beacon` | 26 | 169 | `beacon.h`, `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c` |
| `output` | 22 | 154 | `beacon.h`, `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c` |
| `aes` | 18 | 91 | `aes.c`, `aes.h`, `beacon3.c`, `beacon5.c`, `beacon6.c` |
| `decrypt` | 18 | 29 | `aes.c`, `aes.h`, `beacon3.c`, `beacon5.c`, `beacon6.c` |
| `include` | 18 | 29 | `bof/include/beacon_api.h`, `bof/include/syscalls.h`, `bof/suid_enum/bof.c`, `include/aes.c`, `include/aes.h` |
| `size` | 17 | 81 | `aes.h`, `beacon5.c`, `beacons/v2/beacon.c`, `bof/cat/cat.c`, `bof/include/syscalls.h` |
| `get` | 17 | 64 | `aes.c`, `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c` |
| `encrypt` | 17 | 23 | `aes.c`, `aes.h`, `beacon3.c`, `beacon5.c`, `beacon6.c` |
| `printf` | 16 | 23 | `beacon.h`, `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c` |
| `callback` | 15 | 28 | `beacon.h`, `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c` |
| `run` | 14 | 31 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/gopher_beacon.c` |
| `api` | 14 | 24 | `beacon.h`, `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c` |
| `null` | 13 | 66 | `bof/cat/cat.c`, `bof/is_sudo/is_sudo.c`, `bof/userenum/userenum.c`, `bof/whoami/whoami.c`, `cJSON.c` |
| `read` | 13 | 26 | `bof/cat/cat.c`, `bof/include/beacon_api.h`, `bof/include/syscalls.h`, `bof/is_sudo/is_sudo.c`, `bof/userenum/userenum.c` |
| `source` | 13 | 14 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/beacon.c` |
| `int` | 12 | 43 | `beacon.h`, `beacon6.c`, `beacon_p2p.c`, `bof/include/beacon_api.h`, `bof/include/syscalls.h` |
| `cfb` | 12 | 35 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/gopher_beacon.c` |
| `not` | 12 | 22 | `aes.c`, `bof/include/syscalls.h`, `c2/server.py`, `cJSON.c`, `include/aes.c` |
| `client` | 12 | 17 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/gopher_beacon.c` |
| `write` | 12 | 17 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/gopher_beacon.c` |
| `return` | 11 | 119 | `beacon6.c`, `bof/include/syscalls.h`, `c2/server.py`, `cJSON.c`, `include/beacon_common.c` |
| `request` | 11 | 41 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/gopher_beacon.c` |
| `struct` | 11 | 25 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/gopher_beacon.c` |
| `aes256` | 11 | 20 | `aes.h`, `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c` |
| `next` | 11 | 16 | `aes.c`, `cJSON.c`, `cJSON.h`, `include/aes.c`, `include/beacon_common.c` |
| `gnu` | 11 | 11 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/beacon.c` |
| `buffer` | 10 | 207 | `aes.c`, `aes.h`, `bof/include/beacon_api.h`, `cJSON.c`, `include/aes.c` |
| `bsb` | 10 | 77 | `bof/include/beacon_api.h`, `bof/include/syscalls.h`, `c2/server.py`, `include/aes_cfb.h`, `include/beacon_common.c` |
| `config` | 10 | 67 | `c2/server.py`, `include/beacon_common.c`, `include/beacon_common.h`, `include/config.c`, `include/config.h` |
| `base64` | 10 | 34 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/gopher_beacon.c` |
| `value` | 10 | 29 | `aes.c`, `bof/suid_enum/bof.c`, `cJSON.c`, `cJSON.h`, `include/aes.c` |
| `error` | 10 | 26 | `beacon.h`, `bof/include/beacon_api.h`, `cJSON.c`, `include/beacon.h`, `include/beacon_common.h` |
| `create` | 10 | 18 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/gopher_beacon.c` |
| `user` | 10 | 14 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/gopher_beacon.c` |
| `elf` | 10 | 13 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/gopher_beacon.c` |
| `json` | 9 | 179 | `c2/server.py`, `cJSON.c`, `cJSON.h`, `include/cJSON.c`, `include/cJSON.h` |
| `const` | 9 | 112 | `bof/include/syscalls.h`, `cJSON.c`, `cJSON.h`, `include/beacon_common.c`, `include/beacon_common.h` |
| `parse` | 9 | 53 | `beacon.h`, `beacon_p2p.c`, `bof/include/beacon_api.h`, `cJSON.c`, `include/beacon.h` |
| `key` | 9 | 24 | `aes.c`, `aes.h`, `include/aes.c`, `include/aes.h`, `include/config.c` |
| `memory` | 9 | 20 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/gopher_beacon.c` |
| `encode` | 9 | 18 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/gopher_beacon.c` |
| `attribute` | 9 | 15 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/gopher_beacon.c` |
| `decode` | 9 | 15 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/gopher_beacon.c` |
| `command` | 9 | 14 | `beacon_p2p.c`, `beacons/v1/beacon.c`, `beacons/v2/beacon.c`, `beacons/v3/beacon.c`, `c2/server.py` |
| `must` | 9 | 13 | `c2/server.py`, `include/beacon_common.h`, `include/config.c`, `tests/test_bof_compile.py`, `tests/test_c2_http_e2e.py` |
| `char` | 8 | 82 | `bof/include/syscalls.h`, `bof/suid_enum/bof.c`, `cJSON.c`, `include/beacon_common.c`, `include/beacon_common.h` |
| `trampoline` | 8 | 55 | `beacon3.c`, `beacon5.c`, `beacon6.c`, `beacon_p2p.c`, `beacons/v1/gopher_beacon.c` |
| `data` | 8 | 49 | `beacon.h`, `beacon_p2p.c`, `bof/include/beacon_api.h`, `c2/server.py`, `gopher_c2.py` |
| `ptr` | 8 | 45 | `beacon.h`, `beacon_p2p.c`, `bof/include/beacon_api.h`, `cJSON.c`, `include/beacon.h` |

## Verb Edges

| Source | Verb | Target | Strength |
|--------|------|--------|----------|
| `bof` | `depends_on` | `int` | 1.00 |
| `beacon` | `depends_on` | `int` | 0.72 |
| `output` | `depends_on` | `int` | 0.68 |
| `source` | `depends_on` | `int` | 0.68 |
| `struct` | `depends_on` | `int` | 0.68 |
| `beacon` | `consumes` | `int` | 0.64 |
| `bof` | `depends_on` | `include` | 0.64 |
| `gnu` | `consumes` | `int` | 0.64 |
| `gnu` | `depends_on` | `int` | 0.64 |
| `source` | `consumes` | `int` | 0.64 |
| `api` | `depends_on` | `int` | 0.60 |
| `bof` | `depends_on` | `bsb` | 0.60 |
| `bof` | `depends_on` | `error` | 0.60 |
| `create` | `consumes` | `int` | 0.60 |
| `create` | `depends_on` | `int` | 0.60 |
| `get` | `consumes` | `int` | 0.60 |
| `get` | `depends_on` | `int` | 0.60 |
| `output` | `consumes` | `int` | 0.60 |
| `struct` | `consumes` | `int` | 0.60 |
| `user` | `depends_on` | `int` | 0.60 |
| `attribute` | `consumes` | `int` | 0.56 |
| `bof` | `depends_on` | `beacon` | 0.56 |
| `bof` | `depends_on` | `const` | 0.56 |
| `bof` | `consumes` | `int` | 0.56 |
| `bof` | `depends_on` | `size` | 0.56 |
| `decode` | `depends_on` | `int` | 0.56 |
| `write` | `depends_on` | `int` | 0.56 |
| `aes` | `consumes` | `int` | 0.52 |
| `aes` | `depends_on` | `int` | 0.52 |
| `api` | `consumes` | `int` | 0.52 |
| `attribute` | `depends_on` | `int` | 0.52 |
| `base64` | `consumes` | `int` | 0.52 |
| `base64` | `depends_on` | `int` | 0.52 |
| `bof` | `depends_on` | `data` | 0.52 |
| `callback` | `consumes` | `int` | 0.52 |
| `cfb` | `consumes` | `int` | 0.52 |
| `cfb` | `depends_on` | `int` | 0.52 |
| `client` | `consumes` | `int` | 0.52 |
| `client` | `depends_on` | `int` | 0.52 |
| `decode` | `consumes` | `int` | 0.52 |
| `elf` | `consumes` | `int` | 0.52 |
| `elf` | `depends_on` | `int` | 0.52 |
| `encode` | `consumes` | `int` | 0.52 |
| `encode` | `depends_on` | `int` | 0.52 |
| `memory` | `consumes` | `int` | 0.52 |
| `memory` | `depends_on` | `int` | 0.52 |
| `printf` | `consumes` | `int` | 0.52 |
| `printf` | `depends_on` | `int` | 0.52 |
| `request` | `consumes` | `int` | 0.52 |
| `request` | `depends_on` | `int` | 0.52 |

## Dialectic Prompts

- Thesis: `aes` centralizes 18 files; Antithesis: `aes256` pulls 11 files with 11 shared (Jaccard 0.61); Synthesis: should they merge, split by layer, or keep `consumes` explicit?
- Thesis: `aes` centralizes 18 files; Antithesis: `api` pulls 14 files with 8 shared (Jaccard 0.33); Synthesis: should they merge, split by layer, or keep `bridges` explicit?
- Thesis: `aes` centralizes 18 files; Antithesis: `attribute` pulls 9 files with 8 shared (Jaccard 0.42); Synthesis: should they merge, split by layer, or keep `bridges` explicit?
- Thesis: `aes` centralizes 18 files; Antithesis: `base64` pulls 10 files with 10 shared (Jaccard 0.56); Synthesis: should they merge, split by layer, or keep `bridges` explicit?
- Thesis: `aes` centralizes 18 files; Antithesis: `cfb` pulls 12 files with 12 shared (Jaccard 0.67); Synthesis: should they merge, split by layer, or keep `bridges` explicit?
- Thesis: `aes` centralizes 18 files; Antithesis: `client` pulls 12 files with 11 shared (Jaccard 0.58); Synthesis: should they merge, split by layer, or keep `bridges` explicit?
- Thesis: `aes` centralizes 18 files; Antithesis: `create` pulls 10 files with 8 shared (Jaccard 0.40); Synthesis: should they merge, split by layer, or keep `bridges` explicit?
- Thesis: `aes` centralizes 18 files; Antithesis: `decode` pulls 9 files with 8 shared (Jaccard 0.42); Synthesis: should they merge, split by layer, or keep `bridges` explicit?
- Thesis: `aes` centralizes 18 files; Antithesis: `decrypt` pulls 18 files with 16 shared (Jaccard 0.80); Synthesis: should they merge, split by layer, or keep `consumes` explicit?
- Thesis: `aes` centralizes 18 files; Antithesis: `elf` pulls 10 files with 8 shared (Jaccard 0.40); Synthesis: should they merge, split by layer, or keep `bridges` explicit?
