What Is the Provocation/Wildcard Mechanism in ADHD and Its Purpose?
The provocation/wildcard mechanism in ADHD injects a single open-ended wildcard question during the Focus phase to break cognitive fixation and seed future divergent thinking iterations.
The ADHD (Automated Divergent Heuristic Design) repository implements a structured ideation pipeline that alternates between exploration and refinement. Within this architecture, the provocation mechanism serves as a critical safety valve that prevents the system from over-optimizing narrow solution branches. This article examines how the wildcard system operates according to the UditAkhourii/adhd source code and why it matters for creative AI workflows.
How the Provocation/Wildcard Mechanism Works in ADHD
The Two-Phase Architecture (Diverge and Focus)
ADHD splits idea generation into two distinct phases: Diverge and Focus. During the Diverge phase, the system explores multiple parallel branches to generate candidate solutions. When execution transitions to the Focus phase, the system produces several structured artifacts—including scored leaves, clustered groups, and deepened top-K ideas—and adds one provocation: a single wildcard question that is not tied to any particular branch.
According to the documentation/how-it-works.md file, this wildcard appears explicitly as "one provocation (a wildcard question)" in the final output structure. The provocation is automatically appended to the JSON payload produced by the critic step, ensuring every Focus phase concludes with both concrete recommendations and an exploratory prompt.
Where the Provocation Appears in the Pipeline
The provocation manifests as a string field within the LLM's JSON output. As documented in SOURCE-SPEC.md, the system designates this as a "single wild-card idea or open question" that sits alongside the ranked recommendations. This placement ensures the wildcard receives equal billing with structured results rather than being buried in metadata.
Purpose and Benefits of the ADHD Provocation Mechanism
Breaking Fixation with Open-Ended Queries
The primary function of the provocation is breaking fixation. By injecting an open-ended query that stands outside the parallel divergent branches, the system forces the critic to consider routes that were not explored during the initial generation phase. This prevents the pipeline from prematurely converging on locally optimal solutions while ignoring adjacent possibilities.
Seeding Future Divergence
The wildcard operates as a generational bridge. Teams can feed the provocation back into the system as a new problem statement, enabling the next iteration to start from a fresh, unexpected angle. This creates a recursive loop where today's wildcard becomes tomorrow's divergence root, as illustrated in the implementation examples below.
Ensuring Coverage of Novel Angles
Even when all generated leaves are tightly scoped to the original prompt, the provocation guarantees that the output contains at least one novel, exploratory prompt. This coverage requirement ensures that ADHD never returns a purely convergent result set; there is always at least one "door left open" for further investigation.
Implementation Details and Source Files
Source Specification and Documentation
The provocation mechanism is explicitly defined across three key files in the repository:
SOURCE-SPEC.md: Defines the provocation as a single wild-card idea or open question that must appear in the final output structure.documentation/how-it-works.md: Describes the two-phase loop and specifies the inclusion of "one provocation (a wildcard question)" in the critic's output.skills/adhd/SKILL.md: Lists the provocation as part of the skill's expected outputs in the metadata definition, formalizing it as a first-class deliverable.
JSON Output Structure
When the ADHD pipeline completes the Focus phase, the resulting JSON object contains the provocation at the root level. The critic model populates this field after evaluating the scored leaves and clusters, ensuring the wildcard reflects the broader context of the exploration rather than any single branch.
Working with the Provocation in Code
You can extract and leverage the provocation using standard JSON parsing. The following examples demonstrate how to access the wildcard and reuse it for iterative divergence.
Extracting the Provocation from Output
import { readFileSync } from "fs";
const result = JSON.parse(readFileSync("output.json", "utf-8"));
const provocation = result.provocation; // e.g. "What if the system could self-heal?"
console.log("Provocation:", provocation);
Feeding the Wildcard into Subsequent Iterations
To use the provocation as the seed for a new divergent loop, pass it directly as the problem statement:
const newProblem = provocation; // feed back into the next divergent loop
await runADHDPipeline(newProblem);
This pattern implements the recursive exploration model described in the architecture documentation, where the wildcard bridges Focus and Diverge phases across multiple generations.
Summary
- The provocation/wildcard mechanism in ADHD adds exactly one open-ended question to every Focus phase output.
- It breaks cognitive fixation by introducing ideas outside the explored branch structure.
- It serves as a seed for future iterations, allowing the wildcard to become the root of the next divergent phase.
- The mechanism is documented in
SOURCE-SPEC.mdanddocumentation/how-it-works.mdas a mandatory output field. - Implementation requires only standard JSON extraction to leverage the provocation for recursive ideation.
Frequently Asked Questions
What exactly is a provocation in the ADHD framework?
A provocation is a single wildcard question generated during the Focus phase that does not belong to any specific solution branch. According to SOURCE-SPEC.md, it is defined as a "single wild-card idea or open question" designed to challenge assumptions and suggest unexplored directions.
How does the wildcard mechanism differ from regular idea generation?
Regular idea generation in ADHD occurs during the Diverge phase and produces multiple scoped candidates tied to specific branches. The wildcard mechanism operates during the Focus phase and produces exactly one unconstrained question that stands independent of the scored leaves and clusters, ensuring the system avoids over-convergence.
Can the provocation be used as input for subsequent iterations?
Yes. The documentation/how-it-works.md file explicitly describes the provocation as reusable input. By assigning the wildcard value to a new problem variable and invoking runADHDPipeline(newProblem), you create a feedback loop where the provocation seeds the next divergent exploration cycle.
Where is the provocation defined in the ADHD source code?
The provocation is formally specified in three locations: SOURCE-SPEC.md (structural definition), documentation/how-it-works.md (architectural context), and skills/adhd/SKILL.md (skill metadata). These files collectively establish the provocation as a required string field in the critic's JSON output.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →