Skip to content
hogwash-removal logo

Hogwash Removal

hogwash-removal

Audit code and documentation for mathematical cargo-culting, inflated claims, and category-theoretic hogwash. Use when reviewing READMEs, module docs, comments, or papers that reference category theory, type theory, or abstract math. Detects misuse of technical terminology, analogy-dressed-as-the...

plurigrid/asi0installs67stars

SKILL.md

Full skill instructions

Hogwash Removal

"Category theory is an extremely insightful subject but its generality, the plethora of structural heuristics it provides, as well as its apparent conceptual simplicity make it very prone to cargo-culting." -- Matteo Capucci, "No, the Yoneda Lemma Doesn't Solve the Problem of Qualia" (2023)

Trit: -1 (VALIDATOR) Color: #E84040 (Red) Status: Production Ready

What This Skill Does

Given a codebase or document, systematically audit every mathematical claim against these criteria:

  1. Is the terminology used correctly? (e.g., "topos" means a specific thing, not "any structure")
  2. Is the claim a theorem or an analogy? If analogy, is it labeled as such?
  3. Are citations relevant? Does the cited work actually support the claim?
  4. Is novelty overclaimed? Is this a straightforward instance of a known construction?
  5. Does the code match the math? Is the implementation what the docs say it is?

The Hogwash Scoring Rubric

Score each claim 0-10:

ScoreMeaningAction
0Correct, precisely statedKeep
1-2Minor imprecision, reasonable shorthandNote but keep
3-4Slightly oversold but defensibleAdd qualifier
5-6Analogy presented as theorem, or trivial result presented as novelRewrite
7-8Technical term misused, cargo-cult citationRemove or replace
9-10Fabricated mathematical claim, actively misleadingDelete and explain why

Common Hogwash Patterns

Pattern 1: Topos/​Site Name-Dropping (severity: 7-8)

Symptom: "X IS the site", "Y IS the classifying topos" where X and Y are not sites/​toposes.

Why it's hogwash: A site is a category with a Grothendieck topology. A topos is a category with finite limits, power objects, and a subobject classifier. Using these words for things that aren't them is like calling a bicycle a "jet engine" because both involve wheels.

Fix: Use honest language. "Different semirings give different views" not "the semiring IS the site."

Reference: Caramello (2017) defines sites precisely. Capucci warns about this in his qualia post.

Pattern 2: Trivial Instance Presented as Novel (severity: 5-6)

Symptom: "We fill a gap by combining X and Y" where X(Y) is a one-line instantiation.

Why it's hogwash: If your "novel combination" is just instantiating a known construction at a specific parameter, the gap is shallow. The engineering may be valuable but the math isn't new.

Example from graded-optic: GradedOptic g s t a b is literally Optic_{Kl(Writer g)}(s,t,a,b). The "gap" between graded monads and optics is bridged by a single observation: use the Kleisli category of Writer g as your base.

Fix: Say "concrete library combining..." not "novel construction filling a gap."

Pattern 3: Name Attribution Inflation (severity: 3-4)

Symptom: Attributing a standard construction to a specific researcher to sound more authoritative.

Example: "Hedges' teleological counit" for a standard existential quantification that every optics library uses. Hedges did important work on open games, but the existential residual in optics predates him (it's the coend variable in Riley's formulation).

Fix: Cite the mathematical object, not a researcher's name, unless they actually introduced it.

Pattern 4: Citation Mismatch (severity: 7)

Symptom: Citing a paper/​book that doesn't support the claim.

Example: Citing Caramello's Theories, Sites, Toposes for a construction that involves no Grothendieck topologies, geometric theories, or actual toposes.

Fix: Only cite works whose actual content supports your claim. If you're inspired by an analogy, say "inspired by" not "following."

Pattern 5: Forward-Only → "Bayesian" Inflation (severity: 3-4)

Symptom: Calling any use of Log Double "Bayesian inference."

Why it's hogwash: Bayesian inference involves priors, likelihoods, conditioning, and posterior computation. Multiplying log-domain weights is likelihood accumulation, not inference. monad-bayes actually does Bayesian inference (with sampling, MH, SMC). Using its weight type doesn't inherit its capabilities.

Fix: Say "log-likelihood accumulation" or "log-domain scoring."

Pattern 6: "Novel" Para (severity: 3)

Symptom: Calling a parametrised lens "the Para construction."

Why: Capucci/​Gavranović's Para is a category with morphisms (P, f: P.X → Y) — forward only. Adding a backward channel makes it a parametrised optic or "learner" (Fong/​Gavranović). These are different things.

Fix: Say "parametrised lens with backward channel" or "learner in the sense of Gavranović" if it has both directions.

Pattern 7: Compositionality Assumed (severity: 4-5)

Symptom: Claiming a construction "composes" without proving it satisfies category laws.

Reference: Capucci (2023) explicitly warns: "Behaviours are not compositional on the nose." Theories of behaviour are only lax functorial. Compositionality is a theorem, not a given.

Fix: If you claim composition, prove identity and associativity laws (or at least test them).

