{
  "schema_version": 1,
  "updated_at": "2026-07-05T16:52:16.246813419Z",
  "entries": [
    {
      "logical_path": "repro/reproduction_steps.sh",
      "stage": "repro",
      "role": "primary_reproducer",
      "destination": "public_evidence",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Auto-declared after repro stage deliverable validation",
      "declared_by": "stage_validator"
    },
    {
      "logical_path": "repro/rca_report.md",
      "stage": "repro",
      "role": "root_cause_analysis",
      "destination": "public_evidence",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Auto-declared after repro stage deliverable validation",
      "declared_by": "stage_validator"
    },
    {
      "logical_path": "repro/validation_verdict.json",
      "stage": "judge",
      "role": "validation_verdict",
      "destination": "public_evidence",
      "required_for_verdict": false,
      "publishable": true,
      "reason": "Structured verdict: claim_outcome=confirmed, validated_surface=api_remote, observed impact info_leak with read primitive, exploitability high, end-to-end target reached, no sanitizer.",
      "declared_by": "agent_tool"
    },
    {
      "logical_path": "repro/runtime_manifest.json",
      "stage": "repro",
      "role": "runtime_manifest",
      "destination": "public_evidence",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Auto-declared supplemental repro stage artifact",
      "declared_by": "stage_validator"
    },
    {
      "logical_path": "repro/docker-compose.yml",
      "stage": "support",
      "role": "other",
      "destination": "public_evidence",
      "required_for_verdict": false,
      "publishable": true,
      "reason": "Docker Compose stack definition (wordpress:6.7-php8.2-apache + mysql:8.0) used by the reproduction script.",
      "declared_by": "agent_tool"
    },
    {
      "logical_path": "logs/vulnerable/summary.csv",
      "stage": "repro",
      "role": "request_response",
      "destination": "public_evidence",
      "required_for_verdict": false,
      "publishable": true,
      "reason": "Vulnerable 3.11.2 per-request summary: time-based SQLi linear scaling (sleep0~0.08s, sleep1~6.08s, sleep2~12.02s) and UNION extraction count=2 matching groundtruth.",
      "declared_by": "agent_tool"
    },
    {
      "logical_path": "logs/fixed/summary.csv",
      "stage": "repro",
      "role": "request_response",
      "destination": "public_evidence",
      "required_for_verdict": false,
      "publishable": true,
      "reason": "Fixed 3.11.3 negative-control summary: every Subscriber request returns HTTP 403 with no timing delay and no count — proving the fix blocks the attack.",
      "declared_by": "agent_tool"
    },
    {
      "logical_path": "logs/vulnerable/req_sleep2.txt",
      "stage": "repro",
      "role": "request_response",
      "destination": "public_evidence",
      "required_for_verdict": false,
      "publishable": true,
      "reason": "Raw vulnerable SLEEP(2) response: HTTP 200, time_total=12.0s, count=1 — proves SLEEP executes inside the SQL engine.",
      "declared_by": "agent_tool"
    },
    {
      "logical_path": "logs/vulnerable/resp_union_usercount_raw.txt",
      "stage": "repro",
      "role": "request_response",
      "destination": "public_evidence",
      "required_for_verdict": false,
      "publishable": true,
      "reason": "Raw vulnerable UNION ALL response showing injected dateFrom reflected and count=2 extracted from wp_users via SQL injection.",
      "declared_by": "agent_tool"
    },
    {
      "logical_path": "logs/fixed/req_union_usercount.txt",
      "stage": "repro",
      "role": "request_response",
      "destination": "public_evidence",
      "required_for_verdict": false,
      "publishable": true,
      "reason": "Raw fixed 3.11.3 response to the same UNION payload: HTTP 403 {\"success\":false,\"data\":{\"message\":\"forbidden\"}} — negative control proving the SQL is never reached.",
      "declared_by": "agent_tool"
    },
    {
      "logical_path": "logs/vulnerable/groundtruth_usercount.txt",
      "stage": "repro",
      "role": "marker_output",
      "destination": "public_evidence",
      "required_for_verdict": false,
      "publishable": true,
      "reason": "Ground-truth wp_users row count (2: admin + subscriber) used to validate the UNION-based extraction result.",
      "declared_by": "agent_tool"
    },
    {
      "logical_path": "logs/run.log",
      "stage": "repro",
      "role": "proof_log",
      "destination": "public_evidence",
      "required_for_verdict": false,
      "publishable": true,
      "reason": "Top-level run log capturing both instances' setup, login, all AJAX requests with timing, the result analysis, verdict, and runtime manifest.",
      "declared_by": "agent_tool"
    },
    {
      "logical_path": "repro/validation_verdict.json",
      "stage": "repro",
      "role": "validation_verdict",
      "destination": "public_evidence",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Auto-declared after repro stage deliverable validation",
      "declared_by": "stage_validator"
    },
    {
      "logical_path": "logs/vulnerable/summary.csv",
      "stage": "repro",
      "role": "proof_log",
      "destination": "public_evidence",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Referenced by runtime_manifest.proof_artifacts",
      "declared_by": "runtime_manifest"
    },
    {
      "logical_path": "logs/fixed/summary.csv",
      "stage": "repro",
      "role": "proof_log",
      "destination": "public_evidence",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Referenced by runtime_manifest.proof_artifacts",
      "declared_by": "runtime_manifest"
    },
    {
      "logical_path": "logs/vulnerable/req_union_usercount.txt",
      "stage": "repro",
      "role": "proof_log",
      "destination": "public_evidence",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Referenced by runtime_manifest.proof_artifacts",
      "declared_by": "runtime_manifest"
    },
    {
      "logical_path": "logs/vulnerable/req_sleep2.txt",
      "stage": "repro",
      "role": "proof_log",
      "destination": "public_evidence",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Referenced by runtime_manifest.proof_artifacts",
      "declared_by": "runtime_manifest"
    },
    {
      "logical_path": "logs/fixed/req_union_usercount.txt",
      "stage": "repro",
      "role": "proof_log",
      "destination": "public_evidence",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Referenced by runtime_manifest.proof_artifacts",
      "declared_by": "runtime_manifest"
    },
    {
      "logical_path": "logs/vulnerable/resp_union_usercount_raw.txt",
      "stage": "repro",
      "role": "proof_log",
      "destination": "public_evidence",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Referenced by runtime_manifest.proof_artifacts",
      "declared_by": "runtime_manifest"
    },
    {
      "logical_path": "logs/vulnerable/groundtruth_usercount.txt",
      "stage": "repro",
      "role": "proof_log",
      "destination": "public_evidence",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Referenced by runtime_manifest.proof_artifacts",
      "declared_by": "runtime_manifest"
    },
    {
      "logical_path": "logs/vuln_variant/vulnerable/summary.csv",
      "stage": "vuln_variant",
      "role": "marker_output",
      "destination": "session_replay",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Vulnerable 3.11.2 timing summary via the variant endpoint salesmanago_export_contacts: SLEEP(0/1/2) scales 0.077->6.064->12.012s, proving the alternate entry point reaches the SQLi sink.",
      "declared_by": "agent_tool"
    },
    {
      "logical_path": "logs/vuln_variant/fixed/summary.csv",
      "stage": "vuln_variant",
      "role": "marker_output",
      "destination": "session_replay",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Fixed 3.11.3 negative control: the same SLEEP(2) payload via export_contacts is blocked with HTTP 403 and no timing differential, proving the variant is NOT a bypass.",
      "declared_by": "agent_tool"
    },
    {
      "logical_path": "logs/vuln_variant/vulnerable/req_sleep2.txt",
      "stage": "vuln_variant",
      "role": "request_response",
      "destination": "session_replay",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Raw HTTP response for the SLEEP(2) injection via salesmanago_export_contacts on vulnerable 3.11.2: status done, count 0 (0-rows payload), 12.01s delay = in-DBMS SLEEP(2).",
      "declared_by": "agent_tool"
    },
    {
      "logical_path": "logs/vuln_variant/fixed/req_sleep2.txt",
      "stage": "vuln_variant",
      "role": "request_response",
      "destination": "session_replay",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Raw HTTP response for the SLEEP(2) injection via salesmanago_export_contacts on fixed 3.11.3: {\\\"forbidden\\\"} HTTP 403 in 0.07s — Subscriber blocked before the query runs.",
      "declared_by": "agent_tool"
    },
    {
      "logical_path": "logs/vuln_variant/run.log",
      "stage": "vuln_variant",
      "role": "proof_log",
      "destination": "variant_candidate",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Referenced by runtime_manifest.proof_artifacts",
      "declared_by": "runtime_manifest"
    },
    {
      "logical_path": "vuln_variant/variant_manifest.json",
      "stage": "vuln_variant",
      "role": "variant_manifest",
      "destination": "variant_candidate",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Auto-declared after vuln_variant stage deliverable validation",
      "declared_by": "stage_validator"
    },
    {
      "logical_path": "vuln_variant/validation_verdict.json",
      "stage": "vuln_variant",
      "role": "validation_verdict",
      "destination": "variant_candidate",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Auto-declared after vuln_variant stage deliverable validation",
      "declared_by": "stage_validator"
    },
    {
      "logical_path": "vuln_variant/source_identity.json",
      "stage": "vuln_variant",
      "role": "source_identity",
      "destination": "variant_candidate",
      "required_for_verdict": false,
      "publishable": true,
      "reason": "Auto-declared supplemental vuln_variant stage artifact",
      "declared_by": "stage_validator"
    },
    {
      "logical_path": "vuln_variant/runtime_manifest.json",
      "stage": "vuln_variant",
      "role": "runtime_manifest",
      "destination": "variant_candidate",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Auto-declared supplemental vuln_variant stage artifact",
      "declared_by": "stage_validator"
    },
    {
      "logical_path": "vuln_variant/patch_analysis.md",
      "stage": "vuln_variant",
      "role": "patch_analysis",
      "destination": "variant_candidate",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Auto-declared after vuln_variant stage deliverable validation",
      "declared_by": "stage_validator"
    },
    {
      "logical_path": "vuln_variant/rca_report.md",
      "stage": "vuln_variant",
      "role": "root_cause_analysis",
      "destination": "variant_candidate",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Auto-declared after vuln_variant stage deliverable validation",
      "declared_by": "stage_validator"
    },
    {
      "logical_path": "vuln_variant/root_cause_equivalence.json",
      "stage": "vuln_variant",
      "role": "root_cause_analysis",
      "destination": "variant_candidate",
      "required_for_verdict": false,
      "publishable": true,
      "reason": "Auto-declared supplemental vuln_variant stage artifact",
      "declared_by": "stage_validator"
    },
    {
      "logical_path": "vuln_variant/reproduction_steps.sh",
      "stage": "vuln_variant",
      "role": "primary_reproducer",
      "destination": "variant_candidate",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Auto-declared after vuln_variant stage deliverable validation",
      "declared_by": "stage_validator"
    },
    {
      "logical_path": "logs/vuln_variant/vulnerable/summary.csv",
      "stage": "vuln_variant",
      "role": "proof_log",
      "destination": "variant_candidate",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Referenced by runtime_manifest.proof_artifacts",
      "declared_by": "runtime_manifest"
    },
    {
      "logical_path": "logs/vuln_variant/fixed/summary.csv",
      "stage": "vuln_variant",
      "role": "proof_log",
      "destination": "variant_candidate",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Referenced by runtime_manifest.proof_artifacts",
      "declared_by": "runtime_manifest"
    },
    {
      "logical_path": "logs/vuln_variant/vulnerable/req_sleep2.txt",
      "stage": "vuln_variant",
      "role": "proof_log",
      "destination": "variant_candidate",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Referenced by runtime_manifest.proof_artifacts",
      "declared_by": "runtime_manifest"
    },
    {
      "logical_path": "logs/vuln_variant/vulnerable/req_baseline.txt",
      "stage": "vuln_variant",
      "role": "proof_log",
      "destination": "variant_candidate",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Referenced by runtime_manifest.proof_artifacts",
      "declared_by": "runtime_manifest"
    },
    {
      "logical_path": "logs/vuln_variant/fixed/req_sleep2.txt",
      "stage": "vuln_variant",
      "role": "proof_log",
      "destination": "variant_candidate",
      "required_for_verdict": true,
      "publishable": true,
      "reason": "Referenced by runtime_manifest.proof_artifacts",
      "declared_by": "runtime_manifest"
    }
  ]
}
