mirror of
https://github.com/Heretek-AI/Prog-Prober.git
synced 2026-10-12 02:03:08 +00:00
- docs/architecture.md: full architecture spec (safety contract, topology, Tool API, data model, phasing). - docs/adr/0001-0011: decision records for the grilling outcomes. - Repo skeleton: Cargo workspace (crates/core), pnpm workspace (apps/desktop, packages/ui), Python workers package, OCI runtime placeholder, graph JSON Schema. - AGENTS.md, CONTEXT.md, THIRD_PARTY.md, README.md, LICENSE (AGPL-3.0). - GitHub issues #1-#14: phase epics plus Phase 1 tickets.
62 lines
2.0 KiB
JSON
62 lines
2.0 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://github.com/Heretek-AI/Prog-Prober/schemas/graph.schema.json",
|
|
"title": "Prog-Prober graph",
|
|
"description": "Canonical call/control-flow graph. Normalized in LadybugDB; projected to flat typed arrays for @cosmos.gl/graph at the edge.",
|
|
"type": "object",
|
|
"required": ["nodes", "edges"],
|
|
"properties": {
|
|
"nodes": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/$defs/node" }
|
|
},
|
|
"edges": {
|
|
"type": "array",
|
|
"items": { "$ref": "#/$defs/edge" }
|
|
}
|
|
},
|
|
"$defs": {
|
|
"provenance": {
|
|
"type": "object",
|
|
"required": ["tool", "version"],
|
|
"properties": {
|
|
"tool": { "type": "string", "examples": ["ghidra", "capa", "lief", "floss"] },
|
|
"version": { "type": "string" }
|
|
}
|
|
},
|
|
"node": {
|
|
"type": "object",
|
|
"required": ["id", "kind", "binary_id", "provenance"],
|
|
"properties": {
|
|
"id": { "type": "string" },
|
|
"kind": {
|
|
"type": "string",
|
|
"enum": ["binary", "function", "basicblock", "instruction", "import", "api_sink", "string"]
|
|
},
|
|
"binary_id": { "type": "string" },
|
|
"name": { "type": "string" },
|
|
"address": { "type": "string", "description": "Virtual address, hex, where applicable" },
|
|
"provenance": { "$ref": "#/$defs/provenance" },
|
|
"confidence": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
"attributes": { "type": "object" }
|
|
}
|
|
},
|
|
"edge": {
|
|
"type": "object",
|
|
"required": ["id", "kind", "source", "target", "provenance"],
|
|
"properties": {
|
|
"id": { "type": "string" },
|
|
"kind": {
|
|
"type": "string",
|
|
"enum": ["call", "cfg", "ref", "import", "data_flow"]
|
|
},
|
|
"source": { "type": "string" },
|
|
"target": { "type": "string" },
|
|
"provenance": { "$ref": "#/$defs/provenance" },
|
|
"confidence": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
"attributes": { "type": "object" }
|
|
}
|
|
}
|
|
}
|
|
}
|