Add shared reverse-engineering lookups (re_disassemble, re_xrefs, re_bytes, re_lookup)

Read the project's flat image, facts.jsonl and annotations with the team's
current names; exposed as MCP tools and as 'harbor re'. Configured by a
[reverse] table in the project file.
This commit is contained in:
KeelrLeek committed 2026-10-05 11:16:56 -05:00
1 parent dbc0c45ef2
commit 3f6df88f95
5 files changed
+410 -2

No files matched your search

+3 -1
View File
@@ -94,6 +94,7 @@ class Project:
policy: dict = field(default_factory=dict)
autopilot: bool = False # running agents keep working instead of ending their turns (hooks)
shared_files: tuple = () # glob patterns (repo-relative) every agent edits and the integrator merges: not collisions
reverse: dict = field(default_factory=dict) # [reverse]: image, base, facts, imports, annotations, src (harbor.reverse)
@property
def names(self):
@@ -207,7 +208,8 @@ def project_from_dict(data, source=None, home=None):
source=source, git_main=str(data.get("git", {}).get("main", "main")),
templates=_templates(data.get("templates", {}), names), policy=_policy(data.get("policy"), names),
autopilot=bool(data.get("autopilot", False)),
shared_files=tuple(str(p).replace("\\", "/") for p in data.get("shared_files", [])))
shared_files=tuple(str(p).replace("\\", "/") for p in data.get("shared_files", [])),
reverse=dict(data.get("reverse", {})))
def load_file(path, home=None):