{ "version": 2, "id": "D18", "kind": "synthetic-chat", "origin": "synthetic", "actors": [ "Ari", "Ben", "Cora" ], "initialDocument": "", "steps": [ { "id": "m1", "kind": "say", "actor": "Ari", "text": "support needs to see who changed a workspace role last Tuesday.", "to": "room" }, { "id": "m2", "kind": "say", "actor": "Ben", "text": "app logs are the quickest path, but they roll off.", "to": "room" }, { "id": "c2", "kind": "checkpoint", "waitFor": "settled", "deadlineMs": 30000 }, { "id": "m3", "kind": "say", "actor": "Cora", "text": "warehouse events would be too slow for support. could we append audit rows in postgres?", "to": "room" }, { "id": "c3", "kind": "checkpoint", "waitFor": "settled", "deadlineMs": 30000 }, { "id": "m4", "kind": "say", "actor": "Ari", "text": "audit rows in the DB then? actor, before, after, timestamp.", "to": "room" }, { "id": "m5", "kind": "say", "actor": "Ben", "text": "I'd choose append-only rows, with retention written down.", "to": "room" }, { "id": "c5", "kind": "checkpoint", "waitFor": "settled", "deadlineMs": 30000 }, { "id": "m6", "kind": "say", "actor": "Cora", "text": "yep. the warehouse can consume the rows later.", "to": "room" }, { "id": "c6", "kind": "checkpoint", "waitFor": "settled", "deadlineMs": 30000 } ] }