Skip to content

docs: redesign the README as a landing page with an inbox-triage example - #227

Merged
edonadei merged 5 commits into
mainfrom
claude/brave-gates-hkfgit
Sep 28, 2026
Merged

edonadei merged 5 commits into
mainfrom
claude/brave-gates-hkfgit

Conversation

@edonadei

@edonadei edonadei commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

What

Rework README.md into a landing page.

Before / after

The first screen of the README, rendered with GitHub's styles:

Before After
The README before: a plain title, three badges, several paragraphs and two code blocks before the first image, which shows commit-writer going from 33% to 100% The README after: a centered icon and title, tagline, badges and links, the inbox-triage compare screenshot (80% to 100%, 30% fewer tokens), a 3x2 feature grid and a side-by-side quick start

Changes

  • Header: a centered, new light/dark caliper icon (docs/assets/icon-{light,dark}.svg), the tagline, the "next nine times?" hook, badges, and quick links.
  • Hero: the compact caliper compare screenshot comes first. The long caliper run output moves further down, to a "Read the output" section after the spec.
  • Why Caliper: a 3×2 grid of feature cards replaces the bullet lists.
  • Quick start: the agent path and the CLI path sit side by side.
  • New example: inbox-triage vs calendar-scheduler, replacing commit-writer. Its six tasks cover:
    • the LLM judge (expect:)
    • Python assertions: drafts replies, never sends them; skips no-reply senders
    • a prompt injection
    • a neighbour prompt the skill hijacks
    • a silence probe (activates: [])
  • Realistic ablation (k=5): the bare agent already passes 80%; the skill takes it to 100% with 30% fewer tokens and 28% less wall time.
  • New sections: a Documentation index and a License section. The reference sections (engines, spec format, CLI reference, exit codes, scoring, troubleshooting, contributing) are unchanged.

Supporting changes

  • docs/render_readme_samples.py now renders the inbox example, so compare-ablation.svg and run-output.svg can be regenerated with python docs/render_readme_samples.py. compare-runs.svg, used by docs/results.md, regenerates byte-identical.
  • docs/results.md now has the "each attempt is one agent session" cost note that the landing page drops.

No CLI flag, spec format, judge behavior, or results schema changes, so no other docs from the CLAUDE.md list need updating. Every README.md#… anchor linked from docs/ and examples/ still resolves.

The before/after screenshots live in commit 8c540d2, which the next commit removes, so they don't add to this PR's diff.

Checks

  • ruff format --check . and ruff check . pass.
  • The README's example spec passes caliper validate. Its setup commands run and its assert: blocks compile.
  • pytest was not run locally; this PR only touches docs and the docs render script, and CI runs the suite.

The screenshot numbers come from sample data in the render script, not a real run, as before.

- Centered header with a new light/dark icon, tagline, badges and links.
- Lead with the compact `caliper compare` screenshot, then a feature grid
  and a side-by-side quick start (agent path / CLI path).
- Replace the commit-writer example with inbox-triage vs
  calendar-scheduler: six tasks covering the LLM judge, Python
  assertions, a prompt injection, a hijacked neighbour prompt and a
  silence probe. The ablation is realistic: the bare agent passes 80%,
  the skill 100% with 30% fewer tokens.
- Add a Documentation index and a License section; the reference
  sections are unchanged.
- docs/render_readme_samples.py renders the new example, so the SVGs
  stay reproducible.
- docs/results.md now carries the "one attempt = one agent session"
  cost note that the landing page drops.
devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

Point both paths at inbox-triage/inbox-triage.eval.yaml, where
grill-skill writes the spec. Run the ablated control before the full
run, so the bare spec name resolves to the full run in caliper compare.
Replace the <ablated-run> <full-run> placeholders, which the shell
reads as redirections, with a results path and the spec name.
Drop the "Then:" prose and the redundant --k 3 (3 is the default), and
name the spec path once with SPEC=.
@edonadei
edonadei merged commit eb38e24 into main Sep 28, 2026
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant