Glossary for the Drupal AI initiative
>>> [!note] Migrated issue <!-- Drupal.org comment --> <!-- Migrated from issue #3577844. --> Reported by: [scott falconer](https://www.drupal.org/user/52557) >>> <p>This is a first-pass glossary intended to align Drupal AI with common AI language, current framework language, and Drupal's existing terminology. The goal is to freeze the core terms now, avoid overloaded words, and refine edge cases later.</p> <p>Where a plain-language term and a provider-specific term both exist, prefer the plain-language term in public-facing docs and UI. Use the more precise technical term when architecture, runtime behavior, or interoperability matters.</p> <h2>AX and shared-interface terms</h2> <ul> <li><strong>Affordance</strong>: A clue in a UI, API, schema, or action surface that indicates what actions are available and how to use them.</li> <li><strong>Agent Experience (AX)</strong>: The design of systems so agents can discover, understand, and use capabilities effectively, especially when the same surfaces must also work well for humans.</li> <li><strong>Allowed values (enum)</strong>: A field or parameter restricted to a predefined set of values.</li> <li><strong>Capability description</strong>: Human-readable and model-readable text that explains what a tool, action, field, or context item is for, when it should be used, and any key constraints.</li> <li><strong>Constraint</strong>: A rule that restricts valid data or behavior, such as required fields, length limits, formats, allowed values, or conditional requirements.</li> <li><strong>Discoverability</strong>: How easily a human or agent can find a relevant tool, action, field, or context item.</li> <li><strong>Input schema</strong>: A machine-readable definition of expected inputs, including field names, types, and constraints.</li> <li><strong>Output schema</strong>: A machine-readable definition of expected outputs, including structure, types, and constraints where applicable.</li> <li><strong>Required field</strong>: A field or parameter that must be present for input to be considered valid.</li> <li><strong>Schema</strong>: A machine-readable definition of structure, fields, types, and constraints.</li> <li><strong>Shared interface</strong>: An interface, schema, or action surface intentionally designed to be understandable and operable by both humans and agents.</li> <li><strong>Validation rule</strong>: A concrete runtime rule used to enforce one or more constraints.</li> </ul> <h2>Core terms</h2> <ul> <li><strong>Agent</strong>: An LLM-directed execution unit that can decide whether and how to use tools, and can loop over those tools while continually working toward a task in response to the environment.</li> <li><strong>Agent Instructions</strong>: The editable behavior text configured for an agent.</li> <li><strong>Agent workflow</strong>: A workflow that includes one or more agent steps.</li> <li><strong>Artifact</strong>: Stored tool output referenced by an artifact ID, handle, or placeholder string instead of being fully sent back to the model.</li> <li><strong>Artifact storage</strong>: The mechanism that stores large tool outputs out of band and rehydrates them later.</li> <li><strong>Assistant</strong>: A user-facing conversational wrapper that may delegate to an agent and may add chat-specific rules or presentation.</li> <li><strong>Automator</strong>: A human-configured step-based automation that runs AI or other tools over field or entity data.</li> <li><strong>Conversation history</strong>: The ordered transcript of messages and tool activity for a run.</li> <li><strong>Context item</strong>: A reusable curated context artifact managed in AI Context / Context Control Center.</li> <li><strong>Context pool</strong>: The set of context items assigned to an agent and available for runtime selection.</li> <li><strong>Context scope</strong>: The routing or applicability rules that decide when a context item should be used.</li> <li><strong>Drupal guardrail</strong>: A deterministic guardrail enforced by Drupal code.</li> <li><strong>Drupal token</strong>: A placeholder pattern such as <code>[node:title]</code> resolved by Drupal's Token API.</li> <li><strong>Embedding</strong>: A vector representation of content used for similarity search and retrieval.</li> <li><strong>Field Widget Action (FWA)</strong>: A UI trigger that adds an automator-backed action button to a field widget.</li> <li><strong>Function call</strong>: A provider-specific or legacy term for a tool invocation. Prefer <strong>tool</strong> as the general architecture term.</li> <li><strong>Guardrail</strong>: A configurable control applied before or after model generation or tool use to validate, stop, rewrite, or route input or output.</li> <li><strong>Instructions</strong>: Behavior guidance given to an agent or model. In Drupal UI this will often appear as <strong>Agent Instructions</strong>.</li> <li><strong>LLM (Large Language Model)</strong>: A generative language model used for text generation, reasoning, classification, extraction, or structured output.</li> <li><strong>LLM guardrail</strong>: A non-deterministic model-based check or rewrite.</li> <li><strong>LLM token</strong>: A unit of model-processed text used for context-window limits, metering, and billing.</li> <li><strong>MCP</strong>: The Model Context Protocol.</li> <li><strong>MCP prompt</strong>: A prompt template exposed through MCP.</li> <li><strong>MCP resource</strong>: A context-bearing resource exposed through MCP, such as files, schemas, or application data.</li> <li><strong>MCP server</strong>: A server that exposes tools, resources, and prompts to MCP clients.</li> <li><strong>MCP tool</strong>: A tool exposed through MCP.</li> <li><strong>Message</strong>: A single unit in a conversation or response payload, such as a user, assistant, system, developer, or tool message.</li> <li><strong>Message role</strong>: The message type used in an API payload, such as <code>user</code>, <code>assistant</code>, <code>system</code>, <code>developer</code>, or <code>tool</code>. This is not the same thing as a Drupal role or an initiative role.</li> <li><strong>Model</strong>: The specific AI model used for a given call.</li> <li><strong>Plugin context</strong>: Drupal core term for the objects passed into a plugin so it can perform its work. This is not the same thing as an AI context item.</li> <li><strong>Prompt</strong>: A general term for text or messages sent to a model. Avoid using the bare word in Drupal AI docs when a more precise term is available.</li> <li><strong>Provider</strong>: The service or platform that hosts or brokers model access.</li> <li><strong>RAG (Retrieval-Augmented Generation)</strong>: A pattern that retrieves relevant content, then supplies it as runtime context for generation.</li> <li><strong>Runtime context</strong>: The information available during execution for a specific run.</li> <li><strong>Short-term memory</strong>: The runtime layer that may summarize, rewrite, or compress conversation history, instructions, or tool state before the next model call.</li> <li><strong>Structured output</strong>: Model output constrained to a defined schema instead of free-form text.</li> <li><strong>System Prompt</strong>: The full system-level or developer-level instructions actually sent to the model at runtime.</li> <li><strong>Tool</strong>: An executable capability exposed to an agent or external client.</li> <li><strong>Tool API</strong>: The Drupal plugin and contract layer used to define typed tools.</li> <li><strong>Vector store</strong>: A store that indexes embeddings so relevant content can be retrieved later.</li> <li><strong>Workflow</strong>: A human-defined orchestration or automation path. Do not use this as a synonym for agent.</li> </ul> <h2>Identity and execution terms</h2> <ul> <li><strong>Current user</strong>: The Drupal user account attached to the current request.</li> <li><strong>Drupal role</strong>: A Drupal permission bundle assigned to user accounts. Do not confuse this with message roles or initiative roles.</li> <li><strong>End user</strong>: The human using the UI or feature.</li> <li><strong>Execution principal</strong>: The architecture-level identity concept instantiated at runtime by the executor.</li> <li><strong>Executor</strong>: The Drupal user account actually used for access checks, tool execution, content mutation, and revision authorship. In plain-language docs this is often the acting user.</li> <li><strong>Initiator</strong>: The upstream source that caused a run to begin. In plain-language docs this is often the trigger or source.</li> <li><strong>Run mode (modality)</strong>: How a run is being executed, such as interactive, background, outside-in, or scheduled.</li> <li><strong>Runner</strong>: The execution-loop or correlation concept for a run. This is not the acting identity.</li> </ul> <h2>Multi-agent terms</h2> <ul> <li><strong>Orchestration agent</strong>: A top-level agent whose primary job is to coordinate other agents or tools.</li> <li><strong>Sub-agent</strong>: A normal agent when exposed to another agent as a tool.</li> <li><strong>Triage agent</strong>: An agent that routes work to other agents but may also do some work itself.</li> </ul> <h2>Initiative-specific terms</h2> <p>These are useful initiative terms, but they should be clearly labeled as initiative language rather than universal AI language.</p> <ul> <li><strong>AI Context</strong>: The broader module or project name.</li> <li><strong>AI Maker</strong>: A Drupal AI initiative term for participating companies or contributors.</li> <li><strong>Context Control Center (CCC)</strong>: The admin and governance surface within AI Context.</li> <li><strong>Drupal AI Role</strong>: A named initiative responsibility area. This is not the same thing as a Drupal runtime role or a message role.</li> <li><strong>Drupal AI Team</strong>: A named initiative working group such as Leadership, Core, Innovation, Product, UX, QA, or Marketing.</li> </ul> <h2>Terms to avoid using bare</h2> <p>Avoid these unless they are qualified:</p> <ul> <li><strong>context</strong></li> <li><strong>memory</strong></li> <li><strong>principal</strong></li> <li><strong>prompt</strong></li> <li><strong>role</strong></li> <li><strong>token</strong></li> <li><strong>user</strong></li> <li><strong>workflow</strong></li> </ul> <h2>Style rules</h2> <ul> <li>Prefer <strong>tool</strong> over <strong>function call</strong> as the general architecture term.</li> <li>Prefer <strong>instructions</strong> over bare <strong>prompt</strong> in public-facing docs.</li> <li>Prefer <strong>conversation history</strong> over <strong>chat history</strong> in public docs.</li> <li>Prefer <strong>end user</strong>, <strong>current user</strong>, <strong>executor</strong>, or <strong>initiator</strong> over bare <strong>user</strong>.</li> <li>Prefer <strong>runtime context</strong>, <strong>context item</strong>, <strong>context pool</strong>, <strong>context scope</strong>, or <strong>plugin context</strong> over bare <strong>context</strong>.</li> <li>Prefer <strong>LLM token</strong> or <strong>Drupal token</strong> over bare <strong>token</strong>.</li> <li>Prefer <strong>message role</strong>, <strong>Drupal role</strong>, or <strong>initiative role</strong> over bare <strong>role</strong>.</li> <li>Prefer <strong>constraint</strong> or <strong>validation rule</strong> over <strong>guardrail</strong> for ordinary required fields, allowed values, length limits, and format checks.</li> <li>For AX work, describe shared interfaces in terms of <strong>discoverability</strong>, <strong>capability descriptions</strong>, <strong>schemas</strong>, <strong>constraints</strong>, and <strong>validation rules</strong>.</li> <li>Qualify <strong>workflow</strong> as <strong>agent workflow</strong>, <strong>content workflow</strong>, or <strong>Drupal workflow</strong> when ambiguity is possible.</li> </ul> <h2>Proposed status</h2> <p>Freeze the core terms now, keep initiative terms explicitly scoped, and revisit edge cases once related issue-queue work settles.</p>
issue