Complete M11 Creator Studio and M12 Trust & Safety for PC5
checkpoint / checkpoint (push) Failing after 3h14m9s

- Creator Studio: Visual behavior & property inspector, GLB model importer, binary persistence
- Trust & Safety: 18+ TOS confirmation (DOB removed), creator guidelines & briefing card on join, in-game reporting HUD
- Test Harness: Add --filter, --skip-backend, --skip-godot to run_checkpoint_tests.py
This commit is contained in:
2026-09-17 23:13:57 +00:00
parent 920354705a
commit 7ecf0d53bd
30 changed files with 2099 additions and 157 deletions
+34
View File
@@ -124,9 +124,42 @@ async def report_message(
return report
class ModerationReportCreate(BaseModel):
target_type: Literal["message", "world", "user"]
target_id: int
reason: str = Field(..., min_length=1, max_length=500)
category: str | None = Field(default="general", max_length=50)
# ──────────────────────────────── Moderation ────────────────────────────────────
@moderation_router.post(
"/reports",
response_model=MessageReportResponse,
status_code=status.HTTP_201_CREATED,
)
async def submit_moderation_report(
payload: ModerationReportCreate,
current_user: CurrentUser,
db: DbDep,
):
"""Submit a moderation report for a world, user, or chat message."""
report_reason = f"[{payload.target_type.upper()}:{payload.target_id}] [{payload.category}] {payload.reason}"
msg_id = payload.target_id if payload.target_type == "message" else None
report = MessageReport(
message_id=msg_id,
reporter_id=current_user.id,
reason=report_reason,
status=ReportStatus.OPEN,
)
db.add(report)
await db.commit()
await db.refresh(report)
return report
@moderation_router.get("/reports", response_model=list[MessageReportResponse])
async def list_reports(
current_user: CurrentUser,
@@ -146,6 +179,7 @@ async def list_reports(
return list(result.scalars().all())
@moderation_router.post(
"/reports/{report_id}/resolve",
response_model=ResolveReportResponse,