Chaudhry Waleed
Deploy RICS v2 (senior baseline, CPU Spaces Dockerfile)
330d570
Raw
History Blame Contribute Delete
595 Bytes
"""Internal value types for content-based topic generation."""
from __future__ import annotations
from dataclasses import dataclass, field
@dataclass
class TopicBucket:
"""A topic/sub-topic unit with the surveyor observations routed to it."""
topic_id: str
subtopic_id: str
topic_label: str
subtopic_label: str
observations: list[str] = field(default_factory=list)
rating_value: str | None = None
@property
def code(self) -> str:
"""Stable per-report key (sub-topic id; unique across topics)."""
return self.subtopic_id or self.topic_id