{
  "schema_version": "1",
  "directory": "tests/fixtures/watchkeeper/head",
  "base": "tests/fixtures/watchkeeper/base",
  "head": "tests/fixtures/watchkeeper/head",
  "changes": [
    {
      "change": "added",
      "type": "requirement",
      "id": "billing",
      "title": "Billing Reports",
      "path": "requirements/billing.md",
      "base_status": null,
      "head_status": "valid"
    },
    {
      "change": "modified",
      "type": "requirement",
      "id": "checkout",
      "title": "Checkout",
      "path": "requirements/checkout.md",
      "base_status": "valid",
      "head_status": "valid",
      "diff": {
        "added_requirements": [],
        "removed_requirements": [],
        "modified_requirements": [
          {
            "id": "REQ-001",
            "old_text": "Payment confirmation must complete within 2 seconds",
            "new_text": "Payment confirmation should complete quickly"
          }
        ],
        "added_metrics": [],
        "removed_metrics": [],
        "added_risks": [],
        "removed_risks": []
      }
    },
    {
      "change": "modified",
      "type": "requirement",
      "id": "payouts",
      "title": "Payouts",
      "path": "requirements/payouts.md",
      "base_status": "valid",
      "head_status": "invalid",
      "diff": {
        "added_requirements": [],
        "removed_requirements": [],
        "modified_requirements": [
          {
            "id": "REQ-001",
            "old_text": "Seller payouts must settle within 3 business days",
            "new_text": "Seller payouts must show a pending balance within 1 day"
          }
        ],
        "added_metrics": [],
        "removed_metrics": [],
        "added_risks": [],
        "removed_risks": []
      }
    },
    {
      "change": "removed",
      "type": "requirement",
      "id": "legacy-upload",
      "title": "Legacy Upload",
      "path": "requirements/legacy-upload.md",
      "base_status": "valid",
      "head_status": null
    }
  ],
  "validation": {
    "base": {
      "valid": 5,
      "invalid": 0
    },
    "head": {
      "valid": 4,
      "invalid": 1
    },
    "newly_invalid": [
      "requirements/payouts.md"
    ],
    "newly_valid": []
  },
  "relationships": {
    "base": {
      "total": 3,
      "valid": 3,
      "broken": 0,
      "orphaned": 2,
      "coverage": 0.4
    },
    "head": {
      "total": 3,
      "valid": 2,
      "broken": 1,
      "orphaned": 3,
      "coverage": 0.4
    },
    "new_issues": [
      {
        "code": "relationship-target-not-found",
        "relationship": "related_requirements",
        "target": "legacy-upload",
        "path": "decisions/adr-001-payment-provider.md",
        "identifier": null
      }
    ],
    "resolved_issues": []
  },
  "stats": {
    "total": {
      "base": 5,
      "head": 5
    },
    "by_type": {
      "requirement": {
        "base": 3,
        "head": 3
      },
      "decision": {
        "base": 1,
        "head": 1
      },
      "roadmap": {
        "base": 1,
        "head": 1
      },
      "prompt": {
        "base": 0,
        "head": 0
      },
      "design": {
        "base": 0,
        "head": 0
      },
      "unknown": {
        "base": 0,
        "head": 0
      }
    }
  },
  "findings": [
    {
      "code": "acceptance_criteria_removed",
      "severity": "warning",
      "path": "requirements/checkout.md",
      "identifier": "checkout",
      "detail": "Acceptance criteria section removed.",
      "evidence": []
    },
    {
      "code": "ambiguity_introduced",
      "severity": "warning",
      "path": "requirements/checkout.md",
      "identifier": "checkout",
      "detail": "Ambiguous wording introduced in REQ-001: 'quickly'.",
      "evidence": [
        "- Payment confirmation must complete within 2 seconds",
        "+ Payment confirmation should complete quickly"
      ]
    },
    {
      "code": "constraint_removed",
      "severity": "warning",
      "path": "requirements/legacy-upload.md",
      "identifier": "legacy-upload",
      "detail": "Requirement REQ-001 with mandatory wording removed.",
      "evidence": [
        "- Upload must complete within 5 seconds"
      ]
    },
    {
      "code": "constraint_weakened",
      "severity": "warning",
      "path": "requirements/checkout.md",
      "identifier": "checkout",
      "detail": "Mandatory requirement REQ-001 weakened to hedged wording.",
      "evidence": [
        "- Payment confirmation must complete within 2 seconds",
        "+ Payment confirmation should complete quickly"
      ]
    },
    {
      "code": "specificity_regression",
      "severity": "warning",
      "path": "requirements/checkout.md",
      "identifier": "checkout",
      "detail": "Measurable requirement REQ-001 became vague.",
      "evidence": [
        "- Payment confirmation must complete within 2 seconds",
        "+ Payment confirmation should complete quickly"
      ]
    },
    {
      "code": "unlinked_scope",
      "severity": "warning",
      "path": "requirements/billing.md",
      "identifier": "billing",
      "detail": "New artifact declares no relationships and nothing references it.",
      "evidence": []
    },
    {
      "code": "relationship_impact",
      "severity": "info",
      "path": "requirements/checkout.md",
      "identifier": "checkout",
      "detail": "Modified artifact is referenced by 1 artifact(s).",
      "evidence": [
        "adr-001"
      ]
    },
    {
      "code": "relationship_impact",
      "severity": "info",
      "path": "requirements/legacy-upload.md",
      "identifier": "legacy-upload",
      "detail": "Removed artifact is referenced by 1 artifact(s).",
      "evidence": [
        "adr-001"
      ]
    }
  ],
  "review": {
    "recommended": true,
    "reasons": [
      {
        "code": "validation_regression",
        "reason": "One or more artifacts became invalid."
      },
      {
        "code": "broken_relationship",
        "reason": "One or more relationship references broke."
      },
      {
        "code": "acceptance_criteria_removed",
        "reason": "An acceptance criteria section was removed."
      },
      {
        "code": "constraint_removed",
        "reason": "A requirement with mandatory wording was removed."
      },
      {
        "code": "constraint_weakened",
        "reason": "A mandatory requirement was weakened."
      },
      {
        "code": "specificity_regression",
        "reason": "A measurable requirement became vague."
      }
    ]
  }
}
