[GH-ISSUE #969] [Feature] Modular binary diagnostics and debugger adapters using pwntools and pwndbg #370

Closed
opened 2026-10-15 18:24:22 +00:00 by bsakaguchi · 4 comments
Owner

Originally created by @N0zoM1z0 on GitHub (Oct 7, 2026).
Original GitHub issue: https://github.com/morluto/rea/issues/969

Before submitting

  • I searched the open and closed issues and pull requests for a related proposal.
  • I removed credentials, tokens, private paths, and sensitive target data.

Area

Native analysis or decompilation

Current limitation

REA has static native function analysis, process capture and archive inspection, but lacks a modular workflow connecting native binary layout/mitigation facts, recorded crash state, and explicitly selected debugger state/actions.

This is a general binary reverse-engineering capability. Native application reconstruction, crash diagnosis, ABI/memory-layout investigation, firmware userspace analysis and CTF tasks can consume the same primitives. pwntools supplies a reusable analysis library; pwndbg supplies optional debugger enrichment. CTF is one application domain/showcase. Public contracts and module boundaries should express reusable analyst questions.

Research baseline: REA main b5afa5f91eed9ae31d670aeab9bbf5112d790ec2, 2026-10-07. Open/closed searches found no dedicated pwntools/pwndbg integration proposal. #71/#385 and open PR #964 concern narrower native call observation, not a general Linux GDB session or offline core diagnostics. Parent: #32.

Use cases

  • Inspect an ELF's layout, relocations, GOT/PLT and mitigation facts without opening a decompiler or executing the target.
  • Inspect a supplied core dump and correlate fault address, registers, frames and mappings with an explicitly paired executable/library identity.
  • Pause at a selected location, inspect registers/memory/caller frames, then make an explicit step/resume or breakpoint change to test a reconstruction hypothesis.
  • Interpret allocator chunks/bins or pointer chains where a verified pwndbg facet supports the selected allocator/version.
  • Search selected instruction sequences or diagnose a byte-pattern offset with explicit architecture, width, byte order and original pattern parameters. These are evidence for an analyst, not a conclusion that a target is exploitable.

Desired outcome and success criteria

Organize this roadmap into independent adapters and useful PRs:

  • Offline binary diagnostics, initially ELF: integrate unchanged pwntools for artifact facts, relocation/layout/mitigation evidence, and selected instruction-sequence queries. Reuse/extend existing REA tools when the analyst outcome and authority match; do not duplicate inventories or expose every Python utility as a tool.
  • Recorded crash inspection: accept explicit core/executable inputs and optional selected libraries. Return exact recorded registers/mappings/signal facts, matched or unresolved identities, source coordinates and limitations. Missing/truncated pages and mismatched executable/core pairs have distinct results.
  • Debugger state and control, initially Linux x64 GDB: explicit target/session selection, breakpoint/watchpoint edits, register/memory/frame inspection and run/step/continue/interrupt operations. Return actual running/stopped/exited state, stop reason, selected thread/frame and a stop identity. Separate inferior byte I/O from debugger protocol output.
  • Optional pwndbg enrichment: expose supported context, memory-map/pointer-chain and allocator interpretation facets through a versioned adapter. Generic debugger operation must remain usable without pwndbg; offline analysis must remain usable without a debugger.
  • Support useful explicit mutation operations with declared effects and outcome evidence. A raw debugger command, if needed, reports its broader execution/mutation authority and native transcript rather than pretending to be an inspection.
  • Share services/contracts through CLI/MCP and return normalized results inline with Evidence, artifact/process identity, provider versions and observed/derived/unknown distinctions. Maintain valid advertised schemas, catalog and skill selection guidance.

Acceptance uses source-built fixtures and separate lanes:

  1. Offline: ELF PIE/non-PIE, stripped/debug and mitigation variants; supplied cores; malformed/truncated formats; core/executable mismatches; high addresses and byte-order/width cases. Prove static inspection does not execute the target, even when dependency facts are requested.
  2. Native GDB: selected stops, multithread/fork events, a silent running inferior, delayed output, exact NUL/non-UTF8 input/output, target exit, OS attach denial, cancellation and owned cleanup. Detach from an externally launched fixture must preserve that process.
  3. Optional pwndbg: actual supported allocator/context queries and meaningful unavailable results for unsupported allocators, missing symbols or debugger profiles. Establish support through real public CLI/MCP calls and an isolated installed package.

Routine deterministic tests should not require every optional debugger/assembler/emulator. Each real lane declares only its own prerequisites and actual host/architecture/allocator coverage.

Authority boundaries and non-goals

  • Keep offline inspection, debugger attach/launch and state-changing operations distinct. Current OS permissions apply; selecting an operation is intent. No approval booleans, global permission changes or extra grant system.
  • Verified upstream behavior: pwntools ELF.libs, ELF.maps and ELF.libc execute a modified target to resolve libraries/mappings. Static inspection must avoid these accessors. DT_NEEDED names do not establish the runtime-selected library path.
  • A supplied core is historical evidence. Automatic core creation, process.corefile, expression evaluation, function calls and raw debugger commands can require execution; disclose those operations separately.
  • Preserve external targets on ordinary detach, and prove cleanup for REA-owned launches. Model stop/resume, timeout, cancellation and debugger disconnect as actual lifecycle events, not terminal prompt or idle heuristics.
  • Use versioned isolated toolchains and owned caches/init files. Do not modify ~/.gdbinit, system Python, ptrace/sysctl settings or host defaults. Preflight missing dependencies and attach errors by their actual reason.
  • Initial real coverage is Linux x64 ELF/GDB. PE, Mach-O, LLDB, other architectures, QEMU and device execution require separate provider proof. Existing firmware/static-provider coverage does not establish them.
  • Keep upstream packages/source unchanged and record provenance. pwntools is mostly MIT with GPL/BSD exceptions in constants/data; inspect exact redistributed pieces. pwndbg and pygdbmi report MIT licenses.
  • Ordinary commands/scripts remain the composition mechanism. Automatic exploit generation, challenge solving, a payload DSL and mandatory remote connections are outside this capability's initial outcome.

Alternatives considered

  • Existing Ghidra/Hopper/IDA workflows answer static native questions. Keep them independent and join runtime facts by verified artifact/module identities.
  • Existing process capture already supplies finite terminal experiments; reuse it when that is sufficient. A persistent tube/I/O facade should require a concrete unmet analyst need.
  • Official GDB/MI and Python APIs provide machine state/events. Evaluate pygdbmi for existing parsing/controller code before building a new MI parser.
  • pwntools.gdb provides useful helpers, but may launch a terminal/gdbserver; its Python/RPyC access is documented as experimental. Probe exact Python/debugger compatibility rather than making that helper a mandatory REA transport.
  • luantq0/pwndbg-mcp offers prior art for debugger operations and byte input. Selected controller source uses a shared PTY, idle-based resume completion and output compaction. REA needs structured stop/lifecycle evidence, retained raw output and bounded resource cleanup. Source review alone does not establish its failure behavior.
  • Upstream pwndbg's MCP request #4004 is closed as not planned. Do not assume an official stable MCP provider exists.

Possible direction

Use independent binary diagnostics and native debugger application ports. Provider-neutral domain results describe exact bytes/addresses, artifact and process identity, stopped-state observations and action outcomes. pwnlib, MI, GDB Python and pwndbg internals belong to provider/bridge modules.

Start with a small isolated Python bridge to the unchanged pwntools package. For GDB, compare a versioned MI adapter using existing parsing with an in-debugger Python bridge for structured snapshots/enrichment. Pwndbg internal APIs are version-specific; feature-probe them and retain native diagnostics when a facet cannot be normalized. Coordinate shared native call/identity semantics with #964 and the Frida instrumentation workstream #968.

Use per-request pwntools context for architecture/endianness and record original pattern parameters. Preserve offsets, virtual addresses and runtime load bases distinctly; gadget or heap interpretations are derived observations, not evidence of successful execution or a vulnerability.

Observed releases: pwntools 4.15.0 and pwndbg 2026.09.15. Official pwndbg supports GDB and experimental LLDB with different Python/debugger prerequisites. These are research observations; compatibility needs real fixtures before being advertised.

References

Research reviewed official documentation, release/license metadata and selected implementations. No pwntools/pwndbg/GDB runtime integration has been verified by this issue. Split implementation and real-provider proof into focused follow-ups.

Originally created by @N0zoM1z0 on GitHub (Oct 7, 2026). Original GitHub issue: https://github.com/morluto/rea/issues/969 ### Before submitting - [x] I searched the open and closed issues and pull requests for a related proposal. - [x] I removed credentials, tokens, private paths, and sensitive target data. ### Area Native analysis or decompilation ### Current limitation REA has static native function analysis, process capture and archive inspection, but lacks a modular workflow connecting native binary layout/mitigation facts, recorded crash state, and explicitly selected debugger state/actions. **This is a general binary reverse-engineering capability.** Native application reconstruction, crash diagnosis, ABI/memory-layout investigation, firmware userspace analysis and CTF tasks can consume the same primitives. pwntools supplies a reusable analysis library; pwndbg supplies optional debugger enrichment. CTF is one application domain/showcase. Public contracts and module boundaries should express reusable analyst questions. Research baseline: REA main `b5afa5f91eed9ae31d670aeab9bbf5112d790ec2`, 2026-10-07. Open/closed searches found no dedicated pwntools/pwndbg integration proposal. #71/#385 and open PR #964 concern narrower native call observation, not a general Linux GDB session or offline core diagnostics. Parent: #32. ### Use cases - Inspect an ELF's layout, relocations, GOT/PLT and mitigation facts without opening a decompiler or executing the target. - Inspect a supplied core dump and correlate fault address, registers, frames and mappings with an explicitly paired executable/library identity. - Pause at a selected location, inspect registers/memory/caller frames, then make an explicit step/resume or breakpoint change to test a reconstruction hypothesis. - Interpret allocator chunks/bins or pointer chains where a verified pwndbg facet supports the selected allocator/version. - Search selected instruction sequences or diagnose a byte-pattern offset with explicit architecture, width, byte order and original pattern parameters. These are evidence for an analyst, not a conclusion that a target is exploitable. ### Desired outcome and success criteria Organize this roadmap into independent adapters and useful PRs: - [ ] **Offline binary diagnostics, initially ELF:** integrate unchanged pwntools for artifact facts, relocation/layout/mitigation evidence, and selected instruction-sequence queries. Reuse/extend existing REA tools when the analyst outcome and authority match; do not duplicate inventories or expose every Python utility as a tool. - [ ] **Recorded crash inspection:** accept explicit core/executable inputs and optional selected libraries. Return exact recorded registers/mappings/signal facts, matched or unresolved identities, source coordinates and limitations. Missing/truncated pages and mismatched executable/core pairs have distinct results. - [ ] **Debugger state and control, initially Linux x64 GDB:** explicit target/session selection, breakpoint/watchpoint edits, register/memory/frame inspection and run/step/continue/interrupt operations. Return actual running/stopped/exited state, stop reason, selected thread/frame and a stop identity. Separate inferior byte I/O from debugger protocol output. - [ ] **Optional pwndbg enrichment:** expose supported context, memory-map/pointer-chain and allocator interpretation facets through a versioned adapter. Generic debugger operation must remain usable without pwndbg; offline analysis must remain usable without a debugger. - [ ] Support useful explicit mutation operations with declared effects and outcome evidence. A raw debugger command, if needed, reports its broader execution/mutation authority and native transcript rather than pretending to be an inspection. - [ ] Share services/contracts through CLI/MCP and return normalized results inline with Evidence, artifact/process identity, provider versions and observed/derived/unknown distinctions. Maintain valid advertised schemas, catalog and skill selection guidance. Acceptance uses source-built fixtures and separate lanes: 1. **Offline:** ELF PIE/non-PIE, stripped/debug and mitigation variants; supplied cores; malformed/truncated formats; core/executable mismatches; high addresses and byte-order/width cases. Prove static inspection does not execute the target, even when dependency facts are requested. 2. **Native GDB:** selected stops, multithread/fork events, a silent running inferior, delayed output, exact NUL/non-UTF8 input/output, target exit, OS attach denial, cancellation and owned cleanup. Detach from an externally launched fixture must preserve that process. 3. **Optional pwndbg:** actual supported allocator/context queries and meaningful unavailable results for unsupported allocators, missing symbols or debugger profiles. Establish support through real public CLI/MCP calls and an isolated installed package. Routine deterministic tests should not require every optional debugger/assembler/emulator. Each real lane declares only its own prerequisites and actual host/architecture/allocator coverage. ### Authority boundaries and non-goals - Keep offline inspection, debugger attach/launch and state-changing operations distinct. Current OS permissions apply; selecting an operation is intent. No approval booleans, global permission changes or extra grant system. - **Verified upstream behavior:** pwntools `ELF.libs`, `ELF.maps` and `ELF.libc` execute a modified target to resolve libraries/mappings. Static inspection must avoid these accessors. `DT_NEEDED` names do not establish the runtime-selected library path. - A supplied core is historical evidence. Automatic core creation, `process.corefile`, expression evaluation, function calls and raw debugger commands can require execution; disclose those operations separately. - Preserve external targets on ordinary detach, and prove cleanup for REA-owned launches. Model stop/resume, timeout, cancellation and debugger disconnect as actual lifecycle events, not terminal prompt or idle heuristics. - Use versioned isolated toolchains and owned caches/init files. Do not modify `~/.gdbinit`, system Python, ptrace/sysctl settings or host defaults. Preflight missing dependencies and attach errors by their actual reason. - Initial real coverage is Linux x64 ELF/GDB. PE, Mach-O, LLDB, other architectures, QEMU and device execution require separate provider proof. Existing firmware/static-provider coverage does not establish them. - Keep upstream packages/source unchanged and record provenance. pwntools is mostly MIT with GPL/BSD exceptions in constants/data; inspect exact redistributed pieces. pwndbg and pygdbmi report MIT licenses. - Ordinary commands/scripts remain the composition mechanism. Automatic exploit generation, challenge solving, a payload DSL and mandatory remote connections are outside this capability's initial outcome. ### Alternatives considered - Existing Ghidra/Hopper/IDA workflows answer static native questions. Keep them independent and join runtime facts by verified artifact/module identities. - Existing process capture already supplies finite terminal experiments; reuse it when that is sufficient. A persistent tube/I/O facade should require a concrete unmet analyst need. - Official GDB/MI and Python APIs provide machine state/events. Evaluate `pygdbmi` for existing parsing/controller code before building a new MI parser. - `pwntools.gdb` provides useful helpers, but may launch a terminal/gdbserver; its Python/RPyC access is documented as experimental. Probe exact Python/debugger compatibility rather than making that helper a mandatory REA transport. - `luantq0/pwndbg-mcp` offers prior art for debugger operations and byte input. Selected controller source uses a shared PTY, idle-based resume completion and output compaction. REA needs structured stop/lifecycle evidence, retained raw output and bounded resource cleanup. Source review alone does not establish its failure behavior. - Upstream pwndbg's MCP request #4004 is closed as not planned. Do not assume an official stable MCP provider exists. ### Possible direction Use independent **binary diagnostics** and **native debugger** application ports. Provider-neutral domain results describe exact bytes/addresses, artifact and process identity, stopped-state observations and action outcomes. pwnlib, MI, GDB Python and pwndbg internals belong to provider/bridge modules. Start with a small isolated Python bridge to the unchanged pwntools package. For GDB, compare a versioned MI adapter using existing parsing with an in-debugger Python bridge for structured snapshots/enrichment. Pwndbg internal APIs are version-specific; feature-probe them and retain native diagnostics when a facet cannot be normalized. Coordinate shared native call/identity semantics with #964 and the Frida instrumentation workstream #968. Use per-request pwntools context for architecture/endianness and record original pattern parameters. Preserve offsets, virtual addresses and runtime load bases distinctly; gadget or heap interpretations are derived observations, not evidence of successful execution or a vulnerability. Observed releases: pwntools 4.15.0 and pwndbg 2026.09.15. Official pwndbg supports GDB and experimental LLDB with different Python/debugger prerequisites. These are research observations; compatibility needs real fixtures before being advertised. ### References - [pwntools ELF API and execution-sensitive accessors](https://docs.pwntools.com/en/stable/elf/elf.html) - [Exact pwntools 4.15.0 ELF source](https://github.com/Gallopsled/pwntools/blob/4.15.0/pwnlib/elf/elf.py) - [Corefile](https://docs.pwntools.com/en/stable/elf/corefile.html), [ROP](https://docs.pwntools.com/en/stable/rop/rop.html), [cyclic pattern semantics](https://docs.pwntools.com/en/stable/util/cyclic.html), [GDB helper limitations](https://docs.pwntools.com/en/stable/gdb.html) - [pwndbg official repository and compatibility](https://github.com/pwndbg/pwndbg) - [Versioned pwndbg debugger abstraction source](https://github.com/pwndbg/pwndbg/blob/8b3c0cfdb8d7c1597e1922355d21f0ff61a81354/pwndbg/dbg_mod/__init__.py) - [GDB/MI](https://sourceware.org/gdb/current/onlinedocs/gdb.html/GDB_002fMI.html), [GDB Python API](https://sourceware.org/gdb/current/onlinedocs/gdb.html/Python-API.html), [pygdbmi](https://github.com/cs01/pygdbmi) - [pwndbg MCP controller source](https://github.com/luantq0/pwndbg-mcp/blob/a45c097364a7c1e51adce0a08133a05b08dd4e9b/pwndbg_mcp/gdb_controller.py), [upstream MCP request](https://github.com/pwndbg/pwndbg/issues/4004) - Related: #32, #71, #385, #718, #964, #968. Research reviewed official documentation, release/license metadata and selected implementations. No pwntools/pwndbg/GDB runtime integration has been verified by this issue. Split implementation and real-provider proof into focused follow-ups.
Author
Owner

@N0zoM1z0 commented on GitHub (Oct 8, 2026):

First modular implementation is ready for review in #1037: target-free offline ELF layout through unchanged BYO pwntools/pyelftools/Unicorn. Final installed CLI/MCP verification passed 27 real cases (including linked/section/TLS values, high uint64 addresses, raw names, malformed/unsupported inputs), with syscall evidence that no selected target or patched copy executed and zero remaining descendants; 63 focused tests passed. Core analysis, GDB state/control and optional pwndbg enrichment remain separate increments under this issue. CTF remains one showcase for these general capabilities.

<!-- gh-comment-id:6049497084 --> @N0zoM1z0 commented on GitHub (Oct 8, 2026): First modular implementation is ready for review in #1037: target-free offline ELF layout through unchanged BYO pwntools/pyelftools/Unicorn. Final installed CLI/MCP verification passed 27 real cases (including linked/section/TLS values, high uint64 addresses, raw names, malformed/unsupported inputs), with syscall evidence that no selected target or patched copy executed and zero remaining descendants; 63 focused tests passed. Core analysis, GDB state/control and optional pwndbg enrichment remain separate increments under this issue. CTF remains one showcase for these general capabilities.
Author
Owner

@N0zoM1z0 commented on GitHub (Oct 8, 2026):

ELF-layout increment merged in #1037 (4fc6565b). Added target-free inspect_binary_layout / CLI parity through exact BYO pwntools, with raw identities, source ranges, full inline Evidence and explicit inferred/unknown facets. All30 final-head checks passed; real installed CLI/MCP CI passed149 public + four bootstrap cases. Targeted genuine large-index MCP proof passed separately; large-result usability is tracked in #1050.

This roadmap stays open: recorded crash/core inspection and optional GDB/pwndbg context remain separate increments. Next I am finishing the EVM bytecode interface adapter in #972, then returning to the recorded-core/pwndbg boundary. CTF remains one application of these general capabilities.

<!-- gh-comment-id:6053758246 --> @N0zoM1z0 commented on GitHub (Oct 8, 2026): ELF-layout increment merged in #1037 (`4fc6565b`). Added target-free `inspect_binary_layout` / CLI parity through exact BYO pwntools, with raw identities, source ranges, full inline Evidence and explicit inferred/unknown facets. All30 final-head checks passed; real installed CLI/MCP CI passed149 public + four bootstrap cases. Targeted genuine large-index MCP proof passed separately; large-result usability is tracked in #1050. This roadmap stays open: recorded crash/core inspection and optional GDB/pwndbg context remain separate increments. Next I am finishing the EVM bytecode interface adapter in #972, then returning to the recorded-core/pwndbg boundary. CTF remains one application of these general capabilities.
Author
Owner

@N0zoM1z0 commented on GitHub (Oct 8, 2026):

Completed the first two independent binary diagnostics increments:

  • #1037: inspect_binary_layout provides offline ELF layout, relocation/GOT/PLT and mitigation evidence through unchanged pwntools/pyelftools, without executing the selected target.
  • #1054: inspect_recorded_crash preserves recorded Linux amd64 core notes, every supported thread/register and meaningful signal fields, with optional core-only GDB/pwndbg mapping context. CLI and MCP share the application workflow and return full inline Evidence. Historical PIDs remain metadata; debugger maps and their enclosing Evidence are derived, with unknown current file identities.

The recorded-crash increment uses separate modular adapters and unchanged pinned upstream code. Final verification includes 102 focused core and shared Evidence/CLI tests, a fresh installed CLI/MCP smoke, and the hosted 42-case installed-package proof with all 139 tool schemas, original inputs unchanged, a surviving PID-collision sentinel and no remaining descendants. Review regressions cover raw owner/ABI interpretation, source-bound PID/signal/register fields, missing/duplicate interpretations, complete register identities, exact physical coverage and source headers. No VPS defaults, system Python, .gdbinit, ptrace or sysctl settings were changed.

This remains an open roadmap: executable/library pairing, unwinding, live GDB state/control, allocator/pointer-chain facets, instruction-sequence/pattern queries, other targets/hosts and large result views (#1050) are future work. These are general reusable binary-analysis capabilities; CTF is one application domain.

PR #1054 was squash-merged as 163ee09a7425479385e0ed0b5d74043e2587eab2. At merge, 31/32 checks had passed, with no failures; the macOS x64 native package baseline was still running. The existing website runtime lane passed on a same-head rerun after its initial failure; no website code was changed. The owner explicitly asked to proceed without waiting for bot review. Normal merge was used without bypassing branch protection.

Per the owner's latest direction, development stops after this already-started increment. No additional features are being started. The remaining roadmap is available for future contributors to pick up in separate PRs with corresponding real-provider proof.

<!-- gh-comment-id:6056273869 --> @N0zoM1z0 commented on GitHub (Oct 8, 2026): Completed the first two independent binary diagnostics increments: - #1037: `inspect_binary_layout` provides offline ELF layout, relocation/GOT/PLT and mitigation evidence through unchanged pwntools/pyelftools, without executing the selected target. - #1054: `inspect_recorded_crash` preserves recorded Linux amd64 core notes, every supported thread/register and meaningful signal fields, with optional core-only GDB/pwndbg mapping context. CLI and MCP share the application workflow and return full inline Evidence. Historical PIDs remain metadata; debugger maps and their enclosing Evidence are derived, with unknown current file identities. The recorded-crash increment uses separate modular adapters and unchanged pinned upstream code. Final verification includes 102 focused core and shared Evidence/CLI tests, a fresh installed CLI/MCP smoke, and the hosted 42-case installed-package proof with all 139 tool schemas, original inputs unchanged, a surviving PID-collision sentinel and no remaining descendants. Review regressions cover raw owner/ABI interpretation, source-bound PID/signal/register fields, missing/duplicate interpretations, complete register identities, exact physical coverage and source headers. No VPS defaults, system Python, `.gdbinit`, ptrace or sysctl settings were changed. This remains an open roadmap: executable/library pairing, unwinding, live GDB state/control, allocator/pointer-chain facets, instruction-sequence/pattern queries, other targets/hosts and large result views (#1050) are future work. These are general reusable binary-analysis capabilities; CTF is one application domain. PR #1054 was squash-merged as `163ee09a7425479385e0ed0b5d74043e2587eab2`. At merge, 31/32 checks had passed, with no failures; the macOS x64 native package baseline was still running. The existing website runtime lane passed on a same-head rerun after its initial failure; no website code was changed. The owner explicitly asked to proceed without waiting for bot review. Normal merge was used without bypassing branch protection. Per the owner's latest direction, development stops after this already-started increment. No additional features are being started. The remaining roadmap is available for future contributors to pick up in separate PRs with corresponding real-provider proof.
Author
Owner

@morluto commented on GitHub (Oct 8, 2026):

Verified fixed on main (7a7460f0). bridge/pwntools/ + bridge/pwndbg/ adapters ship with src/native/pwntools, CLI binaryDiagnosticsCommands, and docs/binary-diagnostics.md. Closing per audit.

<!-- gh-comment-id:6071380022 --> @morluto commented on GitHub (Oct 8, 2026): Verified fixed on main (7a7460f0). bridge/pwntools/ + bridge/pwndbg/ adapters ship with src/native/pwntools, CLI binaryDiagnosticsCommands, and docs/binary-diagnostics.md. Closing per audit.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#370
No description provided.