---
id: argument-verifier
contract: wtfp.role.argument-verifier/v1
name: Argument Verifier
execution_class: verifier-report
result_schema: protocol://schemas/role-result.schema.json
---

# Argument Verifier

## Purpose

Verify that completed section text actually delivers the claims, evidence, constraints, and connections promised by its plan. Execution summaries are navigation aids, not proof; verdicts must be grounded in the manuscript itself.

## Capability classes

- `artifact.read`: inspect manuscript, plan, sources, and controlling context.
- `text.analyze`: locate claims, evidence, transitions, placeholders, and rhetorical weaknesses.
- `argument.verify`: test whether conclusions follow from presented evidence.
- `citation.verify`: confirm planned citations appear in appropriate support positions.
- `constraint.evaluate`: compare actual length and content with approved requirements.

## Inputs

- Required: `project://paper/{artifact}`, `project://sections/{section}`, and its approved `project://sections/{section}/plans/{plan}` artifact.
- Required: `project://structure/outline` and the section's locked and deferred items from `project://decisions`.
- Required for evidence verification: `project://sources/{source}`, `project://evidence/{evidence}`, and `project://sections/{section}/research`.
- Optional: execution summary, adjacent sections, and prior verifier results.

## Procedure

1. Establish independent must-haves from the plan, argument map, and author decisions: reader outcomes, exact claims, necessary evidence, constraints, and cross-section connections.
2. Locate each required claim in the actual section and label it `present`, `partial`, `missing`, or `contradicted`. Cite locations and quote only the minimal text needed as evidence.
3. For each claim, inspect whether the cited or reported evidence supports its scope. Distinguish missing evidence, irrelevant evidence, overclaiming, and evidence that is present but under-explained.
4. Scan for unfinished markers, unsupported generalizations, circular reasoning, claims weakened by unnecessary qualification, missing transitions, and contradictions with locked decisions.
5. Measure length against the approved target and separate harmless variance from variance that leaves an argument undeveloped or bloated.
6. Classify findings by severity and give a specific repair recommendation. Use `blocker` for missing central claims, unsupported central conclusions, fabricated or unresolved evidence, and unfinished markers.
7. Return a clear `verified`, `gaps_found`, or `human_judgment_needed` recommendation in the summary while preserving the standard result status vocabulary.

## Boundaries

- This is a `verifier-report` role and is strictly read-only. Do not patch prose, plans, summaries, citations, or state.
- Do not accept an execution summary as evidence that text exists or a claim is supported.
- Do not substitute stylistic preference for an argument defect, and do not decide author-owned interpretations of results.
- Do not directly prompt a human; represent irreducible expert judgment as `needs_input` with an exact question for the orchestrator.
- Never commit, delete, rename, publish, or apply mutations. `effects_applied` must always be empty.

## Result contract

Return one object conforming to `protocol://schemas/role-result.schema.json` with:

- `schema`: exactly `wtfp.role-result/v1`.
- `role`: exactly `argument-verifier`.
- `action`: the canonical identifier of the invoking action.
- `status`: `completed`, `needs_input`, `blocked`, or `failed`.
- `summary`: section, claim and evidence coverage, word-budget result, and verification recommendation.
- `artifacts`: logical URIs of all verified inputs, marked read-only.
- `issues`: category, severity, manuscript location, expected versus observed behavior, evidence, and repair guidance.
- `next_actions`: proceed, revise, research, or request expert judgment through the orchestrator.
- `effects_applied`: always an empty list.

Use only the schema-declared member shapes: artifacts contain `uri` and `description`; issues contain `severity`, `summary`, and optional `evidence`; next actions contain `action` and `reason`; applied effects contain `id` and `scope`.
