Integrate master agent runtime orchestration updates
This commit is contained in:
@@ -39,6 +39,81 @@ test("ProjectDetailActivity keeps a rendered project snapshot for append-only re
|
||||
/private boolean trySkipUnchangedRealtimeMessagesPatch\(JSONObject projectMessagesPayload\)/,
|
||||
"expected chat page to expose a duplicate-payload fast path",
|
||||
);
|
||||
assert.match(
|
||||
source,
|
||||
/private boolean hasMatchingExecutionWarnings\(JSONObject currentPayload,\s*JSONObject nextPayload\)/,
|
||||
"expected chat page to compare executionWarnings separately from the message list",
|
||||
);
|
||||
assert.match(
|
||||
source,
|
||||
/private boolean hasMatchingConversationTasks\(JSONObject currentPayload,\s*JSONObject nextPayload\)/,
|
||||
"expected chat page to compare conversationTasks separately from the message list",
|
||||
);
|
||||
assert.match(
|
||||
source,
|
||||
/if \(!hasMatchingExecutionWarnings\(currentRenderedProjectPayload,\s*projectMessagesPayload\)\) \{\s*return false;\s*\}/,
|
||||
"expected append-only realtime patches to fall back when warning payloads changed",
|
||||
);
|
||||
assert.match(
|
||||
source,
|
||||
/if \(!hasMatchingConversationTasks\(currentRenderedProjectPayload,\s*projectMessagesPayload\)\) \{\s*return false;\s*\}/,
|
||||
"expected append-only realtime patches to fall back when task payloads changed",
|
||||
);
|
||||
assert.match(
|
||||
source,
|
||||
/JSONObject conversationTask = findConversationTask\(currentRenderedProjectPayload,\s*messageId\);/,
|
||||
"expected each message view to look up a task summary by request message id",
|
||||
);
|
||||
assert.match(
|
||||
source,
|
||||
/if \(tryPatchRealtimeExecutionWarnings\(projectMessagesPayload\)\) \{\s*return true;\s*\}/,
|
||||
"expected chat page to patch warning-only realtime changes before falling back to full rerender",
|
||||
);
|
||||
assert.match(
|
||||
source,
|
||||
/private boolean tryPatchRealtimeExecutionWarnings\(JSONObject projectMessagesPayload\)/,
|
||||
"expected chat page to expose a focused warning patch helper",
|
||||
);
|
||||
assert.match(
|
||||
source,
|
||||
/replaceMessageViewById\(messageId,\s*buildMessageView\(message\)\);/,
|
||||
"expected warning-only patches to rerender only the affected message view",
|
||||
);
|
||||
assert.match(
|
||||
source,
|
||||
/private void replaceMessageViewById\(String messageId,\s*View nextMessageView\)/,
|
||||
"expected chat page to expose a helper for targeted message view replacement",
|
||||
);
|
||||
assert.match(
|
||||
source,
|
||||
/wrapper\.addView\(statusRow\);/,
|
||||
"expected each message bubble to append a compact status row",
|
||||
);
|
||||
assert.match(
|
||||
source,
|
||||
/List<JSONObject> messageWarnings = buildMessageWarnings\(currentRenderedProjectPayload,\s*messageId\);/,
|
||||
"expected message views to gather grouped warnings for the status row",
|
||||
);
|
||||
assert.match(
|
||||
source,
|
||||
/String currentFingerprint = buildStatusFingerprint\(messageId, currentRenderedProjectPayload\);/,
|
||||
"expected realtime patches to compute the current status fingerprint before replacing a message view",
|
||||
);
|
||||
assert.match(
|
||||
source,
|
||||
/String nextFingerprint = buildStatusFingerprint\(messageId, projectMessagesPayload\);/,
|
||||
"expected realtime patches to compute a fingerprint before replacing a message view",
|
||||
);
|
||||
assert.match(
|
||||
source,
|
||||
/if \(!TextUtils\.equals\(currentFingerprint,\s*nextFingerprint\)\) \{/,
|
||||
"expected realtime warning patches to branch on status fingerprint changes before replacing views",
|
||||
);
|
||||
assert.match(
|
||||
source,
|
||||
/if \(hasMatchingExecutionWarnings\(currentRenderedProjectPayload,\s*projectMessagesPayload\)\s*&&\s*hasMatchingConversationTasks\(currentRenderedProjectPayload,\s*projectMessagesPayload\)\) \{\s*return false;\s*\}/,
|
||||
"expected status-only patch path to stay idle only when both warnings and task payloads are unchanged",
|
||||
);
|
||||
});
|
||||
|
||||
test("ProjectDetailActivity suppresses intermediate layouts while rebuilding or appending chat content", async () => {
|
||||
|
||||
Reference in New Issue
Block a user