Skip to content

Add SRDatalog VulReasoner integration#1

Draft
StarGazerM wants to merge 1 commit into
mainfrom
codex/srdatalog-vulreasoner
Draft

Add SRDatalog VulReasoner integration#1
StarGazerM wants to merge 1 commit into
mainfrom
codex/srdatalog-vulreasoner

Conversation

@StarGazerM

Copy link
Copy Markdown
Collaborator

Summary

  • add a self-contained minimal_vulreasoner/ PyReason-to-SRDatalog parity application
  • include the original six analyst rules, annotation callback, default GraphML fixture, deterministic stress generator, and exact result checker
  • add the executable semantic notebook covering interval encoding, the two aggregation boundaries, non-semiring provenance behavior, and the two-rule lowering
  • pin Python 3.10 and all dependencies with uv; use this fork as the editable PyReason oracle and an immutable SRDatalog source archive

Why

VulReasoner's PyReason callback selects one rule-local derivation witness before cross-rule interval merging. The integration preserves that semantic boundary explicitly in SRDatalog and provides a reproducible place to test parity and scaling from the PyReason side.

Validation

  • uv sync --project minimal_vulreasoner --frozen
  • notebook schema validation with nbformat.validate
  • cold PyReason oracle run reaches analystAt(b4)
  • bounded differential run on CWE_121_MVP2.graphml: complete temporal AnalystAt maps match exactly
  • observed input: 188 nodes, 403 edges, 138 selected connector facts
  • SRDatalog: about 48.4 s one-time CUDA build and 16.3 ms run on NVIDIA RTX 6000 Ada

The PyReason cold-start validation is intentionally bounded because first-use Numba cache compilation can take several minutes.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant