fix(evidence): make result summaries safe

This commit is contained in:
2026-07-12 06:50:23 +02:00
parent b43075289e
commit 8110793f61
5 changed files with 80 additions and 5 deletions
+14 -2
View File
@@ -7,7 +7,7 @@ import json
import re
import uuid
from collections.abc import Mapping, Sequence
from dataclasses import asdict, dataclass
from dataclasses import asdict, dataclass, field
from datetime import UTC
from pathlib import Path
@@ -45,10 +45,22 @@ class PipelineResult:
changed: tuple[str, ...]
unchanged: tuple[str, ...]
removed: tuple[str, ...]
manifest: CorpusManifest
manifest: CorpusManifest = field(repr=False)
run_id: str | None = None
resumed_from: str | None = None
def __repr__(self) -> str:
counts = {
"changed": len(self.changed),
"unchanged": len(self.unchanged),
"removed": len(self.removed),
}
return (
f"PipelineResult(status={self.status!r}, generation={self.generation!r}, "
f"published={self.published!r}, counts={counts!r}, "
f"run_id={self.run_id!r}, resumed_from={self.resumed_from!r})"
)
def model_dump(self, mode=None):
def bounded(values: tuple[str, ...]) -> list[str]:
return [value[:200] for value in values[:100]]