User Tools

Site Tools


provenance:programming:crawler:pagegraph

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
provenance:programming:crawler:pagegraph [2026/08/14 18:16] – Record the full review layer that round 0 skipped: rounds 0-2 logs with accepted and rejected findings, rendering-cache trap, corrected external-source table, honest run record. Authored by Claude karel.kubicek.claudeprovenance:programming:crawler:pagegraph [2026/08/14 18:17] (current) – Record the DokuWiki en-dash trap: typography rewrites -- as en-dash in prose, silently corrupting CLI flag names. Authored by Claude karel.kubicek.claude
Line 66: Line 66:
 ^ Source ^ Load-bearing fact ^ Verification on 2026-08-14 ^ Decision ^ ^ Source ^ Load-bearing fact ^ Verification on 2026-08-14 ^ Decision ^
 | [[https://github.com/brave/brave-browser/wiki/PageGraph|Brave PageGraph wiki]] | PageGraph is in Brave from 1.46; Nightly is needed for built-in JS APIs; supported events and limitations; hard-crash-over-uncertainty policy | Read the current wiki page directly; checked the feature, limitation, build, documentation and crash sections | Used | | [[https://github.com/brave/brave-browser/wiki/PageGraph|Brave PageGraph wiki]] | PageGraph is in Brave from 1.46; Nightly is needed for built-in JS APIs; supported events and limitations; hard-crash-over-uncertainty policy | Read the current wiki page directly; checked the feature, limitation, build, documentation and crash sections | Used |
-| [[https://github.com/brave/pagegraph-crawl|pagegraph-crawl]] | Node CLI, binary path, ''-t'' crawl duration, GraphML output, and warning that Puppeteer automation is not itself tracked | Read the README; GitHub API reported unarchived, MPL-2.0, pushed 2026-08-11. **In review the repo was additionally cloned, built and executed**, which is how the dead ''--debug'' flag was caught | Used, with the README's own example corrected | +| [[https://github.com/brave/pagegraph-crawl|pagegraph-crawl]] | Node CLI, binary path, ''-t'' crawl duration, GraphML output, and warning that Puppeteer automation is not itself tracked | Read the README; GitHub API reported unarchived, MPL-2.0, pushed 2026-08-11. **In review the repo was additionally cloned, built and executed**, which is how the dead ''%%--debug%%'' flag was caught | Used, with the README's own example corrected | 
-| ''pagegraph-crawl'' README crawl example | The ''--debug debug'' invocation | **Rejected.** Running the current CLI gives ''run.js: error: unrecognized arguments: --debug debug''; ''src/run.ts'' at 1.2.13 defines ''--logging {none,info,verbose}'' instead. Upstream documentation is stale | Rejected; page publishes the working command and warns about the README |+| ''pagegraph-crawl'' README crawl example | The ''%%--debug debug%%'' invocation | **Rejected.** Running the current CLI gives ''%%run.js: error: unrecognized arguments: --debug debug%%''; ''src/run.ts'' at 1.2.13 defines ''%%--logging {none,info,verbose}%%'' instead. Upstream documentation is stale | Rejected; page publishes the working command and warns about the README |
 | [[https://github.com/brave-experiments/pagegraph-query|pagegraph-query]] | Current query subcommands and PageGraph's attributed event model | Read the README; GitHub API reported unarchived, activity in 2026. Subcommand list re-checked in review: **8**, not 7 — ''elm'' was missing. Confirmed Python from ''pyproject.toml''/''run.py'' | Used, corrected | | [[https://github.com/brave-experiments/pagegraph-query|pagegraph-query]] | Current query subcommands and PageGraph's attributed event model | Read the README; GitHub API reported unarchived, activity in 2026. Subcommand list re-checked in review: **8**, not 7 — ''elm'' was missing. Confirmed Python from ''pyproject.toml''/''run.py'' | Used, corrected |
 | ''pagegraph-query'' README | Originally cited for "format documentation is incomplete" | **Rejected as the source.** Its 74-line README has zero occurrences of "incomplete"; the sentence is on Brave's wiki, describing the archived ''pagegraph-rust'' docs | Rejected; claim re-sourced to the Brave wiki | | ''pagegraph-query'' README | Originally cited for "format documentation is incomplete" | **Rejected as the source.** Its 74-line README has zero occurrences of "incomplete"; the sentence is on Brave's wiki, describing the archived ''pagegraph-rust'' docs | Rejected; claim re-sourced to the Brave wiki |
Line 105: Line 105:
 | sonnet, citations and quotes | ''{[iqbal2020_adgraph]}'' was cited for "PageGraph is the maintained successor to the AdGraph line". AdGraph (2020) predates PageGraph and never mentions it. The succession is stated in ''siby2022_webgraph'', already cited on the page. | **Accepted.** Reworded so AdGraph is cited for AdGraph and the extension claim is cited to WebGraph. Quote re-verified locally: "Sjösten et al. [54] introduced PageGraph, which extends A D G RAPH's graph representation by improving event attribution and capturing more behaviors." | | sonnet, citations and quotes | ''{[iqbal2020_adgraph]}'' was cited for "PageGraph is the maintained successor to the AdGraph line". AdGraph (2020) predates PageGraph and never mentions it. The succession is stated in ''siby2022_webgraph'', already cited on the page. | **Accepted.** Reworded so AdGraph is cited for AdGraph and the extension claim is cited to WebGraph. Quote re-verified locally: "Sjösten et al. [54] introduced PageGraph, which extends A D G RAPH's graph representation by improving event attribution and capturing more behaviors." |
 | sonnet, citations and quotes | Everything else clean: 10 keys resolve uniquely; bibliography entries match ''corpus2/.meta''; all load-bearing figures, all 8 table roles and all 9 evidence quotes verified against ''paper.cols.txt'', including the SVG limitation and the WebREC hyphenation artefact. | **Accepted as confirmation.** | | sonnet, citations and quotes | Everything else clean: 10 keys resolve uniquely; bibliography entries match ''corpus2/.meta''; all load-bearing figures, all 8 table roles and all 9 evidence quotes verified against ''paper.cols.txt'', including the SVG limitation and the WebREC hyphenation artefact. | **Accepted as confirmation.** |
-| sonnet, external currency | **The published crawl command was broken.** ''--debug debug'' does not exist in the current CLI; it exits with ''run.js: error: unrecognized arguments: --debug debug''. The reviewer cloned, built and ran ''pagegraph-crawl'' 1.2.13 to establish this. The upstream README still shows the same stale example, which is how it got onto the page. | **Accepted — most valuable finding of the round.** Replaced with ''--logging verbose'' and added a warning box, after confirming against ''src/run.ts'' that the flag is ''--logging {none,info,verbose}'', default ''info''. |+| sonnet, external currency | **The published crawl command was broken.** ''%%--debug debug%%'' does not exist in the current CLI; it exits with ''%%run.js: error: unrecognized arguments: --debug debug%%''. The reviewer cloned, built and ran ''pagegraph-crawl'' 1.2.13 to establish this. The upstream README still shows the same stale example, which is how it got onto the page. | **Accepted — most valuable finding of the round.** Replaced with ''%%--logging verbose%%'' and added a warning box, after confirming against ''src/run.ts'' that the flag is ''%%--logging {none,info,verbose}%%'', default ''info''. |
 | sonnet, external currency | ''pagegraph-query'' has **8** subcommands; the page listed 7, omitting ''elm''. | **Accepted.** Added ''elm'', and noted the tool is a Python CLI. Verified against the live README. | | sonnet, external currency | ''pagegraph-query'' has **8** subcommands; the page listed 7, omitting ''elm''. | **Accepted.** Added ''elm'', and noted the tool is a Python CLI. Verified against the live README. |
 | sonnet, external currency | The "format documentation is incomplete" sentence was footnoted to ''pagegraph-query'', whose 74-line README contains no such statement (0 hits for "incomplete"). The sentence is on Brave's wiki, describing the docs.rs types page of the **archived** ''pagegraph-rust''. | **Accepted.** Re-sourced to the Brave wiki and made the archived-project dependency explicit. | | sonnet, external currency | The "format documentation is incomplete" sentence was footnoted to ''pagegraph-query'', whose 74-line README contains no such statement (0 hits for "incomplete"). The sentence is on Brave's wiki, describing the docs.rs types page of the **archived** ''pagegraph-rust''. | **Accepted.** Re-sourced to the Brave wiki and made the archived-project dependency explicit. |
Line 117: Line 117:
  
 ^ Finding ^ Decision ^ ^ Finding ^ Decision ^
-| The round-1 fixes existed only in the local files; the live site still served the broken ''--debug'' command, and the provenance page's "republished both pages" was therefore not yet true. | **Accepted.** Publication had been deliberately batched until all four passes returned, but the provenance wording was written in the past tense before the save, which is exactly the kind of premature claim this page exists to prevent. Both pages were then published and the rendered result verified. Logged rather than edited away. |+| The round-1 fixes existed only in the local files; the live site still served the broken ''%%--debug%%'' command, and the provenance page's "republished both pages" was therefore not yet true. | **Accepted.** Publication had been deliberately batched until all four passes returned, but the provenance wording was written in the past tense before the save, which is exactly the kind of premature claim this page exists to prevent. Both pages were then published and the rendered result verified. Logged rather than edited away. |
 | **The corrected crawl command was still broken.** The block used ''\\'' line continuations; in a DokuWiki verbatim block that reaches the shell as an escaped backslash, so the command dies after the first line. Inherited from the original page, not introduced by round 1. | **Accepted.** Replaced with single ''\''. The block was then pasted into ''bash -n'' and executed with a stub: it parses and passes the spaced binary path as one argument. | | **The corrected crawl command was still broken.** The block used ''\\'' line continuations; in a DokuWiki verbatim block that reaches the shell as an escaped backslash, so the command dies after the first line. Inherited from the original page, not introduced by round 1. | **Accepted.** Replaced with single ''\''. The block was then pasted into ''bash -n'' and executed with a stub: it parses and passes the spaced binary path as one argument. |
 | Backticks are Markdown, not DokuWiki: ~40 spans on the two pages rendered as literal backtick characters. House style on neighbouring pages is ''%%''…''%%''. | **Accepted.** 34 spans on the content page and 90 on this one converted, skipping ''<code>'' and ''<file>'' blocks. | | Backticks are Markdown, not DokuWiki: ~40 spans on the two pages rendered as literal backtick characters. House style on neighbouring pages is ''%%''…''%%''. | **Accepted.** 34 spans on the content page and 90 on this one converted, skipping ''<code>'' and ''<file>'' blocks. |
Line 142: Line 142:
  
 This is not specific to this page. **Any page whose citation keys were appended to ''literature:bibliography'' in the same sitting can render with silently missing references.** Checking that %%{[key]}%% resolves in the bibliography source is not sufficient — fetch the rendered page and count %%<dt>[n]</dt>%% slots for gaps. Both pages here were verified this way after the final save. This is not specific to this page. **Any page whose citation keys were appended to ''literature:bibliography'' in the same sitting can render with silently missing references.** Checking that %%{[key]}%% resolves in the bibliography source is not sufficient — fetch the rendered page and count %%<dt>[n]</dt>%% slots for gaps. Both pages here were verified this way after the final save.
 +
 +==== A second rendering trap: DokuWiki eats command-line flags ====
 +
 +Caught only because the rendered page was re-read after publishing. **DokuWiki's typography filter rewrites ''%%--%%'' as an en-dash**, including inside ''%%''…''%%'' monospace. The first corrected save therefore published ''%%--debug%%'' and ''%%--logging%%'' as ''%%–debug%%'' and ''%%–logging%%'' — en-dashed, uncopyable flag names, inside the very box warning readers about a wrong flag. Verbatim ''%%<code>%%'' blocks are **not** affected, which is why the crawl example survived and only the prose broke.
 +
 +The fix is nowiki inside monospace — ''%%''%%%%--logging%%%%''%%'' — applied to 6 spans on the content page and 9 here. Any page on this wiki that names a CLI flag in prose is exposed to this; grep the rendered HTML for ''–'' before trusting a flag name.
  
 ===== Reproduction artifact ===== ===== Reproduction artifact =====
provenance/programming/crawler/pagegraph.1786731369.txt.gz · Last modified: by karel.kubicek.claude

Except where otherwise noted, content on this wiki is licensed under the following license: CC BY-NC-SA 4.0
CC BY-NC-SA 4.0 Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki