{
  "evidence_id": "ev_ecf60925bc76e73d50243b38ac9de92e6e116e7442a940b9348011f67f63138c",
  "subject": null,
  "provider": {
    "id": "rea-javascript-application-workflows",
    "name": "REA JavaScript application workflows",
    "version": "1"
  },
  "analysis_profile": null,
  "predicate_type": "rea.javascript-semantic-trace",
  "operation": "trace_javascript_semantics",
  "parameters": {
    "application_evidence_id": "ev_ac560e41c15e0c56b608c5a31675159f590a5cadff7cdb57cfe468c101e1c3be",
    "query": {
      "seed": {
        "kind": "property",
        "name": "prepareForProcessingItemType"
      },
      "direction": "callers",
      "include_ambiguous_dynamic_edges": false,
      "expected": null
    }
  },
  "raw_result": null,
  "normalized_result": {
    "query_id": "jsrq_98ad50d13a44a8d5a3066452bb276e1cedf08f1027edd5886637103e17f5a645",
    "source_graph_id": "jsrg_a5a492795c4285423fb4bbe552e1806abdde3e9b19fdf0545b722ed4ba64d2ae",
    "seed": {
      "kind": "property",
      "name": "prepareForProcessingItemType"
    },
    "direction": "callers",
    "status": "found",
    "seed_node_ids": [
      "jsrg_node_4980ce7b6349ae3f5e298bb9b98543f698b1eea832fc5f840df392a3bef960e0"
    ],
    "evidence_contexts": [
      {
        "authority": "ast-static-analysis",
        "state": "observed",
        "confidence": "exact",
        "artifact": {
          "available": true,
          "artifact_id": "art_83ff97f8643f2784266d9e639d4f444af25e91b7f67c5660c3c52f5a4de74d10",
          "sha256": "83ff97f8643f2784266d9e639d4f444af25e91b7f67c5660c3c52f5a4de74d10"
        },
        "extractor": {
          "name": "rea-javascript-semantic-analysis",
          "version": "1",
          "operation": "analyze_javascript_application",
          "executable_sha256": null
        },
        "coverage": {
          "status": "complete",
          "truncated": false,
          "omitted_count": 0,
          "limits": []
        },
        "limitations": [],
        "evidence_ids": [],
        "context_id": "jsrg_evidence_8317a6aa4ee25a3f044f9b24f124a12abaff2f29e684e3ff29dd26695c3a717b"
      }
    ],
    "nodes": [
      {
        "kind": "property-slot",
        "identity": {
          "artifact_sha256": "83ff97f8643f2784266d9e639d4f444af25e91b7f67c5660c3c52f5a4de74d10",
          "module_path": "service.js",
          "source_range": null,
          "role_key": "property:[\"scope:function:6288:9170:binding:w\",[\"prepareForProcessingItemType\"]]"
        },
        "function_node_id": "jsrg_node_18ca76d56a5cfa6e7c2e253687aa9a791300227bab89bb04b73e0ba5f08115a4",
        "application_node_ids": [
          "jag_node_e4a2a36eb824c623c4071ec410e00c72293e82a425ed519f9c5c62863c5c54d3"
        ],
        "label": "prepareForProcessingItemType",
        "properties": {
          "name": "prepareForProcessingItemType",
          "property_path": [
            "prepareForProcessingItemType"
          ],
          "property_pointer": "/prepareForProcessingItemType",
          "object_binding_id": "scope:function:6288:9170:binding:w",
          "presence": "unknown-coverage",
          "value_status": "unknown",
          "value_coverage": null
        },
        "evidence": {
          "context_id": "jsrg_evidence_8317a6aa4ee25a3f044f9b24f124a12abaff2f29e684e3ff29dd26695c3a717b",
          "location": {
            "available": true,
            "value": {
              "kind": "artifact-path",
              "path": "service.js"
            }
          }
        },
        "node_id": "jsrg_node_4980ce7b6349ae3f5e298bb9b98543f698b1eea832fc5f840df392a3bef960e0"
      }
    ],
    "relations": [],
    "unknowns": [],
    "expected_match_node_ids": [],
    "summary": {
      "total_seed_matches": 1,
      "traversed_nodes": 1,
      "traversed_relations": 0,
      "traversed_functions": 1,
      "traversed_modules": 1,
      "relevant_unknowns": 0
    },
    "coverage": {
      "status": "partial"
    },
    "limitations": [
      "Boundary extraction covers unshadowed JSON/global coercions plus parse and validation method candidates.",
      "Child-process extraction covers asynchronous node:child_process creation, literal argv/env/stdio options, exit/error listeners, and kill signals.",
      "Configuration extraction covers process.env, process.argv, node:fs reads, and direct logical defaults.",
      "Event extraction covers EventEmitter-style literal registrations, removals, and dispatch candidates; dynamic names remain unknown.",
      "Function fingerprints are static candidates; equal digests can remain ambiguous and do not prove behavioral equivalence.",
      "Local data flow does not claim control-flow-sensitive reaching definitions or arbitrary dynamic property resolution.",
      "Promise ownership covers explicit unshadowed Promise construction, static factories, aggregation, chaining, and await syntax only.",
      "Request extraction covers fetch, WebSocket, node:http/node:https construction, direct option fields, and exact local response consumers.",
      "Resource extraction covers built-in filesystem/network acquisition and exact local close/destroy/end handles.",
      "Semantic graph reachability is a static inference and does not prove runtime execution.",
      "The semantic graph contains static syntax observations and conservative relationship candidates; it does not claim runtime execution.",
      "Timer extraction covers global or node:timers scheduling and exact local-handle cancellation."
    ],
    "source_evidence_id": "ev_ac560e41c15e0c56b608c5a31675159f590a5cadff7cdb57cfe468c101e1c3be",
    "evidence_links": [
      "ev_ac560e41c15e0c56b608c5a31675159f590a5cadff7cdb57cfe468c101e1c3be"
    ]
  },
  "confidence": "inferred",
  "authority": "analyst-inference",
  "environment": null,
  "limitations": [
    "Artifact identity is unavailable for this observation.",
    "Boundary extraction covers unshadowed JSON/global coercions plus parse and validation method candidates.",
    "Child-process extraction covers asynchronous node:child_process creation, literal argv/env/stdio options, exit/error listeners, and kill signals.",
    "Configuration extraction covers process.env, process.argv, node:fs reads, and direct logical defaults.",
    "Event extraction covers EventEmitter-style literal registrations, removals, and dispatch candidates; dynamic names remain unknown.",
    "Function fingerprints are static candidates; equal digests can remain ambiguous and do not prove behavioral equivalence.",
    "Local data flow does not claim control-flow-sensitive reaching definitions or arbitrary dynamic property resolution.",
    "Promise ownership covers explicit unshadowed Promise construction, static factories, aggregation, chaining, and await syntax only.",
    "Request extraction covers fetch, WebSocket, node:http/node:https construction, direct option fields, and exact local response consumers.",
    "Resource extraction covers built-in filesystem/network acquisition and exact local close/destroy/end handles.",
    "Semantic graph reachability is a static inference and does not prove runtime execution.",
    "The semantic graph contains static syntax observations and conservative relationship candidates; it does not claim runtime execution.",
    "Timer extraction covers global or node:timers scheduling and exact local-handle cancellation."
  ],
  "relationship_coverage": null,
  "locations": [],
  "evidence_links": [
    "ev_ac560e41c15e0c56b608c5a31675159f590a5cadff7cdb57cfe468c101e1c3be"
  ]
}
