fix: guard transient controls and verify timeline endpoints
This commit is contained in:
1 parent
479a185192
commit
00e62a663a
29 files changed
+1150
-90
No files matched your search
@@ -484,6 +484,15 @@ async def run_validation_loop(node, state: State) -> dict:
|
||||
skipped_copy["attempts"] = [BURST_SKIPPED_MARKER if burst else "Skipped"]
|
||||
execution.append(skipped_copy)
|
||||
|
||||
# A checkpoint may run before the next perception turn. Preserve the end of
|
||||
# a native sequence now, without introducing captures between burst members.
|
||||
# Saturated controls legitimately produce the same image hash as before.
|
||||
sequence_post_image = None
|
||||
if success and any(item.get("action") == "action_sequence" for item in execution):
|
||||
captured = await _capture_live_screenshot(session, "post-sequence evidence")
|
||||
if captured:
|
||||
sequence_post_image = _absorb_post_screenshot(ctx, state, captured)
|
||||
|
||||
report = {
|
||||
"execution": execution,
|
||||
"status": "dispatched" if success else "failed",
|
||||
@@ -494,7 +503,7 @@ async def run_validation_loop(node, state: State) -> dict:
|
||||
report["pre_image_valid"] = False
|
||||
|
||||
# Determine if a distinct post-action screenshot was captured
|
||||
distinct_post_image_name = (
|
||||
distinct_post_image_name = sequence_post_image or (
|
||||
last_screenshot_name
|
||||
if (last_screenshot_name and last_screenshot_name != decision_screenshot_name)
|
||||
else None
|
||||
|
||||
Reference in new issue
Block a user