Checkpoint
Arcgram — an interactive node-and-edge diagram engine in a single standalone HTML file.
npx -y skills add jovesun-lab/arcgram --skill checkpointAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 18 days oldThe repository was created 18 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 6 stars6 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Validate an Arcgram diagram as a logic spec: is the flow well-formed and coherent? Reads node/edge structure (id/f/t/kind/role/type), never geometry. Typed findings - dangling edge, orphan node, missing branch, disconnected island, duplicate id, missing schema, plus optional coherence (every action traces to a goal). Marks, never blocks. Run after authoring or editing a diagram. Agent-neutral. Sibling to Reconcile (Checkpoint = structure; Reconcile = values).
SKILL.md
3.4 KB, 784 tokens by cl100k_base, as published. Nobody here has run it
Checkpoint - Arcgram logic self-check validator
One input: a diagram (treated as a spec). One question: is the flow logic well-formed and coherent? Returns typed findings; marks, never blocks.
Sibling to Reconcile: Checkpoint checks structure from the diagram alone; Reconcile checks values across diagram + code. Run both -> the diagram is a faithful, current spec.
It checks the graph's logic structure - not drawing quality (the engine auto-handles overlaps/spacing/routing) and not semantic correctness (whether the logic is right - a human call).
Red line: reads only the semantic field values id, f, t, kind, role, type
(plus optional status, flag). Never a coordinate, color, size, or spacing. The judge: am I
reading a semantic string, or a rendered visual quantity?
Findings
Tier A - structural integrity (always on). Domain-agnostic graph theory.
| finding | means |
|---|---|
dangling-edge | an edge points at an id that is not a node |
orphan-node | a node has no edge (chain broken) - except a declared type:'open' |
missing-branch | a decision (kind:'diamond') lacks its Y or N branch |
disconnected-island | a cluster with no edge to the main flow |
duplicate-id | a node id used more than once |
missing-field | a node has no id, or an edge no f/t |
missing-meta-version | ARCGRAM_META.version absent |
empty-diagram | no nodes - reported uncovered, never falsely "clean" |
Tier B - justification coherence (auto-on for a thinking flow). Does it read as reasoning:
every action traces back to a goal, every goal reaches an action, every decision sits
on a justification path. Auto-on when the diagram has a decision diamond (kind:'diamond', = the
engine's _isThinkflow); no-diamond diagrams skip it. Override --tier-b / --no-tier-b. Roles:
goal/action/decision (coherence-bearing) + constraint/evidence/state/output
(recognized). No resolvable role -> [?] uncovered, never guessed. cat is not read.
Each finding is { id, type, severity, note }; severity = defect or uncovered.
Output (same contract as Reconcile)
{ findings:[{id,type,severity,note}], summary, attestation, clean }
self-check ran HH:MM:SS | N findings | M unchecked
clean only when N=0 AND M=0 - "checked & clean" never looks like "never checked".
Human reads the marker; agent reads the type.
Use
node checkpoint.mjs diagram.html [--tier-b | --no-tier-b] [--json]
cat diagram.json | node checkpoint.mjs
import { checkpoint } from './checkpoint.mjs';
checkpoint({ nodes, edges, meta });
Exit 1 on any defect (advisory - never blocks).
Verify: node checkpoint-selftest.mjs (19 checks).
Render-time: the engine exposes the same check via window.__arcgramInspect() (the checkpoint
field of its result) + the on-canvas [?] badge and attestation stamp.
What ships with it: 2 files
33.5 KB alongside SKILL.md, 2 of them executable
- checkpoint.mjsruns19.6 KB
- checkpoint-selftest.mjsruns13.9 KB