{
  "checks": [
    {
      "details": [
        "outcome=pass",
        "derived_has_tests=True"
      ],
      "evidence_refs": [
        "portfolio-verification-checkrun"
      ],
      "id": "repo-verify:tests_present",
      "status": "passed",
      "summary": "pass: synthetic truth data reports a test suite",
      "title": "Tests Present"
    },
    {
      "details": [
        "outcome=pass",
        "cmd=pytest -q",
        "duration_s=2.5",
        "failed=0",
        "passed=12",
        "total=12"
      ],
      "evidence_refs": [
        "portfolio-verification-checkrun"
      ],
      "id": "repo-verify:tests_pass",
      "status": "passed",
      "summary": "pass: synthetic test summary exited 0",
      "title": "Tests Pass"
    },
    {
      "details": [
        "outcome=pass",
        "derived_has_ci=True"
      ],
      "evidence_refs": [
        "portfolio-verification-checkrun"
      ],
      "id": "repo-verify:ci_present",
      "status": "passed",
      "summary": "pass: synthetic truth data reports CI workflows",
      "title": "Ci Present"
    },
    {
      "details": [
        "outcome=pass",
        "conclusion=success",
        "run_url=https://github.com/example/synthetic-portfolio-repo/actions/runs/100"
      ],
      "evidence_refs": [
        "portfolio-verification-checkrun"
      ],
      "id": "repo-verify:ci_green",
      "status": "passed",
      "summary": "pass: synthetic latest default-branch workflow succeeded",
      "title": "Ci Green"
    },
    {
      "details": [
        "outcome=not_applicable",
        "derived_has_license=False"
      ],
      "evidence_refs": [
        "portfolio-verification-checkrun"
      ],
      "id": "repo-verify:license_present",
      "status": "not_checked",
      "summary": "not_applicable: no license file detected",
      "title": "License Present"
    },
    {
      "details": [
        "outcome=pass",
        "ledger_count=1"
      ],
      "evidence_refs": [
        "portfolio-verification-checkrun"
      ],
      "id": "repo-verify:claims_match",
      "status": "passed",
      "summary": "pass: one synthetic bounded claim was corroborated",
      "title": "Claims Match"
    },
    {
      "details": [
        "outcome=cannot_verify",
        "alias=synthetic.example.test",
        "limitation=No deploy alias was inspected for the synthetic fixture."
      ],
      "evidence_refs": [
        "portfolio-verification-checkrun"
      ],
      "id": "repo-verify:liveness",
      "status": "inconclusive",
      "summary": "cannot_verify: no deploy alias provided",
      "title": "Liveness"
    }
  ],
  "evidence": [
    {
      "description": "Bounded public-safe check-run payload with outcomes, counts, and limitations.",
      "digest_sha256": "9d9001feb86bc08453e763ea6bc2def5dad4bfd363078936f5cdcf2ce1f6c2af",
      "id": "portfolio-verification-checkrun",
      "kind": "json",
      "public_safe": true,
      "redaction_status": "synthetic",
      "reference": "local-public-safe-input:portfolio-verification-checkrun",
      "supports": [
        "repo-verify:tests_present",
        "repo-verify:tests_pass",
        "repo-verify:ci_present",
        "repo-verify:ci_green",
        "repo-verify:license_present",
        "repo-verify:claims_match",
        "repo-verify:liveness"
      ],
      "title": "Portfolio repository verification check-run"
    }
  ],
  "excluded_data": [
    {
      "category": "Local filesystem paths and raw logs",
      "reason": "The receipt includes bounded outcomes, counts, and short reasons only."
    },
    {
      "category": "Secrets and private configuration",
      "reason": "The check-run contract excludes credentials, token values, environment dumps, and private config."
    },
    {
      "category": "Mutable repository state",
      "reason": "The runner is read-only for target repositories and does not record unbounded working-tree detail."
    }
  ],
  "freshness": {
    "age_seconds": 7200,
    "evidence_collected_at": "2026-06-29T10:00:00Z",
    "generated_at": "2026-06-29T12:00:00Z",
    "notes": "Receipt summarizes one bounded check-run. It is not a certification and may record unknowns.",
    "status": "static_fixture"
  },
  "integrity": {
    "generator": "trust-receipt-generator 0.1.0",
    "payload_sha256": "26a7bd6f1969889f3803791e6b36f655dfa398bc08e7a8b2263bb2755b28ace4",
    "source_digests": [
      {
        "digest_sha256": "9d9001feb86bc08453e763ea6bc2def5dad4bfd363078936f5cdcf2ce1f6c2af",
        "id": "portfolio-verification-checkrun"
      }
    ]
  },
  "issued_at": "2026-06-29T12:00:00Z",
  "limitations": [
    "A receipt is not a certification, approval, or live health guarantee.",
    "External checks depend on local CLI availability, network access, and current provider state.",
    "Claims matching is limited to mechanically checkable README signals in v1.",
    "Passing checks do not prove security posture, maintainability, or release readiness."
  ],
  "producer": {
    "name": "trust-receipt-generator",
    "source_adapter": "portfolio-repo-verification/v1",
    "source_commands": [
      "trust-receipt repo-verify --input <check-run.json>"
    ],
    "version": "0.1.0"
  },
  "public_safety": {
    "included_data_policy": "Only public-safe check IDs, outcomes, bounded counts, short notes, and digest metadata are included.",
    "review_notes": [
      "Raw command output, local paths, credentials, and private repo metadata are excluded."
    ],
    "status": "synthetic"
  },
  "receipt_id": "tr_verify_synthetic_portfolio_repo",
  "reproduce": [
    {
      "command": "python3 scripts/portfolio_verify_run.py --repo-id <repo> --repo-path <repo> --repo-full-name <owner/name> --stack <stack> --truth <truth.json> --out <check-run.json>",
      "step": "Run a bounded portfolio verification check-run."
    },
    {
      "command": "trust-receipt repo-verify --input <check-run.json>",
      "step": "Generate this receipt."
    }
  ],
  "schema_version": "trust-receipt/v0.1",
  "subject": {
    "claim": "This limitation-forward receipt summarizes bounded repository checks. It is not a certification, and it can say I don't know when evidence is missing.",
    "name": "Repository verification: Synthetic Portfolio Repo Fixture",
    "public_reference": "https://github.com/example/synthetic-portfolio-repo",
    "type": "portfolio-repo-verification"
  },
  "summary": {
    "badge": {
      "color": "#b7791f",
      "label": "trust receipt",
      "message": "partial proof with gaps",
      "style": "flat"
    },
    "failed_count": 0,
    "headline": "Repository verification summarized 5 passing check(s) against truth schema 0.7.0 with visible gaps.",
    "inconclusive_count": 1,
    "not_checked_count": 1,
    "passed_count": 5,
    "verdict": "mixed"
  },
  "unverified": [
    {
      "id": "repo-verify:liveness",
      "reason": "no deploy alias provided",
      "status": "inconclusive",
      "title": "Liveness"
    }
  ]
}
