User Tools

Site Tools


provenance:programming:docker

Differences

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

Link to this comparison view

provenance:programming:docker [2026/08/27 12:45] – Create provenance:programming:docker query log. Authored by Claude karel.kubicek.claudeprovenance:programming:docker [2026/09/17 07:24] (current) – Markup rendering sweep: wrap escapes, CLI flag typography, and heading quotes. Authored by Claude. karel.kubicek.claude
Line 11: Line 11:
   * Read first: the task spec (short, practical: reproducible crawler images, pin browser versions, ''/dev/shm'', Xvfb), ''programming:multilingual_support'' (already links here; LibreTranslate compose uses '':latest''), ''programming:crawler'', ''programming:crawler:openwpm'', ''design:longitudinal'' (0 digest mentions, 293 Docker mentions), ''literature:corpus'', Docker Engine run docs, Playwright Docker/CI docs, Chromium ''base/base_switches.h'', OpenWPM README, Hub APIs.   * Read first: the task spec (short, practical: reproducible crawler images, pin browser versions, ''/dev/shm'', Xvfb), ''programming:multilingual_support'' (already links here; LibreTranslate compose uses '':latest''), ''programming:crawler'', ''programming:crawler:openwpm'', ''design:longitudinal'' (0 digest mentions, 293 Docker mentions), ''literature:corpus'', Docker Engine run docs, Playwright Docker/CI docs, Chromium ''base/base_switches.h'', OpenWPM README, Hub APIs.
   * Target page had no revision (creation). Overlap judgement: create the promised child rather than widen multilingual_support or OpenWPM. Those pages keep their own compose / OpenWPM flags; this page owns digest + shm + Xvfb for a generic crawler image.   * Target page had no revision (creation). Overlap judgement: create the promised child rather than widen multilingual_support or OpenWPM. Those pages keep their own compose / OpenWPM flags; this page owns digest + shm + Xvfb for a generic crawler image.
-  * No write to the publication mount. Wiki saves through ''scripts/dw.mjs'' with ''--if-rev'' on existing pages. New pages omit ''--if-rev''.+  * No write to the publication mount. Wiki saves through ''scripts/dw.mjs'' with ''%%--if-rev%%'' on existing pages. New pages omit ''%%--if-rev%%''.
   * This host: aarch64, no Docker/Podman binary, ''/dev/shm'' 2.0G, Xvfb present, ''xauth'' absent so ''xvfb-run'' exits 3. Digests fetched via registry HTTP, not ''docker pull''.   * This host: aarch64, no Docker/Podman binary, ''/dev/shm'' 2.0G, Xvfb present, ''xauth'' absent so ''xvfb-run'' exits 3. Digests fetched via registry HTTP, not ''docker pull''.
  
Line 18: Line 18:
 ^ Neighbour ^ What it already answers ^ What it does not ^ ^ Neighbour ^ What it already answers ^ What it does not ^
 | [[programming:multilingual_support]] | LibreTranslate compose, ''docker compose up'' | crawler shm, digest pins, Xvfb; the compose uses '':latest'' | | [[programming:multilingual_support]] | LibreTranslate compose, ''docker compose up'' | crawler shm, digest pins, Xvfb; the compose uses '':latest'' |
-| [[programming:crawler:openwpm]] | OpenWPM image, ''--shm-size=2g'', ''--init'', ''display_mode'' | Playwright/Chromium compose; corpus Docker-role split |+| [[programming:crawler:openwpm]] | OpenWPM image, ''%%--shm-size%%=2g'', ''%%--init%%'', ''display_mode'' | Playwright/Chromium compose; corpus Docker-role split |
 | [[design:longitudinal]] | 0 image-digest papers; 293 ''/\bdocker\b/i'' | how to pin, how to size shm, Xvfb | | [[design:longitudinal]] | 0 image-digest papers; 293 ''/\bdocker\b/i'' | how to pin, how to size shm, Xvfb |
 | [[programming:crawler]] | which library | wrapping that library in a container | | [[programming:crawler]] | which library | wrapping that library in a container |
Line 62: Line 62:
 ===== Evidence quotes checked ===== ===== Evidence quotes checked =====
  
