.graphify_root
1 month ago
GRAPH_REPORT.md
2 days ago
graph.html
2 days ago
graph.json
2 days ago
manifest.json
2 days ago
GRAPH_REPORT.md
752 lines
| 1 | # Graph Report - advanced-ads (2026-07-08) |
| 2 | |
| 3 | ## Corpus Check |
| 4 | |
| 5 | - 701 files · ~417,229 words |
| 6 | - Verdict: corpus is large enough that graph structure adds value. |
| 7 | |
| 8 | ## Summary |
| 9 | |
| 10 | - 4585 nodes · 6519 edges · 575 communities (366 shown, 209 thin omitted) |
| 11 | - Extraction: 84% EXTRACTED · 16% INFERRED · 0% AMBIGUOUS · INFERRED: 1027 edges (avg confidence: 0.8) |
| 12 | - Token cost: 0 input · 0 output |
| 13 | |
| 14 | ## Graph Freshness |
| 15 | |
| 16 | - Built from commit: `0cbee8fe` |
| 17 | - Run `git rev-parse HEAD` and compare to check if the graph is stale. |
| 18 | - Run `graphify update .` after code changes (no API cost). |
| 19 | |
| 20 | ## Community Hubs (Navigation) |
| 21 | |
| 22 | - [[_COMMUNITY_Community 0|Community 0]] |
| 23 | - [[_COMMUNITY_Community 1|Community 1]] |
| 24 | - [[_COMMUNITY_Community 2|Community 2]] |
| 25 | - [[_COMMUNITY_Community 3|Community 3]] |
| 26 | - [[_COMMUNITY_Community 4|Community 4]] |
| 27 | - [[_COMMUNITY_Community 5|Community 5]] |
| 28 | - [[_COMMUNITY_Community 6|Community 6]] |
| 29 | - [[_COMMUNITY_Community 7|Community 7]] |
| 30 | - [[_COMMUNITY_Community 8|Community 8]] |
| 31 | - [[_COMMUNITY_Community 9|Community 9]] |
| 32 | - [[_COMMUNITY_Community 10|Community 10]] |
| 33 | - [[_COMMUNITY_Community 11|Community 11]] |
| 34 | - [[_COMMUNITY_Community 12|Community 12]] |
| 35 | - [[_COMMUNITY_Community 13|Community 13]] |
| 36 | - [[_COMMUNITY_Community 14|Community 14]] |
| 37 | - [[_COMMUNITY_Community 15|Community 15]] |
| 38 | - [[_COMMUNITY_Community 16|Community 16]] |
| 39 | - [[_COMMUNITY_Community 17|Community 17]] |
| 40 | - [[_COMMUNITY_Community 18|Community 18]] |
| 41 | - [[_COMMUNITY_Community 19|Community 19]] |
| 42 | - [[_COMMUNITY_Community 20|Community 20]] |
| 43 | - [[_COMMUNITY_Community 21|Community 21]] |
| 44 | - [[_COMMUNITY_Community 22|Community 22]] |
| 45 | - [[_COMMUNITY_Community 23|Community 23]] |
| 46 | - [[_COMMUNITY_Community 24|Community 24]] |
| 47 | - [[_COMMUNITY_Community 25|Community 25]] |
| 48 | - [[_COMMUNITY_Community 26|Community 26]] |
| 49 | - [[_COMMUNITY_Community 27|Community 27]] |
| 50 | - [[_COMMUNITY_Community 28|Community 28]] |
| 51 | - [[_COMMUNITY_Community 29|Community 29]] |
| 52 | - [[_COMMUNITY_Community 30|Community 30]] |
| 53 | - [[_COMMUNITY_Community 31|Community 31]] |
| 54 | - [[_COMMUNITY_Community 32|Community 32]] |
| 55 | - [[_COMMUNITY_Community 33|Community 33]] |
| 56 | - [[_COMMUNITY_Community 34|Community 34]] |
| 57 | - [[_COMMUNITY_Community 35|Community 35]] |
| 58 | - [[_COMMUNITY_Community 36|Community 36]] |
| 59 | - [[_COMMUNITY_Community 37|Community 37]] |
| 60 | - [[_COMMUNITY_Community 38|Community 38]] |
| 61 | - [[_COMMUNITY_Community 39|Community 39]] |
| 62 | - [[_COMMUNITY_Community 40|Community 40]] |
| 63 | - [[_COMMUNITY_Community 41|Community 41]] |
| 64 | - [[_COMMUNITY_Community 42|Community 42]] |
| 65 | - [[_COMMUNITY_Community 43|Community 43]] |
| 66 | - [[_COMMUNITY_Community 44|Community 44]] |
| 67 | - [[_COMMUNITY_Community 45|Community 45]] |
| 68 | - [[_COMMUNITY_Community 46|Community 46]] |
| 69 | - [[_COMMUNITY_Community 47|Community 47]] |
| 70 | - [[_COMMUNITY_Community 48|Community 48]] |
| 71 | - [[_COMMUNITY_Community 49|Community 49]] |
| 72 | - [[_COMMUNITY_Community 50|Community 50]] |
| 73 | - [[_COMMUNITY_Community 51|Community 51]] |
| 74 | - [[_COMMUNITY_Community 52|Community 52]] |
| 75 | - [[_COMMUNITY_Community 53|Community 53]] |
| 76 | - [[_COMMUNITY_Community 54|Community 54]] |
| 77 | - [[_COMMUNITY_Community 55|Community 55]] |
| 78 | - [[_COMMUNITY_Community 56|Community 56]] |
| 79 | - [[_COMMUNITY_Community 57|Community 57]] |
| 80 | - [[_COMMUNITY_Community 58|Community 58]] |
| 81 | - [[_COMMUNITY_Community 59|Community 59]] |
| 82 | - [[_COMMUNITY_Community 60|Community 60]] |
| 83 | - [[_COMMUNITY_Community 61|Community 61]] |
| 84 | - [[_COMMUNITY_Community 62|Community 62]] |
| 85 | - [[_COMMUNITY_Community 63|Community 63]] |
| 86 | - [[_COMMUNITY_Community 64|Community 64]] |
| 87 | - [[_COMMUNITY_Community 65|Community 65]] |
| 88 | - [[_COMMUNITY_Community 66|Community 66]] |
| 89 | - [[_COMMUNITY_Community 67|Community 67]] |
| 90 | - [[_COMMUNITY_Community 68|Community 68]] |
| 91 | - [[_COMMUNITY_Community 69|Community 69]] |
| 92 | - [[_COMMUNITY_Community 70|Community 70]] |
| 93 | - [[_COMMUNITY_Community 71|Community 71]] |
| 94 | - [[_COMMUNITY_Community 72|Community 72]] |
| 95 | - [[_COMMUNITY_Community 73|Community 73]] |
| 96 | - [[_COMMUNITY_Community 74|Community 74]] |
| 97 | - [[_COMMUNITY_Community 75|Community 75]] |
| 98 | - [[_COMMUNITY_Community 76|Community 76]] |
| 99 | - [[_COMMUNITY_Community 77|Community 77]] |
| 100 | - [[_COMMUNITY_Community 78|Community 78]] |
| 101 | - [[_COMMUNITY_Community 79|Community 79]] |
| 102 | - [[_COMMUNITY_Community 80|Community 80]] |
| 103 | - [[_COMMUNITY_Community 81|Community 81]] |
| 104 | - [[_COMMUNITY_Community 82|Community 82]] |
| 105 | - [[_COMMUNITY_Community 83|Community 83]] |
| 106 | - [[_COMMUNITY_Community 84|Community 84]] |
| 107 | - [[_COMMUNITY_Community 85|Community 85]] |
| 108 | - [[_COMMUNITY_Community 86|Community 86]] |
| 109 | - [[_COMMUNITY_Community 87|Community 87]] |
| 110 | - [[_COMMUNITY_Community 88|Community 88]] |
| 111 | - [[_COMMUNITY_Community 89|Community 89]] |
| 112 | - [[_COMMUNITY_Community 90|Community 90]] |
| 113 | - [[_COMMUNITY_Community 91|Community 91]] |
| 114 | - [[_COMMUNITY_Community 92|Community 92]] |
| 115 | - [[_COMMUNITY_Community 93|Community 93]] |
| 116 | - [[_COMMUNITY_Community 94|Community 94]] |
| 117 | - [[_COMMUNITY_Community 95|Community 95]] |
| 118 | - [[_COMMUNITY_Community 96|Community 96]] |
| 119 | - [[_COMMUNITY_Community 97|Community 97]] |
| 120 | - [[_COMMUNITY_Community 98|Community 98]] |
| 121 | - [[_COMMUNITY_Community 99|Community 99]] |
| 122 | - [[_COMMUNITY_Community 100|Community 100]] |
| 123 | - [[_COMMUNITY_Community 101|Community 101]] |
| 124 | - [[_COMMUNITY_Community 102|Community 102]] |
| 125 | - [[_COMMUNITY_Community 103|Community 103]] |
| 126 | - [[_COMMUNITY_Community 104|Community 104]] |
| 127 | - [[_COMMUNITY_Community 105|Community 105]] |
| 128 | - [[_COMMUNITY_Community 106|Community 106]] |
| 129 | - [[_COMMUNITY_Community 107|Community 107]] |
| 130 | - [[_COMMUNITY_Community 108|Community 108]] |
| 131 | - [[_COMMUNITY_Community 109|Community 109]] |
| 132 | - [[_COMMUNITY_Community 110|Community 110]] |
| 133 | - [[_COMMUNITY_Community 111|Community 111]] |
| 134 | - [[_COMMUNITY_Community 112|Community 112]] |
| 135 | - [[_COMMUNITY_Community 113|Community 113]] |
| 136 | - [[_COMMUNITY_Community 114|Community 114]] |
| 137 | - [[_COMMUNITY_Community 115|Community 115]] |
| 138 | - [[_COMMUNITY_Community 116|Community 116]] |
| 139 | - [[_COMMUNITY_Community 117|Community 117]] |
| 140 | - [[_COMMUNITY_Community 118|Community 118]] |
| 141 | - [[_COMMUNITY_Community 119|Community 119]] |
| 142 | - [[_COMMUNITY_Community 120|Community 120]] |
| 143 | - [[_COMMUNITY_Community 121|Community 121]] |
| 144 | - [[_COMMUNITY_Community 122|Community 122]] |
| 145 | - [[_COMMUNITY_Community 123|Community 123]] |
| 146 | - [[_COMMUNITY_Community 124|Community 124]] |
| 147 | - [[_COMMUNITY_Community 125|Community 125]] |
| 148 | - [[_COMMUNITY_Community 126|Community 126]] |
| 149 | - [[_COMMUNITY_Community 127|Community 127]] |
| 150 | - [[_COMMUNITY_Community 128|Community 128]] |
| 151 | - [[_COMMUNITY_Community 129|Community 129]] |
| 152 | - [[_COMMUNITY_Community 130|Community 130]] |
| 153 | - [[_COMMUNITY_Community 131|Community 131]] |
| 154 | - [[_COMMUNITY_Community 132|Community 132]] |
| 155 | - [[_COMMUNITY_Community 133|Community 133]] |
| 156 | - [[_COMMUNITY_Community 134|Community 134]] |
| 157 | - [[_COMMUNITY_Community 135|Community 135]] |
| 158 | - [[_COMMUNITY_Community 136|Community 136]] |
| 159 | - [[_COMMUNITY_Community 137|Community 137]] |
| 160 | - [[_COMMUNITY_Community 138|Community 138]] |
| 161 | - [[_COMMUNITY_Community 139|Community 139]] |
| 162 | - [[_COMMUNITY_Community 140|Community 140]] |
| 163 | - [[_COMMUNITY_Community 141|Community 141]] |
| 164 | - [[_COMMUNITY_Community 142|Community 142]] |
| 165 | - [[_COMMUNITY_Community 143|Community 143]] |
| 166 | - [[_COMMUNITY_Community 144|Community 144]] |
| 167 | - [[_COMMUNITY_Community 145|Community 145]] |
| 168 | - [[_COMMUNITY_Community 146|Community 146]] |
| 169 | - [[_COMMUNITY_Community 147|Community 147]] |
| 170 | - [[_COMMUNITY_Community 148|Community 148]] |
| 171 | - [[_COMMUNITY_Community 149|Community 149]] |
| 172 | - [[_COMMUNITY_Community 150|Community 150]] |
| 173 | - [[_COMMUNITY_Community 151|Community 151]] |
| 174 | - [[_COMMUNITY_Community 152|Community 152]] |
| 175 | - [[_COMMUNITY_Community 153|Community 153]] |
| 176 | - [[_COMMUNITY_Community 154|Community 154]] |
| 177 | - [[_COMMUNITY_Community 155|Community 155]] |
| 178 | - [[_COMMUNITY_Community 156|Community 156]] |
| 179 | - [[_COMMUNITY_Community 157|Community 157]] |
| 180 | - [[_COMMUNITY_Community 158|Community 158]] |
| 181 | - [[_COMMUNITY_Community 159|Community 159]] |
| 182 | - [[_COMMUNITY_Community 160|Community 160]] |
| 183 | - [[_COMMUNITY_Community 161|Community 161]] |
| 184 | - [[_COMMUNITY_Community 162|Community 162]] |
| 185 | - [[_COMMUNITY_Community 163|Community 163]] |
| 186 | - [[_COMMUNITY_Community 164|Community 164]] |
| 187 | - [[_COMMUNITY_Community 165|Community 165]] |
| 188 | - [[_COMMUNITY_Community 166|Community 166]] |
| 189 | - [[_COMMUNITY_Community 167|Community 167]] |
| 190 | - [[_COMMUNITY_Community 168|Community 168]] |
| 191 | - [[_COMMUNITY_Community 169|Community 169]] |
| 192 | - [[_COMMUNITY_Community 170|Community 170]] |
| 193 | - [[_COMMUNITY_Community 174|Community 174]] |
| 194 | - [[_COMMUNITY_Community 177|Community 177]] |
| 195 | - [[_COMMUNITY_Community 178|Community 178]] |
| 196 | - [[_COMMUNITY_Community 179|Community 179]] |
| 197 | - [[_COMMUNITY_Community 180|Community 180]] |
| 198 | - [[_COMMUNITY_Community 181|Community 181]] |
| 199 | - [[_COMMUNITY_Community 182|Community 182]] |
| 200 | - [[_COMMUNITY_Community 183|Community 183]] |
| 201 | - [[_COMMUNITY_Community 184|Community 184]] |
| 202 | - [[_COMMUNITY_Community 185|Community 185]] |
| 203 | - [[_COMMUNITY_Community 186|Community 186]] |
| 204 | - [[_COMMUNITY_Community 187|Community 187]] |
| 205 | - [[_COMMUNITY_Community 188|Community 188]] |
| 206 | - [[_COMMUNITY_Community 189|Community 189]] |
| 207 | - [[_COMMUNITY_Community 190|Community 190]] |
| 208 | - [[_COMMUNITY_Community 192|Community 192]] |
| 209 | - [[_COMMUNITY_Community 193|Community 193]] |
| 210 | - [[_COMMUNITY_Community 194|Community 194]] |
| 211 | - [[_COMMUNITY_Community 195|Community 195]] |
| 212 | - [[_COMMUNITY_Community 196|Community 196]] |
| 213 | - [[_COMMUNITY_Community 197|Community 197]] |
| 214 | - [[_COMMUNITY_Community 198|Community 198]] |
| 215 | - [[_COMMUNITY_Community 199|Community 199]] |
| 216 | - [[_COMMUNITY_Community 200|Community 200]] |
| 217 | - [[_COMMUNITY_Community 201|Community 201]] |
| 218 | - [[_COMMUNITY_Community 202|Community 202]] |
| 219 | - [[_COMMUNITY_Community 203|Community 203]] |
| 220 | - [[_COMMUNITY_Community 205|Community 205]] |
| 221 | - [[_COMMUNITY_Community 206|Community 206]] |
| 222 | - [[_COMMUNITY_Community 207|Community 207]] |
| 223 | - [[_COMMUNITY_Community 208|Community 208]] |
| 224 | - [[_COMMUNITY_Community 209|Community 209]] |
| 225 | - [[_COMMUNITY_Community 210|Community 210]] |
| 226 | - [[_COMMUNITY_Community 212|Community 212]] |
| 227 | - [[_COMMUNITY_Community 213|Community 213]] |
| 228 | - [[_COMMUNITY_Community 214|Community 214]] |
| 229 | - [[_COMMUNITY_Community 215|Community 215]] |
| 230 | - [[_COMMUNITY_Community 216|Community 216]] |
| 231 | - [[_COMMUNITY_Community 217|Community 217]] |
| 232 | - [[_COMMUNITY_Community 218|Community 218]] |
| 233 | - [[_COMMUNITY_Community 219|Community 219]] |
| 234 | - [[_COMMUNITY_Community 220|Community 220]] |
| 235 | - [[_COMMUNITY_Community 221|Community 221]] |
| 236 | - [[_COMMUNITY_Community 222|Community 222]] |
| 237 | - [[_COMMUNITY_Community 223|Community 223]] |
| 238 | - [[_COMMUNITY_Community 224|Community 224]] |
| 239 | - [[_COMMUNITY_Community 225|Community 225]] |
| 240 | - [[_COMMUNITY_Community 226|Community 226]] |
| 241 | - [[_COMMUNITY_Community 227|Community 227]] |
| 242 | - [[_COMMUNITY_Community 228|Community 228]] |
| 243 | - [[_COMMUNITY_Community 229|Community 229]] |
| 244 | - [[_COMMUNITY_Community 230|Community 230]] |
| 245 | - [[_COMMUNITY_Community 231|Community 231]] |
| 246 | - [[_COMMUNITY_Community 232|Community 232]] |
| 247 | - [[_COMMUNITY_Community 233|Community 233]] |
| 248 | - [[_COMMUNITY_Community 234|Community 234]] |
| 249 | - [[_COMMUNITY_Community 235|Community 235]] |
| 250 | - [[_COMMUNITY_Community 236|Community 236]] |
| 251 | - [[_COMMUNITY_Community 237|Community 237]] |
| 252 | - [[_COMMUNITY_Community 238|Community 238]] |
| 253 | - [[_COMMUNITY_Community 239|Community 239]] |
| 254 | - [[_COMMUNITY_Community 240|Community 240]] |
| 255 | - [[_COMMUNITY_Community 241|Community 241]] |
| 256 | - [[_COMMUNITY_Community 243|Community 243]] |
| 257 | - [[_COMMUNITY_Community 245|Community 245]] |
| 258 | - [[_COMMUNITY_Community 246|Community 246]] |
| 259 | - [[_COMMUNITY_Community 247|Community 247]] |
| 260 | - [[_COMMUNITY_Community 248|Community 248]] |
| 261 | - [[_COMMUNITY_Community 249|Community 249]] |
| 262 | - [[_COMMUNITY_Community 250|Community 250]] |
| 263 | - [[_COMMUNITY_Community 251|Community 251]] |
| 264 | - [[_COMMUNITY_Community 252|Community 252]] |
| 265 | - [[_COMMUNITY_Community 253|Community 253]] |
| 266 | - [[_COMMUNITY_Community 254|Community 254]] |
| 267 | - [[_COMMUNITY_Community 255|Community 255]] |
| 268 | - [[_COMMUNITY_Community 256|Community 256]] |
| 269 | - [[_COMMUNITY_Community 257|Community 257]] |
| 270 | - [[_COMMUNITY_Community 258|Community 258]] |
| 271 | - [[_COMMUNITY_Community 259|Community 259]] |
| 272 | - [[_COMMUNITY_Community 260|Community 260]] |
| 273 | - [[_COMMUNITY_Community 261|Community 261]] |
| 274 | - [[_COMMUNITY_Community 262|Community 262]] |
| 275 | - [[_COMMUNITY_Community 263|Community 263]] |
| 276 | - [[_COMMUNITY_Community 264|Community 264]] |
| 277 | - [[_COMMUNITY_Community 266|Community 266]] |
| 278 | - [[_COMMUNITY_Community 267|Community 267]] |
| 279 | - [[_COMMUNITY_Community 268|Community 268]] |
| 280 | - [[_COMMUNITY_Community 269|Community 269]] |
| 281 | - [[_COMMUNITY_Community 270|Community 270]] |
| 282 | - [[_COMMUNITY_Community 271|Community 271]] |
| 283 | - [[_COMMUNITY_Community 272|Community 272]] |
| 284 | - [[_COMMUNITY_Community 273|Community 273]] |
| 285 | - [[_COMMUNITY_Community 274|Community 274]] |
| 286 | - [[_COMMUNITY_Community 275|Community 275]] |
| 287 | - [[_COMMUNITY_Community 276|Community 276]] |
| 288 | - [[_COMMUNITY_Community 277|Community 277]] |
| 289 | - [[_COMMUNITY_Community 278|Community 278]] |
| 290 | - [[_COMMUNITY_Community 279|Community 279]] |
| 291 | - [[_COMMUNITY_Community 281|Community 281]] |
| 292 | - [[_COMMUNITY_Community 284|Community 284]] |
| 293 | - [[_COMMUNITY_Community 285|Community 285]] |
| 294 | - [[_COMMUNITY_Community 286|Community 286]] |
| 295 | - [[_COMMUNITY_Community 287|Community 287]] |
| 296 | - [[_COMMUNITY_Community 288|Community 288]] |
| 297 | - [[_COMMUNITY_Community 289|Community 289]] |
| 298 | - [[_COMMUNITY_Community 290|Community 290]] |
| 299 | - [[_COMMUNITY_Community 291|Community 291]] |
| 300 | - [[_COMMUNITY_Community 292|Community 292]] |
| 301 | - [[_COMMUNITY_Community 294|Community 294]] |
| 302 | - [[_COMMUNITY_Community 295|Community 295]] |
| 303 | - [[_COMMUNITY_Community 296|Community 296]] |
| 304 | - [[_COMMUNITY_Community 297|Community 297]] |
| 305 | - [[_COMMUNITY_Community 298|Community 298]] |
| 306 | - [[_COMMUNITY_Community 299|Community 299]] |
| 307 | - [[_COMMUNITY_Community 300|Community 300]] |
| 308 | - [[_COMMUNITY_Community 301|Community 301]] |
| 309 | |
| 310 | ## God Nodes (most connected - your core abstractions) |
| 311 | |
| 312 | 1. `Conditional` - 146 edges |
| 313 | 2. `License` - 143 edges |
| 314 | 3. `Advanced_Ads` - 77 edges |
| 315 | 4. `License_Utils` - 63 edges |
| 316 | 5. `Ad` - 59 edges |
| 317 | 6. `WordPress` - 57 edges |
| 318 | 7. `wp_advads()` - 56 edges |
| 319 | 8. `Advanced_Ads_AdSense_MAPI` - 53 edges |
| 320 | 9. `Advanced_Ads_Ad_Health_Notices` - 52 edges |
| 321 | 10. `Advanced_Ads_AdSense_Data` - 45 edges |
| 322 | |
| 323 | ## Surprising Connections (you probably didn't know these) |
| 324 | |
| 325 | - `advads_can_display_ads()` --calls--> `Advanced_Ads` [INFERRED] |
| 326 | includes/functions-conditional.php → public/class-advanced-ads.php |
| 327 | - `close()` --calls--> `$()` [INFERRED] |
| 328 | admin/assets/js/conditions.js → assets/js/admin/oneclick-onboarding.js |
| 329 | - `wp_advads_get_ad_factory()` --calls--> `wp_advads()` [INFERRED] |
| 330 | includes/functions-ad.php → advanced-ads.php |
| 331 | - `wp_advads_get_ad_repository()` --calls--> `wp_advads()` [INFERRED] |
| 332 | includes/functions-ad.php → advanced-ads.php |
| 333 | - `wp_advads_get_ad_type_manager()` --calls--> `wp_advads()` [INFERRED] |
| 334 | includes/functions-ad.php → advanced-ads.php |
| 335 | |
| 336 | ## Communities (575 total, 209 thin omitted) |
| 337 | |
| 338 | ### Community 0 - "Community 0" |
| 339 | |
| 340 | Cohesion: 0.06 |
| 341 | Nodes (86): ae(), b(), c(), D(), de(), E(), ee(), f() (+78 more) |
| 342 | |
| 343 | ### Community 1 - "Community 1" |
| 344 | |
| 345 | Cohesion: 0.05 |
| 346 | Nodes (6): Ad_Repository, Group_Repository, Cache_Invalidator, wp_advads_get_ad_factory(), Placement_Repository, advads_upgrade_2_0_9_migrate_group_legacy_options() |
| 347 | |
| 348 | ### Community 2 - "Community 2" |
| 349 | |
| 350 | Cohesion: 0.05 |
| 351 | Nodes (5): Ad_Inserter, Amp_WP_Ads, Google_Sheet, wp_advads_create_new_ad(), OnBoarding |
| 352 | |
| 353 | ### Community 4 - "Community 4" |
| 354 | |
| 355 | Cohesion: 0.05 |
| 356 | Nodes (21): load(), advads_ads_txt_find_issues(), advads_show_adsense_auto_ads_warning(), AdvancedAdsAdNetwork, AdvancedAdsExternalAdUnit, ajax(), closeAdSelector(), getSelectedRow() (+13 more) |
| 357 | |
| 358 | ### Community 6 - "Community 6" |
| 359 | |
| 360 | Cohesion: 0.06 |
| 361 | Nodes (4): Advanced_Ads_Ads_Txt_Admin, Advanced_Ads_Ads_Txt_Strategy, Advanced_Ads_Ads_Txt_Utils, Advanced_Ads_Ads_Txt_Public |
| 362 | |
| 363 | ### Community 9 - "Community 9" |
| 364 | |
| 365 | Cohesion: 0.07 |
| 366 | Nodes (3): Addon_Updater, Advanced_Ads_Admin_Licenses, Plugin |
| 367 | |
| 368 | ### Community 11 - "Community 11" |
| 369 | |
| 370 | Cohesion: 0.05 |
| 371 | Nodes (40): code:php (/**), code:typescript (test( 'Upgrade plan selection opens checkout bridge with upg), code:bash (PLAYWRIGHT_HTML_OPEN=never npm run test:playwright -- --proj), code:javascript (/**), code:javascript (globalThis.location.href = buildShopUpgradeCheckoutUrl( {), code:javascript (globalThis.location.href = buildShopRenewalCheckoutUrl( { li), code:bash (npm run build), code:bash (PLAYWRIGHT_HTML_OPEN=never npm run test:playwright -- --proj) (+32 more) |
| 372 | |
| 373 | ### Community 13 - "Community 13" |
| 374 | |
| 375 | Cohesion: 0.07 |
| 376 | Nodes (3): noticeError(), noticeSuccess(), removeAllNotices() |
| 377 | |
| 378 | ### Community 14 - "Community 14" |
| 379 | |
| 380 | Cohesion: 0.08 |
| 381 | Nodes (19): CategoryCard(), FAQs(), PaidSupport(), SearchBox(), SupportForum(), TicketModal(), Videos(), ActivateLicense() (+11 more) |
| 382 | |
| 383 | ### Community 16 - "Community 16" |
| 384 | |
| 385 | Cohesion: 0.14 |
| 386 | Nodes (37): addonIdForLicenseKey(), addonIdForLicenseProductName(), buildPostCheckoutNoticeCopy(), buildShopEddUpgradeUrl(), buildShopRenewalCheckoutUrl(), buildShopRenewalUrl(), buildShopSsoUrl(), canActivateLicenseRowOnSite() (+29 more) |
| 387 | |
| 388 | ### Community 17 - "Community 17" |
| 389 | |
| 390 | Cohesion: 0.05 |
| 391 | Nodes (37): code:php (public function test_find_same_line_site_active_siblings_ret), code:bash (git add tests/Unit/License/LicenseTest.php), code:php (public function test_deactivate_on_shop_then_local_removes_o), code:php (public static function deactivate_on_shop_then_local( string), code:php ($merged = self::deactivate_on_shop_then_local( $deactivating), code:php ($still_active = false;), code:bash (git add includes/license/class-license.php tests/Unit/Licens), code:php (public function test_align_mutually_exclusive_site_slots_kee) (+29 more) |
| 392 | |
| 393 | ### Community 18 - "Community 18" |
| 394 | |
| 395 | Cohesion: 0.05 |
| 396 | Nodes (36): code:php (public function test*is_legacy_license_store_true_when_rich*), code:php (public function test_sync_local_activations_calls_shop_for_l), code:php (/\*\*), code:php ($rich = [), code:bash (git add includes/license/class-license.php tests/Unit/Licens), code:php (public function test_save_licenses_legacy_connect_syncs_with), code:php ($is_legacy = self::is_legacy_license_store();), code:bash (git add includes/license/class-license.php tests/Unit/Licens) (+28 more) |
| 397 | |
| 398 | ### Community 19 - "Community 19" |
| 399 | |
| 400 | Cohesion: 0.05 |
| 401 | Nodes (36): code:php (public function test_admin_screen_url_returns_license_app_pa), code:bash (git add admin/includes/notices.php admin/includes/ad-health-), code:php (if ( isset( $\_setting_tab['group'] ) && 'advanced-ads-licens), code:php (if ( isset( $\_setting_tab['group'] ) ) {), code:bash (git add includes/admin/class-settings.php views/admin/screen), code:php (add_action( 'advanced-ads-settings-init', [ $this, 'add_lice), code:bash (git add includes/admin/class-addon-updater.php), code:php (add_action( 'wp_ajax_advads-activate-license', [ $this, 'act) (+28 more) |
| 402 | |
| 403 | ### Community 22 - "Community 22" |
| 404 | |
| 405 | Cohesion: 0.06 |
| 406 | Nodes (31): code:typescript (import { expect } from '@playwright/test';), code:typescript (test( 'advads_upgrade_error shows upgrade unavailable notice), code:bash (wp-env start), code:json (// "shop" is optional — not required for license Playwright ), code:typescript (import { expect, Page } from '@playwright/test';), code:typescript (export const LICENSE_ADMIN_PATH =), code:typescript (import { test, expect } from '@playwright/test';), code:typescript (for ( const plan of CHECKOUT_PLANS ) {) (+23 more) |
| 407 | |
| 408 | ### Community 26 - "Community 26" |
| 409 | |
| 410 | Cohesion: 0.07 |
| 411 | Nodes (29): Add: `License_Utils::admin_screen_url()`, After, Architecture, Automated, Before, code:block1 (Settings page), code:block2 (Settings page (no Licenses tab)), code:php (/\*\*) (+21 more) |
| 412 | |
| 413 | ### Community 30 - "Community 30" |
| 414 | |
| 415 | Cohesion: 0.07 |
| 416 | Nodes (28): code:php (public function test_is_flat_map_retired_false_by_default():), code:php (public function get_licenses(): array {), code:bash (git add includes/rest/class-licenses.php), code:php (public function test_get_addon_key_map_derives_from_rich_whe), code:php (public static function get_addon_key_map(): array {), code:bash (git commit -m "feat(license): derive addon key map from rich), code:bash (git commit -m "feat(license): stop persisting flat map; fix ), code:bash (graphify update .) (+20 more) |
| 417 | |
| 418 | ### Community 32 - "Community 32" |
| 419 | |
| 420 | Cohesion: 0.11 |
| 421 | Nodes (3): Admin_Menu, Admin_Notices, TinyMCE |
| 422 | |
| 423 | ### Community 33 - "Community 33" |
| 424 | |
| 425 | Cohesion: 0.07 |
| 426 | Nodes (3): Ad_Dummy, Ad_Plain, WordPress |
| 427 | |
| 428 | ### Community 34 - "Community 34" |
| 429 | |
| 430 | Cohesion: 0.07 |
| 431 | Nodes (27): Codebase health audit and regression confidence — implementation plan, code:markdown (# Codebase health report), code:bash (git add docs/superpowers/artifacts/flow-test-matrix.md docs/), code:bash (rg 'wp*ajax*|register_rest_route|\$\_REQUEST|unserialize\(' -), code:bash (git add docs/superpowers/artifacts/security-checklist-result), code:bash (git add docs/superpowers/artifacts/duplication-notes.md docs), code:bash (git add docs/superpowers/findings/2026-05-13-codebase-health), code:bash (git add docs/superpowers/findings/2026-05-13-codebase-health) (+19 more) |
| 432 | |
| 433 | ### Community 35 - "Community 35" |
| 434 | |
| 435 | Cohesion: 0.07 |
| 436 | Nodes (27): Architecture, Client — `advanced-ads`, code:block1 ({shop}/sso-login?site=…&intent=upgrade|renew&license_id=…&do), code:block2 ({shop}/checkout/?site={plugin_license_admin_url}&intent=upgr), code:block3 ({shop}/checkout/?edd_action=sl_license_upgrade&license_id=37), code:block4 ({shop}/checkout/?site={plugin_license_admin_url}&intent=rene), code:block5 (https://customer.test/wp-admin/admin.php?page=advanced-ads-a), code:text (Today (upgrade):) (+19 more) |
| 437 | |
| 438 | ### Community 36 - "Community 36" |
| 439 | |
| 440 | Cohesion: 0.07 |
| 441 | Nodes (27): 1. Resolve post-checkout license row, 2. Classify setup state, 3. Build notice copy, Acceptance criteria, code:block1 (if row is All Access bundle:), code:block2 (Shop redirect), Component changes, Conditional post-checkout license notice — design (+19 more) |
| 442 | |
| 443 | ### Community 37 - "Community 37" |
| 444 | |
| 445 | Cohesion: 0.07 |
| 446 | Nodes (27): Activation (switch Pro 1 → Pro 2), Architecture, code:block1 (User: Activate Pro 2), code:block2 (User: Deactivate Pro 1), code:block3 (advanced-ads-app-licenses rich rows + sitesActivated[] per), Components, Data flow (unchanged storage), Deactivation (Pro 1 only) (+19 more) |
| 447 | |
| 448 | ### Community 38 - "Community 38" |
| 449 | |
| 450 | Cohesion: 0.13 |
| 451 | Nodes (15): Ad_Group, Group_Factory, is_an_ad(), get_the_group(), is_a_group(), the_ad_group(), wp_advads_create_group_type(), wp_advads_delete_group() (+7 more) |
| 452 | |
| 453 | ### Community 39 - "Community 39" |
| 454 | |
| 455 | Cohesion: 0.11 |
| 456 | Nodes (16): buildUrl(), navigate(), normalizeAdminAppPathname(), useArea(), useCurrentPath(), useCurrentRoute(), useSearchParams(), EmptyState() (+8 more) |
| 457 | |
| 458 | ### Community 40 - "Community 40" |
| 459 | |
| 460 | Cohesion: 0.12 |
| 461 | Nodes (5): FileUploader, debounce(), searchCombobox(), submitFormToAPI(), ticketForm() |
| 462 | |
| 463 | ### Community 41 - "Community 41" |
| 464 | |
| 465 | Cohesion: 0.07 |
| 466 | Nodes (26): Activation contract, Architecture, code:block1 (POST shop /wp-json/advanced-ads/v2/license/activate { licens), code:block2 (admin_post_advanced-ads-license), code:php ($is_legacy = self::is_legacy_license_store( $existing );), Decisions, Error handling, Legacy user (stored licenses or flat map) (+18 more) |
| 467 | |
| 468 | ### Community 42 - "Community 42" |
| 469 | |
| 470 | Cohesion: 0.14 |
| 471 | Nodes (5): Assets, wp_advads(), wp_advads_json_add(), wp_advads_json_remove(), Groups |
| 472 | |
| 473 | ### Community 44 - "Community 44" |
| 474 | |
| 475 | Cohesion: 0.15 |
| 476 | Nodes (23): buildLicenseSuccessNoticeOptions(), buildLicenseWarningNoticeOptions(), clearLicenseNoticeDisplayMeta(), expiryNoticeMessage(), getNoticeIcon(), getNoticeVariant(), handleActivationQueryErrors(), handleExpiryNotices() (+15 more) |
| 477 | |
| 478 | ### Community 45 - "Community 45" |
| 479 | |
| 480 | Cohesion: 0.08 |
| 481 | Nodes (25): 10. Repeated `safeObject` pattern in `normalizeLicensesResponse`, 11. Two patterns for getting the license list in `AddonRowActions.jsx`, 12. Duplicate `pricingId` validation in two files, 13. Break up `getDisplayLicenseStatus`, 1. `useFetch.js` always sends POST instead of GET, 2. Duplicate `STORE_NAME` in `licenses-api.js`, 3. `activateActionsDisabled` in `AddonRowActions.jsx`, 4. `isComponentsBusy` prop in `DownloadActivateButton.jsx` (+17 more) |
| 482 | |
| 483 | ### Community 47 - "Community 47" |
| 484 | |
| 485 | Cohesion: 0.08 |
| 486 | Nodes (24): 1. Post-checkout success, 2. Activation success, 3. Activation error, 4–6. Expiry & shop error notices (unchanged body copy), Acceptance criteria, Build, code:block1 (┌───────────────────────────────────────────────────────────), code:js ({) (+16 more) |
| 487 | |
| 488 | ### Community 48 - "Community 48" |
| 489 | |
| 490 | Cohesion: 0.11 |
| 491 | Nodes (11): is_a_placement(), get_parent(), get_parent_entity_name(), get_root_placement(), get_status(), get_type(), has_parent(), is_parent_group() (+3 more) |
| 492 | |
| 493 | ### Community 51 - "Community 51" |
| 494 | |
| 495 | Cohesion: 0.15 |
| 496 | Nodes (14): Ad_Factory, wp_advads_ad_query(), wp_advads_create_ad_type(), wp_advads_get_ad_repository(), wp_advads_get_ad_type(), wp_advads_get_ad_type_manager(), wp_advads_get_ad_types(), wp_advads_get_ads_by_ids() (+6 more) |
| 497 | |
| 498 | ### Community 53 - "Community 53" |
| 499 | |
| 500 | Cohesion: 0.17 |
| 501 | Nodes (18): AutoUpdateModal(), LicenseField(), LicenseItem(), LicenseStatus(), SitesModal(), canUpgradeLicensePlan(), formatLicenseDate(), getAllowedUpgradePlanIds() (+10 more) |
| 502 | |
| 503 | ### Community 54 - "Community 54" |
| 504 | |
| 505 | Cohesion: 0.13 |
| 506 | Nodes (11): cookie_exists(), count_up(), find_wrapper(), fix_element(), get_cookie(), max_per_session(), move(), set_cookie() (+3 more) |
| 507 | |
| 508 | ### Community 62 - "Community 62" |
| 509 | |
| 510 | Cohesion: 0.21 |
| 511 | Nodes (18): DownloadActivateButton(), activateAddonFromLicense(), activateLicenseOnShop(), addLicenseAndSave(), applyLicensesPayloadToStore(), deactivateAddonFromLicense(), deactivateLicenseOnSite(), extractApiErrorMessage() (+10 more) |
| 512 | |
| 513 | ### Community 63 - "Community 63" |
| 514 | |
| 515 | Cohesion: 0.13 |
| 516 | Nodes (9): searchResults(), fillInputs(), getAdData(), QuickBulkEdit(), disable(), submitEditPlacement(), submitNewPlacement(), handleSelectChange() (+1 more) |
| 517 | |
| 518 | ### Community 64 - "Community 64" |
| 519 | |
| 520 | Cohesion: 0.1 |
| 521 | Nodes (20): 1. Problem statement, 2. Success criteria, 3.1 `Ad_Factory::get_ad()` — remove dead return, 3.2 `Ad_Repository::get_ads_by_type()` — implement stub, 3.3 `migrate_values()` — skip when already migrated, 3.4 `Ad_Content::prepare_frontend_output()` — remove dead branch, 3. Production fixes (approved), 4.1 New: `tests/Unit/Ads/RepositoryTest.php` (+12 more) |
| 522 | |
| 523 | ### Community 67 - "Community 67" |
| 524 | |
| 525 | Cohesion: 0.15 |
| 526 | Nodes (11): lockScroll(), \_measureScrollbar(), modal(), openDialog(), screenOptions(), tabs(), createIconByType(), createToast() (+3 more) |
| 527 | |
| 528 | ### Community 68 - "Community 68" |
| 529 | |
| 530 | Cohesion: 0.1 |
| 531 | Nodes (19): Acceptance criteria, Architecture, code:block1 (┌───────────────────────────────────────────────────────────), code:block2 (advanced-ads-app-licenses (read)), code:php (if flat_map_retired → return), Decisions, Edge cases, Error handling (+11 more) |
| 532 | |
| 533 | ### Community 69 - "Community 69" |
| 534 | |
| 535 | Cohesion: 0.1 |
| 536 | Nodes (19): Acceptance criteria, `advanced-ads-app-licenses` — unchanged rich shape, `advanced-ads-licenses` — site activation map (new shape), After migration (target), Before migration (legacy), Code touchpoints, code:php ([), code:php ([) (+11 more) |
| 537 | |
| 538 | ### Community 75 - "Community 75" |
| 539 | |
| 540 | Cohesion: 0.11 |
| 541 | Nodes (18): code:php (public function test_normalize_activation_map_from_legacy_st), code:php (public function test_build_activation_map_from_legacy(): voi), code:php (public function test_delete_legacy_addon_mirror_options(): v), code:php ($activation = License_Utils::normalize_activation_map( get_o), code:php (public function test_get_addon_key_map_from_activation_map_w), code:bash (vendor/bin/phpunit tests/Unit/License/LicenseTest.php), File map, License Storage Simplification — Implementation Plan (+10 more) |
| 542 | |
| 543 | ### Community 76 - "Community 76" |
| 544 | |
| 545 | Cohesion: 0.11 |
| 546 | Nodes (18): 1. Problem statement, 2. Success criteria, 3.1 Tracking add-on — query JOIN, 3.2 Tracking add-on — request-scoped priming, 3.3 Core — request-scoped registry, 3.4 Core — stat accessors, 3.5 Tracking add-on — column UI, 3. Architecture (as implemented) (+10 more) |
| 547 | |
| 548 | ### Community 77 - "Community 77" |
| 549 | |
| 550 | Cohesion: 0.11 |
| 551 | Nodes (18): 1. Problem statement, 2. Success criteria, 3.1 Cache helper (`AdvancedAds\Utilities\Cache`), 3.2 Repository list cache, 3.3 Batch hydration (C5), 3.4 Factory instance cache (C6), 3.5 Invalidation (`AdvancedAds\Cache_Invalidator`), 3. Architecture (+10 more) |
| 552 | |
| 553 | ### Community 78 - "Community 78" |
| 554 | |
| 555 | Cohesion: 0.24 |
| 556 | Nodes (14): get_the_placement(), wp_advads_create_new_placement(), wp_advads_create_placement_type(), wp_advads_delete_placement(), wp_advads_get_placement(), wp_advads_get_placement_by_id(), wp_advads_get_placement_by_slug(), wp_advads_get_placement_factory() (+6 more) |
| 557 | |
| 558 | ### Community 81 - "Community 81" |
| 559 | |
| 560 | Cohesion: 0.22 |
| 561 | Nodes (13): AddonRowActions(), AddonsList(), getIncludedAddonsForLicense(), getManualInstallGuideUrl(), getAddonInstallState(), getAddonMapKey(), getAddonRowStatus(), getLicenseNameForKey() (+5 more) |
| 562 | |
| 563 | ### Community 82 - "Community 82" |
| 564 | |
| 565 | Cohesion: 0.11 |
| 566 | Nodes (17): 1. Problem statement, 2. Success criteria, 3. Existing test stack (baseline — do not replace), 4.1 Master findings document, 4.2 Machine-readable appendix, 4.3 Optional visual heat map, 4. Deliverables, 5.1 Wave B — Inventory and signals (first) (+9 more) |
| 567 | |
| 568 | ### Community 90 - "Community 90" |
| 569 | |
| 570 | Cohesion: 0.12 |
| 571 | Nodes (15): `Advanced_Ads_Admin_Licenses` integration (recommended approach), `AdvancedAds\License\License` responsibilities, Current state (summary), Data model, Error handling and security, Goals, Identity mapping, License class and legacy migration — design spec (+7 more) |
| 572 | |
| 573 | ### Community 91 - "Community 91" |
| 574 | |
| 575 | Cohesion: 0.12 |
| 576 | Nodes (15): A — Architecture and heat map, B — Inventory and automation, Baseline run (2026-05-13), C — Security and compliance, CI recommendations, Codebase health report, Deep dives (worst N%), Duplication and structural debt (+7 more) |
| 577 | |
| 578 | ### Community 94 - "Community 94" |
| 579 | |
| 580 | Cohesion: 0.15 |
| 581 | Nodes (5): Advanced_Ads_Gutenberg, get_the_ad(), the_ad(), wp_advads_delete_ad(), wp_advads_get_ad() |
| 582 | |
| 583 | ### Community 95 - "Community 95" |
| 584 | |
| 585 | Cohesion: 0.24 |
| 586 | Nodes (3): Placement_Type, wp_advads_get_ad_summaries(), wp_advads_get_placement_summaries() |
| 587 | |
| 588 | ### Community 100 - "Community 100" |
| 589 | |
| 590 | Cohesion: 0.19 |
| 591 | Nodes (9): $(), advads_disable_license_buttons(), advads_show_placement_content_xpath_field(), error(), printAlerts(), success(), open(), handleAddAdToGroup() (+1 more) |
| 592 | |
| 593 | ### Community 101 - "Community 101" |
| 594 | |
| 595 | Cohesion: 0.2 |
| 596 | Nodes (6): deleteGroup(), disable(), submitNewGroup(), submitUpdateGroup(), listShowMore(), sortAds() |
| 597 | |
| 598 | ### Community 110 - "Community 110" |
| 599 | |
| 600 | Cohesion: 0.19 |
| 601 | Nodes (5): Congrats(), CongratsHeader(), getEditButton(), getLiveHeading(), adminUrl() |
| 602 | |
| 603 | ### Community 111 - "Community 111" |
| 604 | |
| 605 | Cohesion: 0.15 |
| 606 | Nodes (12): ATTACK FLOW, Cause — incomplete fix (Pattern 4), code:php (// class-shortcodes.php — single-pass regex sanitization (th), code:php (// class-ad-plain.php — the eval sink), code:text ([concat_bypass] raw : <<?php?>?php echo "RCE*PROOF*" . (7\*6)), code:text (attribute: content -> prepared content = [<?php e), code:text ([the_ad id=66 content="<<?php?>?php echo 31337;"]), code:text (GET http://localhost:3005/aa-rce-poc2/ (HTTP 200)) (+4 more) |
| 607 | |
| 608 | ### Community 112 - "Community 112" |
| 609 | |
| 610 | Cohesion: 0.15 |
| 611 | Nodes (12): code:bash (cd c:/laragon/www/monetize/wp-content/plugins/advanced-ads), code:bash (npm run test:playwright -- tests/Acceptance/Admin/Licenses/l), code:bash (npm run build), Conditional Post-Checkout Notice — Implementation Plan, File map, Out of scope (do not implement), Spec coverage checklist, Task 1: Copy-selection helpers (`utils.js`) (+4 more) |
| 612 | |
| 613 | ### Community 115 - "Community 115" |
| 614 | |
| 615 | Cohesion: 0.21 |
| 616 | Nodes (8): wp_advads_get_ads_by_group_id(), wp_advads_get_all_ads(), wp_advads_get_all_groups(), wp_advads_get_group_repository(), wp_advads_get_group_summaries(), wp_advads_get_groups_by_ad_id(), wp_advads_get_groups_by_ids(), advads_migrate_groups() |
| 617 | |
| 618 | ### Community 119 - "Community 119" |
| 619 | |
| 620 | Cohesion: 0.2 |
| 621 | Nodes (5): advads_display_condition_option_not_selected(), advads_post_search(), close(), source(), success() |
| 622 | |
| 623 | ### Community 125 - "Community 125" |
| 624 | |
| 625 | Cohesion: 0.2 |
| 626 | Nodes (3): App(), initialState(), StepFooter() |
| 627 | |
| 628 | ### Community 126 - "Community 126" |
| 629 | |
| 630 | Cohesion: 0.26 |
| 631 | Nodes (7): FeatureList(), PricingModal(), PricingTable(), PricingTableItem(), buildShopCheckoutUrl(), getCheckoutIdsForPlan(), startShopCheckoutForPlan() |
| 632 | |
| 633 | ### Community 127 - "Community 127" |
| 634 | |
| 635 | Cohesion: 0.17 |
| 636 | Nodes (11): Admin Screens (React SPAs), Advanced Ads — Tech Stack, Backend — PHP, CI/CD — GitHub Actions, Code Quality, code:block1 (src/ PSR-4 namespaced (Advanced_Ads\) — n), Frontend — JavaScript / React, PHP Architecture Layers (+3 more) |
| 637 | |
| 638 | ### Community 136 - "Community 136" |
| 639 | |
| 640 | Cohesion: 0.27 |
| 641 | Nodes (5): advads_ad_health_maybe_remove_list(), advads_ad_health_reload_number_in_menu(), advads_ad_health_reload_show_link(), advads_ad_health_show_hidden(), advads_display_ad_health_notices() |
| 642 | |
| 643 | ### Community 162 - "Community 162" |
| 644 | |
| 645 | Cohesion: 0.2 |
| 646 | Nodes (4): Footer(), Header(), assetsUrl(), useWizard() |
| 647 | |
| 648 | ### Community 163 - "Community 163" |
| 649 | |
| 650 | Cohesion: 0.24 |
| 651 | Nodes (6): clsx(), Accordion(), AllAccessAddonsSummary(), Card(), getAllAccessAddonsInstallSummary(), getAllAccessAddonsSummaryLabel() |
| 652 | |
| 653 | ### Community 174 - "Community 174" |
| 654 | |
| 655 | Cohesion: 0.33 |
| 656 | Nodes (6): exit(), hide(), init(), show(), submitOAuthCode(), switchContent() |
| 657 | |
| 658 | ### Community 178 - "Community 178" |
| 659 | |
| 660 | Cohesion: 0.25 |
| 661 | Nodes (5): wp_advads_get_all_placements(), wp_advads_get_placement_repository(), wp_advads_get_placements(), wp_advads_get_placements_dropdown(), wp_advads_placements_by_item_id() |
| 662 | |
| 663 | ### Community 179 - "Community 179" |
| 664 | |
| 665 | Cohesion: 0.32 |
| 666 | Nodes (3): Ad_Renderer, the_ad_placement(), wp_advads_get_placements_by_types() |
| 667 | |
| 668 | ### Community 197 - "Community 197" |
| 669 | |
| 670 | Cohesion: 0.25 |
| 671 | Nodes (6): 1. Think Before Coding, 2. Simplicity First, 3. Surgical Changes, 4. Goal-Driven Execution, 5. Graphify, code:block1 (1. [Step] → verify: [check]) |
| 672 | |
| 673 | ### Community 198 - "Community 198" |
| 674 | |
| 675 | Cohesion: 0.25 |
| 676 | Nodes (7): Support Page Playwright Tests Implementation Plan, Task 1: Mocks and page helpers, Task 2: Smoke specs (1.1–1.5), Task 3: Interaction specs (2.1–2.4), Task 4: Unlicensed specs (3.1–3.2), Task 5: Licensed specs (4.1–4.3), Task 6: Verify |
| 677 | |
| 678 | ### Community 199 - "Community 199" |
| 679 | |
| 680 | Cohesion: 0.25 |
| 681 | Nodes (7): Acceptance, Data flow, Files, Goal, Plan mapping, Pricing modal — disable current plan button, UI |
| 682 | |
| 683 | ### Community 216 - "Community 216" |
| 684 | |
| 685 | Cohesion: 0.43 |
| 686 | Nodes (5): GoogleAdsense(), authUrl(), getErrorMessage(), hasAuthCode(), submitCode() |
| 687 | |
| 688 | ### Community 217 - "Community 217" |
| 689 | |
| 690 | Cohesion: 0.43 |
| 691 | Nodes (3): openTabByHash(), getUsableVersions(), versionControl() |
| 692 | |
| 693 | ### Community 218 - "Community 218" |
| 694 | |
| 695 | Cohesion: 0.62 |
| 696 | Nodes (5): getFilteredClasses(), getPath(), getSiblingIndex(), getXPath(), hasDigit() |
| 697 | |
| 698 | ### Community 219 - "Community 219" |
| 699 | |
| 700 | Cohesion: 0.29 |
| 701 | Nodes (6): 1. Entity abstraction family, 2. Function barrels, 3. Display / frontend checks, 4. Build artifact noise, Automated clone detection, Duplication signals (Wave B — structural) |
| 702 | |
| 703 | ### Community 229 - "Community 229" |
| 704 | |
| 705 | Cohesion: 0.33 |
| 706 | Nodes (4): advads_can_display_ads(), advads_is_amp(), group_has_ads(), placement_has_ads() |
| 707 | |
| 708 | ### Community 245 - "Community 245" |
| 709 | |
| 710 | Cohesion: 0.33 |
| 711 | Nodes (5): Ad List Stats Query — Implementation Record, Commits, Goal, Verification, What was built |
| 712 | |
| 713 | ### Community 256 - "Community 256" |
| 714 | |
| 715 | Cohesion: 0.6 |
| 716 | Nodes (3): getCurrentAppPath(), normalizeAppPath(), syncAppSubmenuCurrent() |
| 717 | |
| 718 | ### Community 257 - "Community 257" |
| 719 | |
| 720 | Cohesion: 0.4 |
| 721 | Nodes (4): Next pass (recommended), Security checklist results (Wave C — sample-based), Summary, `unserialize` / `maybe_unserialize` (first-party highlights) |
| 722 | |
| 723 | ### Community 258 - "Community 258" |
| 724 | |
| 725 | Cohesion: 0.83 |
| 726 | Nodes (3): advads_get_existing_placement_posts(), advads_upgrade_2_0_0_make_backup(), advads_upgrade_2_0_0_placement_migration() |
| 727 | |
| 728 | ## Knowledge Gaps |
| 729 | |
| 730 | - **484 isolated node(s):** `Constants`, `Placement_Sidebar_Widget`, `Placement_Footer`, `Placement_Content`, `Placement_Header` (+479 more) |
| 731 | These have ≤1 connection - possible missing edges or undocumented components. |
| 732 | - **209 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. |
| 733 | |
| 734 | ## Suggested Questions |
| 735 | |
| 736 | _Questions this graph is uniquely positioned to answer:_ |
| 737 | |
| 738 | - **Why does `Conditional` connect `Community 8` to `Community 128`, `Community 129`, `Community 133`, `Community 134`, `Community 7`, `Community 5`, `Community 261`, `Community 6`, `Community 139`, `Community 12`, `Community 20`, `Community 23`, `Community 24`, `Community 25`, `Community 154`, `Community 155`, `Community 156`, `Community 157`, `Community 29`, `Community 31`, `Community 32`, `Community 33`, `Community 159`, `Community 161`, `Community 164`, `Community 165`, `Community 168`, `Community 42`, `Community 46`, `Community 49`, `Community 182`, `Community 183`, `Community 56`, `Community 184`, `Community 65`, `Community 193`, `Community 194`, `Community 200`, `Community 74`, `Community 78`, `Community 207`, `Community 80`, `Community 209`, `Community 85`, `Community 92`, `Community 97`, `Community 98`, `Community 99`, `Community 228`, `Community 229`, `Community 230`, `Community 102`, `Community 109`, `Community 251`, `Community 117`, `Community 246`, `Community 247`, `Community 120`, `Community 250`, `Community 123`, `Community 252`?** |
| 739 | _High betweenness centrality (0.105) - this node is a cross-community bridge._ |
| 740 | - **Why does `License` connect `Community 3` to `Community 71`, `Community 10`, `Community 15`, `Community 240`, `Community 180`, `Community 21`, `Community 89`, `Community 31`?** |
| 741 | _High betweenness centrality (0.038) - this node is a cross-community bridge._ |
| 742 | - **Why does `wp_advads()` connect `Community 42` to `Community 1`, `Community 2`, `Community 5`, `Community 134`, `Community 12`, `Community 23`, `Community 25`, `Community 154`, `Community 155`, `Community 156`, `Community 29`, `Community 159`, `Community 32`, `Community 164`, `Community 38`, `Community 169`, `Community 178`, `Community 51`, `Community 50`, `Community 183`, `Community 56`, `Community 184`, `Community 58`, `Community 193`, `Community 194`, `Community 72`, `Community 78`, `Community 207`, `Community 208`, `Community 85`, `Community 106`, `Community 115`, `Community 121`, `Community 124`?** |
| 743 | _High betweenness centrality (0.035) - this node is a cross-community bridge._ |
| 744 | - **Are the 127 inferred relationships involving `Conditional` (e.g. with `.run_checks()` and `.init()`) actually correct?** |
| 745 | _`Conditional` has 127 INFERRED edges - model-reasoned connections that need verification._ |
| 746 | - **Are the 47 inferred relationships involving `Advanced_Ads` (e.g. with `.notices_enabled()` and `.__construct()`) actually correct?** |
| 747 | _`Advanced_Ads` has 47 INFERRED edges - model-reasoned connections that need verification._ |
| 748 | - **Are the 39 inferred relationships involving `License_Utils` (e.g. with `.get_list()` and `.persist()`) actually correct?** |
| 749 | _`License_Utils` has 39 INFERRED edges - model-reasoned connections that need verification._ |
| 750 | - **What connects `Constants`, `Placement_Sidebar_Widget`, `Placement_Footer` to the rest of the system?** |
| 751 | _484 weakly-connected nodes found - possible documentation gaps or missing edges._ |
| 752 |