{
  "schema": "varexis-public-evidence-record/0.3",
  "generated_at_utc": "2026-10-29T01:09:39.613311Z",
  "record_id": "VXI-EXT-ICE05-GITLAB-DOWNSTREAM-ACTOR-PERMISSION-01-v1",
  "record_kind": "external_reference",
  "title": "GitLab downstream pipeline initiating-user permission",
  "system": "GitLab",
  "evidence_family": "vendor_evidence_review",
  "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
  "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
  "canonical_question": "Does a successful upstream GitLab pipeline prove that its user may start a downstream project pipeline?",
  "near_questions": [
    "Can an upstream pipeline user start the target project pipeline?",
    "Why can a GitLab downstream trigger fail despite upstream success?",
    "What permission evidence is needed for multi-project execution?",
    "Does upstream project access authorize downstream execution?"
  ],
  "supported_claims": [
    {
      "claim": "For multi-project pipelines, GitLab requires the user creating the upstream pipeline to be able to start pipelines in the downstream project. A trigger job can fail when that user lacks the required permission.",
      "reliance": "DOCUMENTED_CAPABILITY_ONLY"
    }
  ],
  "not_demonstrated_claims": [
    "Check the initiating user and target-ref access before relying on downstream creation. Upstream success alone does not establish cross-project authority.",
    "Buyer implementation, live runtime enforcement, settled payment, certification or permission to act are not established.",
    "No expanded capabilities or licences for existing INDEX executables."
  ],
  "public_summary": "For multi-project pipelines, GitLab requires the user creating the upstream pipeline to be able to start pipelines in the downstream project. A trigger job can fail when that user lacks the required permission.",
  "related_record_ids": [],
  "source_review": {
    "source_type": "official_external_documentation",
    "source_title": "GitLab: Downstream pipelines",
    "source_url": "https://docs.gitlab.com/ci/pipelines/downstream_pipelines/",
    "checked_on": "2026-10-29",
    "candidate_record_id": "VXI-EXT-ICE05-GITLAB-DOWNSTREAM-ACTOR-PERMISSION-01-v1",
    "candidate_record_sha256": "d2a096175b7d499ba2d99e9bbe368eb1363ed6c8aff354561f593f6ac3340f7c",
    "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": "For multi-project pipelines, GitLab requires the user creating the upstream pipeline to be able to start pipelines in the downstream project. A trigger job can fail when that user lacks the required permission.",
    "required_buyer_context": "Upstream pipeline and initiating user; Downstream project; Applicable protected-ref restrictions; Trigger-job result. Buyer deployment not 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-29",
    "claim_to_check": "Does a successful upstream GitLab pipeline prove that its user may start a downstream project pipeline?",
    "documented_statement": {
      "status": "documented",
      "statement": "For multi-project pipelines, GitLab requires the user creating the upstream pipeline to be able to start pipelines in the downstream project. A trigger job can fail when that user lacks the required permission.",
      "source_ids": [
        "gitlab-downstream"
      ]
    },
    "review_inference": {
      "status": "review_inference",
      "statement": "Review gitlab downstream pipeline initiating-user permission before accepting the buyer claim. The prior record addresses API token allowlisting. This decision binds a pipeline-to-pipeline creation attempt to its initiating user and target project rather than to a generic allowlist. This is a documentation-review judgment, not an observed deployment outcome.",
      "source_ids": [
        "gitlab-downstream"
      ]
    },
    "buyer_evidence_required": [
      "Upstream pipeline and initiating user",
      "Downstream project",
      "Applicable protected-ref restrictions",
      "Trigger-job result"
    ],
    "review_condition": {
      "status": "varexis_review_policy",
      "statement": "Check the initiating user and target-ref access before relying on downstream creation. Upstream success alone does not establish cross-project authority."
    },
    "unknowns": "Buyer configuration, effective authority, complete usage and final business outcomes were not inspected.",
    "unknown_finding": {
      "status": "unknown",
      "statement": "Buyer configuration, effective authority, complete usage and final business outcomes were not inspected."
    },
    "evidence_sources": [
      {
        "source_id": "gitlab-downstream",
        "url": "https://docs.gitlab.com/ci/pipelines/downstream_pipelines/",
        "final_url": "https://docs.gitlab.com/ci/pipelines/downstream_pipelines/",
        "captured_at_utc": "2026-10-29T00:50:19.883596+00:00",
        "status": 200,
        "content_type": "text/html; charset=utf-8",
        "bytes": 141881,
        "sha256": "49bc72d77d1076f4d965f038eeb4e5aec173fa508a14a39f0358a5cca49f8cbc",
        "title": "GitLab: Downstream pipelines",
        "hash_basis": "SHA-256 of captured HTTP response body bytes",
        "checked_on": "2026-10-29",
        "capture_status": 200,
        "claim_review_completed": true,
        "reviewed_sections": [
          "Multi-project pipelines",
          "Trigger a downstream pipeline from a job in the .gitlab-ci.yml file",
          "Pass a predefined variable",
          "Pass CI/CD variables to a downstream pipeline",
          "Control what type of variables to forward to downstream pipelines",
          "Fetch artifacts from an upstream merge request pipeline"
        ],
        "version_context": "Rolling official documentation captured 2026-10-29; exact response hash is pinned, not a stable vendor release. Verify the deployed API/version and account feature availability. ",
        "rights_review": "Original factual paraphrase and attributed source metadata only. Captured documentation and code remain private; no source prose, examples, images or vendor marks are redistributed. No licence to vendor software or buyer assurance is granted."
      }
    ],
    "observed_deployment": false,
    "commercial_reliance_boundary": "Source documentation supports only the stated boundary. Existing licensed checkers analyse supported supplied declarations; they do not query these providers, verify live systems, settle payments or certify compliance.",
    "paid_value": {
      "decision_context": "Review gitlab downstream pipeline initiating-user permission before accepting the buyer claim. The prior record addresses API token allowlisting. This decision binds a pipeline-to-pipeline creation attempt to its initiating user and target project rather than to a generic allowlist.",
      "free": "Complete review, practical questions, source references and limitations; freely accessible and locally saveable.",
      "single_request": "Unavailable for this publication-only record; historical saved retrieval remains unchanged.",
      "evidence_receipt": "Unavailable for this publication-only record; no new paid retrieval entitlement.",
      "excluded": [
        "Fresh vendor research",
        "Live provider inspection",
        "Runtime enforcement or certification",
        "Expanded executable schemas or licences",
        "Native Coupa, Stripe Issuing, GitLab or Sigstore validation"
      ],
      "integrity": "Hashes identify content versions; they do not prove truth or provide a signature."
    },
    "revalidation": {
      "trigger": "Recheck the source and applicable API, account and configuration before current reliance. No monitoring or fresh research is included.",
      "specific_watch": "Multi-project pipelines"
    },
    "buyer_relevance": "Review gitlab downstream pipeline initiating-user permission before accepting the buyer claim. The prior record addresses API token allowlisting. This decision binds a pipeline-to-pipeline creation attempt to its initiating user and target project rather than to a generic allowlist.",
    "refusal_conditions": [
      "Check the initiating user and target-ref access before relying on downstream creation. Upstream success alone does not establish cross-project authority.",
      "Do not infer buyer deployment conformance or successful business outcomes from source documentation."
    ]
  },
  "niche": {
    "niche_id": "ice05-governance",
    "label": "Agent Governance & Policy Boundaries",
    "classification_id": "governance",
    "classification_label": "Agent Governance & Policy Boundaries",
    "topic_id": "governance",
    "buyer_intent": "Review gitlab downstream pipeline initiating-user permission before accepting the buyer claim. The prior record addresses API token allowlisting. This decision binds a pipeline-to-pipeline creation attempt to its initiating user and target project rather than to a generic allowlist.",
    "comparison_role": "supplementary_discovery"
  },
  "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-downstream-actor-permission",
  "machine_readable_record": "/varexis-index/records/gitlab-downstream-actor-permission.json"
}
