diff --git a/graphify-out/.graphify_labels.json b/graphify-out/.graphify_labels.json index 3b2ad6a..686c046 100644 --- a/graphify-out/.graphify_labels.json +++ b/graphify-out/.graphify_labels.json @@ -15,6 +15,7 @@ "13": "Web UI Handlers", "14": "Go Error Handling", "15": "CDP Browser Client", + "16": "Cloudflare bot scoring and poll cadence — what is actually documented", "17": "Go Code Style Guide", "18": "Agent Skills", "20": "I/O Performance Patterns", @@ -23,7 +24,6 @@ "23": "Browser Entrypoint", "24": "Memory Allocation & GC", "25": "Cover Fetcher Tests", - "26": "readSeries", "27": "Find Skills Guide", "28": "Allocation Patterns", "29": "Observability & Alerting", diff --git a/graphify-out/GRAPH_REPORT.md b/graphify-out/GRAPH_REPORT.md index a57f7d3..9474905 100644 --- a/graphify-out/GRAPH_REPORT.md +++ b/graphify-out/GRAPH_REPORT.md @@ -1,16 +1,16 @@ -# Graph Report - mangaBookmark (2026-08-12) +# Graph Report - mangaBookmark (2026-08-16) ## Corpus Check -- 110 files · ~267,791 words +- 111 files · ~273,061 words - Verdict: corpus is large enough that graph structure adds value. ## Summary -- 1621 nodes · 3242 edges · 233 communities (63 shown, 170 thin omitted) +- 1655 nodes · 3275 edges · 233 communities (63 shown, 170 thin omitted) - Extraction: 90% EXTRACTED · 10% INFERRED · 0% AMBIGUOUS · INFERRED: 312 edges (avg confidence: 0.77) - Token cost: 0 input · 0 output ## Graph Freshness -- Built from commit: `8ae98816` +- Built from commit: `dc269938` - Run `git rev-parse HEAD` and compare to check if the graph is stale. - Run `graphify update .` after code changes (no API cost). @@ -31,6 +31,7 @@ - [[_COMMUNITY_Web UI Handlers|Web UI Handlers]] - [[_COMMUNITY_Go Error Handling|Go Error Handling]] - [[_COMMUNITY_CDP Browser Client|CDP Browser Client]] +- [[_COMMUNITY_Cloudflare bot scoring and poll cadence — what is actually documented|Cloudflare bot scoring and poll cadence — what is actually documented]] - [[_COMMUNITY_Go Code Style Guide|Go Code Style Guide]] - [[_COMMUNITY_Agent Skills|Agent Skills]] - [[_COMMUNITY_IO Performance Patterns|I/O Performance Patterns]] @@ -39,7 +40,6 @@ - [[_COMMUNITY_Browser Entrypoint|Browser Entrypoint]] - [[_COMMUNITY_Memory Allocation & GC|Memory Allocation & GC]] - [[_COMMUNITY_Cover Fetcher Tests|Cover Fetcher Tests]] -- [[_COMMUNITY_readSeries|readSeries]] - [[_COMMUNITY_Find Skills Guide|Find Skills Guide]] - [[_COMMUNITY_Allocation Patterns|Allocation Patterns]] - [[_COMMUNITY_Observability & Alerting|Observability & Alerting]] @@ -291,16 +291,16 @@ Cohesion: 0.08 Nodes (101): A(), ae(), an(), at(), B(), be(), bn(), bt() (+93 more) ### Community 1 - "Cover Fetch Test Helpers" -Cohesion: 0.10 -Nodes (84): floatPtr(), testConfig(), getCover(), Cookie, Handler, ResponseRecorder, T, TestListRendersAcquiredCover() (+76 more) +Cohesion: 0.09 +Nodes (86): floatPtr(), testConfig(), Config, getCover(), Cookie, Handler, ResponseRecorder, T (+78 more) ### Community 2 - "Manga Userscript Adapters" Cohesion: 0.06 -Nodes (76): adapterFor(), anchorsFromDocument(), anchorsFromHTML(), apiDelete(), apiGet(), apiPut(), applyFabPos(), applyLatestChapterIfChanged() (+68 more) +Nodes (77): adapterFor(), anchorsFromDocument(), anchorsFromHTML(), apiDelete(), apiGet(), apiPut(), applyFabPos(), applyLatestChapterIfChanged() (+69 more) ### Community 3 - "Novel Userscript Adapters" Cohesion: 0.06 -Nodes (79): adapterFor(), anchorsFromDocument(), anchorsFromHTML(), apiDelete(), apiGet(), apiPut(), applyFabPos(), applyLatestChapterIfChanged() (+71 more) +Nodes (78): adapterFor(), anchorsFromDocument(), anchorsFromHTML(), apiDelete(), apiGet(), apiPut(), applyFabPos(), applyLatestChapterIfChanged() (+70 more) ### Community 4 - "Series Acquisition Tests" Cohesion: 0.10 @@ -308,19 +308,19 @@ Nodes (67): bookmarkNewKaganeSeries(), bookmarkNewNovelfullSeries(), bookmarkNew ### Community 5 - "Bookmarks API Tests" Cohesion: 0.08 -Nodes (67): auth(), getBookmarks(), Handler, Request, Store, T, newTestServer(), newTestStore() (+59 more) +Nodes (66): auth(), getBookmarks(), Handler, Request, Store, T, newTestServer(), newTestStore() (+58 more) ### Community 7 - "Cover & Acquire Internals" -Cohesion: 0.09 -Nodes (31): Addr, Context, Store, defaultCoverResolver(), fetchCoverBytes(), Client, Context, NewCoverFetcher() (+23 more) +Cohesion: 0.05 +Nodes (60): Addr, Context, Store, defaultCoverResolver(), fetchCoverBytes(), Client, Context, NewCoverFetcher() (+52 more) ### Community 8 - "System Architecture Concepts" Cohesion: 0.10 Nodes (26): Confirm-Gated Destructive Actions, Discord OAuth & Guild-Membership Gate, Lifecycle Buckets (reading/archived/finished), Reader-Owned Store, HMAC-Derived Reader Credentials, Web Package (Browser UI + Templates), app.html — App Shell Template, Manga/Novel Library Switch (+18 more) ### Community 9 - "Session Middleware" -Cohesion: 0.07 -Nodes (35): ClearCookie(), ClientIP(), Duration, Mutex, Request, ResponseWriter, Time, isHTTPS() (+27 more) +Cohesion: 0.08 +Nodes (34): ClearCookie(), ClientIP(), Duration, Mutex, Request, ResponseWriter, Time, isHTTPS() (+26 more) ### Community 10 - "Go Test Helpers" Cohesion: 0.05 @@ -344,7 +344,11 @@ Nodes (33): Creating Errors, Custom Error Types, Custom types that wrap other er ### Community 15 - "CDP Browser Client" Cohesion: 0.08 -Nodes (31): awaitPromise(), browserConnectionLost(), classifyBrowserError(), Action, Context, Mutex, jsString(), kaganeAPIURL() (+23 more) +Nodes (30): awaitPromise(), browserConnectionLost(), classifyBrowserError(), Action, Context, Mutex, jsString(), kaganeAPIURL() (+22 more) + +### Community 16 - "Cloudflare bot scoring and poll cadence — what is actually documented" +Cohesion: 0.06 +Nodes (33): 1.1 The score itself, 1.2 The detection engines (Enterprise Bot Management), 1.3 Rate limiting is a separate product, 1. What a bot score is and what feeds it, 2.1 What each plan gets, 2.2 Bot Fight Mode specifics (the Free-plan product), 2.3 Does the free tier "score" continuously?, 2. The free-plan reality (+25 more) ### Community 17 - "Go Code Style Guide" Cohesion: 0.08 @@ -374,10 +378,6 @@ Nodes (15): Allocation Rate Reduction, Ballast pattern (pre-Go 1.19), Garbage Co Cohesion: 0.33 Nodes (12): coverResponse(), Request, T, TestCoverFetcherCanonicalisesJpgAlias(), TestCoverFetcherFetchesPublicHTTPSImage(), TestCoverFetcherRefusesUnsafeDestinationsBeforeRequest(), TestCoverFetcherRejectsNonImage(), TestCoverFetcherRejectsOversizedBody() (+4 more) -### Community 26 - "readSeries" -Cohesion: 0.13 -Nodes (28): asuraLatestChapter(), browserOnlyCoverURL(), comixCoverEntry(), comixCoverURL(), comixLatestChapter(), comixSeriesID(), coverFrom(), demonicLatestChapter() (+20 more) - ### Community 27 - "Find Skills Guide" Cohesion: 0.14 Nodes (13): Common Skill Categories, Find Skills, How to Help Users Find Skills, Step 1: Understand What They Need, Step 2: Check the Leaderboard First, Step 3: Search for Skills, Step 4: Verify Quality Before Recommending, Step 5: Present Options to the User (+5 more) @@ -448,7 +448,7 @@ Nodes (10): Backend Go Service (stdlib net/http), Browser Sidecar (BROWSER_WS_UR ### Community 104 - "AGENTS.md" Cohesion: 0.12 -Nodes (14): Agent skills, Architecture, Commands, Comments, Design system, Domain docs, Forge: Gitea, not GitHub, graphify (+6 more) +Nodes (15): Agent skills, AGENTS.md, Architecture, Commands, Comments, Design system, Domain docs, Forge: Gitea, not GitHub (+7 more) ### Community 105 - "reviewer.md" Cohesion: 0.12 @@ -535,19 +535,19 @@ Cohesion: 0.50 Nodes (3): Live URL shapes (verified 2026-07-26, may drift — re-check against live pages before trust), Second script: `novel-bookmark.user.js`, Userscript structure (single IIFE, `manga-bookmark.user.js`) ## Knowledge Gaps -- **508 isolated node(s):** `bookmarkmanager/backend`, `ctxKey`, `loginView`, `ctxKey`, `test` (+503 more) +- **533 isolated node(s):** `bookmarkmanager/backend`, `ctxKey`, `loginView`, `ctxKey`, `test` (+528 more) These have ≤1 connection - possible missing edges or undocumented components. - **170 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. ## Suggested Questions _Questions this graph is uniquely positioned to answer:_ -- **Why does `New()` connect `Series Acquisition Tests` to `Bookmarks API Tests`, `Cover & Acquire Internals`, `Session Middleware`, `Store Tests`, `Web UI Handlers`?** - _High betweenness centrality (0.052) - this node is a cross-community bridge._ +- **Why does `New()` connect `Series Acquisition Tests` to `Cover Fetch Test Helpers`, `Bookmarks API Tests`, `Cover & Acquire Internals`, `Session Middleware`, `Store Tests`, `Web UI Handlers`?** + _High betweenness centrality (0.047) - this node is a cross-community bridge._ - **Why does `Open()` connect `Store Tests` to `Cover Fetch Test Helpers`, `Web UI Handlers`, `Series Acquisition Tests`, `Bookmarks API Tests`?** - _High betweenness centrality (0.034) - this node is a cross-community bridge._ + _High betweenness centrality (0.032) - this node is a cross-community bridge._ - **Why does `newRouter()` connect `Bookmarks API Tests` to `Cover Fetch Test Helpers`, `Bookmarks API Handler`, `Series Acquisition Tests`?** - _High betweenness centrality (0.027) - this node is a cross-community bridge._ + _High betweenness centrality (0.025) - this node is a cross-community bridge._ - **Are the 47 inferred relationships involving `testConfig()` (e.g. with `TestListRendersAcquiredCover()` and `TestPublicCoverNeverEchoesNonImage()`) actually correct?** _`testConfig()` has 47 INFERRED edges - model-reasoned connections that need verification._ - **Are the 8 inferred relationships involving `newWebTestServer()` (e.g. with `TestListRendersAcquiredCover()` and `TestPublicCoverRejectsUnknownAddress()`) actually correct?** @@ -555,4 +555,4 @@ _Questions this graph is uniquely positioned to answer:_ - **Are the 6 inferred relationships involving `newTestStore()` (e.g. with `TestCreateAndGetSession()` and `TestDeleteSessionIsPerReader()`) actually correct?** _`newTestStore()` has 6 INFERRED edges - model-reasoned connections that need verification._ - **What connects `bookmarkmanager/backend`, `ctxKey`, `loginView` to the rest of the system?** - _548 weakly-connected nodes found - possible documentation gaps or missing edges._ \ No newline at end of file + _573 weakly-connected nodes found - possible documentation gaps or missing edges._ \ No newline at end of file diff --git a/graphify-out/graph.html b/graphify-out/graph.html index d250ee7..ce072bb 100644 --- a/graphify-out/graph.html +++ b/graphify-out/graph.html @@ -63,12 +63,12 @@
-