feat(investigations): refine report authoring and replay flushing
This commit is contained in:
@@ -1067,6 +1067,8 @@ class OperationalTaskService:
|
||||
run_id=row["metadata"]["run_id"],
|
||||
execution_generation=row["metadata"]["execution_generation"],
|
||||
command=row["metadata"]["command"],
|
||||
narration=row["metadata"].get("narration"),
|
||||
purpose=row["metadata"].get("purpose"),
|
||||
) for row in rows[:limit]]
|
||||
return TaskPresentationHistoryPage(
|
||||
task_id=task_id, event_cursor=boundary, items=items,
|
||||
@@ -1097,6 +1099,9 @@ class OperationalTaskService:
|
||||
now = self._now()
|
||||
self._require_active_run_lease(run, now)
|
||||
payload = _json(command.command)
|
||||
if command.narration is not None:
|
||||
known = {item["evidence_id"] for item in await self.repo.list_evidence(str(task_id))}
|
||||
self._require_evidence_refs(command.narration.evidence_refs, known)
|
||||
await self._record_scada_presentation(task, run, payload, now)
|
||||
if command.command.action == "open_chart":
|
||||
validate_time_comparison_chart(payload["chart"], allow_missing_current=bool(
|
||||
@@ -1122,6 +1127,10 @@ class OperationalTaskService:
|
||||
payload["data"] = resolved
|
||||
metadata = {"task_id": str(task_id), "run_id": str(run["run_id"]),
|
||||
"execution_generation": run["generation"], "command": payload}
|
||||
if command.narration is not None:
|
||||
metadata["narration"] = _json(command.narration)
|
||||
if command.purpose is not None:
|
||||
metadata["purpose"] = command.purpose
|
||||
try:
|
||||
size = len(json.dumps(metadata, ensure_ascii=False, allow_nan=False).encode("utf-8"))
|
||||
except (ValueError, TypeError) as exc:
|
||||
|
||||
Reference in New Issue
Block a user