Imported from bodencrouch/AgentDecompile (
skills/workbench-operator/SKILL.md). Install upstream withnpx skills add bodencrouch/AgentDecompile --skill workbench-operator. Copyright stays with the author (AGPL-3.0-or-later).
Workbench operator
The 8080/8767 workbench is the human loop for the same catalog agents call. It is not a settings page or a Swagger wrapper.
Default loop
- File → Open a Ghidra repository (shared-fs /
.gpr/ghidra://). - Pick a program in Explorer (not an Import slug unless you want corpus-SQLite).
- Functions + Listing should show that program. Empty list → Analyze → Ingest repository into BSim (skill
bsim-corpus), then Refresh. - Select a function → Listing tools (decompile, comment, label, xrefs) via the action strip. Run, do not only open the strip.
- Jobs stay in the dock. Finished ≠ match.
Implementation rules
- Authoritative UI:
src/agentdecompile_recovery/corpus/dashboard/static/workbench-app.js. - After UI changes: restart the dogfood server (do not click Restart/Shutdown in the page). Playwright-verify. Do not use curl as the proof.
- If the port is wedged (listen but no HTTP, or D-state): kill −9 or switch port. Never idle-wait.
- Do not claim Functions work from leftover
target/or backfilled JSONL.
Anti-patterns
- Treating the Functions window as corpus-only when a Ghidra program is selected.
- Burying BSim ingest in a 193-command list with no Analyze menu.
- Declaring the dashboard done from a screenshot.