Skip to content

v0.4.4 — explain empty graphs, point at sonde doc

Latest

Choose a tag to compare

@anishmoncivarghese anishmoncivarghese released this 31 Aug 12:52

A patch release of three clarity fixes, all found by using Sonde on a real project rather than by testing it.

sonde doc explained nothing when it had nothing to draw

Pointed at a flat Python package — 22 files in one directory — the document emitted an empty graph LR block and a dependency table with only a header. It read like a broken tool when the situation was merely uninformative.

Two separate causes, both fixed:

  • The empty-case guard checked whether dependencies existed, but the diagram draws only dependencies with a resolved reference. On that project 14 pairs existed and all were heuristic-only, so the guard passed while the diagram had nothing to put in it. It now says how many pairs were dropped and why.
  • A repository whose code lives in a single directory collapses to one module, so cross-module references cannot exist by construction. The references are real; the granularity has nothing to say about them. The document now states that and points at sonde doc --module, which does have useful detail.

Note what is not fixed here: whether a flat package should be partitioned by file rather than directory is a design question, and this release does not pretend to have answered it. It makes the tool honest about the situation instead.

sonde doc was undiscoverable

After sonde init there was no indication the command existed. It is now named in init's output.

A pointer rather than a prompt, deliberately: offering to generate would write a second file into your repository, which init is careful about, and the document is not worth committing for every project shape — as the fix above demonstrates. The pointer appears only where setup completed, not on the error, conflict, or declined paths.


Full detail in CHANGELOG.md.