docs: simplify architecture diagram to layers only#278
Conversation
…onships Agent-Logs-Url: https://github.com/albe/node-event-storage/sessions/a97367eb-8db7-4f33-9781-3d4c6aa03014 Co-authored-by: albe <4259532+albe@users.noreply.github.com>
|
@copilot work on my last review comments |
Agent-Logs-Url: https://github.com/albe/node-event-storage/sessions/ce3bbabf-39c2-420b-a4f9-8a3c3237cc13 Co-authored-by: albe <4259532+albe@users.noreply.github.com>
|
@copilot the arrow between consumer and EventStream crossing the Eventstore to EventStream arrow is suboptimal. Try to find a solution, but if mermaid doesn't allow to fix that, instead remove the consumer->EventStream arrow again. More importantly, I'd like to show the subtle distinction between write stream, which is just a name that translates to a specific partition in the commit/write path of EventStore, vs the readonly EventStream which is the class exposed by EventStore. Therefore it makes sense to remove the EventStream->Partition link, as the read stream iterates an index, independent of the partitions it might visit. Meanwhile an EventStore.commit will write to one partition only in the default partitioning scheme. |
Agent-Logs-Url: https://github.com/albe/node-event-storage/sessions/71818551-b500-4e96-97a3-efd34c6613d8 Co-authored-by: albe <4259532+albe@users.noreply.github.com>
Done in 45edb0f:
|
Agent-Logs-Url: https://github.com/albe/node-event-storage/sessions/31dbe211-571c-45d7-89a4-a856e9f7e23d Co-authored-by: albe <4259532+albe@users.noreply.github.com>

The architecture diagram was overloaded — 13 nodes, 20+ mixed-type arrows (uses + inheritance), and a utilities subgraph — making it hard to extract signal about how the layers relate.
Changes
Storage,Partition,Index) is now a single node. The Writable/Readable/ReadOnly split is already covered by the text and tables immediately surrounding the diagram.Clock,Watcher,WatchesFile,IndexEntryremoved from diagram; they remain documented in the component descriptions.JoinEventStream: Omitted to keep focus on the core stream concepts.EventStore →|"writes to stream=partition"| Storagesurfaces the write-stream concept (a stream name maps to a specific partition).EventStreamonly connects toIndex("iterates"), reflecting that a read stream traverses an index independently of which partitions it visits.Storagenode annotated: "single ordered log" appears as an italic subline inside theStoragenode, conveying howEventStoreaccesses it.Consumerexposed byEventStore:Consumeris shown as exposed byEventStorewith a"persists state"arrow to aDisknode.Index →|"primary index (over all partitions)"| StorageandIndex →|"secondary index (stream) over 1-n"| Partition, making it clear that a single index can cover 1-n partitions.⚡ Quickly spin up Copilot coding agent tasks from anywhere on your macOS or Windows machine with Raycast.