---
generator: "vaultspec-marketing discovery"
title: "Check your workspace and feature records - vaultspec-core documentation"
description: "These checks inspect installation and record consistency."
url: "https://vaultspec.neve.md/docs/core/verification.html"
component: "vaultspec-core"
source_repository: "https://github.com/nevenincs/vaultspec-core"
source_path: "docs/verification.md"
source_commit: "83c54c31990d1008160711943cc3cf65fb0f25c7"
date_modified: "2026-09-21T09:49:53+02:00"

---

[View as Markdown](<https://vaultspec.neve.md/docs/core/verification.md>)

# Check your workspace and feature records

These checks inspect installation and record consistency. They do not establish user approval, judge whether evidence supports a decision, or prove code correctness. Use project tests and [implementation review](<https://vaultspec.neve.md/docs/core/correctness.html>) for the result itself.

Choose the command for what you need to check:

| Check | Command |
| --- | --- |
| Workspace installation and vault records | `vaultspec-core doctor` |
| Vault records only | `vaultspec-core vault check all` |
| Workspace installation only | `vaultspec-core spec doctor` |

Run commands from your workspace root. Each command also accepts `--target DIR` to check another workspace and `--json` for structured output.

Plan grammar and identifier checks run separately with `vaultspec-core vault plan check <plan>`; they are not included in `vaultspec-core vault check all`.

## Check after installation or an upgrade

**Command**

```sh
vaultspec-core doctor
```

Address the reported problems and rerun the command. To check only the installed workspace configuration, use `vaultspec-core spec doctor`.

Some printed warnings are informational and don’t affect the exit code. See the [workspace diagnostic reference](<https://vaultspec.neve.md/docs/core/cli.html#vaultspec-core-spec-doctor>) for the checks and warning rules.

In `--json` output, the `home` object holds any check that reports structured detail rather than a single verdict, whatever that detail is about. Not everything under it is machine-global state.

## Check records before committing

After editing feature records, run:

**Command**

```sh
vaultspec-core vault check all
```

Use the findings to locate records that need attention. For the full check inventory and available flags, see the [vault check reference](<https://vaultspec.neve.md/docs/core/cli.html#vaultspec-core-vault-check>).

To apply supported corrections:

**Command**

```sh
vaultspec-core vault check all --fix
```

This command modifies files. Review its changes with `git diff`, correct any remaining problems, and rerun `vaultspec-core vault check all` before committing. Errors that remain after `--fix` still make the command fail.

Repair fixes supported mechanical defects, such as link syntax and stale body stamps. It does not select evidence or governing ADRs from nearby records. Resolve missing grounding by inspecting the actual evidence and adding the appropriate links. A plan without an ADR is valid when no costly decision governs the work.

To investigate one check separately, name it explicitly. For example:

**Command**

```sh
vaultspec-core vault check dangling
```

## Check source references to vault documents

**Command**

```sh
vaultspec-core vault check code-boundary
```

The `all` check excludes `code-boundary`. Read this command’s findings directly: its advisory warnings don’t fail the command, so a successful exit doesn’t mean it found no references.

## Use checks in automation

In continuous integration (CI), invoke `vaultspec-core vault check all` directly and use its exit code to determine success.

| Command | Exit `0` | Exit `1` | Exit `2` |
| --- | --- | --- | --- |
| `doctor`, `spec doctor` | No counted warnings or errors | Counted warnings, no errors | Errors |
| `vault check all` | No errors; warnings allowed | Errors | Not used for findings |

Only `spec doctor` accepts `--gate-errors`. Use `vaultspec-core spec doctor --gate-errors` when automation should accept workspace warnings: warnings return `0`, and errors return `2`.
