Replies: 3 comments
|
|
I don't like B for the problems you mentioned. Those sub-diagrams could be included in those discussions, issues, and PRs. We can unify A and C. If we use draw.io to create such a diagram, we can do C, and still keep one with some of the layers enabled. |
|
I would make A + an editable C-style source the repository default.
That avoids making every subsystem pay the maintenance cost of B while preserving detail where it has durable value. The update rule should be based on architecture impact, not on whether somebody remembered to inspect the docs. A PR must update the relevant diagram when it changes any of:
Ownership should follow code ownership: the subsystem reviewer is responsible for rejecting a PR with stale architecture docs, while the PR author supplies the update. Store source and exported image together, and add a small CI check that the exported artifact was regenerated when the source changes. CI cannot prove semantic correctness, but it can prevent source/render drift. For audiences:
This gives a concrete policy: A is the required human-readable artifact, C is an implementation technique for its source, and B is an exception justified by a recurring reader question—not the default. |
Uh oh!
There was an error while loading. Please reload this page.
While documenting the notebook migration tool we ended up with three kinds of architecture documentation:
Deciding what to publish and what to keep turned into a more general question about how this project documents architecture. Raising it here rather than settling it for one feature.
The question
For a given subsystem, what should exist?
A — One high-level diagram. The whole subsystem in one picture, plus an ER diagram where a schema is involved.
Example of A:

B — High-level plus detail. One overview diagram like A, plus separate detailed diagrams for individual flows.
Example of B (in addition to diagrams in A):

C — One file, multiple layers. High-level by default, with detail revealed by toggling layers.
Considerations raised so far
What would be useful to settle
All reactions