CleaveWhat is Cleave?

pallets/click · #0 · 0286eba → 2cabbe3

click-deprecated-params

A 472-line pull request, split into 3 layers. Each layer passes PYTHONPATH=src python -m pytest -q -p no:cacheprovider -k "not (test_echo_via_pager and (test5 or test6))" on its own, and the last one is identical to the original.

5/5

checks pass

Original
472 lines
Largest layer
220 lines
Layers
3
Head tree
8402650
Layer 03 tree
8402650
Code written by AI
0 lines

Layers

  1. 011 · Error handling in echo_via_pager13 atoms · 220 lines609 passed
  2. 022 · CliRunner catch_exceptions parameter7 atoms · 37 lines610 passed
  3. 033 · Deprecation messages and flag values31 atoms · 215 lines623 passed

Checks

  • Atom coverage

    51 / 51

    Every change appears in exactly one layer.

    51 of 51 atoms in stack

  • Dependency order

    19 / 19

    Nothing depends on a later layer.

    19 of 19 dependencies respected

  • Tree fidelity

    Identical

    The last layer is identical to the original pull request.

    Top layer tree equals head tree

  • Layer shippability

    3 / 3

    Each layer passes the tests on its own.

    3 of 3 layers passing tests

  • No new code

    0 lines

    Bob only moved existing changes between layers.

    0 foreign lines in stack

How Bob was used

IBM Bob planned the layers in the ✂ Cleave mode, which has no tool that can edit files or run commands. Its only way to change the plan is to move existing hunks between layers.

Ran in
Bob IDE
Read-only subagents
—
Cleave tool calls
—
Atoms moved in repair
0
Tool calls allowed
12
Source edits blocked
0
Bobcoins
1.40
Duration
0 ms
This page shows evidence, not code. Verified Sep 27, 2026.