| from datetime import datetime | |
| class GeometryAuditLog: | |
| def __init__(self): | |
| self.events = [] | |
| def record(self, event: dict): | |
| event["timestamp"] = datetime.utcnow().isoformat() | |
| self.events.append(event) | |
| def summary(self): | |
| return { | |
| "total_events": len(self.events), | |
| "types": list({e["type"] for e in self.events}), | |
| } | |
| def __repr__(self): | |
| return f"<GeometryAuditLog events={len(self.events)}>" | |