User Tools

Site Tools


provenance:design:platforms:ad_archives

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:design:platforms:ad_archives [2026/09/08 11:47] – Fix namespace-relative [[roadmap]] links (they rendered red from a provenance: sub-namespace), correct the coverage claim for the quote checker (83 strings, and what it does not cover), and add the generic review pass with all 21 findings and their dispos karel.kubicek.claudeprovenance:design:platforms:ad_archives [2026/09/17 07:23] (current) – Markup rendering sweep: wrap escapes, CLI flag typography, and heading quotes. Authored by Claude. karel.kubicek.claude
Line 29: Line 29:
   * **A verification script silently checked less.** Adding quotes re-used a ''CHECKS'' key and dropped three existing checks while still reporting "0 NOT FOUND". A guard now aborts on duplicate keys.   * **A verification script silently checked less.** Adding quotes re-used a ''CHECKS'' key and dropped three existing checks while still reporting "0 NOT FOUND". A guard now aborts on duplicate keys.
   * **"Web-only" was published for Google's Ads Transparency Center** in the first save, which {[breuer2026_ad]} contradicts — it is a BigQuery public dataset. Caught by re-reading the paper, not by a reviewer.   * **"Web-only" was published for Google's Ads Transparency Center** in the first save, which {[breuer2026_ad]} contradicts — it is a BigQuery public dataset. Caught by re-reading the paper, not by a reviewer.
 +  * **An unclosed nowiki span silently broke this page after publication.** One row of the //Rendered-page checks// table above carried an **odd** number of nowiki delimiters, which left the span open and made DokuWiki render everything after it as literal text: the page lost one table, two headings and two bibliography references, and the source looked entirely normal. It was caught only by counting the rendered DOM against the expected structure — which is the check that table exists to record. ''scripts/adarchives_gen_provenance.py'' now aborts when a line outside a file block has an odd delimiter count; it was mutation-tested, and it then immediately fired on the first draft of **this very bullet**, which had the same defect.
 +  * **''scripts/check_wrap.mjs'' reports a false positive on this page**, counting escaped mentions of the wrap tag as unbalanced opens. It was **not** what caught the real breakage above, and it said "1 problem" on a page that was fine and stayed silent about the page that was broken.
  
 No credential or token was printed, logged or exposed during the run. No credential or token was printed, logged or exposed during the run.
Line 343: Line 345:
 | [[provenance:roadmap]] | a new section 3b recording the dequeue and the count correction, and the general lesson that a candidate-set count can over-count by a factor of six when the probe term is a homonym. | | [[provenance:roadmap]] | a new section 3b recording the dequeue and the count correction, and the general lesson that a candidate-set count can over-count by a factor of six when the probe term is a homonym. |
 | [[:design]] | the page added to the namespace listing, so it is reachable from [[:start]] through [[:design]] as well as from its parent. [[:start]] itself lists namespaces rather than pages and needed no edit. | | [[:design]] | the page added to the namespace listing, so it is reachable from [[:start]] through [[:design]] as well as from its parent. [[:start]] itself lists namespaces rather than pages and needed no edit. |
 +
 +===== Rendered-page checks =====
 +
 +Run with ''?purge=true'' after each save, against the rendered DOM rather than the source.
 +
 +^ Check ^ Content page ^ This page ^
 +| ''bibtex_citekey'' spans | 202 (= 2 per marker × 101 markers; the plugin emits two) | 121 |
 +| distinct ''%%{[key]}%%'' markers in source | 15 | 13, plus one deliberately escaped literal marker, which correctly did **not** become a citation |
 +| entries in the rendered ''bibtex_references'' list | **15** | **13** |
 +| tables | 10 | 18 |
 +| WRAP boxes rendered | 5 | 2 — the page mentions the tag three more times as escaped text, and those did not become boxes or truncate the tables they sit in |
 +| ''%%<pre>%%'' blocks | 0 | 8 (4 ''%%<file>%%'' + 4 ''%%<code>%%'') |
 +| footnote open/close/rendered | 25 / 25 / 25 | — |
 +| red links | **0** | **0** (a naive grep for the plugin's red-link CSS class returns 1 on this page — it matches this very row, so check the anchor tags, not the raw HTML) |
 +| dangling in-page anchors | 0 | 0 |
 +
 +Two things that check out only if you look at the right thing:
 +
 +  * **A pipe inside a table cell survives if it sits inside a nowiki span.** Five rows across the two pages put a regex containing a pipe character into a cell, wrapped in a nowiki span inside monospace; each rendered as one cell with the pipe intact and the correct number of columns. That is worth knowing, because the general rule on this wiki is that a table cell cannot hold a pipe and a backslash is not an escape.
 +  * **Escaping a plugin tag needs the nowiki span, not just monospace.** Monospace alone does not stop the wrap plugin, and a plugin tag opened inside a table cell can silently truncate a page from that point on. Every mention of the tag in prose on these two pages is inside a nowiki span, and the rendered structure counts above are what confirms it worked. Note that ''scripts/check_wrap.mjs'' counts those escaped mentions as unbalanced opens and reports a problem for this page — a **false positive**, contradicted by the rendered DOM, and recorded here so the next person does not chase it.
 +  * **The bibtex plugin's ''%%#ref__<key>%%'' hrefs point at anchors it never emits** — 15 of 15 dangle on the content page, and **26 of 26 dangle on [[design:platforms]]** too, so this is plugin behaviour across the whole wiki and not something these pages introduced. It was checked precisely so that it would not be reported as a defect here.
  
 ===== Review log ===== ===== Review log =====
Line 348: Line 371:
 Four reviewers, each handed the page text, the report script, its unedited output, the quote-check output and these notes, and each told explicitly that the author's context might not be exhaustive. The three focused passes ran in parallel first; the generic pass ran after their findings were applied. Four reviewers, each handed the page text, the report script, its unedited output, the quote-check output and these notes, and each told explicitly that the author's context might not be exhaustive. The three focused passes ran in parallel first; the generic pass ran after their findings were applied.
  
-==== Pass 1 — figures against the script (''model: sonnet'') ====+==== Pass 1 — figures against the script (model: sonnet) ====
  
 Handed the page text, both scripts, both outputs and these notes. Re-ran both scripts and diffed against the committed outputs (byte-identical), traced every numeral to a line of real output, and mutation-tested the ''AUDIT'' invariant. Handed the page text, both scripts, both outputs and these notes. Re-ran both scripts and diffed against the committed outputs (byte-identical), traced every numeral to a line of real output, and mutation-tested the ''AUDIT'' invariant.
Line 364: Line 387:
 | — | The ''AUDIT'' invariant fires in both directions when mutated; counts are of papers not tuples; the case-sensitive split reproduces exactly (25 + 44 = 69); no arithmetic errors. | Confirmed. | No action. | | — | The ''AUDIT'' invariant fires in both directions when mutated; counts are of papers not tuples; the case-sensitive split reproduces exactly (25 + 44 = 69); no arithmetic errors. | Confirmed. | No action. |
  
-==== Pass 2 — citations and quotes (''model: sonnet'') ====+==== Pass 2 — citations and quotes (model: sonnet) ====
  
 ^ # ^ Finding ^ Verdict ^ Action ^ ^ # ^ Finding ^ Verdict ^ Action ^
Line 373: Line 396:
 | 5 | Two Google/X quotes could not be verified by the reviewer because both pages are JavaScript-only. | **Not a finding against the page.** | Recorded here as a tooling limit. The quotes were taken with a headless browser and the provenance table says which ones needed one. | | 5 | Two Google/X quotes could not be verified by the reviewer because both pages are JavaScript-only. | **Not a finding against the page.** | Recorded here as a tooling limit. The quotes were taken with a headless browser and the provenance table says which ones needed one. |
  
-==== Pass 3 — external currency (''model: sonnet'') ====+==== Pass 3 — external currency (model: sonnet) ====
  
 The most productive pass. It re-fetched every external source the page then carried (sixteen at the time; the table has since grown to twenty-two rows as its own findings were followed up) and then looked for what had happened since October 2025. The most productive pass. It re-fetched every external source the page then carried (sixteen at the time; the table has since grown to twenty-two rows as its own findings were followed up) and then looked for what had happened since October 2025.
Line 388: Line 411:
 | — | All sixteen source URLs, both regulations, Impl. Reg. 2026/818, the Meta and Google announcements, Meta's API scope, Google's BigQuery dataset, the three donation projects and the "European repository not yet live" verdict: **all confirmed** at the stated values. | Confirmed. | No action. | | — | All sixteen source URLs, both regulations, Impl. Reg. 2026/818, the Meta and Google announcements, Meta's API scope, Google's BigQuery dataset, the three donation projects and the "European repository not yet live" verdict: **all confirmed** at the stated values. | Confirmed. | No action. |
  
-==== Pass 4 — generic (''model: fable'') ====+==== Pass 4 — generic (model: fable) ====
  
 Run after the three focused passes were applied, with no checklist, over the content page and this one. Run after the three focused passes were applied, with no checklist, over the content page and this one.
Line 1607: Line 1630:
  
 <bibtex bibliography></bibtex> <bibtex bibliography></bibtex>
 +
 +===== Markup sweep, 2026-09-17 =====
 +
 +Mechanical rendering repair only: a fresh live raw/XHTML export of 188 pages was checked with ''check_wrap.mjs'' and ''check_typography.mjs''. Affected plugin tags, CLI flags and heading markup were repaired; no figures or substantive prose were changed. The resulting source and rendered DOM were re-checked after saving.
  
provenance/design/platforms/ad_archives.1788868043.txt.gz · Last modified: by karel.kubicek.claude