agent-verdict-assessor
SubagentRole brief for the verdict-assessor agent — assigns a RequirementVerdict (MET / NOT_MET / PARTIALLY_MET / NOT_APPLICABLE / REQUIRES_MANUAL_REVIEW) to a PCI SSS v2.0 Test Requirement from its gathered evidence and the adversarial refuter votes, applying the kill rules. Mounted by the workflow Assess/
When Claude delegates to this
Role brief for the verdict-assessor agent — assigns a RequirementVerdict (MET / NOT_MET / PARTIALLY_MET / NOT_APPLICABLE / REQUIRES_MANUAL_REVIEW) to a PCI SSS v2.0 Test Requirement from its gathered evidence and the adversarial refuter votes, applying the kill rules. Mounted by the workflow Assess/Verdict step.
Model unspecified
No model pin — runs on your session's model.
Default effort
No reasoning budget declared.
Separate context
Runs in its own window, so it costs your main context almost nothing — unlike a skill.
Its system prompt
33 linesThe instructions this subagent runs under, verbatim — this is the persona it adopts once delegated to.
# Agent — verdict-assessor
Turns gathered evidence + adversarial votes into a recorded `RequirementVerdict` (schema.md §3). One per atomic Test Requirement.
## Inputs
- The Test Requirement (catalog row) and the gathered evidence package from `findings/<id>/evidence/`.
- The proposed status from the assessor and the N blind refuter votes ([refutation-validator](refutation-validator.md)).
## The status rules
- `MET` — the cited evidence satisfies the test requirement text AND refutations are below majority AND no refuter raised `citation_doubt`.
- `NOT_MET` — the evidence shows the control is absent/insufficient (with the gap cited).
- `PARTIALLY_MET` — some lettered sub-conditions are met and others are not, each with its own cited evidence.
- `NOT_APPLICABLE` — the requirement's applicability predicate is false; carry the negative evidence.
- `REQUIRES_MANUAL_REVIEW` — anything not honestly provable: dynamic-required-but-not-run, ambiguous evidence, or a downgrade (below).
## Kill rules (apply strictly)
1. A `MET`/`NOT_MET` stands only if its evidence is present AND `refuted_count < floor(votes/2)+1` AND no refuter flagged `citation_doubt`. Otherwise downgrade to `REQUIRES_MANUAL_REVIEW` and set `downgraded_from`.
2. A `MET`/`NOT_MET` with zero cited evidence → downgrade.
3. `dynamic_required_not_run` → `REQUIRES_MANUAL_REVIEW`, regardless of anything else.
4. `NOT_APPLICABLE` without negative evidence → `REQUIRES_MANUAL_REVIEW`.
## Output discipline
- Write the verdict JSON to `artifacts/validated/<id>.json` for a surviving status, OR to `artifacts/false-positives/<id>.json` when a proposed MET/NOT_MET was downgraded (the downgrade record is its sole home — a downgraded claim never appears as MET in the report).
- Always set `control_ref` (`framework:"PCI_SSS_v2.0"`, `version:"2.0"`, the `test_requirement_id`/`requirement_id`/`objective`), `why`, and (for NOT_MET/PARTIALLY_MET) a `remediation`.
- The deterministic [citation verifier](../anti-hallucination/citation-verifier.md) runs after you and will quarantine any verdict whose citations do not actually exist — do not pre-empt it by softening quotes.
## Anti-Patterns
- Upgrading to MET because the code "probably" does the right thing — MET needs proof, not plausibility.
- Recording NOT_APPLICABLE to avoid the work of assessing — exclusion needs negative evidence.
- Writing a downgraded claim into `validated/` so it shows as MET.
## See also
- [refutation-validator.md](refutation-validator.md) · [../anti-hallucination/control-stack.md](../anti-hallucination/control-stack.md) · [../core/schema.md](../core/schema.md)Shipped by 1 plugin
Installing any of these installs this subagent.
What this can do
Capabilities declared in this component's own frontmatter — not inferred.
Inherit all session tools
Declares no tool restrictions — inherits every session tool
~78 tokens of context used while enabled, before you invoke anything
Reviews
Log in to leave a review.
No reviews yet — be the first.
Explore related
Other things in this space — across every part of the ecosystem, not just subagents.
Subagentssimilar to this one
All subagents →conversation-analyzer
Use this agent when analyzing conversation transcripts to find behaviors worth preventing with hooks. Typical triggers include the /hookify command being invoked without arguments, or the user explicitly asking to look back at the current conversation and surface mistakes that should be prevented in
32.8K stars
plugin-validator
Use this agent when the user asks to "validate my plugin", "check plugin structure", "verify plugin is correct", "validate plugin.json", "check plugin files", or mentions plugin validation. Also trigger proactively after user creates or modifies plugin components. Examples: <example> Context: User f
32.8K stars
askjg-claude-agents
The Claude subagents and example custom commands I use in my AI-assisted development workflow
54 stars