safishamsi and Claude Opus 4.8
d171ad8c55
feat(ingest): ingest REA's JavaScript Application Graph
...
REA (morluto/rea, "Reverse Engineer Anything") reverse-engineers shipped apps —
native binaries, JS/Electron bundles, .NET, WASM — and emits a canonical,
evidence-bearing JavaScript Application Graph (JAG). This adds a graphify ingester
for it, so reverse-engineered structure becomes a queryable graphify graph:
graphify extract --rea app.jag.json
- graphify/rea_ingest.py: `ingest_rea_jag(doc, source_file="")` maps JAG nodes
(package/ASAR/electron main·preload·renderer/module/chunk/IPC/contextBridge/
native add-on/...) to graphify nodes (kind -> file_type) and the JAG relation
vocabulary (contains/loads/imports/calls/invokes/exposes/handles/...) to
graphify relations, preserving the original relation in the edge context
("rea:<relation>"). REA's epistemic state drives confidence: observed ->
EXTRACTED, inferred -> INFERRED (score capped). Endpoint-safe (mints
`rea_external` stubs so no edge dangles); graph-wide coverage/limitations are
attached to the root nodes' metadata.
- CLI: `graphify extract --rea <jag.json>` merges the ingested graph alongside
AST/semantic/postgres/cargo sources, mirroring the existing ingesters.
Grounded in REA's documented JAG contract plus a synthetic fixture
(tests/fixtures/rea_jag_sample.json). REA is MIT; this consumes its JSON
contract, not its code.
DRAFT: validate against a real `rea ... --json` export before merge.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-10-11 21:41:55 +01:00
..
2026-10-11 21:41:55 +01:00
2026-09-10 23:04:40 +01:00
2026-10-10 22:13:39 +01:00
2026-10-11 20:47:55 +01:00
2026-10-08 14:27:06 +01:00
2026-10-05 19:40:12 +01:00
2026-09-05 01:18:59 +01:00
2026-09-05 01:18:59 +01:00
2026-10-09 19:18:06 +01:00
2026-09-10 23:04:40 +01:00
2026-09-12 22:23:00 +01:00
2026-09-29 13:49:39 +01:00
2026-10-05 20:11:30 +01:00
2026-09-11 22:46:15 +01:00
2026-10-02 17:10:08 +01:00
2026-09-21 19:44:17 +01:00
2026-10-07 17:26:00 +01:00
2026-10-04 20:40:34 +01:00
2026-09-22 15:00:07 +01:00
2026-09-22 14:58:22 +01:00
2026-09-11 22:51:35 +01:00
2026-09-05 21:55:34 +01:00
2026-10-11 20:49:42 +01:00
2026-08-29 19:32:51 +01:00
2026-10-09 02:48:22 +01:00
2026-10-08 14:27:06 +01:00
2026-09-30 20:41:10 +01:00
2026-09-14 18:55:31 +01:00
2026-09-25 15:44:08 +01:00
2026-10-11 21:07:15 +01:00
2026-08-18 16:02:02 +01:00
2026-10-02 17:10:07 +01:00
2026-10-06 20:54:55 +01:00
2026-10-02 17:10:07 +01:00
2026-09-27 18:56:31 +01:00
2026-09-13 17:47:56 +01:00
2026-10-04 20:23:44 +01:00
2026-10-04 20:23:44 +01:00
2026-10-02 16:50:45 +01:00
2026-10-09 19:19:01 +01:00
2026-08-21 16:50:25 +01:00
2026-09-09 11:30:27 +01:00
2026-10-04 20:23:44 +01:00
2026-10-06 20:54:15 +01:00
2026-10-09 19:19:15 +01:00
2026-08-24 14:08:25 +01:00
2026-10-09 19:17:53 +01:00
2026-10-04 02:07:00 +01:00
2026-09-27 18:39:52 +01:00
2026-10-10 01:31:15 +01:00
2026-10-04 02:07:23 +01:00
2026-10-04 02:09:34 +01:00
2026-09-25 16:01:47 +01:00
2026-10-11 20:49:25 +01:00
2026-09-02 03:05:59 +01:00
2026-10-11 20:47:55 +01:00
2026-09-28 10:15:38 +01:00
2026-08-29 18:38:33 +01:00
2026-09-05 01:18:59 +01:00
2026-10-10 21:20:29 +01:00
2026-09-16 15:37:30 +01:00
2026-10-08 14:28:54 +01:00
2026-10-08 14:28:27 +01:00
2026-10-04 20:23:14 +01:00
2026-10-07 17:26:00 +01:00
2026-10-11 20:49:42 +01:00
2026-10-11 20:49:42 +01:00
2026-10-09 02:51:03 +01:00
2026-10-11 21:06:09 +01:00
2026-09-23 16:54:04 +01:00
2026-10-06 20:54:15 +01:00
2026-10-07 17:26:17 +01:00
2026-08-21 19:21:20 +01:00
2026-08-28 01:20:57 +01:00
2026-10-07 17:52:47 +01:00
2026-09-23 19:45:40 +01:00
2026-10-10 22:11:03 +01:00
2026-08-27 20:20:16 +01:00
2026-09-30 20:10:34 +01:00
2026-09-05 21:55:33 +01:00
2026-09-10 14:03:22 +01:00
2026-08-25 18:09:25 +01:00
2026-09-22 14:58:12 +01:00
2026-09-22 14:58:12 +01:00
2026-09-02 14:49:03 +01:00
2026-10-09 19:46:57 +01:00
2026-10-08 14:27:06 +01:00
2026-09-30 20:41:10 +01:00
2026-10-10 21:37:39 +01:00
2026-09-06 16:17:37 +01:00
2026-08-30 15:11:40 +01:00
2026-10-10 21:37:04 +01:00
2026-08-19 14:05:58 +01:00
2026-10-11 20:47:44 +01:00
2026-10-10 21:20:29 +01:00
2026-08-17 19:00:46 +01:00
2026-08-18 22:20:19 +01:00
2026-09-05 21:55:33 +01:00
2026-10-04 02:08:29 +01:00
2026-10-09 19:18:06 +01:00
2026-10-06 20:54:35 +01:00
2026-09-25 16:15:15 +01:00
2026-09-20 13:59:26 +01:00
2026-10-04 20:23:44 +01:00
2026-09-28 09:13:29 +01:00
2026-09-05 01:18:59 +01:00
2026-08-29 16:14:47 +01:00
2026-08-30 15:11:24 +01:00
2026-10-09 19:18:06 +01:00
2026-10-09 19:18:06 +01:00
2026-08-30 15:11:40 +01:00
2026-10-10 01:13:46 +01:00
2026-09-09 17:20:54 +01:00
2026-09-10 22:44:39 +01:00
2026-10-07 17:26:00 +01:00
2026-09-20 13:59:25 +01:00
2026-09-30 20:10:34 +01:00
2026-09-14 18:49:19 +01:00
2026-09-12 21:31:34 +01:00
2026-10-09 19:17:53 +01:00
2026-09-13 17:47:55 +01:00
2026-09-09 11:30:28 +01:00
2026-10-10 22:11:03 +01:00
2026-08-21 16:49:55 +01:00
2026-10-04 20:23:14 +01:00
2026-09-27 18:39:52 +01:00
2026-10-05 19:40:12 +01:00
2026-09-30 20:41:10 +01:00
2026-09-22 17:30:28 +01:00
2026-10-11 20:47:44 +01:00
2026-10-11 21:06:27 +01:00
2026-10-11 20:47:44 +01:00
2026-08-20 15:44:56 +01:00
2026-10-11 20:49:42 +01:00
2026-10-10 01:24:41 +01:00
2026-09-13 17:47:57 +01:00
2026-10-02 16:50:45 +01:00
2026-09-30 20:41:10 +01:00
2026-09-05 01:19:09 +01:00
2026-09-16 14:50:54 +01:00
2026-10-07 17:26:00 +01:00
2026-10-09 19:18:06 +01:00
2026-10-05 20:12:06 +01:00
2026-09-17 11:01:37 +01:00
2026-10-10 21:39:00 +01:00
2026-10-07 17:26:17 +01:00
2026-10-07 17:26:17 +01:00
2026-08-20 16:13:45 +01:00
2026-10-09 19:18:06 +01:00
2026-10-05 19:40:03 +01:00
2026-08-29 16:14:29 +01:00
2026-08-19 14:05:58 +01:00
2026-08-21 19:22:21 +01:00
2026-09-26 13:45:58 +01:00
2026-10-07 17:26:00 +01:00
2026-10-10 01:13:46 +01:00
2026-09-09 17:20:57 +01:00
2026-08-21 16:57:29 +01:00
2026-09-05 21:13:54 +01:00
2026-09-07 19:02:18 +01:00
2026-10-07 17:26:00 +01:00
2026-10-05 19:40:04 +01:00
2026-10-11 20:49:42 +01:00
2026-09-28 10:18:13 +01:00
2026-08-21 16:57:29 +01:00
2026-08-21 16:50:44 +01:00
2026-08-25 15:44:52 +01:00
2026-09-17 11:01:38 +01:00
2026-10-05 19:40:12 +01:00
2026-08-29 16:15:58 +01:00
2026-09-09 17:20:56 +01:00
2026-10-08 14:27:06 +01:00
2026-09-25 15:44:21 +01:00
2026-09-05 21:55:35 +01:00
2026-10-08 14:28:20 +01:00
2026-10-06 20:54:15 +01:00
2026-10-08 14:29:00 +01:00
2026-10-08 14:29:19 +01:00
2026-09-11 22:46:27 +01:00
2026-10-10 01:33:40 +01:00
2026-10-08 14:28:54 +01:00
2026-09-05 21:55:32 +01:00
2026-10-10 01:28:39 +01:00
2026-09-07 18:42:56 +01:00
2026-08-18 22:36:42 +01:00
2026-10-10 01:01:10 +01:00
2026-09-05 21:13:53 +01:00
2026-10-11 21:41:55 +01:00
2026-09-13 17:47:54 +01:00
2026-10-09 19:17:53 +01:00
2026-10-08 14:27:06 +01:00
2026-09-12 17:36:10 +01:00
2026-10-10 22:11:03 +01:00
2026-10-02 17:10:07 +01:00
2026-09-16 14:43:05 +01:00
2026-10-05 20:11:30 +01:00
2026-10-02 17:10:07 +01:00
2026-10-09 02:48:23 +01:00
2026-10-04 01:43:04 +01:00
2026-09-18 15:16:09 +01:00
2026-10-11 21:07:09 +01:00
2026-10-02 17:10:07 +01:00
2026-10-11 21:06:10 +01:00
2026-10-10 21:20:29 +01:00
2026-10-04 02:07:00 +01:00
2026-10-04 02:07:00 +01:00
2026-09-13 17:47:54 +01:00
2026-09-14 18:52:06 +01:00
2026-10-07 17:26:00 +01:00
2026-10-04 01:44:11 +01:00
2026-10-09 19:18:06 +01:00
2026-10-11 21:06:10 +01:00
2026-10-09 19:17:53 +01:00
2026-10-05 20:12:34 +01:00
2026-10-09 19:18:06 +01:00
2026-10-11 21:06:10 +01:00
2026-10-07 17:26:00 +01:00
2026-10-07 17:26:00 +01:00
2026-10-10 22:11:03 +01:00
2026-10-02 17:10:07 +01:00
2026-09-23 17:01:39 +01:00
2026-08-28 01:18:04 +01:00
2026-10-04 01:43:04 +01:00
2026-10-08 14:27:06 +01:00
2026-10-04 20:40:34 +01:00
2026-10-04 20:23:44 +01:00
2026-10-04 20:23:44 +01:00
2026-09-20 13:59:25 +01:00
2026-08-18 16:02:02 +01:00
2026-10-09 19:18:06 +01:00
2026-09-27 18:39:51 +01:00
2026-09-12 17:39:27 +01:00
2026-10-11 20:49:48 +01:00
2026-10-02 17:10:07 +01:00
2026-10-10 21:38:54 +01:00
2026-09-20 18:53:35 +01:00
2026-08-30 15:48:40 +01:00
2026-08-27 20:57:16 +01:00
2026-10-08 14:27:33 +01:00
2026-10-07 17:26:11 +01:00
2026-08-25 15:45:33 +01:00
2026-10-11 20:47:44 +01:00
2026-10-09 19:18:06 +01:00
2026-09-30 20:41:10 +01:00
2026-09-06 16:17:38 +01:00
2026-08-30 15:12:10 +01:00
2026-10-07 17:26:00 +01:00
2026-09-11 22:46:26 +01:00
2026-10-06 20:54:15 +01:00
2026-10-10 21:37:47 +01:00
2026-08-30 15:11:23 +01:00
2026-09-28 10:15:38 +01:00