User Tools

Site Tools


provenance:privacy:policies

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
provenance:privacy:policies [2026/09/10 18:09] – publish policies_table_check.mjs and its output; record the guard-floor fix (Authored by Claude) karel.kubicek.claudeprovenance:privacy:policies [2026/09/17 07:23] (current) – Markup rendering sweep: wrap escapes, CLI flag typography, and heading quotes. Authored by Claude. karel.kubicek.claude
Line 15: Line 15:
 | Models | Page, scripts and this log: Claude (Opus 5, with the 2026-09-09 draft written by the same model in an earlier session). Review layer: three ''sonnet'' focused passes (figures-vs-script, citations-and-quotes, external currency) and one ''fable'' generic pass. Findings and verdicts below | | Models | Page, scripts and this log: Claude (Opus 5, with the 2026-09-09 draft written by the same model in an earlier session). Review layer: three ''sonnet'' focused passes (figures-vs-script, citations-and-quotes, external currency) and one ''fable'' generic pass. Findings and verdicts below |
 | Scripts added | ''scripts/report_policies.mjs'' (+ ''-output.txt''), ''scripts/policy_fold.mjs'', ''scripts/policies_fulltext_probe.mjs'' (+ ''-output.txt''), ''scripts/policies_quotecheck.mjs'' (+ ''-output.txt''), ''scripts/policies_significance.py'' (+ ''-output.txt''), ''scripts/policies_external_checks.sh'' (+ ''-output.txt''), ''scripts/policies_gh_search.py'', ''scripts/policies_w3c_p3p_check.mjs'' (+ ''-output.txt''), ''scripts/policies_table_check.mjs'' (+ ''-output.txt''), ''scripts/policies_fetch_pets_authors.py'', ''scripts/bib_additions_policies.bib'', ''scripts/build_provenance_policies.py'' | | Scripts added | ''scripts/report_policies.mjs'' (+ ''-output.txt''), ''scripts/policy_fold.mjs'', ''scripts/policies_fulltext_probe.mjs'' (+ ''-output.txt''), ''scripts/policies_quotecheck.mjs'' (+ ''-output.txt''), ''scripts/policies_significance.py'' (+ ''-output.txt''), ''scripts/policies_external_checks.sh'' (+ ''-output.txt''), ''scripts/policies_gh_search.py'', ''scripts/policies_w3c_p3p_check.mjs'' (+ ''-output.txt''), ''scripts/policies_table_check.mjs'' (+ ''-output.txt''), ''scripts/policies_fetch_pets_authors.py'', ''scripts/bib_additions_policies.bib'', ''scripts/build_provenance_policies.py'' |
-| Write path | ''node scripts/dw.mjs put'' (JSON-RPC) with ''--if-rev'' on every save |+| Write path | ''node scripts/dw.mjs put'' (JSON-RPC) with ''%%--if-rev%%'' on every save |
 | Accidental exposure | None. Credentials stayed in ''.env'' and were never echoed. All external fetches were unauthenticated: GitHub's public API, PyPI, Hugging Face, usableprivacy.org, privaseer.ist.psu.edu, developer.apple.com, support.google.com, w3.org, secartifacts.github.io | | Accidental exposure | None. Credentials stayed in ''.env'' and were never echoed. All external fetches were unauthenticated: GitHub's public API, PyPI, Hugging Face, usableprivacy.org, privaseer.ist.psu.edu, developer.apple.com, support.google.com, w3.org, secartifacts.github.io |
  
Line 175: Line 175:
 Four reviewers, all told explicitly that the author's context might not be exhaustive, and all handed the page text, every script and its unedited output. The three focused passes ran in parallel on the first revision; the generic pass ran afterwards on the corrected page and on this log. Four reviewers, all told explicitly that the author's context might not be exhaustive, and all handed the page text, every script and its unedited output. The three focused passes ran in parallel on the first revision; the generic pass ran afterwards on the corrected page and on this log.
  
-==== Pass 1 — figures against the script (''sonnet'') ====+==== Pass 1 — figures against the script (sonnet) ====
  
 Re-ran all four scripts and diffed them against the committed outputs: **byte-identical, no drift.** Then checked every numeral on the page. Re-ran all four scripts and diffed them against the committed outputs: **byte-identical, no drift.** Then checked every numeral on the page.
Line 190: Line 190:
 The pass also independently re-derived a long list of figures it found correct, including the whole tool-lineage table, the per-venue table, the platform split and the probe table. The pass also independently re-derived a long list of figures it found correct, including the whole tool-lineage table, the per-venue table, the platform split and the probe table.
  
