PBSOI Semantic Diff v0.7

Base: /tmp/pbsio_git_v2mudpqn/base_snapshot
Target: /tmp/pbsio_git_v2mudpqn/head_snapshot
1
Semantic events
0
Dependencies Δ
0
Calls Δ
1
State writers Δ
0
Effects Δ
0
Motifs Δ
0
Findings Δ
0
Exceptions Δ
1
Impact targets Δ

Semantic events

SeverityKindChangeBasis
mediumstate_writer_addedState writer added: root → app:global:STATEwrites_state relation

Impact breadth changes

Impact Δ is bounded review-scope change, not defect truth.

TargetΔ breadthBeforeAfterVector Δ
app.py::root+022{"affected_motifs": 0, "boundary_touchpoints": 0, "data_sinks": 0, "direct_callees": 0, "direct_callers": 0, "effect_touchpoints": 0, "likely_tests": 0, "local_data_values": 0, "phi_nodes": 0, "review_files": 0, "state_coupled_functions": 0, "state_regions_read": 0, "state_regions_written": 1, "transitive_downstream": 0, "transitive_upstream": 0}

File content identity

Hash changes are content evidence and are intentionally separate from semantic changes.

FileBase SHATarget SHABytes Δ
app.py560166b77cd43c6d670579bf0e44+42

Possible rename / move candidates

Only unique exact normalized function-shape matches are shown; these remain inferred candidates.

