> For the complete documentation index, see [llms.txt](https://docs.nxcframework.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nxcframework.net/reference/terminology.md).

# Terminology

Canonical vocabulary. Each term has exactly one meaning across code, documentation, configuration keys, and error messages.

## Identity and lifecycle

**Account** — the record representing a real person. Holds identifiers, whitelist status, priority, framework permissions, punishments, preferences, and character slots. One human, one account, many characters.

**Character** — a single playable persona belonging to an account. Nearly all gameplay state hangs off a character, not an account.

**Session** — one connected play period, from connection deferral through disconnect cleanup. A session outlives a character switch; it does not outlive a disconnect.

**Identifier** — a stable, immutable, opaque reference to a persistent entity. Display names, plates, and phone numbers are **never** primary identifiers, because players can change them.

## Interaction

**Target** — a context-sensitive world interaction offered when a player looks at a matching entity, model, bone, or zone. The default mechanism for essentially all ordinary gameplay.

**Marker** — a rendered world indicator. Permitted only where the marker communicates meaningful spatial information in its own right. A marker used to open a menu is a design defect.

**Zone** — a defined volume of space with enter and exit semantics. Geometry, not a visual.

**Interaction** — a multi-step workflow: animations, props, progress, skill checks, cancellation, cleanup. `nxc_interact` sequences the steps; the owning resource validates and applies the outcome.

## Authority

**Server authority** — clients express intent; the server decides outcomes.

**Capability** — a named, granular permission such as `police.evidence.view`. The only basis for authorization. Roles and grades **grant** capabilities; they are never compared as strings.

**Domain owner** — the single resource authoritative for a body of state.

## Contracts

> **"Contract" has two meanings in this project.** Always qualify it in writing.

**Public contract** — an interface another resource may depend on: an event, RPC, export, error code, capability, state bag, or configuration schema.

**Job contract** — an agreement to perform work for payment, owned by `nxc_jobs`.

**Event** — a one-way notification that an authoritative state change has **already completed**. Never a request.

**RPC** — a request expecting a response, with timeout, cancellation, validation, correlation, rate limiting, permission check, and structured error.

**Correlation ID** — an identifier generated at the start of a logical operation and propagated through every event, RPC, log record, and audit entry it produces.

**Idempotency key** — a caller-supplied value making a repeated operation safe. The second request with the same key returns the first result rather than repeating the work.

## Configuration

**Operational configuration** — values that change how the live city behaves. Belongs in `nxc_config`, edited in game.

**Bootstrap configuration** — the narrow set that cannot meaningfully change at runtime. Permitted in static files.

**Scope** — the level at which a value applies. Precedence: default → environment → server-wide → resource → organization or business → location → player preference.

**Draft** — an edited but unpublished change, with no runtime effect.

**Publication** — promoting a validated draft to the live effective value.

**Effective value** — what actually applies after precedence, inheritance, and overrides resolve.

**Reload behavior** — how a published change takes effect: `Immediate`, `Next Interaction`, `Next Session`, `Resource Restart Required`, or `Server Restart Required`.

## Naming rules

* Core resource: `nxc_core`. All others: `nxc_` prefix. The `nx_` prefix is obsolete.
* Events: `<resource>:<side>:<action>` — `nxc_inventory:server:itemAdded`
* RPCs: `<resource>:<action>` — `nxc_banking:transfer`
* Capabilities: `<domain>.<object>.<action>` — `business.accounts.withdraw`
* Configuration keys: `<resource>.<group>.<key>`
* Error codes: `<RESOURCE>_<CONDITION>` — `NXC_CONFIG_VALIDATION_FAILED`


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.nxcframework.net/reference/terminology.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
