chore: migrate autonomous navigation to GOAP and finalize 100% E2E test stabilization

- Delegate legacy BFS navigation to structure-based GOAP system
- Harden Situational Awareness Engine (SAE) for modal and obstacle clearance
- Fix device sizing calculations during mocked humanized scrolls
- Remove deprecated V8 test stubs and legacy debug entrypoints
- Stabilize Telepathic Engine context parsing thresholds
Result: 66/66 E2E and integration tests passing
This commit is contained in:
2026-04-19 22:14:56 +02:00
parent 0aeed11186
commit ba4d7ffda2
83 changed files with 4735 additions and 1873 deletions

22
scripts/debug_sort.py Normal file
View File

@@ -0,0 +1,22 @@
from GramAddict.core.telepathic_engine import TelepathicEngine
import os, json
DUMP_PATH = "/Volumes/Alpha SSD/Coding/bot/debug/xml_dumps/post_load_timeout__2026-04-17_15-02-36.xml"
with open(DUMP_PATH, "r") as f:
xml_content = f.read()
engine = TelepathicEngine.get_instance()
nodes = engine._extract_semantic_nodes(xml_content)
grid_nodes = []
for node in nodes:
if node.get("resource_id") in ["com.instagram.android:id/grid_card_layout_container", "com.instagram.android:id/image_button"]:
grid_nodes.append(node)
grid_nodes.sort(key=lambda n: (
round(n["y"] / 5) * 5,
n["x"],
n["naf"],
-n["area"]
))
for n in grid_nodes[:5]:
print(f"Y={n['y']} (rnd={round(n['y']/5)*5}), NAF={n['naf']}, Area={n['area']}, ID={n['resource_id']}")

24
scripts/debug_verify.py Normal file
View File

@@ -0,0 +1,24 @@
from GramAddict.core.telepathic_engine import TelepathicEngine
import os
DUMP_PATH = "/Volumes/Alpha SSD/Coding/bot/debug/xml_dumps/post_load_timeout__2026-04-17_15-02-36.xml"
with open(DUMP_PATH, "r") as f:
xml_content = f.read()
engine = TelepathicEngine.get_instance()
TelepathicEngine._last_click_context = {"x": 178, "y": 558}
intent = "first image in explore grid"
print(f"Any grid check: {any(k in intent.lower() for k in ['explore grid', 'profile grid', 'first image', 'grid item'])}")
post_markers = [
"row_feed_button_like", "row_feed_button_comment", "row_feed_button_share",
"row_feed_comment_textview_layout", "row_feed_view_group",
"row_feed_photo_profile_name", "row_feed_photo_imageview",
"clips_media_component", "clips_viewer", "clips_like_button",
"clips_comment_button", "reel_viewer", "clips_music_attribution",
"carousel_page_indicator", "media_set_page_indicator",
"action_bar_original_title", "media_header_user",
]
print(f"Marker found check: {any(m in xml_content.lower() for m in post_markers)}")
success = engine.verify_success(intent, xml_content)
print(f"Success is: {success}")