Asi killdispenser

The fundamental piehole in every device. Like kill(1) sends signals to processes, killdispenser sends signals to dispensing slots. Like Pi-hole blocks DNS, killdispenser blocks unauthorized dispense events. The control plane primitive for all nhero devices.

install
source · Clone the upstream repo
git clone https://github.com/plurigrid/asi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/killdispenser" ~/.claude/skills/plurigrid-asi-killdispenser && rm -rf "$T"
manifest: skills/killdispenser/SKILL.md
source content

killdispenser

The fundamental piehole in every device.

Signals

Like

kill(1)
, killdispenser sends typed signals to dispensing slots:

SignalNameEffectTrit
0DISPENSERelease one pill from slot-1
1HOLDBlock dispensing (nurse approval pending)0
2REFILLAccept supply deposit into slot+1
9KILLEmergency stop all dispensing-1
15TERMGraceful shutdown of slot0
19AUDITNurse ZK range proof audit0

Blocklist / Allowlist (PyHole Model)

# /etc/killdispenser/blocklist.txt
# Controlled substances — require nurse HOLD→APPROVE before DISPENSE
q   # Vyvanse (Schedule II)

# /etc/killdispenser/allowlist.txt
# OTC supplements — DISPENSE freely
x   # Magnesium
y   # Zinc
k   # Ginkgo
u   # Caffeine

Interface

# killdispenser API
killdispenser(slot, signal)        # send signal to slot
killdispenser("q", HOLD)           # block Vyvanse until nurse approves
killdispenser("x", DISPENSE)       # release Magnesium
killdispenser("*", KILL)           # emergency stop all
killdispenser("q", AUDIT, nurse_ek) # ZK audit of supply

Invariant

Every killdispenser operation preserves GF(3):

  • DISPENSE (-1) must be balanced by REFILL (+1) over time
  • HOLD (0) and AUDIT (0) are ergodic — no trit change
  • KILL (-1) requires a REFILL (+1) to restore equilibrium

Parent

Part of the nhero hierarchy.