GRAPH.md
Shape only.
What validation catches is drift: the file saying something the store does not, a relation name that does not exist, or a file grown too long for anyone to read.
Running it
Point it at a file, or at the copy inside Vinc with --doc. To check shape without a store, use --no-store.
It exits three ways: 0 clean, 1 things to tidy, 2 something wrong. In CI you can gate on 2 alone.
The nine
Four look only at the file, four compare it against your store, and one compares it against the code.
MarkerIs the spec marker on the first lines. Without it there is no telling what this file is.Section orderAre the required sections present and in order.Generated blockIs there exactly one marker pair, the right way round.DriftDoes the generated region still match the store. The one that matters most.Relation namesDoes every relation exist: the built in six plus your approved vocabulary.Topic namesDo the listed topics actually exist.Tool namesIs each vinc_* in the text a tool that exists. A stale name sends your assistant after something that is not there.LengthOver 70 lines (tidy), over 100 lines (wrong).Forbidden glyphsCharacters we do not put on screen.What it never does
Whether a concept is the right size, whether that relation is the right one, whether these are good conventions at all: none of that is checked.
Those are judgments, and judgment belongs to the assistant. A checker that pretended otherwise would be the first thing to cross the line this product draws. Machines take the shape; people and assistants take the meaning.