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
+4 -2
View File
@@ -172,9 +172,11 @@ def evidence_cmd(
if json_output:
typer.echo(json.dumps(payload, ensure_ascii=False, sort_keys=True))
else:
counts = payload["counts"]
typer.echo(
f"OK: run={payload['run_id']} generation={payload['generation']} changed={len(payload['changed'])} "
f"unchanged={len(payload['unchanged'])} removed={len(payload['removed'])}"
f"OK: run={payload['run_id']} generation={payload['generation']} "
f"changed={counts['changed']} unchanged={counts['unchanged']} "
f"removed={counts['removed']}"
)
+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]]