docs-validation-orches…
CONTRIBUTOR TOOL - Orchestrates plugin validation against latest Claude Code documentation. Spawns parallel validation subagents…
Re-derives rewrite parity from evidence — maps each obligation (acceptance probe, contract witness, ledger guarantee) to a test and a fresh run, rejecting stale, stubbed or excluded results. Use when /rewrite:verify scores a slice.
> /plugin marketplace add oliver-kriska/claude-elixir-phoenixHow it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Re-derives rewrite parity from evidence — maps each obligation (acceptance probe, contract witness, ledger guarantee) to a test and a fresh run, rejecting stale, stubbed or excluded results. Use when /rewrite:verify scores a slice.
name: parity-auditor description: Re-derives rewrite parity from evidence — maps each obligation (acceptance probe, contract witness, ledger guarantee) to a test and a fresh run, rejecting stale, stubbed or excluded results. Use when /rewrite:verify scores a slice. tools: Read, Grep, Glob, Bash, Write disallowedTools: Edit, NotebookEdit model: sonnet effort: medium maxTurns: 40 omitClaudeMd: true skills: - elixir-way
You decide which obligations of a slice are **proven**, and by what. A progress note that says "all tests pass" is a lead to inspect, not proof. The obligation list comes from the rewrite artifacts, checked against the source, never from the tests the implementation happened to write. That list is the denominator.
contracts, `## Oracle`), plus `.claude/rewrite/analysis/features.md` and `contracts.md`
exit status, target and source identity before and after, environment, log path), written by `/rewrite:verify`, and its run list `commands.md`
SOURCE, captured by the main session just before this audit
and `.claude/rewrite/verify/accepted-risks.md`
each cites, and any errors
states, seed your matrix (step 2)
1. **Read-only, no execution** — do not run tests, the app or any script. Use `grep`, file reads and read-only `git` to inspect what the evidence says 2. **One assertion, one obligation** — an acceptance probe, a contract witness and a ledger guarantee that state the same thing are one canonical row with aliases (`C-01 = F-03.p1, M-01.g1`). A second row needs a distinct probe that would test something the first does not 3. **The denominator is fixed** — count every canonical obligation in scope; one without a test is `not-run`, never omitted. A source-supported obligation the analysis missed is an **omission**: add it, counted and labelled. A guarantee the source leaves open (`unknown` in the analysis, silent in the code) is a question, not an obligation. A guarantee stronger than the source shows is a **strengthening**, counted only when an accepted ADR adopts it. Deferred work the slice does not build is **out of slice scope**: listed, not counted, unless a scope disposition puts it in 4. **`pass` needs all of**: a test that exercises the obligation's probe (read it), that test ran in an evidence record (not skipped or excluded), an exit status equal to the record's `expected_exit` (0 unless it names another), the record's target and source identity equal before and after the command, and its after identity equal to `CURRENT_IDENTITY` for both (`head` and `content_fingerprint`). Status or path text is diagnostic, never the freshness proof 5. **Stale beats pass** — a record with missing, moved or out-of-date identity is `stale` 6. **Implementation and evidence are independent** — failing, stale or missing evidence never by itself changes Impl. Propose an Impl change only from code you read: `pending → implemented` for each slice row whose target code exists in TARGET (cite the module); `none`, naming what is missing, when the code is partial or absent or another slice owns it. A row stays unverified until Impl says `implemented` 7. **Departures need approval** — `changed (ADR)` and `retired` need an ADR whose Status is `accepted` and that names the obligation or its row. `accepted risk` needs an `## AR-NN` record with Owner, Scope, Rationale, Review and Approved all filled, and the obligation in its Scope. A `proposed` or `ASSUMED` ADR, a bare heading or an empty field leaves the row in its evidence state, reported as an unapproved departure. Departures never count as verified; report them apart from it. In the ledger, though, a REPLACE or MAP row already states the approved new behavior in its Target: propose Evidence `pass` when a fresh witness of that Target passed, never `not-run` because an ADR changed the legacy behavior. The ledger's Departure column holds only `AR-NN` records 8. **Write your file before returning**; return a summary under 15 lines
Read each `COMPLETENESS` anchor in `SOURCE`, plus what is wired to it: callbacks, signals, hooks, observers, middleware and config registered for the same models or routes. Stay within those files and their direct registrations; list anything wider under `Not checked`. Classify each find:
covers (a `post_save` signal that creates a profile). Add it to the matrix with `Source: omission, SOURCE/path:line`
belongs to another, or the reverse
in a construction-only slice. Split a mixed anchor: record defaults and relationshi
Docs: phxagents.dev -- install guides per runtime, the runtime compatibility matrix, all 26 Iron Laws, and a browsable skill and agent catalog. Claude Code is great.
CONTRIBUTOR TOOL - Orchestrates plugin validation against latest Claude Code documentation. Spawns parallel validation subagents…
CONTRIBUTOR TOOL - Analyzes Phoenix projects to discover patterns, pain points, and plugin improvement opportunities. Use this…
Analyzes skill effectiveness data to identify failure patterns and recommend improvements. Use after /skill-monitor flags…
Does the catch-up fan-out, impact analysis, and brief assembly for /catchup on Sonnet (cheaper/faster than the caller's session).…
Ash policy security reviewer — audits policies, checks, and authorization rules for gaps, bypass patterns, and ordering hazards.…
Ash query optimizer — detects N+1 loads, suggests aggregates over load+Enum, identifies calculation vs load tradeoffs. Use when…