# Glossary

The terms below are used with specific meanings throughout the manual. Where a term has a different sense outside the framework, the framework's sense takes precedence in this document.

**Anchor IDL.** The JSON description of a Solana program's interface, emitted by `anchor build`. The framework consumes the IDL via the loader described in [Architecture](/solanatestforge-docs/part-i-foundations/architecture.md). Anchor versions 0.27 and later are supported; earlier versions may require a manual conversion step.

**Canonical bump.** The largest `u8` for which `(seeds, bump)` produces a valid, off-curve PDA. The `bump-not-canonical` rule in [Security checks](/solanatestforge-docs/part-ii-reference/security-checks.md) treats any non-canonical bump as a finding.

**Diff (in fuzz).** The set of accounts changed by an instruction, expressed as `(account, before, after)` tuples. The fuzz engine evaluates invariants against diffs rather than against absolute state.

**Failure threshold.** The lowest severity at which a security run exits non-zero. Configured in `.solforge.toml` under `[security].fail_at`; default is `high`.

**Finding.** A structured record produced by a security rule. A finding has a `rule_id`, a `severity`, an `instruction`, an optional `account`, and a `rationale`. See [The lifecycle of a check](/solanatestforge-docs/part-i-foundations/lifecycle-of-a-check.md).

**Fork.** The local snapshot of a program's on-chain state at a given slot. Forks are content-addressed by `(network, programId, slot)` and stored under `.solforge/snapshots/`. The fork engine is described in [The fork engine](/solanatestforge-docs/part-ii-reference/fork-engine.md).

**Invariant.** A predicate that must hold across an instruction or a fuzz run. The fuzz engine evaluates two classes — local and global — described in [The fuzz engine](/solanatestforge-docs/part-ii-reference/fuzz-engine.md).

**IDL loader.** The subsystem responsible for resolving an Anchor IDL given a program ID. See [Architecture](/solanatestforge-docs/part-i-foundations/architecture.md).

**Reproducer.** A JSON file containing a single failing input vector, the snapshot offset, and the PRNG seed. A reproducer is everything needed to replay an interesting fuzz run; see [Reproducing mainnet bugs locally](/solanatestforge-docs/part-iii-recipes/reproducing-mainnet-bugs.md).

**Rule.** A TypeScript module that implements `select`, `evaluate`, and `meta`. Rules are the unit of static security analysis. The recipe [Authoring a custom security check](/solanatestforge-docs/part-iii-recipes/authoring-custom-checks.md) walks through a complete rule.

**Rule catalogue.** The set of rules available to a security run. Comprises the built-in rules listed in [Security checks](/solanatestforge-docs/part-ii-reference/security-checks.md) plus any project-specific rules registered through `[security].extra_rules`.

**Severity.** One of `critical`, `high`, `medium`, `low`, `info`. Used both as a finding's emitted severity and as the failure threshold in `.solforge.toml`.

**Snapshot.** Synonym for *fork*, used in contexts where the emphasis is on the file on disk rather than the act of fetching.

**Vector (in fuzz).** A single set of arguments and accounts passed to one instruction. A fuzz run consists of `--iterations` vectors per instruction.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://solanatestforge.gitbook.io/solanatestforge-docs/appendix/glossary.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
