mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
fix(content): keep coordination notes off dev_notes / quick_context
Two agent-authored fields were leaking non-developer content into the human note columns the panel renders: - apply_escalation appended '[ESCALATED] From X to Y\nReason: ...' to dev_notes (the developer's space). On a re-escalation loop a stuck cell PM grew one task's dev_notes to ~8KB across 5 escalations. It now writes a structured orchestration_markers['escalation'] record; the target still learns the reason from the escalate notification. - approve_and_start string-packed 'approve_and_start_notes:<text>' into quick_context (raw key:value soup). It now writes orchestration_markers['approve_and_start_notes'], leaving quick_context for the human ResumptionNote only. Adds typed marker accessors (get/set_escalation, get/set_approve_and_start_notes) and refactors _record_pr_review under the complexity bound by extracting _compose_review_body. Documents update_task_with_message as the legacy A2A-protocol log (dev_notes is intentional there, not pollution).
This commit is contained in:
@@ -539,7 +539,14 @@ class A2AService:
|
||||
|
||||
@staticmethod
|
||||
def update_task_with_message(task: TaskTable, message: A2AMessage) -> None:
|
||||
"""Update an existing task's dev_notes with new message content."""
|
||||
"""Append A2A-protocol message text to the task's A2A log (dev_notes).
|
||||
|
||||
NOTE: this is the *legacy A2A-protocol* message store — A2A-protocol
|
||||
tasks carry their request/response thread in ``dev_notes`` (keyed by the
|
||||
``"A2A Request"`` marker that ``_notify_original_requester`` checks).
|
||||
It is NOT the gateway agent flow (those use the A2AConversation tables),
|
||||
so it does not pollute normal delivery tasks' developer notes.
|
||||
"""
|
||||
text_parts = [p for p in message.parts if p.type == "text"]
|
||||
if not text_parts:
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user