Version: latest
agrag.common.data_models.decision.Decision
Bases: BaseModel
One recorded decision of a task.
Attributes:
- id (
UUID) – Identifier derived from the task id, choice key and revision. - task_id (
UUID) – The task the decision belongs to. - task_name (
str) – The name of that task. - choice_key (
str) – The choice inside the task that this decision settles. - revision (
int) – 1 for the first decision of a choice, and one more for each supersession. - conclusion (
str) – The conclusion. Never changed after recording. - rationale (
str) – The stated reasoning. - assumptions (
list[str]) – Assumptions the decision relies on. - open_questions (
list[str]) – Questions left open. - author (
str) – The agent that recorded the decision. - status (
DecisionStatus) – Lifecycle state. - review_state (
ReviewState) – Whether the supports still hold. - review_reason (
ReviewReason | None) – Why the decision needs review, or None. - rejection_reason (
str | None) – The reason given when the decision was rejected. - rejected_by (
str | None) – Who rejected the decision. - created_at (
datetime) – When the decision was recorded. - supports (
list[Support]) – The stored supports, in the order they were given.
assumptions
assumptions: list[str]
author
author: str
choice_key
choice_key: str
conclusion
conclusion: str
created_at
created_at: datetime
id
id: UUID
model_config
model_config = ConfigDict(frozen=True)
open_questions
open_questions: list[str]
rationale
rationale: str
rejected_by
rejected_by: str | None = None
rejection_reason
rejection_reason: str | None = None
review_reason
review_reason: ReviewReason | None = None
review_state
review_state: ReviewState
revision
revision: int
status
status: DecisionStatus
supports
supports: list[Support] = Field(default_factory=list)
task_id
task_id: UUID
task_name
task_name: str