-==== Pass 2 — citations and quotes (''sonnet'') ====+==== Pass 2 — citations and quotes (sonnet) ====
  
 Independently re-extracted the page's citekeys and quoted spans rather than working from a supplied list, and verified all 22 new BibTeX entries against the corpus index, the paper PDFs and the PETS landing pages. Independently re-extracted the page's citekeys and quoted spans rather than working from a supplied list, and verified all 22 new BibTeX entries against the corpus index, the paper PDFs and the PETS landing pages.
Line 202: Line 202:
 It also confirmed: 34 of 34 citekeys resolve, 0 key collisions, 0 DOI or title duplicates against the live bibliography, and all 22 new entries correct in author order, venue, year and identifier — including three where the PDF's front matter splits the byline across columns and a careless reader would drop authors. It also confirmed: 34 of 34 citekeys resolve, 0 key collisions, 0 DOI or title duplicates against the live bibliography, and all 22 new entries correct in author order, venue, year and identifier — including three where the PDF's front matter splits the byline across columns and a careless reader would drop authors.
  
-==== Pass 3 — external currency (''sonnet'') ====+==== Pass 3 — external currency (sonnet) ====
  
 Fetched rather than recalled. Its findings and their verdicts are in the //External sources// table above rather than duplicated here; in summary it **corrected** the P3P currency claim, the PoliGraph GPU claim, the APP-350 licence symmetry and the artifact-discoverability footnote, **confirmed** every dataset host, every repository date and licence, and both platform-policy quotes, and **could not verify** two things now listed under //What could not be established//. Fetched rather than recalled. Its findings and their verdicts are in the //External sources// table above rather than duplicated here; in summary it **corrected** the P3P currency claim, the PoliGraph GPU claim, the APP-350 licence symmetry and the artifact-discoverability footnote, **confirmed** every dataset host, every repository date and licence, and both platform-policy quotes, and **could not verify** two things now listed under //What could not be established//.
Line 208: Line 208:
 One of its corrections was itself incomplete and was corrected in turn: it proposed replacing the discoverability footnote with a claim about Calpric and Lalaine, but a direct GitHub name search showed the genuinely unfindable pair is **PolicyLint and PoliCheck**, whose repository is named after neither tool. A reviewer finding is a lead, not a verdict. One of its corrections was itself incomplete and was corrected in turn: it proposed replacing the discoverability footnote with a claim about Calpric and Lalaine, but a direct GitHub name search showed the genuinely unfindable pair is **PolicyLint and PoliCheck**, whose repository is named after neither tool. A reviewer finding is a lead, not a verdict.
  
-==== Pass 4 — generic (''fable'') ====+==== Pass 4 — generic (fable) ====
  
 No checklist. It ran on the corrected page and on this log, and it was the most productive of the four. Its own disclosures, recorded because they matter: one of its mutation-test commands was denied, so a later ''sed'' ran against the committed ''scripts/policies_quotecheck.mjs'' instead of a copy; it reverted the change and said so. Verified independently afterwards — the script reproduces its committed output byte for byte. It also noted that the content page was edited while it read, which is true and is a process failure of mine, recorded below. No checklist. It ran on the corrected page and on this log, and it was the most productive of the four. Its own disclosures, recorded because they matter: one of its mutation-test commands was denied, so a later ''sed'' ran against the committed ''scripts/policies_quotecheck.mjs'' instead of a copy; it reverted the change and said so. Verified independently afterwards — the script reproduces its committed output byte for byte. It also noted that the content page was edited while it read, which is true and is a process failure of mine, recorded below.
Line 266: Line 266:
 Every block below is the file itself, inserted by ''scripts/build_provenance_policies.py'' at build time — not a sample, not an abridgement. Re-running the generator re-inserts whatever is on disk. Every block below is the file itself, inserted by ''scripts/build_provenance_policies.py'' at build time — not a sample, not an abridgement. Re-running the generator re-inserts whatever is on disk.
  
-==== The report script — ''report_policies.mjs'' ====+==== The report script — report_policies.mjs ====
  
 <file javascript report_policies.mjs> <file javascript report_policies.mjs>
Line 717: Line 717:
 </file> </file>
  
-==== The fold — ''policy_fold.mjs'' ====+==== The fold — policy_fold.mjs ====
  
 <file javascript policy_fold.mjs> <file javascript policy_fold.mjs>
Line 838: Line 838:
 </file> </file>
  
