Skip to content

Keystone: reaching-defs is the third DDG prov value #42

Description

@rahlk

Problem

skills/designing-cldk-changes/references/canonical-schema.md documents the DDG prov value as ["ssa"] (syntactic, L3) or ["points-to"] (semantic, L4). Both codeanalyzer-python (since 1.1.1, #115) and codeanalyzer-typescript also emit ["reaching-defs"] on the L4 edges that wire statements to the parameter vertices (def → actual_in, actual_out → call site, formal_in → use, def → formal_out). Without those the statement-level DDG and the port lattice are two disconnected graphs. A consumer filtering on the documented vocabulary silently drops every one of them; codeanalyzer-python#178 was filed from exactly that reading.

Scope boundary

The keystone doc only. The analyzers already emit and document it locally (codeanalyzer-python README and analyzing-canpy-graphs vocabulary as of 1.4.1).

Goals

  • prov row in the edge table lists ssa, reaching-defs, points-to
  • One sentence on where reaching-defs sits: syntactic side of the ladder, L4 only, port wiring
  • L3/L4 DDG paragraph mentions that L4 adds both reaching-defs and points-to edges

Caveats and known risks

  • None; docs only.

Definition of done

  • The three prov values and their level appear in the keystone, and the monotonicity note still reads correctly (L4 widens the set).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions