Files
REAgraph/bench/fixtures/diff/real2/graphs/base.json
T
safishamsiandClaude Opus 4.8 8c751aeb96 diff: kind-aware signature (IPC channels) + second real-app benchmark corpus
Stress-tested the signature diff on a bigger (7-module) real REA app and found one
source of false movement: an Electron IPC channel spans the main process
(ipcMain.handle) and the preload (ipcRenderer.invoke), and REA attributes the
channel node to one file or the other from run to run. Including source_file in the
signature made an untouched channel flip add/remove on every build.

Fix: rea_signature is now kind-aware. For kinds whose source attribution drifts
(_LOCATION_UNSTABLE_KINDS = {"ipc-channel"}), the signature is kind+label only (the
channel name is the stable identity); all other kinds keep kind+label+source_file.
bench_diff_quality's descriptor uses the same rule so the measured "true delta" is
the stable-identity delta. Regression test added.

Also establishes what REA's JS graph does and does not model: modules, imports,
IPC channels/handlers, endpoints, windows, assets -- NOT individual function
definitions. So a function-level rename/removal is below its node granularity and
correctly reads as no change (the diff must not hallucinate it); the
security-relevant diffs (added/removed endpoint, IPC handler, module) are detected
exactly.

Results on TWO real corpora (bench/fixtures/diff/real = first app,
bench/fixtures/diff/real2 = bigger app), both generated via examples/rea-docker:
- pure reorder / reformat / sub-granularity change -> 0 changes (was 75-80);
- added exfil endpoint, added module, removed endpoint+handler -> detected exactly;
- precision/recall/F1 = 1.00, noise_floor = 0.00, zero spurious, zero data loss.

185 tests pass.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-10-18 00:35:31 +01:00

1063 lines
39 KiB
JSON

{
"directed": true,
"multigraph": false,
"nodes": [
{
"id": "jag_node_018188ff6b66f446bc06038777b1eb4e5634b4cefe8a781dec5a004dca5b5094",
"label": "package.json",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "asar-entry",
"source_file": "package.json"
},
{
"id": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734",
"label": "src/preload.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-asset",
"source_file": "src/preload.js"
},
{
"id": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42",
"label": "src/main.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-module",
"source_file": "src/main.js"
},
{
"id": "jag_node_12c7966d91b55d116e8e73a23dc7648554dfeb9bd50263274626dc4603bbdbab",
"label": "src/cryptoutil.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-asset",
"source_file": "src/cryptoutil.js"
},
{
"id": "jag_node_22c04cd8da074e970328604fba4634ee704f70c4740e5f7b8417dae7751e4de5",
"label": "electron",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-module",
"source_file": "src/main.js"
},
{
"id": "jag_node_24007d253373a55910f1e1c91a78a9b0e7076ce8d8394bfbd7965efc8c0f7dc4",
"label": "path",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-module",
"source_file": "src/main.js"
},
{
"id": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832",
"label": "src/net.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-asset",
"source_file": "src/net.js"
},
{
"id": "jag_node_3f03f815678e82efe9d146b35a0102212ac13e89ccd5bba8f60ff60b702c03e1",
"label": "network endpoint",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "endpoint",
"source_file": "src/auth.js"
},
{
"id": "jag_node_3f5014719f442e28d5fb0c173e8a6a9d02f25ca11e954ab16b40e698a305509d",
"label": "notes:save",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "ipc-channel",
"source_file": "src/preload.js"
},
{
"id": "jag_node_43a8e1151dc8f188568f130d145069f76b8853960f6878899e29a674b8f22876",
"label": "electron",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-module",
"source_file": "src/preload.js"
},
{
"id": "jag_node_44cd75eb87e69fb3926aacd1e8d76ec65023b23c00781e77729b5c3b47495336",
"label": "src/logger.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-module",
"source_file": "src/logger.js"
},
{
"id": "jag_node_4552927e5c6665657c4bbd4298a324823363cb0352533ec864c871bb7b4946df",
"label": "package.json",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "artifact",
"source_file": "package.json"
},
{
"id": "jag_node_4695a86bd866d2b27e09660da41503169d02b7d1c67457e5026f60cdbaec79d0",
"label": "BrowserWindow@8:14-8:110",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "browser-window",
"source_file": "src/main.js"
},
{
"id": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c",
"label": "src/logger.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-asset",
"source_file": "src/logger.js"
},
{
"id": "jag_node_48d69b8f77ba7d6bb9930e5ac5c9b4850eb9fcfcd4122c3edb69201de65ff645",
"label": "notes:list",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "ipc-channel",
"source_file": "src/preload.js"
},
{
"id": "jag_node_4b0855b1f9f779658836a7764accb9ac4f12c2645c72fe3588f1ca7bff943c36",
"label": "src/auth.js:default",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-module",
"source_file": "src/auth.js"
},
{
"id": "jag_node_4c4680fc908ec952a11f4fd11b027d465452c006114bf530523ca3c805a625ca",
"label": "src/net.js:default",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-module",
"source_file": "src/net.js"
},
{
"id": "jag_node_514c970d1d5f26962e264a305c5e10254468cc429824355bea2e8ad314c4ab91",
"label": "src/cryptoutil.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "asar-entry",
"source_file": "src/cryptoutil.js"
},
{
"id": "jag_node_55529ab83216e29bca87ada4a4c9403ccd5ebc3de4f8811beb36182bad805dc5",
"label": "fs",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-module",
"source_file": "src/store.js"
},
{
"id": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c",
"label": "src/auth.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-module",
"source_file": "src/auth.js"
},
{
"id": "jag_node_5aa4f9aa27ee9bea79d2b9a601a4973b87771dbceb79938e7044600e6887e204",
"label": "src/net.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "asar-entry",
"source_file": "src/net.js"
},
{
"id": "jag_node_5e41c5d619f33a9bbe3461ab0b7ac649eb0b2f319d10dc1c048e48c95cbc49a6",
"label": "src/store.js:default",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-module",
"source_file": "src/store.js"
},
{
"id": "jag_node_5f093630c55a56a6ed03e20b07f1c3fa65b5aa6d8cceee4f44cb2512dd6dd3ff",
"label": "src/preload.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-module",
"source_file": "src/preload.js"
},
{
"id": "jag_node_67e7a03d83bce66e365c9d8f3e7f973e15b4457ffe1509e1f9e6da293571705b",
"label": "src/preload.js",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "electron-preload",
"source_file": "src/main.js"
},
{
"id": "jag_node_7003d21b5f586a1d934d356693fa158aaaeee7f1dcb0311f083bd0123b8bd4b1",
"label": "src/auth.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "asar-entry",
"source_file": "src/auth.js"
},
{
"id": "jag_node_72cf57b63cf2788c530a756d231b003eae2e1f59e908638d0ac17a4eb250624d",
"label": "notes:list",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "ipc-handler",
"source_file": "src/main.js"
},
{
"id": "jag_node_730255a76677763943a9a4368dae16b6a6cf39888017372aa1f5c0bb5f248121",
"label": "src/preload.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "asar-entry",
"source_file": "src/preload.js"
},
{
"id": "jag_node_7c7b22a506f7264dc691be495580d6db74c144d109c71578e0861f99f219579c",
"label": "electron",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-module",
"source_file": "src/preload.js"
},
{
"id": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591",
"label": "src/main.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-asset",
"source_file": "src/main.js"
},
{
"id": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec",
"label": "src/store.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-module",
"source_file": "src/store.js"
},
{
"id": "jag_node_8a6447d8142929eb8d1ad0c624d5e3a69fde94e8ccf547e9d293389b8c1b5908",
"label": "path",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-module",
"source_file": "src/main.js"
},
{
"id": "jag_node_8b10d623e5cce67dcf72f745430ff61730325177f90ec75bcc75ceb4b14477b0",
"label": "notes.list",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-expression",
"source_file": "src/preload.js"
},
{
"id": "jag_node_93e2111cffeffd1df13ae97202db54397946add55758a8408da951022714909b",
"label": "src/logger.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "asar-entry",
"source_file": "src/logger.js"
},
{
"id": "jag_node_974fc98607079b44159e4456869a6f682787779df94bd1714c94c5c5001d35ea",
"label": "src/store.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-asset",
"source_file": "src/store.js"
},
{
"id": "jag_node_9b8028a2e2ab9ab4063d59fa3bce0f3fef83a6b752e01fd0f03160c0a9f6b979",
"label": "path",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-module",
"source_file": "src/store.js"
},
{
"id": "jag_node_a0757c8d4e2bd6305a806bb4b2c80371c10c5648db9bacbc744ab758591d16cb",
"label": "src/main.js",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "electron-main",
"source_file": "package.json"
},
{
"id": "jag_node_a1a37b2c32d8bcd597a1848e998ec4e63a89412c608278617914270d5e757ecd",
"label": "electron.ipcRenderer.invoke",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-expression",
"source_file": "src/preload.js"
},
{
"id": "jag_node_a59bf04d649ee61c7a6a2d40847354650bc7d289a93ed5651b19d3cd33f9da33",
"label": "bigapp",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "package",
"source_file": "package.json"
},
{
"id": "jag_node_ad0ca050bdab919472a62f16691b12d6a28e81647a14c71d616bce563de130f5",
"label": "src/net.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-module",
"source_file": "src/net.js"
},
{
"id": "jag_node_ada50a6420d4500fab5ab4b2e94812e2cff624f6e151b0f5c49e4d42a9de4606",
"label": "crypto",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-module",
"source_file": "src/cryptoutil.js"
},
{
"id": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124",
"label": "src/auth.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-asset",
"source_file": "src/auth.js"
},
{
"id": "jag_node_b30b70ebf2d67a330909aebeeda631115df618ad7dd92596d3b4925072b3c305",
"label": "notes",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "context-bridge-api",
"source_file": "src/preload.js"
},
{
"id": "jag_node_b914783bf9b341a3de466def6375da8f874fc13139a1b41513e272f97d5a3edd",
"label": "electron.ipcRenderer.invoke",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-expression",
"source_file": "src/preload.js"
},
{
"id": "jag_node_c14d28d7b088d361543ea9ba167138b6b90a3c11a574d0615a69e107c2687f07",
"label": "closure",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-expression",
"source_file": "src/preload.js"
},
{
"id": "jag_node_c711b9c30529239a2bf01ef9b4f53cea66e2bc0454819eaf88d9938b86e6d0d0",
"label": "crypto",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-module",
"source_file": "src/cryptoutil.js"
},
{
"id": "jag_node_d06ed74a932a834e33c5fac6b33a6804ec900a59bf7141cb13fc5573f88d6e73",
"label": "https",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-module",
"source_file": "src/net.js"
},
{
"id": "jag_node_d4c9388d979398536907ea265bf2ed603dcce273d7bf723fee4d303c9828aab7",
"label": "closure",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-expression",
"source_file": "src/preload.js"
},
{
"id": "jag_node_dac560eb4e8932b050a0237fe5193589116fa212b1ed7a3015c2eb3fc325da4f",
"label": "src/logger.js:default",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-module",
"source_file": "src/logger.js"
},
{
"id": "jag_node_e2536895e6772700682a44e9a54c98aa6335470dda00231d973f5cabe639e664",
"label": "network endpoint",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "endpoint",
"source_file": "src/net.js"
},
{
"id": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e",
"label": "artifact root",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "artifact",
"source_file": "artifact-root"
},
{
"id": "jag_node_e563efb30c01117ccf6bd3f093ccefd815d6577a9fbb635b5a19933fb8248d76",
"label": "src/store.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "asar-entry",
"source_file": "src/store.js"
},
{
"id": "jag_node_ebd023cbb0369e9a23f7bccb09b5f897d4b64549f3687da2211a10b60f5f76c6",
"label": "src/cryptoutil.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-module",
"source_file": "src/cryptoutil.js"
},
{
"id": "jag_node_f0e647c79277e9b8e2cad8e84fd9aea341aa504b69515f9ca1b9dbfb5a337ec7",
"label": "electron",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-module",
"source_file": "src/main.js"
},
{
"id": "jag_node_f2d245bdf4189bb5a54ade332fd8aac36748dcfe092c58cb2165fb062afe0525",
"label": "path",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-module",
"source_file": "src/store.js"
},
{
"id": "jag_node_f3fa58895711ec6916ee8d66f4434a379ba27bbe28634a31a5370f8bf9970534",
"label": "src/main.js",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "asar-entry",
"source_file": "src/main.js"
},
{
"id": "jag_node_f7d8bba46c14ce3471e73c706a9ea34ce8f25b58ee2e1aadaf128fb6fce4340d",
"label": "fs",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-module",
"source_file": "src/store.js"
},
{
"id": "jag_node_f90ea5262a6a8aa80018869784e01f34c349c17a9b1f686d75d2b5125ea3369b",
"label": "https",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-module",
"source_file": "src/net.js"
},
{
"id": "jag_node_fa6c12295ee70ebd239ba0a94b774191dd6926b041672270cb92f3cde0dd683c",
"label": "notes:save",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "ipc-handler",
"source_file": "src/main.js"
},
{
"id": "jag_node_fb0a75d1cfc1333c87051b9d981d3c6fcab6972f0e53ae5086cc34ab731b95f7",
"label": "src/cryptoutil.js:default",
"file_type": "code",
"confidence": "EXTRACTED",
"rea_kind": "javascript-module",
"source_file": "src/cryptoutil.js"
},
{
"id": "jag_node_fcc4699d5def6c01669354fd9429251aa3a45bdff812a4b903b48402cdcc2291",
"label": "index.html",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "electron-renderer",
"source_file": "src/main.js"
},
{
"id": "jag_node_fff24d64a64cdd18a551dbee93ace336e740c45f2f9f26c6ca5195f54f3b2563",
"label": "notes.save",
"file_type": "code",
"confidence": "INFERRED",
"rea_kind": "javascript-expression",
"source_file": "src/preload.js"
}
],
"links": [
{
"source": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832",
"target": "jag_node_ad0ca050bdab919472a62f16691b12d6a28e81647a14c71d616bce563de130f5",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_67e7a03d83bce66e365c9d8f3e7f973e15b4457ffe1509e1f9e6da293571705b",
"target": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734",
"relation": "maps_to",
"confidence": "INFERRED",
"context": "rea:maps_to"
},
{
"source": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e",
"target": "jag_node_f3fa58895711ec6916ee8d66f4434a379ba27bbe28634a31a5370f8bf9970534",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42",
"target": "jag_node_f0e647c79277e9b8e2cad8e84fd9aea341aa504b69515f9ca1b9dbfb5a337ec7",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734",
"target": "jag_node_48d69b8f77ba7d6bb9930e5ac5c9b4850eb9fcfcd4122c3edb69201de65ff645",
"relation": "invokes",
"confidence": "INFERRED",
"context": "rea:invokes"
},
{
"source": "jag_node_f3fa58895711ec6916ee8d66f4434a379ba27bbe28634a31a5370f8bf9970534",
"target": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591",
"relation": "maps_to",
"confidence": "EXTRACTED",
"context": "rea:maps_to"
},
{
"source": "jag_node_5aa4f9aa27ee9bea79d2b9a601a4973b87771dbceb79938e7044600e6887e204",
"target": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832",
"relation": "maps_to",
"confidence": "EXTRACTED",
"context": "rea:maps_to"
},
{
"source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42",
"target": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_ebd023cbb0369e9a23f7bccb09b5f897d4b64549f3687da2211a10b60f5f76c6",
"target": "jag_node_fb0a75d1cfc1333c87051b9d981d3c6fcab6972f0e53ae5086cc34ab731b95f7",
"relation": "exposes",
"confidence": "INFERRED",
"context": "rea:exposes"
},
{
"source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734",
"target": "jag_node_b30b70ebf2d67a330909aebeeda631115df618ad7dd92596d3b4925072b3c305",
"relation": "exposes",
"confidence": "INFERRED",
"context": "rea:exposes"
},
{
"source": "jag_node_018188ff6b66f446bc06038777b1eb4e5634b4cefe8a781dec5a004dca5b5094",
"target": "jag_node_4552927e5c6665657c4bbd4298a324823363cb0352533ec864c871bb7b4946df",
"relation": "maps_to",
"confidence": "EXTRACTED",
"context": "rea:maps_to"
},
{
"source": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e",
"target": "jag_node_e563efb30c01117ccf6bd3f093ccefd815d6577a9fbb635b5a19933fb8248d76",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_5f093630c55a56a6ed03e20b07f1c3fa65b5aa6d8cceee4f44cb2512dd6dd3ff",
"target": "jag_node_7c7b22a506f7264dc691be495580d6db74c144d109c71578e0861f99f219579c",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_fff24d64a64cdd18a551dbee93ace336e740c45f2f9f26c6ca5195f54f3b2563",
"target": "jag_node_d4c9388d979398536907ea265bf2ed603dcce273d7bf723fee4d303c9828aab7",
"relation": "maps_to",
"confidence": "INFERRED",
"context": "rea:maps_to"
},
{
"source": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec",
"target": "jag_node_f7d8bba46c14ce3471e73c706a9ea34ce8f25b58ee2e1aadaf128fb6fce4340d",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e",
"target": "jag_node_7003d21b5f586a1d934d356693fa158aaaeee7f1dcb0311f083bd0123b8bd4b1",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42",
"target": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec",
"target": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591",
"target": "jag_node_72cf57b63cf2788c530a756d231b003eae2e1f59e908638d0ac17a4eb250624d",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734",
"target": "jag_node_fa6c12295ee70ebd239ba0a94b774191dd6926b041672270cb92f3cde0dd683c",
"relation": "invokes",
"confidence": "INFERRED",
"context": "rea:invokes"
},
{
"source": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec",
"target": "jag_node_5e41c5d619f33a9bbe3461ab0b7ac649eb0b2f319d10dc1c048e48c95cbc49a6",
"relation": "exposes",
"confidence": "INFERRED",
"context": "rea:exposes"
},
{
"source": "jag_node_ebd023cbb0369e9a23f7bccb09b5f897d4b64549f3687da2211a10b60f5f76c6",
"target": "jag_node_c711b9c30529239a2bf01ef9b4f53cea66e2bc0454819eaf88d9938b86e6d0d0",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734",
"target": "jag_node_fff24d64a64cdd18a551dbee93ace336e740c45f2f9f26c6ca5195f54f3b2563",
"relation": "contains",
"confidence": "INFERRED",
"context": "rea:contains"
},
{
"source": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e",
"target": "jag_node_514c970d1d5f26962e264a305c5e10254468cc429824355bea2e8ad314c4ab91",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c",
"target": "jag_node_3d5606769827f12f29342e5962b213b8ae907afaa6d06d674a3159a7a2266832",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42",
"target": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec",
"target": "jag_node_55529ab83216e29bca87ada4a4c9403ccd5ebc3de4f8811beb36182bad805dc5",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_a59bf04d649ee61c7a6a2d40847354650bc7d289a93ed5651b19d3cd33f9da33",
"target": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e",
"relation": "contains",
"confidence": "INFERRED",
"context": "rea:contains"
},
{
"source": "jag_node_44cd75eb87e69fb3926aacd1e8d76ec65023b23c00781e77729b5c3b47495336",
"target": "jag_node_dac560eb4e8932b050a0237fe5193589116fa212b1ed7a3015c2eb3fc325da4f",
"relation": "exposes",
"confidence": "INFERRED",
"context": "rea:exposes"
},
{
"source": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c",
"target": "jag_node_ebd023cbb0369e9a23f7bccb09b5f897d4b64549f3687da2211a10b60f5f76c6",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42",
"target": "jag_node_974fc98607079b44159e4456869a6f682787779df94bd1714c94c5c5001d35ea",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_7003d21b5f586a1d934d356693fa158aaaeee7f1dcb0311f083bd0123b8bd4b1",
"target": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124",
"relation": "maps_to",
"confidence": "EXTRACTED",
"context": "rea:maps_to"
},
{
"source": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c",
"target": "jag_node_4b0855b1f9f779658836a7764accb9ac4f12c2645c72fe3588f1ca7bff943c36",
"relation": "exposes",
"confidence": "INFERRED",
"context": "rea:exposes"
},
{
"source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42",
"target": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c",
"target": "jag_node_44cd75eb87e69fb3926aacd1e8d76ec65023b23c00781e77729b5c3b47495336",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42",
"target": "jag_node_24007d253373a55910f1e1c91a78a9b0e7076ce8d8394bfbd7965efc8c0f7dc4",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_a59bf04d649ee61c7a6a2d40847354650bc7d289a93ed5651b19d3cd33f9da33",
"target": "jag_node_a0757c8d4e2bd6305a806bb4b2c80371c10c5648db9bacbc744ab758591d16cb",
"relation": "loads",
"confidence": "INFERRED",
"context": "rea:loads"
},
{
"source": "jag_node_e563efb30c01117ccf6bd3f093ccefd815d6577a9fbb635b5a19933fb8248d76",
"target": "jag_node_974fc98607079b44159e4456869a6f682787779df94bd1714c94c5c5001d35ea",
"relation": "maps_to",
"confidence": "EXTRACTED",
"context": "rea:maps_to"
},
{
"source": "jag_node_93e2111cffeffd1df13ae97202db54397946add55758a8408da951022714909b",
"target": "jag_node_47b97a082177472f9066d6d6f51c86e4a9d6fdfd2131bdd298de331d8907b09c",
"relation": "maps_to",
"confidence": "EXTRACTED",
"context": "rea:maps_to"
},
{
"source": "jag_node_c14d28d7b088d361543ea9ba167138b6b90a3c11a574d0615a69e107c2687f07",
"target": "jag_node_a1a37b2c32d8bcd597a1848e998ec4e63a89412c608278617914270d5e757ecd",
"relation": "calls",
"confidence": "INFERRED",
"context": "rea:calls"
},
{
"source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734",
"target": "jag_node_5f093630c55a56a6ed03e20b07f1c3fa65b5aa6d8cceee4f44cb2512dd6dd3ff",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_ad0ca050bdab919472a62f16691b12d6a28e81647a14c71d616bce563de130f5",
"target": "jag_node_f90ea5262a6a8aa80018869784e01f34c349c17a9b1f686d75d2b5125ea3369b",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e",
"target": "jag_node_730255a76677763943a9a4368dae16b6a6cf39888017372aa1f5c0bb5f248121",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e",
"target": "jag_node_5aa4f9aa27ee9bea79d2b9a601a4973b87771dbceb79938e7044600e6887e204",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_730255a76677763943a9a4368dae16b6a6cf39888017372aa1f5c0bb5f248121",
"target": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734",
"relation": "maps_to",
"confidence": "EXTRACTED",
"context": "rea:maps_to"
},
{
"source": "jag_node_514c970d1d5f26962e264a305c5e10254468cc429824355bea2e8ad314c4ab91",
"target": "jag_node_12c7966d91b55d116e8e73a23dc7648554dfeb9bd50263274626dc4603bbdbab",
"relation": "maps_to",
"confidence": "EXTRACTED",
"context": "rea:maps_to"
},
{
"source": "jag_node_ad0ca050bdab919472a62f16691b12d6a28e81647a14c71d616bce563de130f5",
"target": "jag_node_d06ed74a932a834e33c5fac6b33a6804ec900a59bf7141cb13fc5573f88d6e73",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591",
"target": "jag_node_fa6c12295ee70ebd239ba0a94b774191dd6926b041672270cb92f3cde0dd683c",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c",
"target": "jag_node_12c7966d91b55d116e8e73a23dc7648554dfeb9bd50263274626dc4603bbdbab",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_ad0ca050bdab919472a62f16691b12d6a28e81647a14c71d616bce563de130f5",
"target": "jag_node_e2536895e6772700682a44e9a54c98aa6335470dda00231d973f5cabe639e664",
"relation": "calls",
"confidence": "INFERRED",
"context": "rea:calls"
},
{
"source": "jag_node_974fc98607079b44159e4456869a6f682787779df94bd1714c94c5c5001d35ea",
"target": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e",
"target": "jag_node_018188ff6b66f446bc06038777b1eb4e5634b4cefe8a781dec5a004dca5b5094",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42",
"target": "jag_node_8a6447d8142929eb8d1ad0c624d5e3a69fde94e8ccf547e9d293389b8c1b5908",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c",
"target": "jag_node_3f03f815678e82efe9d146b35a0102212ac13e89ccd5bba8f60ff60b702c03e1",
"relation": "calls",
"confidence": "INFERRED",
"context": "rea:calls"
},
{
"source": "jag_node_d4c9388d979398536907ea265bf2ed603dcce273d7bf723fee4d303c9828aab7",
"target": "jag_node_b914783bf9b341a3de466def6375da8f874fc13139a1b41513e272f97d5a3edd",
"relation": "calls",
"confidence": "INFERRED",
"context": "rea:calls"
},
{
"source": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec",
"target": "jag_node_f2d245bdf4189bb5a54ade332fd8aac36748dcfe092c58cb2165fb062afe0525",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec",
"target": "jag_node_9b8028a2e2ab9ab4063d59fa3bce0f3fef83a6b752e01fd0f03160c0a9f6b979",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_ad0ca050bdab919472a62f16691b12d6a28e81647a14c71d616bce563de130f5",
"target": "jag_node_4c4680fc908ec952a11f4fd11b027d465452c006114bf530523ca3c805a625ca",
"relation": "exposes",
"confidence": "INFERRED",
"context": "rea:exposes"
},
{
"source": "jag_node_a0757c8d4e2bd6305a806bb4b2c80371c10c5648db9bacbc744ab758591d16cb",
"target": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591",
"relation": "maps_to",
"confidence": "INFERRED",
"context": "rea:maps_to"
},
{
"source": "jag_node_e4c00cf108d7d94e68b2745fe7097ded2b94ea68ec627ad538ed32b9639a2e9e",
"target": "jag_node_93e2111cffeffd1df13ae97202db54397946add55758a8408da951022714909b",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124",
"target": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42",
"target": "jag_node_22c04cd8da074e970328604fba4634ee704f70c4740e5f7b8417dae7751e4de5",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591",
"target": "jag_node_4695a86bd866d2b27e09660da41503169d02b7d1c67457e5026f60cdbaec79d0",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42",
"target": "jag_node_ad0ca050bdab919472a62f16691b12d6a28e81647a14c71d616bce563de130f5",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42",
"target": "jag_node_aeff0f73415f32c499dcaf07bc4f86bdff8fbffd0eb3517e255d9b29e3cb5124",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_81a7d508a88358c1e410928fa92f56b4416f0fee5dbc858d31c3a092a5fa9bec",
"target": "jag_node_44cd75eb87e69fb3926aacd1e8d76ec65023b23c00781e77729b5c3b47495336",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_fa6c12295ee70ebd239ba0a94b774191dd6926b041672270cb92f3cde0dd683c",
"target": "jag_node_3f5014719f442e28d5fb0c173e8a6a9d02f25ca11e954ab16b40e698a305509d",
"relation": "handles",
"confidence": "INFERRED",
"context": "rea:handles"
},
{
"source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734",
"target": "jag_node_3f5014719f442e28d5fb0c173e8a6a9d02f25ca11e954ab16b40e698a305509d",
"relation": "invokes",
"confidence": "INFERRED",
"context": "rea:invokes"
},
{
"source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734",
"target": "jag_node_72cf57b63cf2788c530a756d231b003eae2e1f59e908638d0ac17a4eb250624d",
"relation": "invokes",
"confidence": "INFERRED",
"context": "rea:invokes"
},
{
"source": "jag_node_59ad14dd7b17d9704d892fc200754b45266d458105acafd64f690c155f2bfc1c",
"target": "jag_node_ad0ca050bdab919472a62f16691b12d6a28e81647a14c71d616bce563de130f5",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_8b10d623e5cce67dcf72f745430ff61730325177f90ec75bcc75ceb4b14477b0",
"target": "jag_node_c14d28d7b088d361543ea9ba167138b6b90a3c11a574d0615a69e107c2687f07",
"relation": "maps_to",
"confidence": "INFERRED",
"context": "rea:maps_to"
},
{
"source": "jag_node_5f093630c55a56a6ed03e20b07f1c3fa65b5aa6d8cceee4f44cb2512dd6dd3ff",
"target": "jag_node_43a8e1151dc8f188568f130d145069f76b8853960f6878899e29a674b8f22876",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42",
"target": "jag_node_67e7a03d83bce66e365c9d8f3e7f973e15b4457ffe1509e1f9e6da293571705b",
"relation": "loads",
"confidence": "INFERRED",
"context": "rea:loads"
},
{
"source": "jag_node_72cf57b63cf2788c530a756d231b003eae2e1f59e908638d0ac17a4eb250624d",
"target": "jag_node_48d69b8f77ba7d6bb9930e5ac5c9b4850eb9fcfcd4122c3edb69201de65ff645",
"relation": "handles",
"confidence": "INFERRED",
"context": "rea:handles"
},
{
"source": "jag_node_7f93b8635fb8ba76e6108e8eaf4244b8a67b45409630aaa71abe1a835d30a591",
"target": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
},
{
"source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42",
"target": "jag_node_fcc4699d5def6c01669354fd9429251aa3a45bdff812a4b903b48402cdcc2291",
"relation": "loads",
"confidence": "INFERRED",
"context": "rea:loads"
},
{
"source": "jag_node_1059d27ba7dc5d8bd9354e8ce6f981d0ef18ea9601b9dcfb82dc9acb3c111734",
"target": "jag_node_8b10d623e5cce67dcf72f745430ff61730325177f90ec75bcc75ceb4b14477b0",
"relation": "contains",
"confidence": "INFERRED",
"context": "rea:contains"
},
{
"source": "jag_node_ebd023cbb0369e9a23f7bccb09b5f897d4b64549f3687da2211a10b60f5f76c6",
"target": "jag_node_ada50a6420d4500fab5ab4b2e94812e2cff624f6e151b0f5c49e4d42a9de4606",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_11a51434f146a08c03d1ae2ce88d542ab3d0096b216767ae0645091691c14a42",
"target": "jag_node_44cd75eb87e69fb3926aacd1e8d76ec65023b23c00781e77729b5c3b47495336",
"relation": "imports",
"confidence": "INFERRED",
"context": "rea:imports"
},
{
"source": "jag_node_4695a86bd866d2b27e09660da41503169d02b7d1c67457e5026f60cdbaec79d0",
"target": "jag_node_67e7a03d83bce66e365c9d8f3e7f973e15b4457ffe1509e1f9e6da293571705b",
"relation": "loads",
"confidence": "INFERRED",
"context": "rea:loads"
},
{
"source": "jag_node_12c7966d91b55d116e8e73a23dc7648554dfeb9bd50263274626dc4603bbdbab",
"target": "jag_node_ebd023cbb0369e9a23f7bccb09b5f897d4b64549f3687da2211a10b60f5f76c6",
"relation": "contains",
"confidence": "EXTRACTED",
"context": "rea:contains"
}
]
}