Skip to content

local mode: analysis_complete setter blocks list/search/decompile; list_functions provider missing #48

Description

@oldrepublicwizard

Summary

agentdecompile-cli --local (PyGhidra) blocks enumeration on importable PE binaries:

  1. ProgramInfo.analysis_complete has no setterlist-imports, list-strings, search-*, decompile-function, etc. fail after get-current-program succeeds.
  2. Local backend missing providerslist-functions / get-functions in tool-seq resolve to Unknown tool: list_functions despite appearing in tool --list-tools.

Version

agentdecompile-cli 2.0.1.dev47+gfe90688e7.d20260528 via uvx --from git+https://github.com/bolabaden/agentdecompile

Repro

See rhythm-vibe-studio knowledgebase (copy-paste commands):

# Minimal 3-step repro — Pro Tools.exe on Linux host
```bash
export GHIDRA_INSTALL_DIR="${GHIDRA_INSTALL_DIR:-$HOME/.local/opt/ghidra/current}"
export PROJ=/tmp/agdec-upstream-repro
export BINARY="/path/to/ProTools.exe"   # analyst: Pro_Tools_26.4.0_Win/.../ProTools.exe

mkdir -p "$PROJ"
cat > /tmp/agdec-repro.json <<'JSON'
[
  {"name":"import-binary","arguments":{"path":"REPLACE_BINARY","analyze_after_import":true}},
  {"name":"get-current-program","arguments":{}},
  {"name":"list-imports","arguments":{"programPath":"/ProTools.exe","limit":5}}
]
JSON
sed -i "s|REPLACE_BINARY|$BINARY|" /tmp/agdec-repro.json

uvx --from git+https://github.com/bolabaden/agentdecompile agentdecompile-cli \
  --local --local-project-path "$PROJ" --local-project-name repro \
  -f json tool-seq-file --continue-on-error /tmp/agdec-repro.json

Expected vs actual

Step Expected Actual (2026-05-28)
get-current-program OK OK (e.g. 34688 functions on ProTools.exe)
list-imports OK after analyze Exception: analysis_complete setter

Context

DAW binary RE corpus (plan 044) requires ≥60 tool calls per binary; we can capture diagnostics but not enumeration until fixed.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions