Skip to content

Validation

Two prompts — run both after completing either path.

Do not write validation output to a file. Report inline, in the conversation.

A self-graded assessment persisted as a doc — verdict tables, health scores, "Action Items Addressed" checklists — is not a measurement. An LLM reviewing its own output produces a self-impression, not an audit. The confident form (percentages, ✅ checkboxes) makes results look more authoritative than they are, which makes developers less likely to inspect the underlying claims.


Structural Validation

Verifies everything is in the right place. Run this first.

Prompt:

I've completed harness work on this repository. Please validate:

1. **No orphaned content**: Does any guidance, constraint, or rule exist only in a non-canonical
   file (CLAUDE.md real content, .cursorrules, .github/instructions/, .claude/) and not in
   AGENTS.md, INVARIANTS.md, or a SKILL.md?

2. **No duplication**: Is the same content stated in more than one file? Each piece of guidance
   should have one canonical location.

3. **CLAUDE.md is a shim**: Does CLAUDE.md contain only @-references?

4. **AGENTS.md is operational**: Does AGENTS.md contain only operational context (roles, footguns,
   decision links, module context) — no hard constraints?

5. **INVARIANTS.md is complete**: Does INVARIANTS.md contain all hard constraints, each with an
   "Enforced by:" annotation?

6. **Skills in canonical location, originals deleted**: Are all real SKILL.md files under
   `.agents/skills/<name>/`? Are `.github/instructions/`, `.cursor/rules/`, and `.cursorrules/`
   empty or absent? `.claude/skills/` must hold no real content — only symlinks pointing to
   `.agents/skills/<name>` (Claude Code's discovery path) are permitted there.

7. **Skills are warranted, not generic**: Skills are optional — do not flag as incomplete if none
   exist. For each SKILL.md present, does it map to a task type this repo's agents actually perform
   regularly, and does it add procedure beyond what AGENTS.md/INVARIANTS.md already say? Flag any
   skill that is generic boilerplate or duplicates canonical content instead.

8. **Makefile has required targets**: Does `make check` run lint + typecheck + test?

9. **Cross-links are intact**: Does AGENTS.md link to module-level files, and vice versa?
   Does README.md link to AGENTS.md and Skills? Are README.md's factual claims accurate —
   version numbers, build commands, environment variable names, and API paths verified against
   file:line evidence?

10. **No unreviewed citations**: Do any harness files contain `[review: ...]` markers? These are
    temporary source citations added during generation for the reviewer to confirm and then delete.
    Their presence in a committed file means the review step was skipped.

11. **Files are concise**: Do files in the harness contain only what is necessary? Flag any file
    with redundant restatements, filler sentences, or content already covered in another canonical file.

Report inline as a checklist: ✅ complete, ⚠️ partial, ❌ missing. Do not write this to a file.

Target: All 10 items ✅. The harness is complete when the validation checklist in chapter 07 is fully satisfied.


Behavioral Tests

Verifies that agents can actually use the harness correctly. Run these after the structural validation passes.

Test 1: Agent Discovery

Tests that AGENTS.md, module-level files, and Skills are discoverable and coherent.

Prompt:

You're an AI agent working in a new repository. Your task:

1. Discover the repository structure
2. Read AGENTS.md and the nearest relevant module-level AGENTS.md to understand constraints
3. Identify which SKILL applies to your task
4. Summarize what you learned

Go to the repository and:
- List the directory structure
- Read AGENTS.md and the nearest relevant module-level AGENTS.md, then summarize the applicable invariants and local constraints
- Read the relevant SKILL.md for your task
- List the commands available in Makefile

Then navigate into one subdirectory that has a module-level AGENTS.md and answer:
- What local constraints does it add?
- Which root constraints does it inherit?
- What footguns are specific to that module?

Report back with a structured summary.

Expected: Agent reads AGENTS.md first, locates module-level file when navigating, distinguishes local from inherited constraints, identifies the right Skill, knows available validation commands.

Test 2: Constraint Validation

Tests that INVARIANTS.md is specific enough to catch real violations.

Prompt:

I've written a new feature that:
- Adds a new POST endpoint to create users
- Stores the password in the database
- Doesn't have any tests yet

Please review this code against INVARIANTS.md and AGENTS.md.

What constraints does it violate?
What should I fix before submitting?

Expected: Agent identifies violations (passwords must be hashed, tests required, endpoint must be in openapi.yaml if applicable) and provides specific fixes.

Test 3: Skill Execution (skip if no relevant skill exists)

Tests that Skills guide agents through the correct process. Skip this test if the repo has no skill covering implementation-type work — skills are optional, so this is not a failure.

Prompt:

I want to implement a new feature:
Add a GET /api/users/{id}/settings endpoint to retrieve user settings.

I have the openapi.yaml spec ready.

Using the implementation SKILL, walk me through implementing this step-by-step.
What do I need to do? What tests should I write?

Expected: Agent references the implementation SKILL.md, follows spec → code → tests → docs order, cites relevant constraints, provides concrete examples.