-''node scripts/report_docker.mjs --quotes'' re-checks every ROLE and XVFB_ROLE deciding sentence against ''paper.cols.txt''. After replacing a spliced Cookie-law quote with the contiguous ''.cols'' string ("CookieCheck is a scalable system based on Docker"), the run printed **0 MISS**. Content-page quotes (Retana Playwright image, Borgolte reproducibility, Bui Swarm/resource-constrained) are ROLE sentences and were OK.+''node scripts/report_docker.mjs %%--quotes%%'' re-checks every ROLE and XVFB_ROLE deciding sentence against ''paper.cols.txt''. After replacing a spliced Cookie-law quote with the contiguous ''.cols'' string ("CookieCheck is a scalable system based on Docker"), the run printed **0 MISS**. Content-page quotes (Retana Playwright image, Borgolte reproducibility, Bui Swarm/resource-constrained) are ROLE sentences and were OK.
  
 OpenWPM README and Playwright Docker sentences on the content page are external; they were copied from the 2026-08-27 fetches, not from the corpus. OpenWPM README and Playwright Docker sentences on the content page are external; they were copied from the 2026-08-27 fetches, not from the corpus.
Line 69: Line 69:
  
 ^ Source ^ Load-bearing fact ^ Verification 2026-08-27 ^ Decision ^ ^ Source ^ Load-bearing fact ^ Verification 2026-08-27 ^ Decision ^
-| docs.docker.com/engine/containers/run/ | omitted ''--shm-size'' default is 64m | ''docker_probe.sh'' grepped 64m and shm-size | Used |+| docs.docker.com/engine/containers/run/ | omitted ''%%--shm-size%%'' default is 64m | ''docker_probe.sh'' grepped 64m and shm-size | Used |
 | chromium ''base/base_switches.h'' (googlesource ''?format=TEXT'') | ''kDisableDevShmUsage''; Linux-only; temp dir for anonymous shm files; crbug 715363 | header, not ''.cc'' (GitHub chromium/chromium 404s this path) | Used | | chromium ''base/base_switches.h'' (googlesource ''?format=TEXT'') | ''kDisableDevShmUsage''; Linux-only; temp dir for anonymous shm files; crbug 715363 | header, not ''.cc'' (GitHub chromium/chromium 404s this path) | Used |
-| OpenWPM README | ''--shm-size=2g'' required; Firefox crashes on 20-30% of sites without it; ''--init'' | raw.githubusercontent.com | Used | +| OpenWPM README | ''%%--shm-size%%=2g'' required; Firefox crashes on 20-30% of sites without it; ''%%--init%%'' | raw.githubusercontent.com | Used | 
-| playwright.dev/docs/docker | tag ''v1.62.0-noble''; ''--ipc=host''; ''--init''; ''pwuser'' + seccomp; untrusted-websites warning | fetched | Used |+| playwright.dev/docs/docker | tag ''v1.62.0-noble''; ''%%--ipc%%=host''; ''%%--init%%''; ''pwuser'' + seccomp; untrusted-websites warning | fetched | Used |
 | playwright.dev/docs/ci | headed Linux: ''xvfb-run npx playwright test'' | fetched | Used | | playwright.dev/docs/ci | headed Linux: ''xvfb-run npx playwright test'' | fetched | Used |
 | MCR registry v2 | index digest ''sha256:baed2032d533817f3dbe6425de795788430ba345e819a1201337009ba17c9d07'', 2 manifests | ''Docker-Content-Digest'' header; MAR HTML is JS-only | Used as the example pin | | MCR registry v2 | index digest ''sha256:baed2032d533817f3dbe6425de795788430ba345e819a1201337009ba17c9d07'', 2 manifests | ''Docker-Content-Digest'' header; MAR HTML is JS-only | Used as the example pin |
Line 90: Line 90:
 ===== What the corpus and sources do not establish ===== ===== What the corpus and sources do not establish =====
  
-  * How many of the 41 actually passed ''--shm-size'' or a digest in unpublished scripts.+  * How many of the 41 actually passed ''%%--shm-size%%'' or a digest in unpublished scripts.
   * Whether Playwright's vendor image is acceptable under a given IRB/ethics review for live-web crawls. The docs sentence is the fact; the policy call is the reader's.   * Whether Playwright's vendor image is acceptable under a given IRB/ethics review for live-web crawls. The docs sentence is the fact; the policy call is the reader's.
   * Tomorrow's Playwright tag digest.   * Tomorrow's Playwright tag digest.
Line 99: Line 99:
   * Keep the page short. Venue/year tables stay in the report, not on the content page.   * Keep the page short. Venue/year tables stay in the report, not on the content page.
   * Hand-role the 81 rather than publish the sweep as "used Docker for crawling."   * Hand-role the 81 rather than publish the sweep as "used Docker for crawling."
