# Where to Find the Canonical Ruleset and Ladder Definition for Ponytail

> Find the canonical Ponytail ruleset and ladder definition in the DietrichGebert/ponytail repository. Access the definitive seven-step decision ladder and skill definitions now.

- Repository: [DietrichGebert/ponytail](https://github.com/DietrichGebert/ponytail)
- Tags: api-reference
- Published: 2026-09-11

---

**The authoritative ruleset and ladder definition for Ponytail reside in [`/.windsurf/rules/ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main//.windsurf/rules/ponytail.md) and [`/skills/ponytail/SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main//skills/ponytail/SKILL.md) respectively, with the former serving as the single source of truth for the seven-step decision ladder.**

The **Ponytail** project by DietrichGebert implements a "lazy senior-dev" AI coding assistant that enforces minimal, efficient solutions through a strict hierarchical decision process. Understanding where to find the canonical ruleset and ladder definition for Ponytail is essential for customizing behavior or debugging enforcement logic.

## Canonical Ruleset Location

Ponytail’s behavior is governed by a primary rules file that defines how the system evaluates and responds to coding requests.

### The Primary Rules File (/.windsurf/rules/ponytail.md)

The **canonical ruleset** lives at [`/.windsurf/rules/ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main//.windsurf/rules/ponytail.md) in the repository root. This file contains the core **Rules** that drive Ponytail’s decision-making logic and defines the seven-rung ladder (YAGNI → reuse → stdlib → native → dependency → one-line → minimum) that the system climbs to determine the appropriate solution complexity.

Any modifications to Ponytail’s enforcement behavior must target this specific file. According to the DietrichGebert/ponytail source code, this path serves as the master configuration that other integrations reference.

### Generated Mirrors vs. Source of Truth

While you may encounter duplicate rule files at [`/.openclaw/rules/ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main//.openclaw/rules/ponytail.md) and [`/.qoder/rules/ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main//.qoder/rules/ponytail.md), these are **generated mirrors** maintained for auxiliary tooling integration. They remain in sync with the canonical file but should never be edited directly, as changes will be overwritten during the next synchronization cycle.

## Ladder Definition and Structure

The specific implementation details and user-facing documentation of the ladder appear in the skill definition file, which mirrors the canonical ruleset for operational use.

### The Seven-Step Ladder

The **ladder definition** is formally documented in [`/skills/ponytail/SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main//skills/ponytail/SKILL.md) within the `## The ladder` section. This markdown file repeats the seven rungs that define Ponytail’s escalation path:

1. **YAGNI** – Verify the feature is actually needed
2. **Reuse** – Check existing codebase solutions
3. **Stdlib** – Prefer standard library implementations
4. **Native** – Use language-native constructs
5. **Dependency** – Consider external packages only when necessary
6. **One-line** – Favor concise implementations
7. **Minimum** – Implement the absolute minimal viable solution

The ladder functions as a reflex once the problem is understood, with Ponytail stopping at the first rung that provides a valid solution path.

### Intensity Levels

The [`SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main/SKILL.md) file also defines three **intensity levels** that control how aggressively the ladder is applied:

- **Lite** – Shows suggestions without strict enforcement
- **Full** – Enforces all ladder rungs (default mode)
- **Ultra** – Aggressive minimization with maximum constraint application

These levels determine whether Ponytail merely advises on the ladder position or actively blocks non-compliant implementations.

## How Ponytail Applies the Ruleset

When engaged, Ponytail loads the canonical ruleset from [`/.windsurf/rules/ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main//.windsurf/rules/ponytail.md) and maintains **persistence** for the entire session unless explicitly terminated with `stop ponytail` or `normal mode` commands.

During request processing, the system performs **ladder enforcement** by climbing the seven steps sequentially, validating each rung against the current context before proceeding to the next. The default **full** intensity applies strict adherence to all ladder constraints, while **lite** and **ultra** modes adjust the validation thresholds accordingly.

## Programmatic Access to the Ladder

You can invoke Ponytail’s ladder logic programmatically through its API interface, specifying intensity levels as parameters:

```python
from ponytail_mcp import invoke

# Default full mode - complete ladder enforcement

result = invoke("/ponytail", "Add a cache for the API response")
print(result)   # → "@lru_cache(maxsize=1000)" ...

# Lite mode - advisory only without enforcement

result = invoke("/ponytail lite", "Add a cache for the API response")
print(result)   # → "Done, cache added. FYI: functools.lru_cache covers this ..."

```

The command-line interface supports identical syntax: `/ponytail`, `/ponytail lite`, and `/ponytail ultra`.

## Summary

- The **canonical ruleset** is located at [`/.windsurf/rules/ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main//.windsurf/rules/ponytail.md) and serves as the single source of truth for Ponytail’s behavior.
- The **ladder definition** appears in [`/skills/ponytail/SKILL.md`](https://github.com/DietrichGebert/ponytail/blob/main//skills/ponytail/SKILL.md) under the `## The ladder` section, documenting the seven-step escalation path.

- Files under `.openclaw` and `.qoder` directories are synchronized mirrors, not primary sources.
- The ladder enforces YAGNI → reuse → stdlib → native → dependency → one-line → minimum in sequence.
- Three intensity levels (lite, full, ultra) control enforcement strictness, with full being the default mode.

## Frequently Asked Questions

### What is the exact file path for Ponytail's canonical ruleset?

The authoritative ruleset is located at [`/.windsurf/rules/ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main//.windsurf/rules/ponytail.md) in the DietrichGebert/ponytail repository. This file defines the core rules and seven-step ladder that govern Ponytail's "lazy senior-dev" decision-making process.

### Can I edit the rules files in the .openclaw or .qoder directories?

No. Files under [`/.openclaw/rules/ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main//.openclaw/rules/ponytail.md) and [`/.qoder/rules/ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main//.qoder/rules/ponytail.md) are generated mirrors used for auxiliary tooling integration. You must modify the canonical file at [`/.windsurf/rules/ponytail.md`](https://github.com/DietrichGebert/ponytail/blob/main//.windsurf/rules/ponytail.md), as changes to mirror files will be overwritten during synchronization.

### What are the seven steps of the Ponytail ladder?

The ladder consists of: **YAGNI** (validate necessity), **reuse** (check existing solutions), **stdlib** (standard library preference), **native** (language-native constructs), **dependency** (external packages), **one-line** (concise implementation), and **minimum** (absolute minimal solution). Ponytail evaluates these sequentially and stops at the first valid rung.

### How do I switch between lite, full, and ultra modes?

Append the intensity level to your invocation command: use `/ponytail lite` for advisory suggestions without enforcement, `/ponytail` (or `/ponytail full`) for strict ladder compliance, or `/ponytail ultra` for aggressive minimization. Programmatically, pass these strings as the first argument to the `invoke()` function.