{
  "schema": "OPS015_SYNTHETIC_FIXTURES_v1",
  "cases": [
    {
      "id": "baseline-valid-supersession",
      "architectural_concern": "Move order-notification delivery from synchronous callback to asynchronous event publication",
      "significance": "ARCHITECTURAL",
      "prior_id": "ADR-002",
      "prior_status": "SUPERSEDED",
      "prior_original_sha": "sha-old-002",
      "prior_current_sha": "sha-old-002",
      "candidate_id": "ADR-003",
      "candidate_status": "ACCEPTED",
      "candidate_supersedes": "ADR-002",
      "alternatives": [
        "sync callback",
        "async event"
      ],
      "decision": "async event",
      "consequences": [
        "eventual consistency",
        "lower request coupling"
      ],
      "implementation_expected": "async event",
      "implementation_observed": "async event",
      "implementation_evidence": true,
      "transfer": false
    },
    {
      "id": "accepted-history-tamper",
      "architectural_concern": "Change authentication session storage strategy",
      "significance": "ARCHITECTURAL",
      "prior_id": "ADR-010",
      "prior_status": "ACCEPTED",
      "prior_original_sha": "sha-original-010",
      "prior_current_sha": "sha-edited-010",
      "candidate_id": "ADR-011",
      "candidate_status": "PROPOSED",
      "candidate_supersedes": "ADR-010",
      "alternatives": [
        "server session",
        "signed token"
      ],
      "decision": "signed token",
      "consequences": [
        "stateless reads",
        "revocation trade-off"
      ],
      "implementation_expected": "server session",
      "implementation_observed": "server session",
      "implementation_evidence": true,
      "transfer": false
    },
    {
      "id": "missing-supersedes-link",
      "architectural_concern": "Replace direct database integration with a published service interface",
      "significance": "ARCHITECTURAL",
      "prior_id": "ADR-020",
      "prior_status": "ACCEPTED",
      "prior_original_sha": "sha-020",
      "prior_current_sha": "sha-020",
      "candidate_id": "ADR-021",
      "candidate_status": "ACCEPTED",
      "candidate_supersedes": null,
      "alternatives": [
        "direct database",
        "published service"
      ],
      "decision": "published service",
      "consequences": [
        "clear boundary",
        "additional request dependency"
      ],
      "implementation_expected": "published service",
      "implementation_observed": "published service",
      "implementation_evidence": true,
      "transfer": false
    },
    {
      "id": "implementation-drift",
      "architectural_concern": "Change cache invalidation from fixed TTL to event-driven invalidation",
      "significance": "ARCHITECTURAL",
      "prior_id": "ADR-030",
      "prior_status": "SUPERSEDED",
      "prior_original_sha": "sha-030",
      "prior_current_sha": "sha-030",
      "candidate_id": "ADR-031",
      "candidate_status": "ACCEPTED",
      "candidate_supersedes": "ADR-030",
      "alternatives": [
        "fixed TTL",
        "event invalidation"
      ],
      "decision": "event invalidation",
      "consequences": [
        "fresher cache",
        "event dependency"
      ],
      "implementation_expected": "event invalidation",
      "implementation_observed": "fixed TTL",
      "implementation_evidence": true,
      "transfer": false
    },
    {
      "id": "trivial-local-preference",
      "architectural_concern": "Rename a local loop variable inside one private function",
      "significance": "TRIVIAL",
      "prior_id": null,
      "prior_status": null,
      "prior_original_sha": null,
      "prior_current_sha": null,
      "candidate_id": null,
      "candidate_status": null,
      "candidate_supersedes": null,
      "alternatives": [
        "i",
        "index"
      ],
      "decision": "index",
      "consequences": [
        "local readability only"
      ],
      "implementation_expected": "index",
      "implementation_observed": "index",
      "implementation_evidence": true,
      "transfer": false
    },
    {
      "id": "proposal-not-yet-accepted",
      "architectural_concern": "Evaluate replacing REST polling with server-sent events for dashboard updates",
      "significance": "ARCHITECTURAL",
      "prior_id": "ADR-040",
      "prior_status": "ACCEPTED",
      "prior_original_sha": "sha-040",
      "prior_current_sha": "sha-040",
      "candidate_id": "ADR-041",
      "candidate_status": "PROPOSED",
      "candidate_supersedes": "ADR-040",
      "alternatives": [
        "REST polling",
        "server-sent events"
      ],
      "decision": "server-sent events",
      "consequences": [
        "persistent connection",
        "lower polling overhead"
      ],
      "implementation_expected": "REST polling",
      "implementation_observed": "REST polling",
      "implementation_evidence": true,
      "transfer": false
    },
    {
      "id": "rejected-candidate",
      "architectural_concern": "Consider moving audit storage from relational tables to object storage",
      "significance": "ARCHITECTURAL",
      "prior_id": "ADR-050",
      "prior_status": "ACCEPTED",
      "prior_original_sha": "sha-050",
      "prior_current_sha": "sha-050",
      "candidate_id": "ADR-051",
      "candidate_status": "REJECTED",
      "candidate_supersedes": "ADR-050",
      "alternatives": [
        "relational tables",
        "object storage"
      ],
      "decision": "object storage",
      "consequences": [
        "cheap retention",
        "harder ad-hoc query"
      ],
      "implementation_expected": "relational tables",
      "implementation_observed": "relational tables",
      "implementation_evidence": true,
      "transfer": false
    },
    {
      "id": "transfer-integration-rebuild",
      "architectural_concern": "Replace shared-file batch exchange between Billing and Ledger with an idempotent message contract",
      "significance": "ARCHITECTURAL",
      "prior_id": "ADR-070",
      "prior_status": "SUPERSEDED",
      "prior_original_sha": "sha-070",
      "prior_current_sha": "sha-070",
      "candidate_id": "ADR-074",
      "candidate_status": "ACCEPTED",
      "candidate_supersedes": "ADR-070",
      "alternatives": [
        "shared batch file",
        "idempotent message contract",
        "synchronous RPC"
      ],
      "decision": "idempotent message contract",
      "consequences": [
        "explicit delivery contract",
        "deduplication responsibility",
        "asynchronous reconciliation"
      ],
      "implementation_expected": "idempotent message contract",
      "implementation_observed": "shared batch file",
      "implementation_evidence": false,
      "transfer": true
    }
  ]
}
