{
  "schema": "varexis-public-evidence-record/0.3",
  "generated_at_utc": "2026-10-16T13:36:43.315Z",
  "record_id": "VXI-EXT-PROCUREMENT-GITLAB-DEPLOY-APPROVAL-01-v1",
  "record_kind": "external_reference",
  "title": "GitLab deployment: Approval and execution are distinct",
  "system": "GitLab",
  "evidence_family": "vendor_evidence_review",
  "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
  "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
  "canonical_question": "Does an approved GitLab deployment mean the deployment job has run?",
  "near_questions": [
    "Does approving a deployment start the job?",
    "Must the approved job be run manually?",
    "Can the pipeline triggerer approve it?",
    "Can an administrator approve the deployment?",
    "How many approvals are required?",
    "Can one person satisfy multiple groups?",
    "What if the sole approver loses access?",
    "Which environment is protected?",
    "Which job consumed the approval?",
    "Has the job actually completed successfully?",
    "What proves the resulting environment version?",
    "Can I save the approval-versus-release boundary?"
  ],
  "supported_claims": [
    {
      "claim": "Protected-environment approvals allow a deployment to proceed, but the job must then be run manually. Pipeline-triggerer self-approval is separately configurable, and administrators can approve or reject deployments. Approval state is not execution success or proof of the resulting environment.",
      "reliance": "DOCUMENTED_CAPABILITY_ONLY"
    }
  ],
  "not_demonstrated_claims": [
    "Verified buyer configuration or effective access rights",
    "Independent execution, completeness or security testing",
    "Vendor certification, legal compliance or guaranteed suitability"
  ],
  "public_summary": "Protected-environment approvals allow a deployment to proceed, but the job must then be run manually. Pipeline-triggerer self-approval is separately configurable, and administrators can approve or reject deployments. Approval state is not execution success or proof of the resulting environment.",
  "related_record_ids": [],
  "source_review": {
    "source_type": "official_external_documentation",
    "source_title": "GitLab deployment approvals",
    "source_url": "https://docs.gitlab.com/ci/environments/deployment_approvals/",
    "checked_on": "2026-10-16",
    "candidate_record_id": "VXI-EXT-PROCUREMENT-GITLAB-DEPLOY-APPROVAL-01-v1",
    "candidate_record_sha256": "dfab38114788123c32ba2cf7e4d60c47831dc35639cc8848590d963e89a05840",
    "method": "Primary documentation reviewed for the published bounded statement.",
    "deployment_tested_by_varexis": false,
    "revalidation": "The delivered snapshot preserves the review date shown. Recheck current primary documentation and deployment context before relying on present applicability; payment does not trigger fresh research."
  },
  "answer_policy": {
    "classification": "DOCUMENTED_WITH_DEPLOYMENT_BOUNDARY",
    "bounded_answer": "Protected-environment approvals allow a deployment to proceed, but the job must then be run manually. Pipeline-triggerer self-approval is separately configurable, and administrators can approve or reject deployments. Approval state is not execution success or proof of the resulting environment.",
    "required_buyer_context": "Protected environment, approval rules, identities and job outcome. Effective configuration and dated operational evidence have not been inspected.",
    "missing_evidence": "A broader claim needs evidence matching the intended use. Payment does not upgrade the evidence state."
  },
  "private_boundary": "Raw logs, thresholds, private paths, source code, protected mechanisms and reconstruction-level details are excluded from public and paid delivery.",
  "decision_profile": {
    "schema": "varexis-vendor-evidence-review/1",
    "review_status": "documentation_review_only",
    "checked_on": "2026-10-16",
    "claim_to_check": "Approved deployment status proves successful release to the environment.",
    "documented_statement": {
      "status": "documented",
      "statement": "Protected-environment approvals allow a deployment to proceed, but the job must then be run manually. Pipeline-triggerer self-approval is separately configurable, and administrators can approve or reject deployments. Approval state is not execution success or proof of the resulting environment.",
      "source_ids": [
        "gitlab-deploy"
      ]
    },
    "buyer_evidence_required": [
      "Environment approval rules and approver identities.",
      "Job execution and completion status.",
      "Resulting deployment identity and environment evidence."
    ],
    "review_condition": {
      "status": "varexis_review_policy",
      "statement": "Keep authorization, execution and environment verification as separate evidence."
    },
    "unknowns": "The buyer configuration, contract, effective entitlement and operational evidence have not been inspected. Missing evidence does not establish absence or failure of the feature.",
    "evidence_sources": [
      {
        "source_id": "gitlab-deploy",
        "url": "https://docs.gitlab.com/ci/environments/deployment_approvals/",
        "final_url": "https://docs.gitlab.com/ci/environments/deployment_approvals/",
        "title": "GitLab deployment approvals",
        "checked_on": "2026-10-16",
        "sha256": "18851926529b90238ecd13d3cb46c210568b6a7d8203300df4b26de5f1fb7b18",
        "bytes": 42168
      }
    ],
    "observed_deployment": false,
    "commercial_reliance_boundary": "Procurement evidence support only; no supplier clearance, legal conclusion, configuration audit or verification of the buyer's claim is supplied.",
    "paid_value": {
      "decision_context": "Save a release-review record that does not confuse approval with delivery.",
      "free": "Complete review, practical questions, sources and limitations; may be saved locally.",
      "single_request": "Existing server-saved version-bound route snapshot for later authenticated retrieval.",
      "evidence_receipt": "The same snapshot plus the existing unsigned delivery receipt.",
      "excluded": [
        "Fresh vendor research",
        "Continuous monitoring or change alerts",
        "Testing the buyer configuration",
        "Private evidence or vendor certification"
      ],
      "integrity": "Hashes identify content versions; they do not prove truth or provide a signature."
    },
    "revalidation": {
      "trigger": "A saved purchase does not recheck the source or buyer configuration.",
      "specific_watch": "Protected environment, approval rules, identities and job outcome."
    }
  },
  "paid_access_note": "The full published answer and boundaries are free. Paid access saves the selected route and source versions, with an unsigned receipt when purchased. Preview coverage before paying. Fresh research, bespoke assessment and protected evidence are excluded.",
  "service_route": {
    "request_guide": "/varexis-index/request.html",
    "request_workflow": "/varexis-index/request-workflow.json",
    "service_id": "single_request",
    "service_routes_url": "/varexis-index/service-routes.json",
    "payment_required": true,
    "availability_endpoint": "/api/index/capabilities",
    "operational_status": "AUTOMATIC_SERVICE_CAPABILITIES_GATED",
    "checkout_url": "/index-access"
  },
  "authority_boundary": "VAREXIS-INDEX informs evidence reliance. It does not provide advice, certification, deployment authority, security assurance, production approval, or guarantee.",
  "human_page": "/varexis-index/catalog.html#gitlab-deployment-approval-not-job-completion",
  "machine_readable_record": "/varexis-index/records/gitlab-deployment-approval-not-job-completion.json"
}
