mix vis.surface (Visualize v0.2.25)

Copy Markdown View Source

Cross-references every function spec/ declares against every public function lib/ defines, and renders the result to API_SURFACE.md.

mix vis.surface            # print the two backlogs
mix vis.surface --write    # regenerate API_SURFACE.md
mix vis.surface --check    # fail if the golden has drifted from spec/ and lib/

--check is HARD and fails on two things (spec/12 ยง2): the golden differing from what spec/ and lib/ render to โ€” it is generated, so a difference means it was hand-edited, or the code or the spec changed without a regenerate โ€” and any row whose status is not specified, which is how a public function nobody declared is caught. The byte comparison alone cannot catch that one: the golden is regenerated by the very change that introduces the undeclared function, so the file on disk agrees with itself.

Bare mix vis.surface reports the same two backlogs without failing, and is the form to run while the work is in hand.