← ClaudeAtlas

porcupine-analyzerlisted

Diagnose Porcupine linearizability test failures from the visualization HTML. Use this skill whenever a test produces a Porcupine visualization that isn't `Ok` — covers both `Illegal` (real violation) and `Unknown` (checker timeout); the analyzer helps tell them apart. Trigger on phrases like "Porcupine reports Illegal", "violation HTML", "non-linearizable test failure", "linearizability check failed", "syncmap violation", "register violation", "KV linearizability", or any time a user mentions a Porcupine HTML artifact they want diagnosed. Model-agnostic: works for any Porcupine model, including custom op vocabularies — does not assume Get/Put/Insert/ Delete or any specific schema; consumes the per-step StateDescription strings the model itself produced. Surfaces the smoking-gun op, the frontier state, value-token provenance (including state-side mining for ops with no value of their own, e.g. `Delete() -> not found`), temporal concurrency context, and annotation correlation.
jeremiah-masters/skills · ★ 0 · AI & Automation · score 70
Install: claude install-skill jeremiah-masters/skills
# Porcupine Failure Analyzer ## Quick start ```bash python3 SKILL_DIR/scripts/analyze_porcupine_failure.py path/to/violation.html ``` The script reads the HTML, finds non-linearizable partitions, and prints a diagnosis to stdout. The first line of each partition section is a one-line headline naming the contradicting op, the frontier state, and the most likely culprit — start there. ## How to read the output A typical diagnostic loop: 1. **Read the headline.** Each partition section opens with: `DIAGNOSIS: op#K c<id> <description> contradicts frontier state X; most likely culprit: op#J c<id> <description> (token T, produces_frontier_state)` This is your starting hypothesis. If the headline matches the failure you'd expect, you're often done at this step. 2. **Check the frontier state.** What does the model think was in place at the failure point? Is that what your test should have produced? 3. **Read the blocked candidate's description.** What did it return? Why does that contradict the frontier state? 4. **Use value-token provenance** to trace where the unexpected value came from. An `overlap` hit means a concurrent op produced it; a `before` hit means an older op wrote it and something should have invalidated it. The row tagged `(..., produces_frontier_state)` is the writer the model believed left the cache in its current state. 5. **Open the HTML in a browser** for the visual timeline. The analyzer has already told you the op# to