Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a053ff-1d6f-7fe2-ac1c-a6eb40a42a0c
39 lines
1.1 KiB
Python
39 lines
1.1 KiB
Python
from typing import Any
|
|
|
|
from pydantic import BaseModel, ConfigDict, Field
|
|
|
|
|
|
class SealedProjectionRepairSubmit(BaseModel):
|
|
plan: dict[str, Any]
|
|
repo_slug: str = Field(pattern=r"^[a-z0-9][a-z0-9-]{0,99}$")
|
|
unit: dict[str, Any]
|
|
expected_plan_sha256: str = Field(pattern=r"^[0-9a-f]{64}$")
|
|
source_revision: str = Field(pattern=r"^[0-9a-f]{40}$")
|
|
source_fingerprint: str = Field(pattern=r"^[0-9a-f]{64}$")
|
|
source_clean: bool
|
|
source_synchronized: bool
|
|
primary_confirmed: bool
|
|
projection_identity: str = Field(min_length=1, max_length=200)
|
|
|
|
|
|
class SealedProjectionRepairReceiptRead(BaseModel):
|
|
model_config = ConfigDict(populate_by_name=True)
|
|
|
|
schema_version: str = Field(alias="schema")
|
|
outcome: str
|
|
repo_slug: str
|
|
repository_id: str
|
|
workplan_record_id: str
|
|
workplan_old_id: str
|
|
task_records: list[tuple[str, str]]
|
|
plan_sha256: str
|
|
source_revision: str
|
|
source_fingerprint: str
|
|
projection_identity: str
|
|
observed_at: str
|
|
|
|
|
|
class IdentifierMigrationApplySubmit(BaseModel):
|
|
plan: dict[str, Any]
|
|
expected_plan_sha256: str = Field(pattern=r"^[0-9a-f]{64}$")
|
|
primary_confirmed: bool
|