{
  "isError" : false,
  "request" : {
    "file" : "r.ek9",
    "line" : 6,
    "mutations" : [ {
      "kind" : "add-parameter",
      "parameter" : {
        "name" : "scale",
        "type" : "Integer",
        "valueForExistingCalls" : "1"
      }
    } ]
  },
  "response" : {
    "afferent" : [ {
      "detail" : "argument list rewritten mechanically",
      "file" : "r.ek9",
      "fullyQualifiedName" : "<workspace-root>/r.ek9:20:26",
      "label" : "r.ek9:20",
      "line" : 20,
      "verdict" : "fixable"
    }, {
      "detail" : "argument list rewritten mechanically",
      "file" : "r.ek9",
      "fullyQualifiedName" : "<workspace-root>/r.ek9:21:26",
      "label" : "r.ek9:21",
      "line" : 21,
      "verdict" : "fixable"
    } ],
    "anchor" : {
      "detail" : "add scale as Integer",
      "file" : "r.ek9",
      "fullyQualifiedName" : "sig.probe::Renderer.render(org.ek9.lang::Integer)",
      "label" : "Renderer.render()",
      "line" : 6,
      "verdict" : "root"
    },
    "availableDirections" : [ "add-parameter" ],
    "callerSites" : [ "r.ek9:20", "r.ek9:21" ],
    "changeKind" : "signature",
    "contract" : [ {
      "detail" : "contract root",
      "file" : "r.ek9",
      "fullyQualifiedName" : "sig.probe::Renderer.render(org.ek9.lang::Integer)",
      "label" : "Renderer.render()",
      "line" : 6,
      "verdict" : "root"
    }, {
      "detail" : "override — signature cascades with the root",
      "file" : "r.ek9",
      "fullyQualifiedName" : "sig.probe::FancyRenderer.render(org.ek9.lang::Integer)",
      "label" : "FancyRenderer.render()",
      "line" : 11,
      "verdict" : "fixable"
    } ],
    "direction" : "add-parameter",
    "efferent" : [ ],
    "meta" : {
      "serverMs" : "<timing>"
    },
    "note" : "Read-only preview of a proposed signature change. The 'afferent' sites are exactly the call sites ek9_change_signature would rewrite; apply with ek9_change_signature using the same mutations.",
    "status" : "ok",
    "summary" : {
      "afferent" : 2,
      "contract" : 2,
      "efferent" : 0
    },
    "verdict" : "ready"
  },
  "scenario" : "add_parameter",
  "tool" : "query_signature_impact"
}
