From ee209633e0b0e6955195e6b4a930e3bc1523e11d Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Wed, 12 Aug 2026 09:20:34 -0700 Subject: [PATCH] docs: update project documentation for v1.62.0.0 Co-Authored-By: Claude Fable 5 --- CLAUDE.md | 4 ++++ CONTRIBUTING.md | 1 + 2 files changed, 5 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 984844902..89e8a1732 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -70,6 +70,10 @@ periodic tests run weekly via cron or manually. Use `EVALS_TIER=gate` or 2. Quality benchmark, Opus model test, or non-deterministic? -> `periodic` 3. Requires external service (Codex, Gemini)? -> `periodic` +Tier declarations are enforced by `test/e2e-tier-alignment.test.ts` (free, runs +in `bun test`): a `skill-e2e-*` file whose `EVALS_TIER` self-gate disagrees with +its declared tier in `E2E_TIERS` fails the suite — keep both in sync. + ## Testing ```bash diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b75d4a898..bd24c2241 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -159,6 +159,7 @@ Runs automatically with `bun test`. No API keys needed. - **Skill parser tests** (`test/skill-parser.test.ts`) — Extracts every `$B` command from SKILL.md bash code blocks and validates against the command registry in `browse/src/commands.ts`. Catches typos, removed commands, and invalid snapshot flags. - **Skill validation tests** (`test/skill-validation.test.ts`) — Validates that SKILL.md files reference only real commands and flags, and that command descriptions meet quality thresholds. - **Generator tests** (`test/gen-skill-docs.test.ts`) — Tests the template system: verifies placeholders resolve correctly, output includes value hints for flags (e.g. `-d ` not just `-d`), enriched descriptions for key commands (e.g. `is` lists valid states, `press` lists key examples). +- **Tier-alignment invariant** (`test/e2e-tier-alignment.test.ts`) — For every self-gated `test/skill-e2e-*.test.ts` named in a touchfiles dep list, the file's `EVALS_TIER` self-gate must match its declared tier in `E2E_TIERS`. Kills the "inert demotion" class where a test is re-tiered in `touchfiles.ts` but the file still gates on the old tier and keeps running in the wrong lane. Unmapped or mixed-tier files are reported, never silently skipped. ### Tier 2: E2E via `claude -p` (~$3.85/run)