2026-09-18-blog-tags.md
Audit — Blog Topic Tags — 2026-09-18
Target. 25 sampled tagged posts from blog/metadata.json (see audits/inputs-2026-09-18/blog-tags-sample.json).
Rubric. audits/PROMPTS.md#blog-tags.
Prior audit. audits/2026-04-24-blog-tags.md — 8/13 valid (62%).
Verdict. 12/25 fully honest (48%). Excluding the 5 data-issue archive/stub pages: 12/20 (60%). Flat vs prior; classifier ceiling still ~60%. S15 word-count gate is still not being enforced — 5 sub-200-word or category-archive pages carry tags.
Summary
| Verdict | Count |
|---|---|
| honest | 12 |
| under-tagged | 3 |
| mis-tagged | 5 |
| over-tagged | 0 |
| data-issue | 5 |
| unevaluable | 0 |
WRONG tags (one line each)
papers-associated…part-xxiii—economics+bitcoin-protocol+law-governanceall surface-matches on annotated-bibliography keywords; real theme is deception/ethics →philosophy.scenario-2-creation-and-registry-of-an-asset—computationsurface-matches "state machine"; 109-word protocol scenario stub, should bebitcoin-protocol(or skipped as sub-200).rome-and-the-road-to-the-distant-east—identity-historycatches "history" keyword; 93-word ancient-history stub, not personal/Satoshi biography.corporate-activism—enterprisefires on "corporate" in title; post is DSV/fungibility, real correct tag isbitcoin-protocol.medieval-latin-commentary-i—philosophyandidentity-historyare drift onacademicscategory + generic "history"; post is Anglo-Saxon charter law → onlylaw-governanceis honest.document-management/statistics/decolonisation— three Wayback-scraped category archive pages carry 3 tags each; every tag surface-matches child post titles.sans-ondemand-mgt524…certificate— 0-word cert stub carrying 2 tags.philosophy-of-cognitive-science-and-classical-computation— 86-word stub; tags topically plausible but no content to justify assignment.
MISSING tags
institutional-madness→ missingbitcoin-protocol(ASIC/hash-power/decentralisation are core).negotiable-instruments→ missinglaw-governance(post is 90% English commercial-law doctrine — Simmons v London Joint Stock Bank, Miller v Race).satoshi-and-the-sophists→ missinglaw-governance(AML, government oversight, evidence law).corporate-activism→ missingbitcoin-protocol(DSV opcode is the whole argument).papers-associated…part-xxiii→ missingphilosophy(ethics/deception is the through-line).private-blockchains-are-a-matter-of-economic-forces→ missingeconomics(per title itself).
Top-3 drift patterns
1. Category-archive pages still carry tags (5/25 this sample). Wayback-scraped .md files whose body is a nav list of child posts get classified as if they were articles. Every tag on document-management, statistics, decolonisation, and both stubs is a surface-match on nav text. This is the Session 15 structural-gate miss the bead is tracking — the fix in blog-categorise.py (skip when word_count < 200 or title endswith 'Archives') either hasn't been applied to metadata.json or the field these tags live in isn't the one being regenerated. Five copies of topics exist across consumers (per 2026-09-18-pillar-convergence-plan.md) and this audit reads whichever one metadata.json serves.
2. identity-history and philosophy catch surface keywords. Same L29 trap as April: rome-and-the-road and medieval-latin both get identity-history from world/ancient-history content (pillar def restricts to personal history/Satoshi). medieval-latin also gets philosophy from being in the academics category. Prior audit called out this exact identity-history pattern on geographical-aspects-of-cybercrime — pattern is recurring.
3. Under-tagging on law-governance for court-doctrine posts. negotiable-instruments, satoshi-and-the-sophists, and institutional-madness all argue from legal doctrine (bona-fide-holder, AML, evidence) but only one of them carries law-governance. Classifier is conservative when the word "law" isn't the anchor.
S15 fix status on this sample
The Session 15 structural-gate fix in blog-categorise.py is partially holding:
- No
information-theoryfalse positives this round (S7 fix carried forward). - No
bitcoin-protocolcatching a lone "blockchain" mention (April Rule 2 fix appears effective on the sampled posts). - But: the
word_count < 200/ archive-page skip (April Rule 1) is still not enforced in the tags served bymetadata.json. Five sub-200 or category-archive pages carry a full tag set. Confirms the "five copies oftopics" problem — whichever consumer wrote these entries pre-dates or bypasses the S15 gate.
Recommendation (do not action here — this is a report): confirm which producer wrote the topics values in the current metadata.json and re-run it through blog-categorise.py so the S15 structural gate is applied. Alternatively harmonise the five copies per 2026-09-18-pillar-convergence-plan.md.
Overall pass rate: 12/25 (48%) all-sample, 12/20 (60%) non-data-issue. Comparable to prior 8/13 (62%) — no drift, no improvement. Re-run quarterly.