{
  "artifact": {
    "bytes": 20127,
    "format": "json",
    "mediaType": "application/json",
    "path": "samples/states/linear/cycle-close-unmerged-pr/state.json",
    "sha256": "e0a19dac6d1319b139fb65dcd5ad73649d079f9ef0186acd32d6b07134e2b8eb"
  },
  "capabilities": {
    "limitations": [
      "GraphQL fields outside the published schema are intentionally rejected."
    ],
    "required": [
      "state.read",
      "state.load",
      "state.reset",
      "graphql.issue-mutation"
    ],
    "supportedSurface": "Stateful GraphQL teams, issues, projects, cycles, comments, initiatives, and roadmaps."
  },
  "category": "edge-case",
  "displayName": "Linear cycle close with unmerged PR",
  "entityCounts": {
    "collections": {
      "attachments": 1,
      "comments": 3,
      "customViews": 0,
      "cycles": 1,
      "documents": 0,
      "favorites": 0,
      "initiativeProjects": 0,
      "initiatives": 0,
      "issueRelations": 0,
      "issues": 9,
      "issueTemplates": 0,
      "labels": 4,
      "notifications": 0,
      "organization": 0,
      "projects": 1,
      "roadmaps": 0,
      "teams": 1,
      "users": 4,
      "workflowStates": 6
    },
    "total": 30
  },
  "environmentId": "linear",
  "expectedDiff": {
    "changedPathsInclude": [
      "comments"
    ],
    "exact": false,
    "notes": "Hosted promotion must observe every listed path after the provider-native mutation; dynamic provider ids and timestamps are excluded from exact matching."
  },
  "expectedFirstRead": {
    "body": {
      "query": "query CycleCloseIssue($id: String!) { issue(id: $id) { id identifier title completedAt state { id name type } cycle { id name number } attachments { nodes { id title subtitle url } pageInfo { hasNextPage endCursor } } comments { nodes { id body createdAt } pageInfo { hasNextPage endCursor } } } }",
      "variables": {
        "id": "BE-445"
      }
    },
    "expectedStatus": [
      200
    ],
    "method": "POST",
    "operationId": "getCycleCloseIssueWithPullRequest",
    "path": "/graphql",
    "transport": "provider-rest"
  },
  "id": "linear.cycle-close-unmerged-pr.v1",
  "provenance": {
    "authoredBy": "archal",
    "kind": "authored",
    "sanitizationNotes": [
      "Replaced 4 credential-shaped or non-example email value(s).",
      "Replacement paths: users.0.email (email-domain), users.1.email (email-domain), users.2.email (email-domain), users.3.email (email-domain)"
    ],
    "sourcePath": "clones/linear/seeds/cycle-close-unmerged-pr.json",
    "sourceSha256": "5905a26bde0b19991af17a8a3ffebc509386ee546fb0bc0811beed5a587f857b",
    "transformationNotes": [
      "Constructed by the exact reviewed profile linear.cycle-close-unmerged-pr.",
      "Selected and amended records from the pinned clones/linear/seeds/cycle-close-unmerged-pr.json fixture without changing that historical source.",
      "Validated against the scenario proof, first-read prerequisites, mutation prerequisites, and declared relationship closure.",
      "Canonicalized object-key ordering for byte-stable public output."
    ]
  },
  "purpose": "Inspect a completed-looking issue with an explicitly open GitHub pull request, then record the release-blocking cycle-close decision.",
  "qualification": {
    "candidate": {
      "basis": "catalog-admission",
      "status": "passed"
    },
    "certification": {
      "evidencePath": null,
      "lastHostedVerificationAt": null,
      "runtimeBundleDigest": null,
      "sourceCommit": null,
      "status": "unknown"
    },
    "isolation": {
      "lastVerifiedAt": null,
      "status": "unknown"
    },
    "reset": {
      "expected": "restores-loaded-sample",
      "lastVerifiedAt": null,
      "status": "unknown"
    },
    "validation": {
      "checks": [
        "artifact-hash",
        "historical-source-lock",
        "state-contract",
        "scenario-semantics",
        "relationship-closure",
        "secret-scan",
        "size-limit"
      ],
      "status": "passed",
      "validator": "archal.environment-samples.v1"
    }
  },
  "representativeMutation": {
    "body": {
      "query": "mutation CycleCloseDecision($input: CommentCreateInput!) { commentCreate(input: $input) { success comment { id body } } }",
      "variables": {
        "input": {
          "body": "Cycle-close decision: keep BE-445 marked complete for reporting, but block the release until GitHub pull request #206 is merged.",
          "issueId": "BE-445"
        }
      }
    },
    "expectedStatus": [
      200
    ],
    "method": "POST",
    "operationId": "createCycleCloseDecisionComment",
    "path": "/graphql",
    "transport": "provider-rest"
  },
  "schema": "archal.environment-sample",
  "schemaVersion": 1,
  "slug": "cycle-close-unmerged-pr",
  "stateContract": {
    "format": "json",
    "schema": "archal.environment-state.linear",
    "version": 1
  }
}