Audit Procedure

  1. Collect all mathematical claims from README, module docs, comments, and examples
  2. For each claim, identify: the mathematical object referenced, the technical terms used, the novelty assertion
  3. Check against primary sources: Does the cited paper define the term this way? Is the construction actually what's claimed?
  4. Score each claim using the rubric
  5. Produce a table: Claim | Score | Why | Fix
  6. Apply fixes: Replace hogwash with honest language. The code doesn't change — only the words around it.

Key References for Checking Claims

  • Optics: Riley (2018) "Categories of Optics", Capucci (2022) "Optics in Three Acts"
  • Para: Capucci (2021) "Open Cybernetic Systems II", Gavranović (2024) PhD thesis Ch. 3
  • Cybernetics: Capucci, Gavranović, Hedges, Rischel (2021) "Towards Foundations of Categorical Cybernetics"
  • Graded monads: Katsumata (2014), Orchard/​Wadler/​Eades "Unifying graded and parameterised monads"
  • Actegories: Capucci & Gavranović (2022) "Actegories for the Working Amthematician"
  • Contextads: Capucci & Myers (2024) "Contextads as Wreaths" — the actual state of the art for grading in optics
  • Sites/​Toposes: Caramello (2017) "Theories, Sites, Toposes" — what sites actually are
  • Anti-cargo-cult: Capucci (2023) "No, the Yoneda Lemma Doesn't Solve the Problem of Qualia"

Bidirectional Neighbor Index

NeighborDirectionScope
aristotle-leanoutgoingscope:verify — formal verification of claims
code-reviewbidirectionalscope:compose — hogwash check as part of review
refuse-mediocrityincomingscope:change — mediocre framing triggers audit
accept-no-substitutesbidirectionalscope:verify — honest terminology
acsets-algebraic-databasesoutgoingscope:verify — check ACSet claims
open-gamesoutgoingscope:verify — check game theory claims
discopy-operadsoutgoingscope:verify — check categorical claims

GF(3) Triad

hogwash-removal (-1) + refuse-mediocrity (+1) + code-review (0) = 0

The validator (-1) catches inflated claims, the generator (+1) pushes for better framing, the ergodic coordinator (0) integrates both into the review process.

Example: graded-optic Audit (2026-02-08)

Applied to plurigrid/​graded-optic. Results:

ClaimBeforeAfterScore
"semiring IS the site"Cargo-cult CaramelloRemoved entirely8→0
"optic IS the classifying topos"FalseRemoved entirely8→0
Caramello citationIrrelevantRemoved7→0
"Novel gap"Oversold"Concrete library combining..."5→1
"Hedges' teleological counit"Name-drop"coend variable in the optic formula"4→1
"Bayesian bidirectional inference"Inflated"log-likelihood accumulation"3→0
Para attributionSlightly loose"Extends Para with backward channel"3→1
Composition (>>>)Correct
ExamplesHonestUnchanged1→1

Net effect: Average hogwash score dropped from 4.3 to 0.4.

More skills from plurigrid

cargo logo
plurigrid/asi

cargo

Rust package manager (36 subcommands).

67 0
View

Translate Figma nodes into production-ready code with 1:1 visual fidelity using the Figma MCP workflow (design context, screenshots, assets, and project-convention translation). Trigger when the user provides Figma URLs or node IDs, or asks to implement designs or components that must match Figma...

67 0
View

**Status**: 🌳 Production Ready (upstream in StringZilla v3+) **Type**: High-Performance String Operations / SIMD-Accelerated Text Processing **Principle**: Zero-copy views, SIMD/SWAR acceleration, deterministic hashing **Frame**: Cross-language interoperability (C, C++, Python, Rust, Go, Swift, ...

67 0
View
conformal-ga logo
plurigrid/asi

conformal-ga

Conformal Geometric Algebra (CGA) for circles, spheres, and Möbius transformations

67 0
View

Verifies code implements exactly what documentation specifies for blockchain audits. Use when comparing code against whitepapers, finding gaps between specs and implementation, or performing compliance checks for protocol implementations.

67 0
View
zig-systems logo
plurigrid/asi

zig-systems

Systems programming and performance optimization using Zig. Provides low-level abstractions, memory-safe compiled code, and performance benchmarking. Use for system-level operations, optimization, and interoperability with C/POSIX APIs.

67 0
View
paypal-mcp logo
plurigrid/asi

paypal-mcp

PayPal MCP server integration for invoices, payments, subscriptions, disputes, and transaction reporting via @paypal/mcp.

67 0
View
unison logo
plurigrid/asi

unison

Unison language - content-addressed functional programming with abilities for effects, distributed computing, and structural types. Use for pure functional code, effect management, distributed systems, and refactoring-safe codebases.

67 0
View
tasks-acset logo
plurigrid/asi

tasks-acset

Google Tasks management via TasksACSet. Transforms task operations into GF(3)-typed Interactions, routes to triadic queues, detects saturation for task-zero-as-condensed-state.

67 0
View
c logo
plurigrid/asi

c

World C Skill

67 0
View
syrup logo
plurigrid/asi

syrup

Syrup binary serialization for OCapN/CapTP wire format. Canonical encoding for capability messages.

67 0
View
skill-installer logo
plurigrid/asi

skill-installer

Install Codex skills into $CODEX_HOME/skills from a curated list or a GitHub repo path. Use when a user asks to list installable skills, install a curated skill, or install a skill from another repo (including private repos).

67 0
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View