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:
1 parent
dbc0c45ef2
commit
3f6df88f95
5 files changed
+410
-2
No files matched your search
+3
-1
@@ -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):
|
||||
|
||||
Reference in new issue
Block a user