| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| provenance:design:website_classification [2026/09/17 07:23] – Markup rendering sweep: wrap escapes, CLI flag typography, and heading quotes. Authored by Claude. karel.kubicek.claude | provenance:design:website_classification [2026/09/21 14:40] (current) – Review follow-ups: 12.8's 'task item exists' bullet closed by 12.14, and 12.14's page-sweep claim corrected (provenance:statistics:annotation carries the raw string, not a fold row). Authored by Claude karel.kubicek.claude |
|---|
| ^ Family ^ Papers (of 177) ^ | ^ Family ^ Papers (of 177) ^ |
| | GPT-4o | 46 (26.0%) | | | GPT-4o | 46 (26.0%) | |
| | GPT-4 (non-4o) | 40 (22.6%) | | | GPT-4 (non-4o) | 44 (24.9%) | |
| | GPT-3.5 / GPT-3 / ChatGPT | 29 (16.4%) | | | GPT-3.5 / GPT-3 / ChatGPT | 29 (16.4%) | |
| | **UNMAPPED** | **23 (13.0%)** | | | **UNMAPPED** | **18 (10.2%)** | |
| | Llama family | 13 (7.3%) | | | Llama family | 13 (7.3%) | |
| | Gemini / PaLM | 12 (6.8%) | | | Gemini / PaLM | 12 (6.8%) | |
| | Unnamed LLM | 11 (6.2%) | | | Unnamed LLM | 11 (6.2%) | |
| | OpenAI reasoning / GPT-5 tier | 9 (5.1%) | | | OpenAI reasoning / GPT-5 tier | 10 (5.6%) | |
| | Qwen family | 8 (4.5%) | | | Qwen family | 8 (4.5%) | |
| | DeepSeek family | 7 (4.0%) | | | DeepSeek family | 7 (4.0%) | |
| | Encoder / seq2seq LM (not a chat LLM) | 2 (1.1%) | | | Encoder / seq2seq LM (not a chat LLM) | 2 (1.1%) | |
| |
| The 25-string unmapped residue is printed in full by the script (§12.9). **Four of those strings are a fold failure, not a long tail:** ''GPT 4.1'', ''GPT-4.0'', ''GPT-4.5'' and ''GPT-o1'' are OpenAI models the ''GPT-4 (non-4o)'' regex misses on a space or a decimal. They were left visible rather than folded, because patching a fold to absorb its own residue after seeing the output stops it being a documented rule; a task item exists to fold them and re-derive the three GPT rows. ''Grok-3'', ''GLM-4.5'', ''ChatGLM'' and ''Kimi'' are the genuine long tail — four vendors with no family in the list. | **The table above is the 2026-09-21 re-derivation.** Until then it read GPT-4 (non-4o) 40 (22.6%), UNMAPPED 23 (13.0%) and OpenAI reasoning 9 (5.1%), because four residue strings — ''GPT 4.1'', ''GPT-4.0'', ''GPT-4.5'' and ''GPT-o1'' — are OpenAI models that the fold missed on a space or a decimal. They were left visible on 2026-09-03 rather than quietly folded, because patching a fold to absorb its own residue after seeing the output stops it being a documented rule. The fold has now been extended **as a rule about how OpenAI model strings are spelled**, not as a list of those four: see §12.14 for the rule, the two further strings it moves, and the full diff. ''Grok-3'', ''GLM-4.5'', ''ChatGLM'' and ''Kimi'' stay in the now 20-string residue — they are the genuine long tail, four vendors with no family in the list, and no family was added for them. |
| |
| === 5b. The reproducibility buckets, which had to be rebuilt === | === 5b. The reproducibility buckets, which had to be rebuilt === |
| | PASS-CITE | 1 | present once inline citation markers are stripped — the extractor drops them, so ''Qwen3 [49]'' becomes ''Qwen3'' | | | PASS-CITE | 1 | present once inline citation markers are stripped — the extractor drops them, so ''Qwen3 [49]'' becomes ''Qwen3'' | |
| | PASS-NGRAM | 2 | ≥80% of the quote's word 5-grams present; the sentence is in the paper but the extraction reworded a word or two, or ''.cols'' interleaved a float into it | | | PASS-NGRAM | 2 | ≥80% of the quote's word 5-grams present; the sentence is in the paper but the extraction reworded a word or two, or ''.cols'' interleaved a float into it | |
| | **FAIL** | **6** | not present under any of the above | | | **RESCUED** | **6** | below every tier above against the rendering the extractor read, and at or above the n-gram tier against an independent ''pypdf'' rendering of the same ''paper.pdf'' | |
| | | **FAIL in both renderings** | **0** | not present under any tier in either rendering | |
| |
| **All six failures are ''privacy-policy'' or ''consent-notice'' tuples, and no page on this site quotes any of them.** Every tuple behind a figure on the three edited pages passed at some tier. | **Re-run 2026-09-21 with the PDF fallback, and the six FAILs are now six RESCUEDs: nothing in this pass fails in both renderings.** See //Quote-check refresh, 2026-09-21// at the foot of this page. Four of the six go to a **complete** n-gram match in the PDF (36/36, 14/14, 21/21, 11/11) and one to 19/19; the sixth, ''PETS/2026/word-level-annotation…'', goes 11/20 → 16/20, which clears the 80% tier. All six are ''privacy-policy'' or ''consent-notice'' tuples and no page on this site quotes any of them, so no published claim moves; every tuple behind a figure on the three edited pages passed at some tier already. |
| |
| **Two of the soft tiers were added after reading the failures, and that is worth admitting.** The first run reported 15 fail; reading them showed the extraction drops inline citation markers, and that ''paper.cols.txt'' interleaves table captions into sentences — ''PETS/2026/disclosure-divergence…'' failed because the caption //"Table 1: LLM backend comparison on 100-app validation."// lands inside the quoted sentence. Adding tiers for those is right, since the alternative is publishing "half the quotes are unlocatable", which is false. But it is also a checker relaxed until it agreed with a hypothesis. The mitigation is that every soft pass is itemised with its reason and, for PASS-NGRAM, the broken n-grams, so each call is checkable by hand. | **Two of the soft tiers were added after reading the failures, and that is worth admitting.** The first run reported 15 fail; reading them showed the extraction drops inline citation markers, and that ''paper.cols.txt'' interleaves table captions into sentences — ''PETS/2026/disclosure-divergence…'' failed because the caption //"Table 1: LLM backend comparison on 100-app validation."// lands inside the quoted sentence. Adding tiers for those is right, since the alternative is publishing "half the quotes are unlocatable", which is false. But it is also a checker relaxed until it agreed with a hypothesis. The mitigation is that every soft pass is itemised with its reason and, for PASS-NGRAM, the broken n-grams, so each call is checkable by hand. |
| |
| **A latent bug found in review changed nothing, and is recorded anyway.** 90 of the 5,869 ''paper.cols.txt'' files (1.5%) contain **NUL bytes** — 913 in the TGNN paper alone. They are not whitespace to ''\s'', invisible in a terminal, and they make shell ''grep'' treat the file as binary and suppress every match silently (use ''grep -a''). The checker did not strip them; it now does. Re-running gave **15 / 9 / 6 before and after**, because no NUL happened to land inside one of these 30 quotes. On a different sample it would have been a published false FAIL. | **A latent bug found in review changed nothing, and is recorded anyway.** 90 of the 5,869 ''paper.cols.txt'' files (1.5%) contain **NUL bytes** — 913 in the TGNN paper alone. They are not whitespace to ''\s'', invisible in a terminal, and they make shell ''grep'' treat the file as binary and suppress every match silently (use ''grep -a''). The checker did not strip them; it now does. Re-running gave **15 / 9 / 6 before and after**, because no NUL happened to land inside one of these 30 quotes. On a different sample it would have been a published false FAIL. ((The ''6'' in that sentence is the 2026-09-03 FAIL count. Under the PDF fallback added on 2026-09-04 the same six are ''RESCUED'' and the fail-in-both count is 0 — see //Quote-check refresh, 2026-09-21//. The NUL finding itself is unaffected: it is about ''.cols'' preprocessing, not about the fallback.)) |
| |
| **6 of 30 (20%) is far above the corpus-wide 0.9% unlocatable rate** on [[literature:corpus]]. It is not a re-measurement: 30 tuples, non-random, all 2024–2026, weighted to PETS 2026 whose PDFs are the newest and worst-rendered. Read it as a reason to check quotes from the 2025–2026 slice specifically. | **6 of 30 (20%) is far above the corpus-wide 0.9% unlocatable rate** on [[literature:corpus]]. It is not a re-measurement: 30 tuples, non-random, all 2024–2026, weighted to PETS 2026 whose PDFs are the newest and worst-rendered. Read it as a reason to check quotes from the 2025–2026 slice specifically. |
| |
| **The probe's width decided that answer, and the first width was wrong.** It used ''\bpage\b'', which does not match the compound "webpage" — there is no word boundary between "web" and "page" — and it had no bare ''web'' at all, so it returned 16 rather than 20 and silently dropped //"relevant person-specific webpage information"// and //"IOB presence and trustworthiness in web content"//. Found in re-review (§12.13, finding 3). Both were then read and neither changes the conclusion, which is the only reason the published claim survived a probe that was under-recalling by 20%. A probe is not a read of 116 papers, its hits must be read rather than counted, and its regex is a load-bearing part of the claim. | **The probe's width decided that answer, and the first width was wrong.** It used ''\bpage\b'', which does not match the compound "webpage" — there is no word boundary between "web" and "page" — and it had no bare ''web'' at all, so it returned 16 rather than 20 and silently dropped //"relevant person-specific webpage information"// and //"IOB presence and trustworthiness in web content"//. Found in re-review (§12.13, finding 3). Both were then read and neither changes the conclusion, which is the only reason the published claim survived a probe that was under-recalling by 20%. A probe is not a read of 116 papers, its hits must be read rather than counted, and its regex is a load-bearing part of the claim. |
| * **Whether the four GPT strings in the fold residue change a published share.** §12.5a. Not folded on purpose; a task item exists. | * **Whether the four GPT strings in the fold residue change a published share.** §12.5a. **Settled on 2026-09-21 and no longer open** — the fold was extended as a rule and the three GPT rows re-derived; they do change one published share on this page and none anywhere else. See §12.14. |
| * **Whether the six quote failures are extraction paraphrase or ''.cols'' rendering.** One was read and was rendering. The other five were not, because no page quotes them. | * **Whether the six quote failures are extraction paraphrase or ''.cols'' rendering.** One was read and was rendering. The other five were not, because no page quotes them. |
| |
| ------------------------------------- --------------- ----- | ------------------------------------- --------------- ----- |
| GPT-4o 46 26.0% | GPT-4o 46 26.0% |
| GPT-4 (non-4o) 40 22.6% | GPT-4 (non-4o) 44 24.9% |
| GPT-3.5 / GPT-3 / ChatGPT 29 16.4% | GPT-3.5 / GPT-3 / ChatGPT 29 16.4% |
| UNMAPPED 23 13.0% | UNMAPPED 18 10.2% |
| Llama family 13 7.3% | Llama family 13 7.3% |
| Gemini / PaLM 12 6.8% | Gemini / PaLM 12 6.8% |
| Unnamed LLM 11 6.2% | Unnamed LLM 11 6.2% |
| OpenAI reasoning / GPT-5 tier 9 5.1% | OpenAI reasoning / GPT-5 tier 10 5.6% |
| Qwen family 8 4.5% | Qwen family 8 4.5% |
| DeepSeek family 7 4.0% | DeepSeek family 7 4.0% |
| Encoder / seq2seq LM (not a chat LLM) 2 1.1% | Encoder / seq2seq LM (not a chat LLM) 2 1.1% |
| |
| --- UNMAPPED residue: 25 distinct strings, printed in full --- | --- UNMAPPED residue: 20 distinct strings, printed in full --- |
| 2x Grok-3 | 2x Grok-3 |
| 2x local LLMs (custom prompts) | 2x local LLMs (custom prompts) |
| 1x BLIP2 | 1x BLIP2 |
| 1x Chat-GPT 3.5 and 4 | |
| 1x ChatGLM | 1x ChatGLM |
| 1x custom structured prompts with fine-tuned LLMs | 1x custom structured prompts with fine-tuned LLMs |
| 1x foundation LLMs | 1x foundation LLMs |
| 1x GLM-4.5 | 1x GLM-4.5 |
| 1x GPT 4.1 | |
| 1x GPT-4.0 | |
| 1x GPT-4.5 | |
| 1x GPT-o1 | |
| 1x HtmlLLM-Detector | 1x HtmlLLM-Detector |
| 1x Kimi | 1x Kimi |
| 157 of 157 (100.0%) state a targetDetail. | 157 of 157 (100.0%) state a targetDetail. |
| |
| --- targetDetail matching the probe (websit|domain|url|homepage|page|web|script|tracker|cookie|sdk|first.part|third.part|categor) — 20 tuples, all printed --- | --- targetDetail matching the probe (websit|domain|\burl\b|homepage|page|\bweb\b|script|tracker|cookie|\bsdk\b|first.part|third.part|categor) — 20 tuples, all printed --- |
| IMC/2023/in-the-room-where-it-happens-characterizing-local-communication-and-threats-in-s | IMC/2023/in-the-room-where-it-happens-characterizing-local-communication-and-threats-in-s |
| IoT device vendors and categories | IoT device vendors and categories |
| FAIL = not present under any of the above. | FAIL = not present under any of the above. |
| |
| FAIL IMC/2024/analyzing-corporate-privacy-policies-using-ai-chatbots [privacy-policy] 26/36 5-grams present | RESCUED IMC/2024/analyzing-corporate-privacy-policies-using-ai-chatbots [privacy-policy] 26/36 -> 36/36 PDF "we design a set of task prompts for an AI chatbot to split scraped content into …" |
| quote: we design a set of task prompts for an AI chatbot to split scraped content into sections, and then extract and label mentions of collected data types, data collection purposes, data retention and protection practices, and user rights and choices. | |
| longest verbatim prefix (19 of 246 chars): we design a set of | |
| PASS USENIX/2024/less-defined-knowledge-and-more-true-alarms-reference-based-phishing-detection-w [website-category] "This prompt is fed into a language model using a chain-of-thought approach, enfo…" | PASS USENIX/2024/less-defined-knowledge-and-more-true-alarms-reference-based-phishing-detection-w [website-category] "This prompt is fed into a language model using a chain-of-thought approach, enfo…" |
| PASS-NGRAM IMC/2025/an-in-depth-investigation-of-data-collection-in-llm-app-ecosystems [privacy-policy] 10/10 5-grams "We develop an LLM-based framework to check the consistency of data collection di…" | PASS-NGRAM IMC/2025/an-in-depth-investigation-of-data-collection-in-llm-app-ecosystems [privacy-policy] 10/10 5-grams "We develop an LLM-based framework to check the consistency of data collection di…" |
| PASS PETS/2026/overcoming-language-barriers-multilingual-analysis-of-the-2023-swiss-privacy-law [privacy-policy] "For each policy, we issue a single inference request to the model and require it…" | PASS PETS/2026/overcoming-language-barriers-multilingual-analysis-of-the-2023-swiss-privacy-law [privacy-policy] "For each policy, we issue a single inference request to the model and require it…" |
| PASS WWW/2025/harmful-terms-and-where-to-find-them-measuring-and-modeling-unfavorable-financia [website-category] "To evaluate our classification methods, we manually annotated a sample of 500 we…" | PASS WWW/2025/harmful-terms-and-where-to-find-them-measuring-and-modeling-unfavorable-financia [website-category] "To evaluate our classification methods, we manually annotated a sample of 500 we…" |
| FAIL PETS/2026/word-level-annotation-of-gdpr-transparency-compliance-in-privacy-policies-using [privacy-policy] 11/20 5-grams present | RESCUED PETS/2026/word-level-annotation-of-gdpr-transparency-compliance-in-privacy-policies-using [privacy-policy] 11/20 -> 16/20 PDF "On a manually labelled sample of 340 randomly selected documents ... using GPT 4…" |
| quote: On a manually labelled sample of 340 randomly selected documents ... using GPT 4.1 as the classifying LLM ... achieved an accuracy of 99.7%. | |
| longest verbatim prefix (59 of 140 chars): On a manually labelled sample of 340 randomly selected docu | |
| PASS-LOOSE PETS/2026/word-level-annotation-of-gdpr-transparency-compliance-in-privacy-policies-using [privacy-policy] "This LLM-based classifier predicts the set of labels Lp relevant to each passage" | PASS-LOOSE PETS/2026/word-level-annotation-of-gdpr-transparency-compliance-in-privacy-policies-using [privacy-policy] "This LLM-based classifier predicts the set of labels Lp relevant to each passage" |
| FAIL CCS/2025/whispertest-a-voice-control-based-library-for-ios-ui-automation [consent-notice] 9/14 5-grams present | RESCUED CCS/2025/whispertest-a-voice-control-based-library-for-ios-ui-automation [consent-notice] 9/14 -> 14/14 PDF "we used a more efficient text-only model (Qwen2.5-7B) to detect the presence of …" |
| quote: we used a more efficient text-only model (Qwen2.5-7B) to detect the presence of consent dialogs | RESCUED PETS/2025/automating-governing-knowledge-commons-and-contextual-integrity-gkc-ci-privacy-p [privacy-policy] 13/21 -> 21/21 PDF "We randomly reserved 70% of the manual annotations to constitute our training da…" |
| longest verbatim prefix (25 of 95 chars): we used a more efficient | |
| FAIL PETS/2025/automating-governing-knowledge-commons-and-contextual-integrity-gkc-ci-privacy-p [privacy-policy] 13/21 5-grams present | |
| quote: We randomly reserved 70% of the manual annotations to constitute our training data (21,588 examples), while the other 30% (9252 examples) were testing data. | |
| longest verbatim prefix (54 of 156 chars): We randomly reserved 70% of the manual annotations to | |
| PASS PETS/2025/automating-governing-knowledge-commons-and-contextual-integrity-gkc-ci-privacy-p [privacy-policy] "For the prompted non-fine-tuned LLMs, we used GPT-4, GPT-4 Turbo, and GPT-3.5 Tu…" | PASS PETS/2025/automating-governing-knowledge-commons-and-contextual-integrity-gkc-ci-privacy-p [privacy-policy] "For the prompted non-fine-tuned LLMs, we used GPT-4, GPT-4 Turbo, and GPT-3.5 Tu…" |
| PASS PETS/2025/behavr-user-identification-based-on-vr-sensor-data [privacy-policy] "We also use simple string matching to search for relevant content." | PASS PETS/2025/behavr-user-identification-based-on-vr-sensor-data [privacy-policy] "We also use simple string matching to search for relevant content." |
| PASS PETS/2026/designing-reflective-thinking-based-contextual-privacy-policy-for-mobile-applica [privacy-policy] "We evaluated privacy policy segment extraction accuracy on three state-of-the-ar…" | PASS PETS/2026/designing-reflective-thinking-based-contextual-privacy-policy-for-mobile-applica [privacy-policy] "We evaluated privacy policy segment extraction accuracy on three state-of-the-ar…" |
| PASS PETS/2026/designing-reflective-thinking-based-contextual-privacy-policy-for-mobile-applica [privacy-policy] "We evaluated privacy policy segment extraction accuracy on three state-of-the-ar…" | PASS PETS/2026/designing-reflective-thinking-based-contextual-privacy-policy-for-mobile-applica [privacy-policy] "We evaluated privacy policy segment extraction accuracy on three state-of-the-ar…" |
| FAIL PETS/2026/personal-data-flows-and-privacy-policy-traceability-in-third-party-llm-apps-in-t [privacy-policy] 15/19 5-grams present | RESCUED PETS/2026/personal-data-flows-and-privacy-policy-traceability-in-third-party-llm-apps-in-t [privacy-policy] 15/19 -> 19/19 PDF "A researcher manually verified whether each LLM classification matched the corre…" |
| quote: A researcher manually verified whether each LLM classification matched the correct taxonomy label. GPT-4o-mini achieved an overall accuracy of 87.83%. | |
| longest verbatim prefix (31 of 150 chars): A researcher manually verified | |
| PASS-NGRAM PETS/2026/disclosure-divergence-measuring-privacy-policy-and-data-safety-misalignment-at-s [privacy-policy] 19/20 5-grams "the system outputs two sets of data types, C data (collected) and S data (shared…" | PASS-NGRAM PETS/2026/disclosure-divergence-measuring-privacy-policy-and-data-safety-misalignment-at-s [privacy-policy] 19/20 5-grams "the system outputs two sets of data types, C data (collected) and S data (shared…" |
| FAIL PETS/2026/disclosure-divergence-measuring-privacy-policy-and-data-safety-misalignment-at-s [privacy-policy] 7/11 5-grams present | RESCUED PETS/2026/disclosure-divergence-measuring-privacy-policy-and-data-safety-misalignment-at-s [privacy-policy] 7/11 -> 11/11 PDF "both models were evaluated using the same preprocessing pipeline, chunking strat…" |
| quote: both models were evaluated using the same preprocessing pipeline, chunking strategy, prompts, and output schema. | |
| longest verbatim prefix (66 of 112 chars): both models were evaluated using the same preprocessing pipeline, | |
| PASS USENIX/2025/darkgram-a-large-scale-analysis-of-cybercriminal-activity-channels-on-telegram [website-category] "GPT-4 added four new categories, bringing the total number of categories to 19. …" | PASS USENIX/2025/darkgram-a-large-scale-analysis-of-cybercriminal-activity-channels-on-telegram [website-category] "GPT-4 added four new categories, bringing the total number of categories to 19. …" |
| PASS USENIX/2025/darkgram-a-large-scale-analysis-of-cybercriminal-activity-channels-on-telegram [website-category] "We evaluated 100 randomly selected cases and found GPT-4's predictions to be acc…" | PASS USENIX/2025/darkgram-a-large-scale-analysis-of-cybercriminal-activity-channels-on-telegram [website-category] "We evaluated 100 randomly selected cases and found GPT-4's predictions to be acc…" |
| PETS/2026/ai-in-the-loop-privacy-preserving-real-time-scam-detection-and-conversational-sc [consent-notice] elided into 2 fragments | PETS/2026/ai-in-the-loop-privacy-preserving-real-time-scam-detection-and-conversational-sc [consent-notice] elided into 2 fragments |
| |
| PART A: 15 verbatim, 9 soft (elided or punctuation/glyph), 6 fail, 0 with no fulltext. | PART A: 15 verbatim, 9 soft (elided or punctuation/glyph), 6 rescued from the PDF, 0 fail in both renderings, 0 with no fulltext. |
| |
| |
| |
| [[design:website_classification|← back to the content page]] · [[literature:corpus|corpus-level provenance]] | [[design:website_classification|← back to the content page]] · [[literature:corpus|corpus-level provenance]] |
| | |
| | ==== 12.14 The model-family fold extended, 2026-09-21 ==== |
| | |
| | **What was wrong.** §12.5a's residue contained four strings that are OpenAI models the ''GPT-4 (non-4o)'' and reasoning-tier regexes should have absorbed: ''GPT 4.1'' (a space instead of a hyphen), ''GPT-4.0'' and ''GPT-4.5'' (a decimal, which the ''%%(?![.\do])%%'' lookahead rejected outright although it was written only to keep ''4o'' out), and ''GPT-o1'' (the o-series, which the fold matched only in its bare ''o1-mini'' form). One paper each. They were **deliberately left in the residue on 2026-09-03** rather than patched after the output was read. |
| | |
| | **Why it was left, and what changed.** Patching a fold to absorb the residue you have just looked at is how a documented rule stops being one: the next reader cannot tell a rule from a list of the strings that embarrassed it. So the fold has been extended as a **rule about how OpenAI writes model names** — the separator after ''GPT'' may be a hyphen, a space or nothing; a version may carry a decimal; the o-series is written both bare and ''GPT''-prefixed — and the rule is stated in the script, above the table it feeds: |
| | |
| | <code> |
| | [/gpt[- ]?4o|gpt4o/i, 'GPT-4o'], |
| | [/gpt[- ]?4-turbo|gpt[- ]?4(\.\d+)?(?![\do])/i, 'GPT-4 (non-4o)'], |
| | [/gpt[- ]?3\.5|chat-?gpt|text-davinci|gpt[- ]?3(?!\.5)/i, 'GPT-3.5 / GPT-3 / ChatGPT'], |
| | [/gpt[- ]?5|gpt[- ]?o[1345]\b|\bo[134]-(mini|preview|pro)\b|\bo4-mini\b/i, 'OpenAI reasoning / GPT-5 tier'], |
| | </code> |
| | |
| | **The rule moves two strings that were never in the residue, and that is the point.** Applied to all 154 distinct ''resourceName'' strings the fold sees, it changes six: the four above, plus ''Chat-GPT 3.5 and 4'' (hyphenated "Chat-GPT", so ''chatgpt'' never matched it — UNMAPPED → GPT-3.5) and ''ChatGPT-4.0'' (which the old decimal lookahead pushed past the GPT-4 row into the ChatGPT row — GPT-3.5 → GPT-4). A rule fitted to the residue would have moved exactly four. Both were verified string by string before the fold was changed, not after. |
| | |
| | ^ Row ^ Was ^ Is ^ Which papers moved ^ |
| | | GPT-4o | 46 (26.0%) | 46 (26.0%) | none — the ''GPT-o1'' paper is IMC/2025 //an-in-depth-investigation-of-data-collection…//, which already counted here for its ''GPT-4o'' string | |
| | | **GPT-4 (non-4o)** | **40 (22.6%)** | **44 (24.9%)** | +4: ''GPT 4.1'' (PETS/2026), ''GPT-4.5'' (CCS/2025), ''GPT-4.0'' (NDSS/2025), ''ChatGPT-4.0'' (USENIX/2024) | |
| | | GPT-3.5 / GPT-3 / ChatGPT | 29 (16.4%) | 29 (16.4%) | **net zero, not "unchanged"**: the ''ChatGPT-4.0'' paper leaves, the ''Chat-GPT 3.5 and 4'' paper (NDSS/2025) arrives | |
| | | **OpenAI reasoning / GPT-5 tier** | **9 (5.1%)** | **10 (5.6%)** | +1: the ''GPT-o1'' paper | |
| | | **UNMAPPED** | **23 (13.0%)** | **18 (10.2%)** | −5 papers; the residue falls from **25 distinct strings to 20** | |
| | |
| | **The three-bucket reproducibility table (§12.5b) does not move**, and it was checked rather than assumed: ''A 10 / B 24 / C 131 / D 10'' before and after, and every bucket's printed string list is byte-identical. The buckets are built from ''HOSTED_SNAPSHOT'', ''OPEN_FAMILY''/''PARAM_SIZE'' and ''NAMED'', none of which the fold touches; ''GPT-o1'' was already in bucket C, because ''NAMED'' contains a bare ''gpt''. The fold and the buckets answer different questions and are deliberately separate regexes. |
| | |
| | **What stays in the residue, and why.** ''Grok-3'' (2 papers), ''GLM-4.5'', ''ChatGLM'' and ''Kimi'' are four vendors with no family in the list. They are a genuine long tail, not a fold failure, and **no family was added for them** — adding one would be the post-hoc patch this section exists to avoid. The remaining 16 strings are descriptions rather than models (''local LLMs (custom prompts)'', ''weighted multi-model ensemble (custom)''), systems built on a model (''PhishLLM'', ''UGCG-GUARD'', ''YouthSafe'', ''RFCGPT''), or non-OpenAI multimodal models (''LLaVA'', ''BLIP2'', ''text-bison''). All 20 are printed in full in §12.9. |
| | |
| | **Where this is published.** Only here. [[:design:website_classification]] publishes the §12.5b bucket table, not the family fold, so the content page needed no edit for this. Checked by grepping the raw source of all **189** pages on the wiki: ''GPT-4 (non-4o)'' and the other family labels return **this page alone**, and the four residue strings return this page and [[:provenance:statistics:annotation]] — where ''GPT 4.1'' appears as a raw ''resourceName'' inside a per-paper quote-check listing, not as a folded row, and so is unaffected by the fold. Same for ''ChatGLM'' on that page. |
| | |
| | <code> |
| | $ node scripts/report_llm_currency.mjs > scripts/report_llm_currency-output.txt |
| | $ diff <old> <new> |
| | 178c178 |
| | < GPT-4 (non-4o) 40 22.6% |
| | > GPT-4 (non-4o) 44 24.9% |
| | 180c180 |
| | < UNMAPPED 23 13.0% |
| | > UNMAPPED 18 10.2% |
| | 184c184 |
| | < OpenAI reasoning / GPT-5 tier 9 5.1% |
| | > OpenAI reasoning / GPT-5 tier 10 5.6% |
| | 192c192 |
| | < --- UNMAPPED residue: 25 distinct strings, printed in full --- |
| | > --- UNMAPPED residue: 20 distinct strings, printed in full --- |
| | 196d195 (Chat-GPT 3.5 and 4) 201,204d199 (GPT 4.1 / GPT-4.0 / GPT-4.5 / GPT-o1) |
| | </code> |
| | |
| | **Those are the only lines that changed in a 446-line report.** Every population, year, venue, target, validation and bucket figure is identical, and the ''compared''-only assertion and the bucket-sum assertion both still pass. |
| | |
| | **One unrelated repair in the same save.** The §12.9 block is regenerated from the committed output file, and the published copy had lost the ''%%\b%%'' escapes from the ''targetDetail'' probe's printed regex (it read ''url|…|web|…'' where the script prints ''%%\burl\b|…|\bweb\b|…%%''). The block now matches the file byte for byte. The probe itself never changed; only the copy on this page was wrong, and it is the width of that probe that decides the claim in §12.7. |
| | |
| | ^ Item ^ Value ^ |
| | | Date | 2026-09-21, unsupervised | |
| | | Script changes | ''scripts/report_llm_currency.mjs'' — the four OpenAI ''FAMILY'' rows, with the rule stated in a comment above them; committed output regenerated | |
| | | Reviewers | one ''sonnet'' figures-vs-script pass; one ''sonnet'' citations/quotes pass | |
| | | Pages saved | this page only | |
| | | Not edited | [[:design:website_classification]], [[:design:ip_classification]], [[:privacy:javascript]], [[:privacy:cookies]] — none publishes a model-family row | |
| |
| ===== Markup sweep, 2026-09-17 ===== | ===== 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. | 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. |
| | |
| | ===== Quote-check refresh, 2026-09-21 ===== |
| | |
| | The 2026-09-04 ''cols''-vs-PDF audit on [[:provenance:literature:corpus]] showed that 73.1% of evidence quotes that cannot be located in ''paper.cols.txt'' **are** present in an independent ''pypdf'' rendering of the same ''paper.pdf''. ''llm_currency_quotecheck.mjs'' already carried the fallback; what was stale was this page's copy of its output, taken on 2026-09-03. ''scripts/llm_currency_quotecheck-output.txt'' was regenerated by re-running the checker and §12.9's block replaced from it — the block was byte-identical to the old artifact before the re-run, and is byte-identical to the new one after it. |
| | |
| | <code> |
| | $ node scripts/llm_currency_quotecheck.mjs |
| | PART A: 15 verbatim, 9 soft (elided or punctuation/glyph), 6 rescued from the PDF, 0 fail in both renderings, 0 with no fulltext. |
| | </code> |
| | |
| | ^ Figure ^ Was ^ Is ^ Why ^ |
| | | PART A tuples | 30 | 30 | population unchanged | |
| | | verbatim (PASS) | 15 | 15 | unchanged | |
| | | soft (PASS-ELID / LOOSE / CITE / NGRAM) | 9 | 9 | unchanged | |
| | | rescued from the PDF | — | **6** | these were the old FAILs | |
| | | FAIL | **6** | **0** (in both renderings) | 6 = 6 + 0 | |
| | |
| | **This is the strongest vindication of the "relaxed checker" worry above, and the strongest reason to keep the worry.** The paragraph //Two of the soft tiers were added after reading the failures// admits the tiers were added until the checker agreed with a hypothesis. An **independent** rendering, produced by a different extractor and introduced for a different page, now locates all six of the quotes that survived even the relaxed tiers — so the hypothesis was right. What it does not establish is that the soft tiers are sound in general: they were still fitted after seeing the data, and a reader should keep treating each soft pass as a hand-checkable call rather than as a measurement. |
| | |
| | **Zero is a figure that needs its denominator stated.** "0 fail in both renderings" is 0 of **30** LLM tuples across the targets the three classification pages make claims about. It is not a statement about the corpus's 5,859 papers, about the 177 papers that classify something with an LLM, or about any other page's population. |
| | |
| | **Scope of this edit.** §12.9's output block, the tier table and the paragraph under it, the NUL-bug paragraph's footnote, and the content page's quote bullet. ''report_llm_currency.mjs'' and ''report_website_classification.mjs'' were **not** re-run in this pass — the 2026-09-13 significance figures, the venue-composition control, PART B's 49 figure checks and every citation stand as published. |
| | |
| | ^ Item ^ Value ^ |
| | | Date | 2026-09-21, unsupervised | |
| | | Command | ''%%node scripts/llm_currency_quotecheck.mjs > scripts/llm_currency_quotecheck-output.txt%%'' | |
| | | Artifacts | ''scripts/llm_currency_quotecheck-output.txt'' (regenerated; the 2026-09-03 copy kept as ''…-output.txt.bak0921'') | |
| | | Script changes | none | |
| | | Reviewers | one ''sonnet'' figures-vs-script pass over this page and [[:design:website_classification]] | |
| | | Pages saved | this page, [[:design:website_classification]] | |
| | | Not edited | [[:provenance:privacy:javascript]] mentions this checker but publishes none of its counts | |
| |