| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| provenance:programming:crawler:webxray:random_sample [2026/09/17 06:29] – Review fixes to owner_corrections.py's compass-fit.jp note: 'shortest contiguous span' was false (the page title is shorter and names both); the requote is a transcription slip, not a fifth paraphrase. Authored by Claude karel.kubicek.claude | provenance:programming:crawler:webxray:random_sample [2026/09/17 07:24] (current) – Markup rendering sweep: wrap escapes, CLI flag typography, and heading quotes. Authored by Claude. karel.kubicek.claude |
|---|
| | E | ''scripts/owner_verify_sources.py'' | 12,941 | ''4e07cc2df4e06b37'' | no | | | E | ''scripts/owner_verify_sources.py'' | 12,941 | ''4e07cc2df4e06b37'' | no | |
| | F | ''scripts/owner_verify_rendered.mjs'' | 2,923 | ''0bf6b4615724e84d'' | no | | | F | ''scripts/owner_verify_rendered.mjs'' | 2,923 | ''0bf6b4615724e84d'' | no | |
| | G | ''scripts/owner_corrections.py'' | 9,669 | ''f5a6a2118eaeb63a'' | no | | | G | ''scripts/owner_corrections.py'' | 9,595 | ''a9e92c9f427e408c'' | no | |
| | H | ''scripts/owner_verdict_fixes.py'' | 7,894 | ''2b1bc378b8cb6750'' | no | | | H | ''scripts/owner_verdict_fixes.py'' | 7,894 | ''2b1bc378b8cb6750'' | no | |
| | I | ''scripts/owner_random_sample.py'' | 17,780 | ''9ff3ddf1dab339c5'' | no | | | I | ''scripts/owner_random_sample.py'' | 17,780 | ''9ff3ddf1dab339c5'' | no | |
| | P | ''scripts/wayback_webxray.sh'' | 2,625 | ''80c3b9a6378508b0'' | no | | | P | ''scripts/wayback_webxray.sh'' | 2,625 | ''80c3b9a6378508b0'' | no | |
| | Q | ''out/owner_sample-output.txt'' | 1,657 | ''90f34e73b14c797b'' | no | | | Q | ''out/owner_sample-output.txt'' | 1,657 | ''90f34e73b14c797b'' | no | |
| | R | ''out/owner_corrections-output.txt'' | 6,462 | ''e9a192504e479e00'' | no | | | R | ''out/owner_corrections-output.txt'' | 6,399 | ''c0a0a60fb92b6e67'' | no | |
| | S | ''out/owner_verdict_fixes-output.txt'' | 4,006 | ''0322ffec6b5dbdbf'' | no | | | S | ''out/owner_verdict_fixes-output.txt'' | 4,006 | ''0322ffec6b5dbdbf'' | no | |
| | T | ''out/owner_citation_audit-output.txt'' | 1,252 | ''b40a2f1db1afce1d'' | no | | | T | ''out/owner_citation_audit-output.txt'' | 1,252 | ''b40a2f1db1afce1d'' | no | |
| "https://www.microad.co.jp/news/detail/1185/", | "https://www.microad.co.jp/news/detail/1185/", |
| "株式会社マイクロアド(本社:東京都渋谷区 代表取締役社長:渡辺健太郎 以下、マイクロアド)の台湾における現地法人MicroAd Taiwan,Ltd.(本社:台北市 董事長:丸木勇人 以下、マイクロアド台湾)は、ログリー株式会社(本社:東京都渋谷区、代表取締役社長:吉永浩和、証券コード:6579、以下、ログリー社)と業務提携し、台湾国内での、ネイティブ型広告配信サービス「COMPASS-FIT」の提供を開始致しました。", | "株式会社マイクロアド(本社:東京都渋谷区 代表取締役社長:渡辺健太郎 以下、マイクロアド)の台湾における現地法人MicroAd Taiwan,Ltd.(本社:台北市 董事長:丸木勇人 以下、マイクロアド台湾)は、ログリー株式会社(本社:東京都渋谷区、代表取締役社長:吉永浩和、証券コード:6579、以下、ログリー社)と業務提携し、台湾国内での、ネイティブ型広告配信サービス「COMPASS-FIT」の提供を開始致しました。", |
| "added 2026-09-17, after the norm() character-class fix of 2026-09-11 " | "found 2026-09-11, applied 2026-09-17. The norm() character-class fix " |
| "was re-run over all 175 rows of the first sitting -- rows the broken " | "of 2026-09-11 was re-run that day over all 175 rows of the first " |
| "checker had passed, this one on the six Latin letters COMPASS-FIT " | "sitting -- rows the broken checker had passed, this one on the six " |
| "its Japanese quote happens to contain. The mismatch is one " | "Latin letters COMPASS-FIT its Japanese quote happens to contain. The " |
| "character: the body reads 台湾国内での、ネイティブ型広告配信サービス... and the " | "mismatch is one character: the body reads " |
| "old quote drops the full-width comma after 台湾国内での. (The " | "台湾国内での、ネイティブ型広告配信サービス... and the old quote drops the " |
| "comma-less form is the page's headline, which stops at 開始; the " | "full-width comma after 台湾国内での. (The comma-less form is the " |
| "開始致しました。 ending is the body's. The old quote is one and then " | "page's headline, which stops at 開始; the 開始致しました。 ending is the " |
| "the other, so it is on neither.) Replaced by the body sentence in " | "body's. The old quote is one and then the other, so it is on " |
| "full, 株式会社マイクロアド ... 開始致しました。, which is the shortest " | "neither.) Replaced by the body sentence in full, 株式会社マイクロアド ... " |
| "contiguous span on the page naming the parent company, the Taiwan " | "開始致しました。. This is NOT the shortest span on the page naming a " |
| "subsidiary that operates the service, and COMPASS-FIT -- which is " | "MicroAd entity and the service -- the page title is 71 normalised " |
| "what owner_today = MicroAd, Inc. rests on. (It is not the shortest " | "characters and names both -- it is the one that names the parent and " |
| "span naming a MicroAd entity and the service: the page title is 71 " | "the operating subsidiary together, which is what owner_today = " |
| "normalised characters and names both. It is the one that carries the " | "MicroAd, Inc. rests on where the old quote named only the service. " |
| "parent/subsidiary relation.) Verified OK against a live fetch of " | "Verified OK against a live fetch of 2026-09-17 (39,110 bytes). A " |
| "2026-09-17 (39,110 bytes). A transcription slip, not a paraphrase: the " | "transcription slip, not a paraphrase: the claim never rested on the " |
| "claim (MicroAd, Inc.) never rested on the missing character, so no " | "missing character, so no published rate moves."), |
| "published rate moves."), | |
| } | } |
| |
| </file> | </file> |
| |
| ===== H. scripts/owner_verdict_fixes.py — retiring the ''self-named'' verdict ===== | ===== H. scripts/owner_verdict_fixes.py — retiring the self-named verdict ===== |
| |
| The methodological correction made during the run, kept rather than smoothed away. Each of the 26 re-scores carries the entity string, the adjudicated owner and the reason. | The methodological correction made during the run, kept rather than smoothed away. Each of the 26 re-scores carries the entity string, the adjudicated owner and the reason. |
| ===== R. Unedited output: scripts/owner_corrections.py ===== | ===== R. Unedited output: scripts/owner_corrections.py ===== |
| |
| Run as ''python3 scripts/owner_corrections.py --rows out/adj_rows.json --out out/adj_rows_final.json''. | Run as ''python3 scripts/owner_corrections.py %%--rows%% out/adj_rows.json %%--out%% out/adj_rows_final.json''. |
| |
| <code> | <code> |
| now source: None | now source: None |
| |
| compass-fit.jp requote added 2026-09-17, after the norm() character-class fix of 2026-09-11 was re-run over all 175 rows of the first sitting -- rows the broken checker had passed, this one on the six Latin letters COMPASS-FIT its Japanese quote happens to contain. The mismatch is one character: the body reads 台湾国内での、ネイティブ型広告配信サービス... and the old quote drops the full-width comma after 台湾国内での. (The comma-less form is the page's headline, which stops at 開始; the 開始致しました。 ending is the body's. The old quote is one and then the other, so it is on neither.) Replaced by the body sentence in full, 株式会社マイクロアド ... 開始致しました。, which is the shortest contiguous span on the page naming the parent company, the Taiwan subsidiary that operates the service, and COMPASS-FIT -- which is what owner_today = MicroAd, Inc. rests on. (It is not the shortest span naming a MicroAd entity and the service: the page title is 71 normalised characters and names both. It is the one that carries the parent/subsidiary relation.) Verified OK against a live fetch of 2026-09-17 (39,110 bytes). A transcription slip, not a paraphrase: the claim (MicroAd, Inc.) never rested on the missing character, so no published rate moves. | compass-fit.jp requote found 2026-09-11, applied 2026-09-17. The norm() character-class fix of 2026-09-11 was re-run that day over all 175 rows of the first sitting -- rows the broken checker had passed, this one on the six Latin letters COMPASS-FIT its Japanese quote happens to contain. The mismatch is one character: the body reads 台湾国内での、ネイティブ型広告配信サービス... and the old quote drops the full-width comma after 台湾国内での. (The comma-less form is the page's headline, which stops at 開始; the 開始致しました。 ending is the body's. The old quote is one and then the other, so it is on neither.) Replaced by the body sentence in full, 株式会社マイクロアド ... 開始致しました。. This is NOT the shortest span on the page naming a MicroAd entity and the service -- the page title is 71 normalised characters and names both -- it is the one that names the parent and the operating subsidiary together, which is what owner_today = MicroAd, Inc. rests on where the old quote named only the service. Verified OK against a live fetch of 2026-09-17 (39,110 bytes). A transcription slip, not a paraphrase: the claim never rested on the missing character, so no published rate moves. |
| was source: https://www.microad.co.jp/news/detail/1185/ | was source: https://www.microad.co.jp/news/detail/1185/ |
| was quote : 台湾国内でのネイティブ型広告配信サービス「COMPASS-FIT」の提供を開始致しました。 | was quote : 台湾国内でのネイティブ型広告配信サービス「COMPASS-FIT」の提供を開始致しました。 |
| ===== S. Unedited output: scripts/owner_verdict_fixes.py ===== | ===== S. Unedited output: scripts/owner_verdict_fixes.py ===== |
| |
| Run as ''python3 scripts/owner_verdict_fixes.py --rows out/adj_rows_final.json --out out/adj_rows_scored.json''. | Run as ''python3 scripts/owner_verdict_fixes.py %%--rows%% out/adj_rows_final.json %%--out%% out/adj_rows_scored.json''. |
| |
| <code> | <code> |
| ===== V. Unedited output: scripts/owner_random_sample.py — every figure, and the 175-row table ===== | ===== V. Unedited output: scripts/owner_random_sample.py — every figure, and the 175-row table ===== |
| |
| Run as ''python3 scripts/owner_random_sample.py --sample out/owner_sample.json --rows out/adj_rows_scored.json --table --wiki''. | Run as ''python3 scripts/owner_random_sample.py %%--sample%% out/owner_sample.json %%--rows%% out/adj_rows_scored.json %%--table%% %%--wiki%%''. |
| |
| <code> | <code> |
| ===== AF. Unedited output: scripts/owner_irr_sample.py ===== | ===== AF. Unedited output: scripts/owner_irr_sample.py ===== |
| |
| Run as ''python3 scripts/owner_irr_sample.py --sample out/owner_sample.json --batches out/adj --out out/irr --n 35''. | Run as ''python3 scripts/owner_irr_sample.py %%--sample%% out/owner_sample.json %%--batches%% out/adj %%--out%% out/irr %%--n%% 35''. |
| |
| <code> | <code> |
| ===== AG. Unedited output: scripts/owner_merge_rows.py on the second rater's rows ===== | ===== AG. Unedited output: scripts/owner_merge_rows.py on the second rater's rows ===== |
| |
| Run as ''python3 scripts/owner_merge_rows.py --sample out/irr/irr_sample_for_merge.json --dir out/irr/adj2 --out out/irr/adj2_rows.json''. | Run as ''python3 scripts/owner_merge_rows.py %%--sample%% out/irr/irr_sample_for_merge.json %%--dir%% out/irr/adj2 %%--out%% out/irr/adj2_rows.json''. |
| |
| <code> | <code> |
| ===== AH. Unedited output: scripts/owner_verify_sources.py on the second rater's rows ===== | ===== AH. Unedited output: scripts/owner_verify_sources.py on the second rater's rows ===== |
| |
| Run as ''python3 scripts/owner_verify_sources.py --rows out/irr/adj2_rows.json --cache out/irr/verify_cache --out out/irr/verify_irr.json''. | Run as ''python3 scripts/owner_verify_sources.py %%--rows%% out/irr/adj2_rows.json %%--cache%% out/irr/verify_cache %%--out%% out/irr/verify_irr.json''. |
| |
| <code> | <code> |
| ===== AI. Unedited output: scripts/owner_irr_corrections.py ===== | ===== AI. Unedited output: scripts/owner_irr_corrections.py ===== |
| |
| Run as ''python3 scripts/owner_irr_corrections.py --rows out/irr/adj2_rows.json --out out/irr/adj2_rows_final.json''. | Run as ''python3 scripts/owner_irr_corrections.py %%--rows%% out/irr/adj2_rows.json %%--out%% out/irr/adj2_rows_final.json''. |
| |
| <code> | <code> |
| ===== AJ. Unedited output: scripts/owner_irr_kappa.py — every agreement figure and every disagreement ===== | ===== AJ. Unedited output: scripts/owner_irr_kappa.py — every agreement figure and every disagreement ===== |
| |
| Run as ''python3 scripts/owner_irr_kappa.py --r1 out/adj_rows.json --r1-scored out/adj_rows_scored.json --r2 out/irr/adj2_rows.json --subsample out/irr/irr_subsample.json --json-out out/owner_irr_kappa.json''. | Run as ''python3 scripts/owner_irr_kappa.py %%--r1%% out/adj_rows.json %%--r1-scored%% out/adj_rows_scored.json %%--r2%% out/irr/adj2_rows.json %%--subsample%% out/irr/irr_subsample.json %%--json-out%% out/owner_irr_kappa.json''. |
| |
| <code> | <code> |
| * [[provenance:programming:crawler:webxray:residue_pass]] — the same treatment for the 2026-09-11 second pass over the 40 rows this sample could not settle. | * [[provenance:programming:crawler:webxray:residue_pass]] — the same treatment for the 2026-09-11 second pass over the 40 rows this sample could not settle. |
| * [[literature:corpus]] — corpus scope, the selection funnel, extraction stability. | * [[literature:corpus]] — corpus scope, the selection funnel, extraction stability. |
| | |
| | ===== 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. |
| |