-==== The full-text probe — ''policies_fulltext_probe.mjs'' ====+==== The full-text probe — policies_fulltext_probe.mjs ====
  
 <file javascript policies_fulltext_probe.mjs> <file javascript policies_fulltext_probe.mjs>
Line 1011: Line 1011:
 </file> </file>
  
-==== The quote check — ''policies_quotecheck.mjs'' ====+==== The quote check — policies_quotecheck.mjs ====
  
 <file javascript policies_quotecheck.mjs> <file javascript policies_quotecheck.mjs>
Line 1309: Line 1309:
 </file> </file>
  
-==== The significance test — ''policies_significance.py'' ====+==== The significance test — policies_significance.py ====
  
 <file python policies_significance.py> <file python policies_significance.py>
Line 1380: Line 1380:
 </file> </file>
  
-==== The cell-by-cell table check — ''policies_table_check.mjs'' ====+==== The cell-by-cell table check — policies_table_check.mjs ====
  
 <file javascript policies_table_check.mjs> <file javascript policies_table_check.mjs>
Line 1554: Line 1554:
 </file> </file>
  
-==== The external checks — ''policies_external_checks.sh'' ====+==== The external checks — policies_external_checks.sh ====
  
 <file bash policies_external_checks.sh> <file bash policies_external_checks.sh>
Line 1723: Line 1723:
 </file> </file>
  
-==== The GitHub name-search check — ''policies_gh_search.py'' ====+==== The GitHub name-search check — policies_gh_search.py ====
  
 <file python policies_gh_search.py> <file python policies_gh_search.py>
Line 1765: Line 1765:
 </file> </file>
  
-==== The W3C P3P check (Playwright: w3.org 403s curl) — ''policies_w3c_p3p_check.mjs'' ====+==== The W3C P3P check (Playwright: w3.org 403s curl) — policies_w3c_p3p_check.mjs ====
  
 <file javascript policies_w3c_p3p_check.mjs> <file javascript policies_w3c_p3p_check.mjs>
Line 1814: Line 1814:
 </file> </file>
  
-==== The PETS author fetch — ''policies_fetch_pets_authors.py'' ====+==== The PETS author fetch — policies_fetch_pets_authors.py ====
  
 <file python policies_fetch_pets_authors.py> <file python policies_fetch_pets_authors.py>
Line 1875: Line 1875:
 </file> </file>
  
-==== This page's own generator — ''build_provenance_policies.py'' ====+==== This page's own generator — build_provenance_policies.py ====
  
 <file python build_provenance_policies.py> <file python build_provenance_policies.py>
Line 2053: Line 2053:
 ===== The outputs, unedited ===== ===== The outputs, unedited =====
  
-==== Output of ''report_policies.mjs'' ====+==== Output of report_policies.mjs ====
  
 <file text report_policies-output.txt> <file text report_policies-output.txt>
Line 2773: Line 2773:
 </file> </file>
  
-==== Output of ''policies_fulltext_probe.mjs'' ====+==== Output of policies_fulltext_probe.mjs ====
  
 <file text policies_fulltext_probe-output.txt> <file text policies_fulltext_probe-output.txt>
Line 2885: Line 2885:
 </file> </file>
  
-==== Output of ''policies_significance.py'' ====+==== Output of policies_significance.py ====
  
 <file text policies_significance-output.txt> <file text policies_significance-output.txt>
Line 2907: Line 2907:
 </file> </file>
  
-==== Output of ''policies_table_check.mjs'' ====+==== Output of policies_table_check.mjs ====
  
 <file text policies_table_check-output.txt> <file text policies_table_check-output.txt>
Line 2918: Line 2918:
 </file> </file>
  
-==== Output of ''policies_quotecheck.mjs'' ====+==== Output of policies_quotecheck.mjs ====
  
 <file text policies_quotecheck-output.txt> <file text policies_quotecheck-output.txt>
Line 3010: Line 3010:
 </file> </file>
  
-==== Output of ''policies_external_checks.sh'' ====+==== Output of policies_external_checks.sh ====
  
 <file text policies_external_checks-output.txt> <file text policies_external_checks-output.txt>
Line 3155: Line 3155:
 </file> </file>
  
-==== Output of ''policies_w3c_p3p_check.mjs'' ====+==== Output of policies_w3c_p3p_check.mjs ====
  
 <file text policies_w3c_p3p_check-output.txt> <file text policies_w3c_p3p_check-output.txt>
Line 3187: Line 3187:
  
 <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/privacy/policies.1789063779.txt.gz · Last modified: by karel.kubicek.claude