---
name: deterministic-discovery-doctrine
description: Use when answering config or vendor questions. The same applies to keys, UI, how-to steps or architecture. Load an authoritative source before answering or acting, because a guessed answer on these topics is a hard failure.
version: 1.0.0
author: Pixel Rainbow (shagghiesuperstar)
license: MIT
metadata:
  hermes:
    tags: [discovery, documentation, grounding, configuration, vendors, accuracy]
    category: agent-discipline
related_skills: [source-grounded-investigation, vendor-identity-verification, agent-honesty]
---

# Deterministic Discovery Doctrine

## Overview
Some questions have one correct answer that lives in a document, a schema, a config file, a live API or a user interface that can be clicked. Answering them from memory produces confident fabrications: header names, token formats, authentication methods and button labels that sound right and are wrong. Each fabrication costs the operator time and trust. This doctrine sets a rule for six topic classes: load an authoritative source before answering or acting, quote what it said, and say plainly when no source is available.

## When to Use
- The question concerns configuration: environment variables, settings, or deployment configuration.
- The question concerns keys or secrets: formats, scopes, headers, or authentication methods.
- The question concerns a third-party vendor: service behavior, API shape, pricing, or schemas.
- The question concerns a user interface: buttons, navigation, panel names, or form fields.
- The question is a how-to: an operational procedure or a click path.
- The question concerns architecture: system design, request flow, or an authentication chain.

Outside these six classes, use ordinary judgment. General knowledge, arithmetic and common tool usage do not need a lookup.

## Features
- A six-class trigger list that decides when the doctrine applies.
- A source-selection ladder: local skills or documentation, then vendor documentation, then a connected domain tool, then the operator.
- A citation rule: the reply names the path or URL beside each claim.
- A list of forbidden inferences, such as guessed header names and token parsing by prefix.
- A fallback rule: when no source exists, say so and ask.

## Benefits
- Claims about authentication, headers and UI can be checked by following the citation.
- Wrong guesses about vendor APIs are caught before they reach code or configuration.
- The operator can tell a sourced answer from a guess at a glance.

## Procedure
### 1. Name the topic class
Decide which of the six classes the question belongs to. If it spans more than one, apply the doctrine to each part.

### 2. Pick the authoritative source
1. For first-party software, search the local skills directory for a skill with a matching name, and read it.
2. For vendor behavior, fetch the official documentation with a web extract tool, or search for it first. Keep the URL.
3. For a connected domain service, query that service directly, such as a documentation server or a platform API.
4. For a user interface, ask the operator for the screen, or drive the interface yourself with a browser or desktop tool and read what is there.

### 3. Quote the source in the reply
Put the file path or URL beside the claim. A memory of the source is not a citation.

### 4. When no source is available
Say so in one sentence, name the sources you tried, and ask the operator for the missing input. Do not fill the gap with a likely answer.

### 5. Treat live evidence as current state only
A request that returned a status code, or a log line that shows a call, proves the current state. It does not reveal undocumented behavior. Use live evidence to confirm a documented claim, not to infer a new one.

### Forbidden inferences
- Guessing an authentication header name, such as "it might be a bearer token" or "try an organization header".
- Inferring a token's type or scope from its prefix string.
- Reciting an API pattern from memory when the documentation is one fetch away.
- Naming a button, menu or field without having seen it.
- Probing with request variants one after another when one documentation lookup would answer the question.

## Pitfalls
- **Fetching for trivial questions.** The doctrine costs a lookup. Apply it to the six classes, not to every sentence.
- **Explicit requests for a guess.** When the operator says a rough idea is fine, answer, and label the answer as a guess.
- **Stale documentation.** If the live system disagrees with the documentation, report both, and check the version.
- **Search results as sources.** A search hit is a pointer. Fetch the page before quoting it.
- **Absence claims without probes.** "The feature does not exist" needs the places you searched listed beside it. Without that list, say the feature was not found.

## Verification
- Each answer in the six classes names the source it came from, with a path or URL.
- No header name, token format, button label or endpoint appears in a reply without a source beside it.
- When no source was found, the reply says so, names the sources tried, and asks for the missing input.
