symfonic.devtools.ownership.model¶
model ¶
Value types for the task-and-module ownership manifest (T1.2.7).
OwnershipManifest
dataclass
¶
OwnershipManifest(path: Path, authoritative_waves: tuple[str, ...], scheduled_wave: str, waves: dict[str, tuple[str, ...]], tasks: dict[str, TaskRow], plan: str = '')
The parsed rolling manifest: wave rosters plus per-task rows.
OwnershipViolation
dataclass
¶
One validation failure; tasks lists every implicated task ID.
TaskRow
dataclass
¶
TaskRow(task_id: str, wave: str, status: str, title: str = '', agent: str = '', complete: bool = False, current: tuple[str, ...] = (), target: tuple[str, ...] = (), exclusive_write: tuple[str, ...] = (), shared_read: tuple[str, ...] = (), split_points: tuple[str, ...] = (), handoff: tuple[str, ...] = ())
One manifest row: what a plan task may read, write, and hand off.
exclusive_write globs are the only paths the task may create or
modify; shared_read names the read-only contracts it consumes;
handoff lists the task IDs whose outputs it builds on (the plan's
depends_on edges, which also order tasks for the overlap check).
Rows with status advisory are speculative sketches for later waves
and are never treated as authoritative.