Source code for ralph.mcp.artifacts.plan.plan_schema
"""Structured Pydantic schema models for plan artifacts."""
from __future__ import annotations
from pydantic import ConfigDict, Field
from ralph.mcp.artifacts.plan._critical_files import CriticalFiles
from ralph.mcp.artifacts.plan._critical_primary_file import CriticalPrimaryFile
from ralph.mcp.artifacts.plan._edit_area import EditArea
from ralph.mcp.artifacts.plan._plan_step import PlanStep
from ralph.mcp.artifacts.plan._reference_file import ReferenceFile
from ralph.mcp.artifacts.plan._risk_mitigation import RiskMitigation
from ralph.mcp.artifacts.plan._scope_item import ScopeItem
from ralph.mcp.artifacts.plan._skills_mcp import SkillsMcp
from ralph.mcp.artifacts.plan._step_target import StepTarget
from ralph.mcp.artifacts.plan._summary import Summary
from ralph.mcp.artifacts.plan._verification_step import VerificationStep
from ralph.pydantic_compat import RalphBaseModel
[docs]
class ParallelPlanItem(RalphBaseModel):
"""A unit of parallelisable work with dependency tracking."""
model_config = ConfigDict(extra="forbid")
id: str = Field(..., min_length=1)
description: str = Field(..., min_length=1)
edit_area: EditArea
depends_on: list[str] = Field(default_factory=list)
__all__ = [
"CriticalFiles",
"CriticalPrimaryFile",
"EditArea",
"ParallelPlanItem",
"PlanStep",
"ReferenceFile",
"RiskMitigation",
"ScopeItem",
"SkillsMcp",
"StepTarget",
"Summary",
"VerificationStep",
]