feat(phase-19): add remediation fields and reports system (T-130, T-131)

This commit is contained in:
2026-02-09 13:58:35 +01:00
parent fb7f340038
commit 9ea6ce1326
11 changed files with 996 additions and 0 deletions

View File

@@ -81,6 +81,17 @@ class TestBlueValidate(BaseModel):
blue_validation_notes: str | None = None
# ── Remediation update ────────────────────────────────────────────
class TestRemediationUpdate(BaseModel):
"""Payload for updating remediation fields."""
remediation_steps: str | None = None
remediation_status: str | None = None # pending / in_progress / completed / not_applicable
remediation_assignee: uuid.UUID | None = None
# ── Legacy validate (kept for backwards compat) ────────────────────
@@ -126,6 +137,11 @@ class TestOut(BaseModel):
blue_validation_status: str | None = None
blue_validation_notes: str | None = None
# Remediation fields
remediation_steps: str | None = None
remediation_status: str | None = None
remediation_assignee: uuid.UUID | None = None
# Technique info (populated when joined)
technique_mitre_id: str | None = None
technique_name: str | None = None

View File

@@ -24,6 +24,7 @@ class TestTemplateOut(BaseModel):
tool_suggested: str | None = None
severity: str | None = None
atomic_test_id: str | None = None
suggested_remediation: str | None = None
is_active: bool = True
created_at: datetime | None = None
@@ -47,6 +48,7 @@ class TestTemplateCreate(BaseModel):
tool_suggested: str | None = None
severity: str | None = None
atomic_test_id: str | None = None
suggested_remediation: str | None = None
# ── Summary (for listings) ─────────────────────────────────────────