From cd617a15237e10f6ecb557ab9ee921b8da1c867f Mon Sep 17 00:00:00 2001 From: Khaled Salhab Date: Sat, 13 Jun 2026 09:53:50 +0300 Subject: [PATCH] docs(models): mark OnCallSchedule as provisional, add UUID format hint (#333911) Re-probed both production and test accounts via MCP on 2026-06-13; both still return zero on-call schedules, so the model fields cannot be validated against a real API response. Add a docstring note recording the probe date and describing what may be missing (rotation config, linked escalation policies). Update the uuid field description with the "sch_..." prefix observed in the tool schema. --- src/hyperping/models/_oncall_models.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/hyperping/models/_oncall_models.py b/src/hyperping/models/_oncall_models.py index d497058..41771e0 100644 --- a/src/hyperping/models/_oncall_models.py +++ b/src/hyperping/models/_oncall_models.py @@ -6,11 +6,22 @@ class OnCallSchedule(BaseModel): - """On-call rotation schedule.""" + """On-call rotation schedule. + + .. note:: + This model has not been validated against a real API response. Neither + the production nor the test account had any on-call schedules configured + as of 2026-06-13 (re-probed via MCP). The declared fields are inferred + from the MCP tool description. Additional fields (rotation config, + linked escalation policies) may exist in the actual response and will + land in ``model_extra`` due to ``extra="allow"``. Re-run the MCP probe + after creating at least one schedule and reconcile this model against + the real response shape (ticket #333911). + """ model_config = ConfigDict(extra="allow", populate_by_name=True, frozen=True) - uuid: str = Field(..., description="Schedule UUID") + uuid: str = Field(..., description="Schedule UUID (format: \"sch_...\")") name: str = Field(..., description="Schedule name") current_on_call: str | None = Field( default=None, alias="currentOnCall", description="Current on-call person"