diff --git a/CHANGELOG.md b/CHANGELOG.md
index 243a200..b94baa6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,19 @@
All notable changes to this project will be documented in this file.
+## [0.4.7] - 2025-12-27
+
+### 🛠️ Stability & Robustness (PES Agent)
+- **Execution Loop Integrity**: Addressed a critical issue where `item.result` was not being populated if the execution loop terminated due to max iterations or lacked explicit final content.
+- **Enhanced Fallback Logic**:
+ - **Smart Result Capture**: Implemented intelligent fallback to the *last* tool execution result when explicit LLM content is missing.
+ - **Context Awareness**: Updated context building for synthesis and subsequent steps to utilize tool results when `item.result` is empty, eliminating "undefined" errors in prompts.
+ - **Stale Content Protection**: Ensured `lastContent` is only updated with meaningful content, preventing empty strings from overriding valid previous outputs.
+- **HITL Resumption Fixes**:
+ - **State Reset**: Fixed a bug where resuming from a suspended state failed to reset `isPaused` and item status, causing the execution loop to skip the resumed task.
+ - **A2A Integration**: Ensured Agent-to-Agent (A2A) task results are correctly captured and used in the result fallback chain.
+- **Regression Testing**: Added `test/pes-agent-result.test.ts` with deep state verification to prevent future regressions in result population and resumption flows.
+
## [0.4.6] - 2025-12-26
### 🚦 Tool-Aware Execution Framework (TAEF)
diff --git a/README.md b/README.md
index 8e7d0ae..f2c32d5 100755
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
-# ✨ ART: Agentic Runtime Framework (beta)
+# ✨ ART: Agentic Runtime Framework (beta)
diff --git a/docs/components/assets/hierarchy.js b/docs/components/assets/hierarchy.js
index 92860cc..422722a 100644
--- a/docs/components/assets/hierarchy.js
+++ b/docs/components/assets/hierarchy.js
@@ -1 +1 @@
-window.hierarchyData = "eJyVl8Fu2zgQht+FZ3ZXpERZ8s1NjYXRBMnG7mWLHFh54giWSS1FZWMUfvcFnaQlbTkcXXSw/9H3DzmcoX4So7XtyPQ7Z0lCOeVJQYVIaJbTnLIko5zlyQMlBh4bqGytVUemPwl3DyV3QKZkMduAslfaAKFkW6s1mXKRU9KbhkxJrSyYR1lB9+dv4R9PdtcQSqpGdh2ZEtutP7nIT7/U7s+nulkbUGT6XYj84UBJ7lHvQXZa1WozV5taxdAn6rH8tHD4tPD4d0Y/12sws7VsLZgI/0Q9ll+Ugpa5oEXGKUsYp2WR0SLntEyZc5b5K7NYad3MX6DqrY75CrRjXbHE2RFp4iywJPM8LK02cgO4xQnFY11MeEYnIqeT8lgjPCmC2uzt09IaaWGzj5anpx29FqkoKUsnnLKUHRdEiMQ38l4BN1LJTXRJTuWj7RScvZrwK+NuvjwewV9wxot3+PHNrlLfNBeJrz8cKJlwf8cX6gZ22uwv7PwAaTgCwQ1yWqg1vMD6y+cx4MEQBLn0ycu+lT9kB3jwcEScW2R+v/0LdrWqEbhAiKDkPuW2BTVbICiBEEEphUeZKftkdFtXCNCpNs4qU3aS0b3u7XnPvpBVIEbQcj+zLwDtEmCLYJ1IEaTCP3m3TSN3EpOTL4xT3KDxy87ofzFF91uGQQSVfSWbqm+k1caNpY8ooRIDEgFIq2cwnXT3maWutvBhSzxXY4BlcJp+dGCekbwzMQLH0tTDXV/fLK0BuYvDTqQY1MQ/VTM+W8luGwcFQgQmZf78vPt6Nb8dHOZDM+xUjMGJ0s+qrb/CHsMKlRjQJGzmCkxdoVMb0keg4cUgY5PjdS1jE8/GP3tldVtLtI/BAET2IvV39aZq74x+2ceOu69DQArOBm7qb1epxa79kDUgjyPd15NfPveruTH643H2phmze5wxTjnjjHKWukfmHuJ433T/eRa+qa3S/6n3bKJ2hvSYvIOlvtaVbN5fcaXVY1NXNoq+HIUxkJ4ZWKjOSlXB577b4+BnERhwxsKG8XcPPazqHeg+nvOQHgMNPire5uyre1sfJ0acfCkIg899/Grfwjre+D3ZqE6VCPexW3Lqhht1Y+fhcDj8DwtDe4Q="
\ No newline at end of file
+window.hierarchyData = "eJyVl11v2yAUhv8L12wzYPyRu6yLpmit2jXZzaZeMOc0teKAh3HXaMp/n0jbDRKn4Bsixe/x8x44cPAfpJUyHZr8oCQhmGKaFJjzBKcZzjBJUkxJRu4w0nDfQGVqJTs0+YOoHaTYApqg+XQN0lwoDQijTS1XaEJ5hlGvGzRBtTSg70UF3Yf/wvcPZtsgjKpGdB2aINOt3tnId//U9uFD3aw0SDT5wXl2t8coc6i3IDola7meyXUtQ+gj9Vg+KyyeFQ7/RqvHegV6uhKtAR3gH6nH8osyw2WW4SJlmCSE4bLguMgYLhm1zlJ3ZuZLpZrZE1S9USFfnnasK5JYO5wRa4EkqeNhYZQWa4ibHF881kVOOc55jvMytz5oUni12ZuHhdHCwHoXLE9HO3ouWJZgwnKGCSOHCeE8cY28VsCVkGIdnJJj+Wg7BaXPJtzKuJktDlvwH5zQ4hV+eLOt1BfNWeLzH3uMcsrdBOUVbJXenVn5AdJwRASX5x53BU+w+vRxDHgwJIJcuuRF34qfooN48HBEmFukzOF+hm0t6wicJ4ygZC7lugU5nUdQPGEEpXQrcirNg1ZtXUWAjrVhVsnoUUa3qjenZ/aZrDxxBC1zM/sE0C4ANhGsI2kEqXB33nXTiK2IyckVhim20bhlp9WvmKL7L4tBeJV9IZqqb4RR2raltyi+MgbEPZCSj6A7Ye8zC1Vt4M0j8VQdAyy93fSzA/0YyTsRR+AIc9vv5eXVwmgQ2zDsSBqDyt1dNaXTpeg2YZAnjMAwQtzW9eVidj3YzId62LE4Bpe57Xra1l9gF8PylTGg3D/MJei6ik5tSB+A+heDlBzusvbXsfF9J41qaxHtYzAgInvO3FW9qtobrZ52oe3u6iIgBaUDN/WXq9R8277JGpCHkfbryS2f2+VMa/V2O3vRjFk9SgjDlFCKKWF2SO3AD/dN+8yx8E1upPotX7MJ2hnSx+TtTfWlqkTz+ooLJe+bujJB9PmoGAPsxMBcdkbICj723S4OfhIRA06pf2B87aGHZb0F1YdzHtLHQLlXZs999tm9qQ8dI0w+FxSDz1z8ctfCKnzwO7JRJ1XC7cduybBtbti2nbv9fv8XMgl7qg=="
\ No newline at end of file
diff --git a/docs/components/classes/A2ATaskSocket.html b/docs/components/classes/A2ATaskSocket.html
index 69d0cca..7c11d25 100644
--- a/docs/components/classes/A2ATaskSocket.html
+++ b/docs/components/classes/A2ATaskSocket.html
@@ -1,7 +1,7 @@
OptionaltaskRepository: IA2ATaskRepositoryClears all subscriptions. Useful for cleanup.
-Retrieves historical A2A task events, optionally filtered by criteria. +
OptionaltaskRepository: IA2ATaskRepositoryClears all subscriptions. Useful for cleanup.
+Retrieves historical A2A task events, optionally filtered by criteria. Note: This method constructs events from stored tasks, not from a dedicated event log.
Optionalfilter: A2ATaskFilterOptional A2ATaskFilter to filter the tasks.
Optionaloptions: { limit?: number; threadId?: string }Optional threadId and limit.
A promise resolving to an array of A2A task events.
-Notifies all relevant subscribers with new data.
+Notifies all relevant subscribers with new data.
The data payload to send to subscribers.
Optionaloptions: { targetSessionId?: string; targetThreadId?: string }Optional targeting options (e.g., targetThreadId).
OptionalfilterCheck: (data: A2ATaskEvent, filter?: A2ATaskFilter) => booleanA function to check if a subscription's filter matches the data.
-Convenience method to notify about task completion.
+Convenience method to notify about task completion.
The completed A2A task.
Optionalmetadata: { automatic?: boolean; context?: Record<string, any>; source?: string }Optional additional metadata about the completion.
Optionalautomatic?: booleanWhether this was an automatic update or manual
Optionalcontext?: Record<string, any>Any additional context
Optionalsource?: stringThe component that triggered the update
-Convenience method to notify about a task creation.
+Convenience method to notify about a task creation.
The newly created A2A task.
Optionalmetadata: { automatic?: boolean; context?: Record<string, any>; source?: string }Optional additional metadata about the creation.
Optionalautomatic?: booleanWhether this was an automatic update or manual
Optionalcontext?: Record<string, any>Any additional context
Optionalsource?: stringThe component that triggered the update
-Convenience method to notify about task delegation.
+Convenience method to notify about task delegation.
The delegated A2A task.
Optionalmetadata: { automatic?: boolean; context?: Record<string, any>; source?: string }Optional additional metadata about the delegation.
Optionalautomatic?: booleanWhether this was an automatic update or manual
Optionalcontext?: Record<string, any>Any additional context
Optionalsource?: stringThe component that triggered the update
-Notifies subscribers about a new A2A task event.
+Notifies subscribers about a new A2A task event.
The A2A task event data.
-Convenience method to notify about task failure.
+Convenience method to notify about task failure.
The failed A2A task.
Optionalmetadata: { automatic?: boolean; context?: Record<string, any>; source?: string }Optional additional metadata about the failure.
Optionalautomatic?: booleanWhether this was an automatic update or manual
Optionalcontext?: Record<string, any>Any additional context
Optionalsource?: stringThe component that triggered the update
-Convenience method to notify about a task update.
+Convenience method to notify about a task update.
The updated A2A task.
OptionalpreviousStatus: A2ATaskStatusThe previous status of the task (if status changed).
Optionalmetadata: { automatic?: boolean; context?: Record<string, any>; source?: string }Optional additional metadata about the update.
Optionalautomatic?: booleanWhether this was an automatic update or manual
Optionalcontext?: Record<string, any>Any additional context
Optionalsource?: stringThe component that triggered the update
-Subscribes a callback function to receive notifications.
+Subscribes a callback function to receive notifications.
The function to call when new data is notified.
Optionalfilter: A2ATaskFilterAn optional filter to only receive specific types of data.
Optionaloptions: { threadId?: string }Optional configuration, like a threadId for filtering.
An unsubscribe function.
-
A specialized TypedSocket for handling A2A task status updates and events. Allows filtering by task status, type, agent, and other criteria. Can optionally fetch historical task data from a repository.
-