{ "version": 2, "id": "D05", "kind": "synthetic-chat", "origin": "synthetic", "actors": [ "Omar", "Ren", "Bea" ], "initialDocument": "", "steps": [ { "id": "m1", "kind": "say", "actor": "Omar", "text": "we need storage for attachments and a search index for document titles.", "to": "room" }, { "id": "m2", "kind": "say", "actor": "Ren", "text": "attachments could go to S3 or the postgres large-object table. search could start with pg trigram or Elasticsearch.", "to": "room" }, { "id": "c2", "kind": "checkpoint", "waitFor": "settled", "deadlineMs": 30000 }, { "id": "m3", "kind": "say", "actor": "Bea", "text": "S3 is easier to restore without dragging blobs through database backups.", "to": "room" }, { "id": "m4", "kind": "say", "actor": "Ren", "text": "pg trigram might be enough until titles get numerous.", "to": "room" }, { "id": "m5", "kind": "say", "actor": "Omar", "text": "let's use S3 for attachments.", "to": "room" }, { "id": "c5", "kind": "checkpoint", "waitFor": "settled", "deadlineMs": 30000 }, { "id": "m6", "kind": "say", "actor": "Bea", "text": "coffee first, then I can look at search relevance.", "to": "room" }, { "id": "m7", "kind": "say", "actor": "Omar", "text": "actually for title search, let's use Elasticsearch; filters need to be predictable.", "to": "room" }, { "id": "c7", "kind": "checkpoint", "waitFor": "settled", "deadlineMs": 30000 }, { "id": "m8", "kind": "say", "actor": "Ren", "text": "got it. object storage and search are separate decisions.", "to": "room" }, { "id": "c8", "kind": "checkpoint", "waitFor": "settled", "deadlineMs": 30000 } ] }