diff --git a/docs/verification-report-template.json b/docs/verification-report-template.json new file mode 100644 index 0000000..561294d --- /dev/null +++ b/docs/verification-report-template.json @@ -0,0 +1,99 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "title": "Reviewer Verification Report", + "description": "Template for reviewer verification checklist and smoke test results", + "type": "object", + "required": ["checkedAt", "checkedBy", "items"], + "properties": { + "checkedAt": { + "type": "string", + "format": "date-time", + "description": "ISO 8601 timestamp when verification was performed" + }, + "checkedBy": { + "type": "string", + "description": "Identity of the reviewer performing verification" + }, + "summary": { + "type": "object", + "properties": { + "total": { "type": "integer" }, + "passed": { "type": "integer" }, + "failed": { "type": "integer" } + } + }, + "items": { + "type": "array", + "description": "Individual verification checklist items", + "items": { + "type": "object", + "required": ["name", "status"], + "properties": { + "name": { "type": "string" }, + "status": { "type": "string", "enum": ["PASS", "FAIL", "SKIP", "N/A"] }, + "command": { "type": "string", "description": "Command or method used for verification" }, + "reason": { "type": "string", "description": "Explanation for SKIP or N/A status" } + } + } + } + }, + "usage": { + "description": "How to use this template with smoke-test.sh", + "integration": { + "script": "scripts/smoke-test.sh", + "jsonOutput": { + "command": "scripts/smoke-test.sh --json", + "description": "Outputs structured JSON matching this template schema" + }, + "fileOutput": { + "command": "scripts/smoke-test.sh --json --output verification-report.json", + "description": "Writes JSON output directly to file" + }, + "manualCreation": { + "description": "For manual verification, create JSON with required fields: checkedAt, checkedBy, items[]" + } + }, + "checklistItems": [ + { + "category": "Build & Compile", + "items": [ + "Maven Build", + "Package Verification", + "Dependency Check" + ] + }, + { + "category": "Code Quality", + "items": [ + "Code Format Compliance (checkstyle)", + "JavaDoc Existence", + "Static Analysis (spotbugs)" + ] + }, + { + "category": "Testing", + "items": [ + "Unit Tests", + "Integration Tests" + ] + } + ] + }, + "examples": { + "smokeTestOutput": { + "checkedAt": "2026-07-14T15:22:00Z", + "checkedBy": "reviewer", + "summary": { "total": 8, "passed": 7, "failed": 1 }, + "items": [ + { "name": "Maven Build", "status": "PASS", "command": "mvn compile -q" }, + { "name": "Unit Tests", "status": "PASS", "command": "mvn test -q" }, + { "name": "Code Format Compliance", "status": "PASS", "command": "mvn checkstyle:check -q" }, + { "name": "JavaDoc Existence", "status": "PASS", "command": "mvn javadoc:javadoc -q" }, + { "name": "Package Verification", "status": "PASS", "command": "mvn package -DskipTests -q" }, + { "name": "Dependency Check", "status": "PASS", "command": "mvn dependency:tree -q" }, + { "name": "Static Analysis", "status": "SKIP", "reason": "spotbugs-maven-plugin not configured" }, + { "name": "Integration Tests", "status": "FAIL", "command": "mvn verify -q" } + ] + } + } +}