FromToConfidenceBasis
No conservative rename/move candidate.
{
  "version": "semantic-diff-0.5",
  "definition": "Semantic diff compares normalized program identities and relations rather than source line positions. File hashes are reported separately as content change evidence.",
  "base": {
    "root": "/tmp/pbsio_git_v2mudpqn/base_snapshot",
    "analyzer_version": "0.7.0",
    "metrics": {
      "loaded_files": 2,
      "nodes": 9,
      "edges": 12,
      "node_types": {
        "file": 2,
        "function": 3,
        "data_value": 2,
        "data_sink": 2
      },
      "edge_types": {
        "contains": 3,
        "imports": 1,
        "defines": 2,
        "contains_data": 2,
        "returns_value": 2,
        "calls": 2
      },
      "resolved_local_calls": 2,
      "boundary_calls": 0,
      "findings_by_category": {},
      "findings_by_severity": {},
      "motif_instances": 0,
      "motif_clusters": 1,
      "data_values": 2,
      "phi_nodes": 0,
      "data_edges": 4,
      "alias_edges": 0,
      "state_regions": 0,
      "state_reads": 0,
      "state_writes": 0,
      "module_binding_reads": 0,
      "exception_handlers": 0,
      "explicit_raises": 0,
      "unresolved_local_uses": 0,
      "warnings": 0
    }
  },
  "target": {
    "root": "/tmp/pbsio_git_v2mudpqn/head_snapshot",
    "analyzer_version": "0.7.0",
    "metrics": {
      "loaded_files": 2,
      "nodes": 10,
      "edges": 13,
      "node_types": {
        "file": 2,
        "function": 3,
        "data_value": 2,
        "data_sink": 2,
        "state_region": 1
      },
      "edge_types": {
        "contains": 3,
        "imports": 1,
        "defines": 2,
        "contains_data": 2,
        "returns_value": 2,
        "writes_state": 1,
        "calls": 2
      },
      "resolved_local_calls": 2,
      "boundary_calls": 0,
      "findings_by_category": {},
      "findings_by_severity": {},
      "motif_instances": 0,
      "motif_clusters": 1,
      "data_values": 2,
      "phi_nodes": 0,
      "data_edges": 4,
      "alias_edges": 0,
      "state_regions": 1,
      "state_reads": 0,
      "state_writes": 1,
      "module_binding_reads": 0,
      "exception_handlers": 0,
      "explicit_raises": 0,
      "unresolved_local_uses": 0,
      "warnings": 0
    }
  },
  "summary": {
    "files_added": 0,
    "files_removed": 0,
    "files_modified": 1,
    "entities_added": 0,
    "entities_removed": 0,
    "dependencies_added": 0,
    "dependencies_removed": 0,
    "calls_added": 0,
    "calls_removed": 0,
    "state_readers_added": 0,
    "state_readers_removed": 0,
    "state_writers_added": 1,
    "state_writers_removed": 0,
    "effects_added": 0,
    "effects_removed": 0,
    "motifs_added": 0,
    "motifs_removed": 0,
    "findings_added": 0,
    "findings_resolved": 0,
    "exception_structures_added": 0,
    "exception_structures_removed": 0,
    "impact_targets_changed": 1,
    "possible_renames_or_moves": 0,
    "semantic_events": 1
  },
  "changes": {
    "files": {
      "added": [],
      "removed": [],
      "modified": [
        {
          "path": "app.py",
          "base_sha256": "560166b77cd43c77cae914e7ef4ad8d1ff557a0a7e0076a2ddbf2239a77cea91",
          "target_sha256": "6d670579bf0e44902404f4a0a7151530bbbd16383d487c1cdfe32f03149bf2e2",
          "base_bytes": 63,
          "target_bytes": 105
        }
      ]
    },
    "entities": {
      "added": [],
      "removed": []
    },
    "relations": {
      "calls": {
        "added": [],
        "removed": []
      },
      "effect": {
        "added": [],
        "removed": []
      },
      "imports": {
        "added": [],
        "removed": []
      },
      "reads_state": {
        "added": [],
        "removed": []
      },
      "writes_state": {
        "added": [
          {
            "type": "writes_state",
            "source": {
              "id": "fn_4e3d7579479d3d25",
              "type": "function",
              "label": "root",
              "symbol": "root",
              "path": "app.py",
              "module": "app",
              "status": "observed",
              "confidence": 1.0
            },
            "target": {
              "id": "state_region_d16f19327ec1ba10",
              "type": "state_region",
              "label": "app:global:STATE",
              "region_kind": "module_global",
              "status": "observed",
              "confidence": 0.95
            },
            "resolution": null,
            "status": "observed",
            "confidence": 0.95,
            "callee": null,
            "evidence": {
              "path": "app.py",
              "line": 8,
              "end_line": 8,
              "source_hash": "6d670579bf0e44902404f4a0a7151530bbbd16383d487c1cdfe32f03149bf2e2",
              "source_kind": "code"
            }
          }
        ],
        "removed": []
      }
    },
    "motifs": {
      "added": [],
      "removed": []
    },
    "findings": {
      "added": [],
      "resolved": []
    },
    "exceptions": {
      "added": [],
      "removed": []
    },
    "impact": {
      "changed": [
        {
          "id": "fn_4e3d7579479d3d25",
          "type": "function",
          "path": "app.py",
          "symbol": "root",
          "depth": 3,
          "base_review_breadth": 2,
          "target_review_breadth": 2,
          "review_breadth_delta": 0,
          "vector_delta": {
            "affected_motifs": 0,
            "boundary_touchpoints": 0,
            "data_sinks": 0,
            "direct_callees": 0,
            "direct_callers": 0,
            "effect_touchpoints": 0,
            "likely_tests": 0,
            "local_data_values": 0,
            "phi_nodes": 0,
            "review_files": 0,
            "state_coupled_functions": 0,
            "state_regions_read": 0,
            "state_regions_written": 1,
            "transitive_downstream": 0,
            "transitive_upstream": 0
          },
          "base_vector": {
            "direct_callers": 1,
            "direct_callees": 1,
            "transitive_upstream": 1,
            "transitive_downstream": 1,
            "state_regions_read": 0,
            "state_regions_written": 0,
            "state_coupled_functions": 0,
            "boundary_touchpoints": 0,
            "effect_touchpoints": 0,
            "affected_motifs": 0,
            "review_files": 2,
            "local_data_values": 2,
            "phi_nodes": 0,
            "data_sinks": 1,
            "likely_tests": 1
          },
          "target_vector": {
            "direct_callers": 1,
            "direct_callees": 1,
            "transitive_upstream": 1,
            "transitive_downstream": 1,
            "state_regions_read": 0,
            "state_regions_written": 1,
            "state_coupled_functions": 0,
            "boundary_touchpoints": 0,
            "effect_touchpoints": 0,
            "affected_motifs": 0,
            "review_files": 2,
            "local_data_values": 2,
            "phi_nodes": 0,
            "data_sinks": 1,
            "likely_tests": 1
          }
        }
      ],
      "meta": {
        "evaluated": 3,
        "candidate_count": 3,
        "cap": 500,
        "truncated": false,
        "depth": 3
      }
    },
    "possible_renames_or_moves": []
  },
  "semantic_events": [
    {
      "kind": "state_writer_added",
      "severity": "medium",
      "message": "State writer added: root → app:global:STATE",
      "basis": "writes_state relation",
      "payload": {
        "type": "writes_state",
        "source": {
          "id": "fn_4e3d7579479d3d25",
          "type": "function",
          "label": "root",
          "symbol": "root",
          "path": "app.py",
          "module": "app",
          "status": "observed",
          "confidence": 1.0
        },
        "target": {
          "id": "state_region_d16f19327ec1ba10",
          "type": "state_region",
          "label": "app:global:STATE",
          "region_kind": "module_global",
          "status": "observed",
          "confidence": 0.95
        },
        "resolution": null,
        "status": "observed",
        "confidence": 0.95,
        "callee": null,
        "evidence": {
          "path": "app.py",
          "line": 8,
          "end_line": 8,
          "source_hash": "6d670579bf0e44902404f4a0a7151530bbbd16383d487c1cdfe32f03149bf2e2",
          "source_kind": "code"
        }
      }
    }
  ],
  "epistemic_boundary": {
    "observed": [
      "per-file content hash change",
      "source-derived entity presence",
      "normalized import/call/state/effect relations",
      "detector findings"
    ],
    "strongly_inferred": [
      "motif membership",
      "bounded Impact Engine breadth change",
      "unique normalized-shape rename/move candidate"
    ],
    "unresolved": [
      "behavioral equivalence outside the analyzed static subset",
      "dynamic dispatch/reflection/native effects",
      "whether an added semantic relation changes user-visible behavior",
      "rename/move candidates when structural signatures are ambiguous"
    ]
  }
}

Epistemic boundary

Observed: normalized source-derived entities/relations and file content hashes.

Strongly inferred: motifs, bounded impact changes, conservative rename/move candidates.

Unresolved: runtime-only behavior, reflection/native code, and whether a semantic relation change alters user-visible behavior.