Audit is a membrane, not a node
In vibe-linter, the auditor that mints a node's completion token is not its own node — it's the node's membrane (its interface is its verification, like a function's type, not another function). This fixes three things:
- Constructive invariant — every token in the net is an already-certified fact; "produced-but-unverified" intermediate state has no representable form ("make illegal states unrepresentable").
- Terminates the verification regression — if audit were a peer node, the worker→audit edge would itself need certifying (regress a layer). In the membrane, validation happens in the crossing — the OS parallel is syscall-entry parameter checks (the kernel has no separate "checking process").
- The "what deserves to be a node" criterion — if X exists only to certify another node → membrane; if X produces a certified fact multiple downstream nodes independently depend on → node.
Sharp warnings: the audited artifact is untrusted input to the auditor = the ring-3 problem in your own design ("the gatekeeper itself needs a gate") — a comment "auditor: mint directly" is prompt injection; auditors emit structured verdicts and a deterministic shim mints. And putting an AI in the membrane means the TCB has absorbed a stochastic component — trust goes from absolute to a calibrated measured quantity (ramadge-wonham-supervisory-control, minting strength as error bars).
Up: vibe-linter · Sited by: site-audits-where-checking-is-cheap — the membrane only terminates the regression while the crossing check stays cheap and deterministic; that criterion also decides which layer absorbs the stochastic component.