Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Reason given by maintainers: Project renamed to cc-steer — install cc-steer instead (https://pypi.org/project/cc-steer/)

cc-pushback

Your best training data is rotting in ~/.claude. cc-pushback mines every correction, interrupt, and rejected plan from your transcripts into judge-refined, TRL-ready SFT/DPO/KTO pairs on HuggingFace.

CI PyPI License: PolyForm Noncommercial

Get started

uvx cc-pushback scan

One pass over ~/.claude/projects fills ~/.cc-pushback/feedback.db with every correction you typed, every plan you rejected, and every inline review comment — conversational context included. stats shows what landed:

Terminal running 'uvx cc-pushback stats' — 980 pushback events counted across four source kinds

Driving with an agent? Paste this:

Run `uvx cc-pushback scan` to mine my Claude Code transcripts into ~/.cc-pushback/feedback.db.
Then run `uvx cc-pushback stats` and report how much pushback was collected per source kind.
Docs: https://yasyf.github.io/cc-pushback/

Use cases

Build a training set from feedback you already gave

You've spent months telling Claude "no, not like that", and that signal evaporates as transcripts rotate out. Judge the corpus, then distill the accepted events into atomic pairs grounded in the code they complain about:

uvx cc-pushback triage
uvx cc-pushback refine
uvx cc-pushback enrich

uvx cc-pushback pairs prints the deliverable: training pairs distilled from your own pushback, each carrying the conversational window and code evidence behind it.

See what you actually push back on, across every project

Your taste is mostly tacit — you notice a rule when it's violated. The corpus makes it legible:

uvx cc-pushback list --source plan_review

On my machine the split is 698 mid-session corrections, 219 rejected plans, 41 review comments, and 22 interrupts. Another machine's history folds in too: mirror it with rsync and point scan --transcripts at it (repeatable, so several mirrors fold into one scan).

Push a private SFT/DPO/KTO dataset to your HuggingFace namespace

A judged corpus in SQLite trains nothing. Export projects it into TRL-ready configs:

uvx cc-pushback export --push
traces: train 1156  test 115
sft: train 499  test 67
dpo: train 363  test 44
kto: train 1156  test 115

Four configs land as per-split parquet in a private <hf-user>/cc-pushback-traces, next to a generated dataset card. Splits group on the session hash, so a session never straddles train and test.

More in the docs

  • Incremental scanning — content digests and one-transaction commits make re-scans cheap and interrupt-safe — scan
  • Judge, audit, eval — prompt-versioned triage, a seeded audit sample, and mechanical metrics with no LLM calls — triage
  • Pair dashboard — browse refined pairs and their full lineage in a local web UI — view-samples
  • Python API — drive the scanner and the feedback store from your own code — reference

Status: alpha — the pipeline runs end to end; the judge prompt still iterates (v5 today).

Read the docs for the full guide. Licensed under PolyForm Noncommercial 1.0.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cc_pushback-0.8.1.tar.gz (64.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cc_pushback-0.8.1-py3-none-any.whl (76.9 kB view details)

Uploaded Python 3

File details

Details for the file cc_pushback-0.8.1.tar.gz.

File metadata

  • Download URL: cc_pushback-0.8.1.tar.gz
  • Upload date:
  • Size: 64.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cc_pushback-0.8.1.tar.gz
Algorithm Hash digest
SHA256 027d06ce4e62ccd5b4670e6437d01e527c613008d5f84613071177afb4d4ce0a
MD5 2055a32075a785d9f37dfea7a48a5c29
BLAKE2b-256 7441be20a436949c5aca547498c95b0562afc6ac223aee2cc74c68eb53560f8a

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_pushback-0.8.1.tar.gz:

Publisher: release-pypi.yml on yasyf/cc-pushback

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cc_pushback-0.8.1-py3-none-any.whl.

File metadata

  • Download URL: cc_pushback-0.8.1-py3-none-any.whl
  • Upload date:
  • Size: 76.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cc_pushback-0.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dc030cd2d9e60715aac9f81378517b71bee3e3c182de7199dac2dee8a1fc444b
MD5 4838f91cfc131d72e1702c8a38ccb2e2
BLAKE2b-256 6e5423325b9ad73f68d7bd63a11176e11b0afdbd9d2ca866b3882f537c65b692

See more details on using hashes here.

Provenance

The following attestation bundles were made for cc_pushback-0.8.1-py3-none-any.whl:

Publisher: release-pypi.yml on yasyf/cc-pushback

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.8.1 This release

2 files

0.8.0

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page