{"mcpName":"station__algovigilance__microgram-station-count-drift-gate","slug":"algovigilance__microgram-station-count-drift-gate","label":"Microgram: station-count-drift-gate","description":"Station-specific count drift gate. Wraps staleness-count-drift with ferroforge config surface semantics: fires DRIFTED when the ratio of (|measured - claimed| / claimed) exceeds the configured threshold. Intended for SessionStart hook enforcement.","domainSlug":"algovigilance","pvRelevance":"pv-core","backend":"native","agentMetadata":{"idempotent":true,"read_only":true,"expected_latency_ms":null,"cost_tokens_estimate":null,"pipes_to":null},"inputSchema":{"type":"object","properties":{"measured":{"type":"number","description":"Current measured count (e.g., ls ferroforge/configs/*.json | wc -l)"},"claimed":{"type":"number","description":"Count claimed in CLAUDE.md or MEMORY.md"},"threshold_pct":{"type":"number","description":"Fractional drift threshold (default 0.05 = 5%)"},"surface_name":{"type":"string","description":"Surface label for downstream reporting"},"drift_ratio":{"type":"number","description":"Caller pre-computes abs(measured-claimed)/max(claimed,1). Passed to gate for comparison."},"threshold_exceeded":{"type":"boolean","description":"Caller pre-computes (drift_ratio > threshold_pct). Microgram classifies."}},"required":["measured","claimed","drift_ratio","threshold_exceeded"],"additionalProperties":false},"example":null,"taxonomy":{"rank":{"domain":"Substrata","kingdom":"Constructa","phylum":"Configa","class":"station-config","order":"algovigilance","family":"mcp-tool-config"},"characteristics":{"substrate":"config","domain":"pv","lifecycle":"continuous","stateful":false,"persistence":"none","authority":"read","compounding":"producer","io_input":"agent-request","io_output":"tool-response"}},"_links":{"html":"/tools/algovigilance__microgram-station-count-drift-gate","markdown":"/tools/algovigilance__microgram-station-count-drift-gate/raw.md","invoke":"/api/mcp","catalog":"/api/mcp"}}