claims.yml

claims.yml is a list of deterministic claims the repo must satisfy — the pins that keep load-bearing facts from eroding. Each claim names a fact, points at its source of truth, and carries a check that can prove or disprove it offline. claims-verify runs every claim and fails closed if any drifted.


Claim fields

  • Name
    id
    Type
    string (required)
    Description

    A stable identifier for the claim.

  • Name
    claim
    Type
    string (required)
    Description

    A human-readable statement of the fact being pinned.

  • Name
    source_of_truth
    Type
    string (optional)
    Description

    The file or surface that authoritatively holds this fact.

  • Name
    owner
    Type
    string (optional)
    Description

    The owning team/role for the claim.

  • Name
    check
    Type
    object (required)
    Description

    The deterministic check that proves the claim. One of the five types below, discriminated by type.


Check types

grep

Assert a regex pattern is present (or absent) in a file. The workhorse — pins a distinctive phrase so a fact can't be silently deleted or contradicted.

  • Name
    file
    Type
    string
    Description
    The file to search.
  • Name
    pattern
    Type
    string
    Description
    The regex pattern.
  • Name
    expect
    Type
    enum
    Description
    present (default) | absent.

grep

- id: cli-bin-declared
  claim: "package.json declares the valinor bin → dist/cli.js"
  source_of_truth: package.json
  check:
    type: grep
    file: package.json
    pattern: '"valinor"\s*:\s*"dist/cli.js"'
    expect: present

file

Assert a path exists (or does not). Pins presence of a required file, or absence of a retired one.

  • Name
    path
    Type
    string
    Description
    The path to check.
  • Name
    exists
    Type
    boolean
    Description
    true (default) | false.

file

- id: greptile-config-present
  claim: "The versioned .greptile/config.json exists"
  check:
    type: file
    path: .greptile/config.json
    exists: true

files-identical

Assert two files are byte-identical — used to pin one-source-of-truth invariants (e.g. CLAUDE.mdAGENTS.md).

  • Name
    fileA
    Type
    string
    Description
    The first file.
  • Name
    fileB
    Type
    string
    Description
    The second file.

files-identical

- id: claude-agents-identical
  claim: "CLAUDE.md and AGENTS.md are byte-identical"
  check:
    type: files-identical
    fileA: CLAUDE.md
    fileB: AGENTS.md

token

Assert a keyed value in a file equals an expected string — a stricter pin than grep for a single configured value.

  • Name
    file
    Type
    string
    Description
    The file to read.
  • Name
    key
    Type
    string
    Description
    The key to look up.
  • Name
    equals
    Type
    string
    Description
    The expected value.

token

- id: node-version-pinned
  claim: "the engines.node field is pinned"
  check:
    type: token
    file: package.json
    key: engines.node
    equals: ">=24"

gh-api

Assert a value at a JSON pointer in a GitHub API response equals an expected string/number/boolean. Pins a live GitHub-side setting.

  • Name
    endpoint
    Type
    string
    Description
    The GitHub API endpoint.
  • Name
    pointer
    Type
    string
    Description
    A JSON pointer into the response.
  • Name
    equals
    Type
    string | number | boolean
    Description
    The expected value.

gh-api

- id: default-branch-main
  claim: "the default branch is main"
  check:
    type: gh-api
    endpoint: /repos/cmbrcreative/valinor
    pointer: /default_branch
    equals: main

Was this page helpful?