checkpoint
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…
Run both Arcgram self-checks in one call. A thin wrapper over Checkpoint (structure) and Reconcile (values): validate(diagram,{code}) runs Checkpoint always and Reconcile when code is supplied, then merges into one source-tagged result in the same
$ npx -y skills add jovesun-lab/arcgram --skill validate --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/validateContext preview
The summary Claude sees to decide when to auto-load this skill.
Run both Arcgram self-checks in one call. A thin wrapper over Checkpoint (structure) and Reconcile (values): validate(diagram,{code}) runs Checkpoint always and Reconcile when code is supplied, then merges into one source-tagged result in the same
name: validate
description: >-
Run both Arcgram self-checks in one call. A thin wrapper over Checkpoint (structure)
and Reconcile (values): validate(diagram,{code}) runs Checkpoint always and Reconcile
when code is supplied, then merges into one source-tagged result in the same
{findings,summary,attestation,clean} contract. clean = checkpoint.clean && reconcile.clean.
Adds no new check; marks, never blocks. Run after authoring or editing a diagram and its
code. Agent-neutral. The single door over its two siblings.One call. Two questions answered between the siblings: **is the flow well-formed and coherent, AND do its `@spec` values still match the code?**
Validate is a **thin wrapper**, not a new check. It imports [Checkpoint](../checkpoint/SKILL.md) and [Reconcile](../reconcile/SKILL.md) **untouched** and composes their pure functions:
Run both -> the diagram is a faithful, current spec. Every finding still comes from one sibling; Validate only **merges, source-tags, and unions the attestation**.
| input | what runs | clean possible? | |---|---|---| | `validate(diagram, { code })` | Checkpoint **and** Reconcile | yes | | `validate(diagram)` (no code) | Checkpoint only | no - values unchecked |
Without code there is nothing to reconcile, so Reconcile is **not run** (running it would just flag every `@spec` pin as missing). Instead the value half is reported as one `uncovered` `value-check-not-run` finding, so a structure-only run is never falsely "clean" on values - the same anti-silent-pass rule both siblings enforce.
**Locked invariant - `uncovered` is a third state, never a pass.** A diagram-only run (no code) can **never** produce an overall green clean, even when the structure is perfect. The attestation explicitly appends `| code consistency: NOT CHECKED (no code supplied)`, `summary.codeConsistency` reads `"NOT_CHECKED"`, and the CLI verdict is `INCOMPLETE`, never the word CLEAN. This guards the exact silent-pass the family exists to prevent: claiming "checked & clean" while the code half was never checked.
{ findings:[{id,type,severity,note,source}], summary, attestation, clean }
self-check ran HH:MM:SS | N findings | M uncheckedto the check that raised it. Everything else (`id`, `type`, `severity`, `note`) is verbatim from the sibling.
value half did not run it appends an explicit `| code consistency: NOT CHECKED (no code supplied)`.
third state and is never folded into `clean`, so a skipped value-check is not clean.
`codeConsistency` (`"checked"` | `"NOT_CHECKED"`).
the per-check breakdown.
Human reads the marker; agent reads the `type` (and `source`).
node validate.mjs <diagram.html | diagram.json> [code-file ...] [--tier-b | --no-tier-b] [--json]
import { validate } from './validate.mjs';
validate({ nodes, edges, meta }, { code }); // code: string | string[]; omit -> structure only`--tier-b` / `--no-tier-b` forward to Checkpoint's justification tier (else auto-detected by a decision diamond). Exit 1 on any defect (advisory - never blocks; an uncovered value-check is not a defect).
Verify: `node validate-selftest.mjs` (36 checks - source tags, union attestation, clean rule, the code-omitted path, and byte parity with running the two siblings separately). Example: `examples/example-workflow.html` vs `example-workflow.config.cs` (clean).
Arcgram turns your AI agent's plan into a diagram you can check and fix — before anything runs. Your AI agent can hand you something that looks right — an analysis, a workflow, a plan, code — while a broken step or a bad dependency hides underneath.
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…
Check that an Arcgram diagram's @spec values still match the code that implements it. Reads each node's desc "@spec key=value" line, finds the same-named code…