Files
re-agent/docs/third-party/dryxio-integration.md
Haseeb HeavenandHaseeb Mir 249383a842 feat: add Evidence-backed reconstruction scheduling (#36)
* feat: add evidence-backed reconstruction scheduling

* fix: require matching provider identity in schedules

---------

Co-authored-by: Haseeb Mir <[email protected]>
2026-10-15 20:31:17 +05:30

9.6 KiB

Dryxio/ReAgent evaluation

Inspected revisions

  • Destination: heaven-hm/re-agent, branch develop, commit faa9c7b0b1e2e50c0e2c1714586c1c0c6e4d74d7.
  • Reference: Dryxio/reagent, branch main, commit d12cea338c61898b06a86fe8adb25275fa9d5615.
  • Dryxio's pinned LICENSE is MIT, copyright © 2026 Dryxio. No Dryxio source or dependencies are copied into RE-Agent in this integration.

Capability matrix

Capability Existing RE-Agent Dryxio approach Decision
Function recovery Shared autonomous investigation controller, provider analysis, reconstruction policy, runtime observations and repairs (docs/autonomous-reconstruction.md; src/application/ and src/composition/). Existing finite native benchmark demonstrates one repaired constrained reconstruction. agents/loop.py alternates reverser/checker and investigation; Ghidra backend supplies function context. Skip duplicate recovery engine; keep the existing controller and add an Evidence-backed function scheduler.
Reverser/checker Provider and coding-agent integrations plus scoped reconstruction verification exist; no second opinion should be inferred from generic model output. Separate prompt roles and configurable provider calls in agents/reverser.py, agents/checker.py, agents/loop.py. Do not add a parallel model loop. Existing reconstruction verification is the integration boundary; explicit independent checker role remains a documented gap for arbitrary native-function recovery.
Structural verification Function dossiers, call-path evidence, native function/value-flow models, reconstruction obligations and finite expression verification provide structural/scoped checks. Ghidra-derived signals and parity rules in parity/signals.py and parity/engine.py. Reuse existing evidence and verification contracts; do not duplicate a signal-scoring engine. Structural evidence is not semantic equivalence.
Parity checks Existing comparisons and verification reports retain scope and evidence; finite suites are reported as finite. GREEN/YELLOW/RED scoring in parity/scoring.py and gate policy in orchestrator/single.py. Skip a second parity state machine. The new schedule reports uncertainty and evidence links without making a parity claim.
Candidate isolation Autonomous reconstruction already uses workspace/process ownership, bounded process runs, builds, cleanup, and persisted regression cases; see docs/autonomous-reconstruction-benchmark.md. Candidate overlays and optional copied project in verification/candidate.py; configured build/test/runtime commands. Reuse existing process/workspace facilities. No Dryxio overlay code is copied.
Build/test gates Existing controller executes candidate builds and differential validation; validation outcomes are persisted with the investigation. Candidate build, test, runtime and differential commands gate each repair iteration. Already covered for the current controller; extend only through its existing interfaces.
Evidence graph Immutable Evidence ledger/bundles, native investigation graph, function dossiers and call-path reconstruction are established contracts. core/knowledge_graph.py tracks functions, calls, strings and globals in session storage. Use existing Evidence and function dossiers. Add dependency scheduling rather than another graph/persistence representation.
Agent orchestration Shared CLI/MCP workflows, autonomous controller, providers, checkpoint/resume and process supervision already exist. Python CLI/orchestrators, provider protocol, sessions and function picker. Skip. Retain RE-Agent CLI/MCP, provider, checkpoint and process ownership architecture.
Dependency-aware scheduling src/domain/callPath.ts reconstructs caller-to-callee paths, but does not produce a budgeted callee-first reconstruction plan or group recursive SCCs. core/function_picker.py supports dependency order, easiest-first and high-impact selection. Adapt the concept natively: src/domain/reconstructionSchedule.ts and schedule_reconstruction_functions MCP tool schedule Evidence-linked SCCs, respect dependency readiness and budget, and mark missing dossiers/retry limits.

Reuse and attribution inventory

No upstream source, generated code, embedded dependency, or license text was incorporated. src/domain/reconstructionSchedule.ts and its tests are an independent TypeScript implementation over RE-Agent's existing analyze_function Evidence contract. The scheduler is inspired by the dependency-order selection concept in Dryxio's src/re_agent/core/function_picker.py; it is not a translation or derivative copy.

Dryxio's implementation was inspected for its function picker, Ghidra backends/exports, agent roles and loop, parity signals/scoring, candidate overlay and validation, session/checkpoint and knowledge graph. Its Python CLI, model clients, backend interfaces, and persistence are excluded because RE-Agent already owns corresponding infrastructure. Ghidra/P-code fidelity and checker independence are not claimed by the new scheduler.

Limits

Scheduling covers only functions represented by supplied analyze_function Evidence. Calls to addresses without supplied dossiers are retained as missing dependencies; unresolved calls and partial/unknown relationship coverage remain limitations. Unknown targets are not treated as absent. Recursive SCCs are atomic with respect to the function budget. The scheduler orders reconstruction work; it does not assert correctness, execute candidates, or prove equivalence.

Validation performed

The authored scheduler tests exercise a four-function dependency graph with a recursive SCC, missing dossier, a constrained budget, a retry-exhausted dependency, duplicate function addresses, mixed artifact identity, and unknown relationship coverage. The MCP boundary tests verify that the operation advertises valid input/output schemas and persists derived Evidence linked to the dossier. These are deterministic fixture tests, not a source-hidden C/C++ reconstruction benchmark. No end-to-end reconstruction performance or model-cost comparison was run for this scheduling-only change.