id: architecture-outcomes
version: 1.0.0
description: Sanitized source-mix cases for architectural truth, uncertainty, impact, and scanner-to-outcome reduction.
iterations: 25
cases:
  - id: repository-route
    source_mix: [code]
    repository_criticality: 3
    evaluated_at: 2026-09-01T12:05:00Z
    stale_after_seconds: 900
    evidence:
      - id: 10000000-0000-4000-8000-000000000001
        source_type: code
        provider: github
        evidence_kind: route_registration
        subject:
          key: service:checkout
          kind: service
          name: Checkout
          attributes: {owner: commerce}
        relationship_kind: calls
        object:
          key: service:identity
          kind: service
          name: Identity
          attributes: {owner: identity}
        source_ref: src/checkout/routes.ts:42
        summary: Checkout invokes the identity client from a registered route.
        content_sha256: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
        observed_at: 2026-09-01T12:00:00Z
        attributes: {protocol: https}
    candidate:
      change_id: pr-101
      origin: pull_request
      source_ref: github:example/platform#101
      entities:
        - operation: update
          key: service:checkout
    expected:
      entity_count: 2
      relationship_count: 1
      entity_keys: [service:checkout, service:identity]
      relationship_signatures: [service:checkout|calls|service:identity]
      sources: [code]
      missing_sources: [cloud, cicd]
      contradiction_count: 0
      stale_evidence_count: 0
      minimum_affected_entities: 2
    scanner_observations:
      - fingerprint: route-auth-gap
        disposition: architecturally_relevant
      - fingerprint: route-auth-gap
        disposition: architecturally_relevant
      - fingerprint: unused-dev-dependency
        disposition: not_architecturally_relevant

  - id: conflicting-cloud-boundary
    source_mix: [code, cloud]
    repository_criticality: 5
    evaluated_at: 2026-09-01T12:03:00Z
    stale_after_seconds: 900
    evidence:
      - id: 20000000-0000-4000-8000-000000000001
        source_type: code
        provider: github
        evidence_kind: service_binding
        subject:
          key: service:gateway
          kind: service
          name: Gateway
          attributes: {public: false, owner: platform}
        relationship_kind: calls
        object:
          key: service:payments
          kind: service
          name: Payments
          attributes: {data_sensitivity: restricted, owner: payments}
        source_ref: src/gateway/payments.ts:18
        summary: Gateway imports and invokes the payments client.
        content_sha256: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
        observed_at: 2026-09-01T11:01:00Z
        attributes: {public: false}
      - id: 20000000-0000-4000-8000-000000000002
        source_type: cloud
        provider: aws
        evidence_kind: api_gateway_integration
        subject:
          key: service:gateway
          kind: service
          name: Gateway
          attributes: {public: true, owner: platform}
        relationship_kind: calls
        object:
          key: service:payments
          kind: service
          name: Payments
          attributes: {data_sensitivity: restricted, owner: payments}
        source_ref: aws:api-gateway/prod/payments
        summary: A public API Gateway integration targets Payments.
        content_sha256: cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
        observed_at: 2026-09-01T12:02:00Z
        attributes: {public: true}
    candidate:
      change_id: pr-202
      origin: pull_request
      source_ref: github:example/platform#202
      relationships:
        - operation: update
          source_key: service:gateway
          target_key: service:payments
          kind: calls
          evidence_ids: [20000000-0000-4000-8000-000000000001, 20000000-0000-4000-8000-000000000002]
    expected:
      entity_count: 2
      relationship_count: 1
      entity_keys: [service:gateway, service:payments]
      relationship_signatures: [service:gateway|calls|service:payments]
      sources: [cloud, code]
      missing_sources: [cicd]
      contradiction_count: 2
      stale_evidence_count: 1
      minimum_affected_entities: 2
    scanner_observations:
      - fingerprint: public-payment-route
        disposition: architecturally_relevant
      - fingerprint: public-payment-route
        disposition: architecturally_relevant
      - fingerprint: generated-lockfile-note
        disposition: not_architecturally_relevant
      - fingerprint: missing-runtime-evidence
        disposition: needs_review

  - id: delivery-backed-service-path
    source_mix: [code, cloud, cicd]
    repository_criticality: 4
    evaluated_at: 2026-09-01T12:06:00Z
    stale_after_seconds: 900
    evidence:
      - id: 30000000-0000-4000-8000-000000000001
        source_type: code
        provider: github
        evidence_kind: service_binding
        subject:
          key: service:checkout
          kind: service
          name: Checkout
          attributes: {owner: commerce}
        relationship_kind: calls
        object:
          key: service:payments
          kind: service
          name: Payments
          attributes: {owner: payments}
        source_ref: src/checkout/payments.ts:25
        summary: Checkout invokes Payments through a typed client.
        content_sha256: dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
        observed_at: 2026-09-01T12:03:00Z
        attributes: {protocol: https}
      - id: 30000000-0000-4000-8000-000000000002
        source_type: cloud
        provider: aws
        evidence_kind: datastore_policy
        subject:
          key: service:payments
          kind: service
          name: Payments
          attributes: {owner: payments}
        relationship_kind: writes
        object:
          key: data:ledger
          kind: data_store
          name: Ledger
          attributes: {data_sensitivity: restricted}
        source_ref: aws:rds/ledger/policy
        summary: The Payments role can write to the ledger datastore.
        content_sha256: eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
        observed_at: 2026-09-01T12:04:00Z
        attributes: {encrypted: true}
      - id: 30000000-0000-4000-8000-000000000003
        source_type: cicd
        provider: github-actions
        evidence_kind: deployment_binding
        subject:
          key: pipeline:payments-release
          kind: pipeline
          name: Payments release
          attributes: {owner: payments}
        relationship_kind: deploys
        object:
          key: service:payments
          kind: service
          name: Payments
          attributes: {owner: payments}
        source_ref: .github/workflows/deploy.yml:31
        summary: The protected release workflow deploys Payments.
        content_sha256: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
        observed_at: 2026-09-01T12:05:00Z
        attributes: {environment: production}
    candidate:
      change_id: pr-303
      origin: pull_request
      source_ref: github:example/platform#303
      entities:
        - operation: update
          key: service:payments
    expected:
      entity_count: 4
      relationship_count: 3
      entity_keys: [data:ledger, pipeline:payments-release, service:checkout, service:payments]
      relationship_signatures:
        - pipeline:payments-release|deploys|service:payments
        - service:checkout|calls|service:payments
        - service:payments|writes|data:ledger
      sources: [cicd, cloud, code]
      missing_sources: []
      contradiction_count: 0
      stale_evidence_count: 0
      minimum_affected_entities: 4
    scanner_observations:
      - fingerprint: payment-token-exposure
        disposition: architecturally_relevant
      - fingerprint: payment-token-exposure
        disposition: architecturally_relevant
      - fingerprint: local-example-secret
        disposition: not_architecturally_relevant
      - fingerprint: dockerfile-hardening
        disposition: needs_review
