feat(tests): auto-propose procedure suggestions from submitted rounds, add lead review workflow
When Red or Blue submits a round for a test created from a template, any extractable command in their procedure text is proposed as an update to the template's suggested procedure — never written automatically. Adds GET/approve/reject endpoints scoped so a lead only reviews their own team's suggestions; approving writes the suggested text into the template, rejecting leaves it untouched.
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
"""Pydantic schemas for procedure-suggestion review endpoints."""
|
||||
|
||||
import uuid
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
|
||||
|
||||
class ProcedureSuggestionOut(BaseModel):
|
||||
"""A proposed template procedure update, pending or reviewed."""
|
||||
|
||||
id: uuid.UUID
|
||||
template_id: uuid.UUID
|
||||
team: str
|
||||
suggested_text: str
|
||||
source_test_id: uuid.UUID | None = None
|
||||
submitted_by: uuid.UUID | None = None
|
||||
status: str
|
||||
reviewed_by: uuid.UUID | None = None
|
||||
reviewed_at: datetime | None = None
|
||||
created_at: datetime | None = None
|
||||
|
||||
# Populated for display — the template name and its current suggested
|
||||
# value, so a lead can compare without a second lookup.
|
||||
template_name: str | None = None
|
||||
template_current_text: str | None = None
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
Reference in New Issue
Block a user