-  * Checker accepts ''shm_size'' **or** ''ipc: host'', not Chromium flags. A methods sentence is required if you only pass ''--disable-dev-shm-usage''.+  * Checker accepts ''shm_size'' **or** ''ipc: host'', not Chromium flags. A methods sentence is required if you only pass ''%%--disable-dev-shm-usage%%''.
   * Do not "fix" multilingual_support's '':latest'' in this sitting; point at it.   * Do not "fix" multilingual_support's '':latest'' in this sitting; point at it.
   * Reuse ''borgolte2020_performance'' already in the bibliography; add ''retana2025_permissions'' and ''bui2023_detection''.   * Reuse ''borgolte2020_performance'' already in the bibliography; add ''retana2025_permissions'' and ''bui2023_detection''.
Line 107: Line 107:
  
   * ''pages/crawler.compose.yaml'' — example; digest fetched 2026-08-27.   * ''pages/crawler.compose.yaml'' — example; digest fetched 2026-08-27.
-  * ''pages/check_crawler_compose.py'' — stdlib; ''--demo'' self-test (bad fixture exit 1, good exit 0, overall 0); missing digest or shm knob prints ''FAILURE'' and exits 1. Advertised flags were run: compose path, ''--demo'', ''--all''.+  * ''pages/check_crawler_compose.py'' — stdlib; ''%%--demo%%'' self-test (bad fixture exit 1, good exit 0, overall 0); missing digest or shm knob prints ''FAILURE'' and exits 1. Advertised flags were run: compose path, ''%%--demo%%'', ''%%--all%%''.
   * Embed bytes on the wiki page were diffed equal to those files before freeze.   * Embed bytes on the wiki page were diffed equal to those files before freeze.
  
Line 126: Line 126:
  
 ^ # ^ Finding ^ Decision ^ ^ # ^ Finding ^ Decision ^
-| 1 | Bui quote used “resource-constrained”; ''.cols'' has “resourceconstrained”. | **Accepted.** Page, ROLE map, and report ''--quotes'' now use the ''.cols'' spelling. Citekeys and first authors were OK. |+| 1 | Bui quote used “resource-constrained”; ''.cols'' has “resourceconstrained”. | **Accepted.** Page, ROLE map, and report ''%%--quotes%%'' now use the ''.cols'' spelling. Citekeys and first authors were OK. |
  
 ==== Reviewer 3 — external currency (GPT 5.6 Sol medium) ==== ==== Reviewer 3 — external currency (GPT 5.6 Sol medium) ====
Line 144: Line 144:
 | 3 | Checker accepted ''shm_size: 64m''. | **Accepted.** Values not strictly above 64 MiB now fail. | | 3 | Checker accepted ''shm_size: 64m''. | **Accepted.** Values not strictly above 64 MiB now fail. |
 | 4 | Nested ''build.shm_size'' satisfied the runtime check. | **Accepted.** Only four-space service properties count. | | 4 | Nested ''build.shm_size'' satisfied the runtime check. | **Accepted.** Only four-space service properties count. |
-| 5 | ''--all'' demanded shm on LibreTranslate. | **Accepted.** ''--all'' digest-pins every service; shm remains crawler-only. |+| 5 | ''%%--all%%'' demanded shm on LibreTranslate. | **Accepted.** ''%%--all%%'' digest-pins every service; shm remains crawler-only. |
 | 6 | Example omits Playwright seccomp. | **Rejected inlining** a vendor seccomp JSON we do not maintain. **Accepted a label:** digest/shm skeleton, not a hardened sandbox. | | 6 | Example omits Playwright seccomp. | **Rejected inlining** a vendor seccomp JSON we do not maintain. **Accepted a label:** digest/shm skeleton, not a hardened sandbox. |
 | 7 | Provenance omitted the 40 non-crawler ROLE keys. | **Accepted in part.** Report section 6b now lists all 81 keys and roles. The deciding sentences for non-crawler roles stay in ''scripts/docker_fold.mjs'' rather than a second 40-quote dump. | | 7 | Provenance omitted the 40 non-crawler ROLE keys. | **Accepted in part.** Report section 6b now lists all 81 keys and roles. The deciding sentences for non-crawler roles stay in ''scripts/docker_fold.mjs'' rather than a second 40-quote dump. |
Line 537: Line 537:
 docker_probe.sh: all checks printed OK docker_probe.sh: all checks printed OK
 </file> </file>
 +
 +===== 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/programming/docker.1787834703.txt.gz · Last modified: by karel.kubicek.claude