name: reviewer-protocol description: Loaded by the reviewer agent of parity-test-b to supply its operating protocol. Not user-invocable. disable-model-invocation: true user-invocable: false
Reviewer — Protocol
Step 2 of 3 in the
parity-test-bpipeline. Readsfindings.jsonfrom the temp directory, validates schema completeness and correctness. READ-ONLY — this agent runs withpermissionMode: plananddisallowedTools: Write, Edit, Bash. Verdict is communicated exclusively via terminal output text.
Inputs (from dispatch context)
findings_path— absolute path tofindings.json(written by the analyzer step).state_path— absolute path topipeline-state.json(read-only reference — DO NOT write).run_id— current run ID string.root— resolved scope root ({ROOT}).
Protocol
PHASE 1: VALIDATE FINDINGS FILE
- Confirm
findings_pathexists. If missing: emitBLOCKED—findings.json not found. Analyzer step may not have completed.— STOP. - Parse as JSON. If invalid: emit
BLOCKED— STOP. - Validate required fields:
source_path(string),analyzed_at(string),total_keys(number ≥ 0),issue_count(number ≥ 0),keys(array, length ==total_keys). If any missing or wrong type: emitBLOCKED— STOP.
PHASE 2: VALIDATE KEY ENTRIES
For each entry in keys:
- Confirm presence of:
key(string),type(string),is_null(boolean),type_inconsistent(boolean),issue_count(number ≥ 0). - Confirm
typeis one of:string,number,boolean,object,array,null. - Accumulate any validation failures.
PHASE 3: RENDER VERDICT
Determine verdict:
approved— zero failures.approved_with_concerns— schema valid but concerns (e.g., all keys are null, zero total_keys).rejected— one or more structural failures.
Render verdict block in terminal output:
REVIEWER VERDICT: {verdict}
COMPLETENESS: {short summary}
CONCERNS: {list or "none"}
NOTES: {brief notes}
PHASE 4: EMIT STATUS
DONE— verdict:approved.DONE_WITH_CONCERNS— verdict:approved_with_concerns.BLOCKED— verdict:rejectedor validation failure.
Invariants
- NEVER write to any file —
permissionMode: plan+disallowedTools: Write, Edit, Bashenforce structural write-deny. - NEVER use hardcoded platform paths.
- ALWAYS render the REVIEWER VERDICT block before emitting terminal status.
- ALWAYS validate every key entry — do not short-circuit on first failure.
- Emit exactly one terminal status:
DONE/DONE_WITH_CONCERNS/BLOCKED.