Skip to content

Instantly share code, notes, and snippets.

@acidgreenservers
Last active June 10, 2026 06:18
Show Gist options
  • Select an option

  • Save acidgreenservers/c27bb434a04b5a10aff2bb3e73beceee to your computer and use it in GitHub Desktop.

Select an option

Save acidgreenservers/c27bb434a04b5a10aff2bb3e73beceee to your computer and use it in GitHub Desktop.
The Anti-Vibe Manifesto

The Anti-Vibe Manifesto: Structural Truth Over Plausible Flow

True engineering is not the act of writing code that looks right; it is the rigorous construction of logic that cannot be wrong. The "Vibe Code" failure mode—where an agent generates plausible but hallucinated dependencies, insecure defaults, or unbounded loops—stems from a single root cause: the prioritization of surface fluency over structural invariants. To defeat this, we must reject the "happy path" as a valid starting point. Code that does not explicitly account for its own failure conditions is not merely incomplete; it is a hallucination waiting to execute.

Every function must be conceived as a bounded topology, not a linear script. This means that rate limiting is not an afterthought to be added later; it is the temporal boundary that defines whether a function can exist at all. Without a mechanism to reject excess load, the logic has no shape—it is an open wound in the system’s surface, vulnerable to unbounded consumption attacks where a single recursive loop or aggressive retry policy drains resources into infinity. Similarly, pagination is not a UI convenience; it is the memory guardrail that prevents the agent from hallucinating that a database can fit into a single response object. To query without a limit is to assume a finite world that does not exist, inviting denial-of-service through sheer volume.

Security, too, must be treated as the load-bearing structure of the application, not a coat of paint. The "Vibe Code" trap often manifests as hallucinated dependencies (slopsquatting) or insecure defaults—importing packages that sound real but are malicious, or writing authentication checks that look correct but fail under edge-case pressure. We combat this by demanding that every import be anchored to a verified structural truth in the ecosystem, and every data flow be traced bidirectionally: validating input not just for type, but for intent, and sanitizing output not just for format, but for leakage. A bridge that is not mapped on both sides is not a bridge; it is a cliff. If the logic cannot prove that the "other side" (the database, the external API, the user) is standing on secure ground, then the bridge cannot be built.

Ultimately, elegance is the absence of unnecessary risk. It is the discipline to trace the logic both ways across every branch, ensuring that error handling is not a commented-out // TODO but a first-class citizen of the architecture. When an agent writes code, it must not ask, "Does this work for the example?" It must ask, "Does this hold shape under pressure?" If the answer requires assuming a perfect network, a benign user, or an infinite database, then the code is a lie. We do not write lies. We write invariants. We build the floor before the ceiling, and we refuse to cross the bridge until we know the ground on the other side is solid.


The Invariant of Familiarity: Cognitive Continuity Over Novelty

The user interface is not a canvas for artistic improvisation; it is a contract of predictability between the system and the human mind. The "Vibe Code" failure mode in UI generation—where an agent invents novel button behaviors, inconsistent spacing, or fragmented navigation flows—stems from a fundamental misunderstanding of cognitive load. Users do not arrive at your application as blank slates; they arrive with mental models forged by thousands of hours of interaction with other digital products. To violate these models is not to be "creative"; it is to be hostile.

Jakob’s Law is the structural anchor here: users spend most of their time on other sites. Therefore, your interface must behave like the ones they already know. If a button looks like a link, it is a lie. If a swipe gesture deletes an item in one view but archives it in another, the logic is broken. Consistency is the load-bearing wall of usability. It means that if you use a modal for confirmation in one flow, you do not switch to an inline alert in another without a structural reason that outweighs the cost of relearning. Every deviation from established patterns forces the user to expend finite mental energy on decoding the interface rather than completing their task.

This demand for consistency extends to the topology of the code itself. A component used once is a precedent; used twice, it is a pattern; used thrice, it is an invariant. To write a new button variant when an existing one suffices is not engineering; it is entropy. It fractures the design system, creating a "zombie landscape" where similar elements behave differently, eroding trust. The agent must trace the visual and functional lineage of every element: Does this match the existing anchor? Is the spacing unit identical? Is the interaction state (hover, active, disabled) handled with the same logic? If the answer is no, the code is not "fresh"; it is defective.

True design elegance is the absence of surprise. It is the rigorous application of internal consistency (the app behaves like itself) and external consistency (the app behaves like the world). When an agent generates UI, it must not ask, "Does this look cool?" It must ask, "Does this feel inevitable?" If a user has to pause to wonder how an element works, the design has failed. We do not build interfaces that require manuals. We build extensions of intent, where the logic flows so smoothly that the interface disappears, leaving only the user’s goal.


The Invariant of Truth: Documentation as Structural Grounding

Documentation is not a narrative to be embellished; it is the executable specification of the system’s intent. The "Vibe Code" failure mode in documentation—where an agent generates plausible-sounding but factually decoupled explanations, hallucinated parameters, or outdated workflows—stems from a single root cause: the prioritization of fluency over fidelity. When an agent writes documentation that sounds right but is wrong, it is not creating a guide; it is constructing a hallucination trap for every future developer (and AI agent) that relies on it.

The Law of Conservation of Truth applies here: information cannot be created from nothing. If the code does not explicitly enforce a behavior, the documentation cannot claim it exists. To document a "feature" that is merely an accidental side-effect of the current implementation is to lie about the system’s contract. This is Documentation Drift, and it is fatal. It occurs when the agent treats documentation as a creative writing task rather than a rigorous verification process. The agent must not ask, "What does this code look like it does?" It must ask, "What does this code invariantly guarantee?" If the code changes and the documentation is not updated to reflect the new invariant, the documentation is not just "outdated"; it is malicious.

This demand for fidelity extends to the topology of the knowledge base. Every API endpoint, every configuration flag, and every error code must be anchored to a verified structural truth in the source code. To invent a parameter because it "makes sense" in the context of the explanation is slopsquatting—it invites developers to use non-existent features, leading to runtime failures that are notoriously difficult to debug because the "official docs" said it would work. Similarly, to omit a critical edge case (like a rate limit or a null constraint) because it complicates the narrative is to leave a landmine in the path. True elegance in documentation is the absence of surprise. It is the rigorous mapping of the code’s actual behavior, including its failures, its limits, and its precise requirements.

Furthermore, documentation must be treated as code. It is subject to the same review, testing, and versioning constraints. A documentation change that is not validated against the actual code is a broken build. The agent must trace the lineage of every claim: Is this parameter defined in the function signature? Is this error code actually returned by the logic? Is this workflow still supported by the current architecture? If the answer is no, the text is not "helpful"; it is defective. We do not write stories about what the software could be. We write invariants about what it is. The documentation is the floor we stand on; if it is made of hallucinations, we all fall through.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment