# cc-steer enrich


Ground every refined pair in the code evidence behind it.


``` bash
cc-steer enrich [OPTIONS]
```


Hands each pair's steering anchor and direction to cc-transcript's shared correction extractor, which harvests the candidate edits and their later corrections (from the session, or from git history), picks the one the direction faults -- an LLM call when a backend is ready, the best-overlap candidate otherwise -- and appends it to the shared `corrections` ledger. Anchors that yield no correction (expired transcripts, editless windows) cost no LLM call. Incremental and idempotent: a pair settles once its anchor carries a ledger row, a pair whose LLM call fails is isolated and retried next pass so one bad pair never aborts the rest (only a run of consecutive failures aborts loudly, and corrections already appended to the ledger persist so a re-run resumes), and a refine re-run resurfaces its new pairs here automatically. A pass that changes data syncs the dataset to HuggingFace; `--no-sync` skips it.


<span class="gd-details-chevron" aria-hidden="true"></span>Full --help output


    Usage: cc-steer enrich [OPTIONS]

      Ground every refined pair in the code evidence behind it.

      Hands each pair's steering anchor and direction to cc-transcript's shared
      correction extractor, which harvests the candidate edits and their later
      corrections (from the session, or from git history), picks the one the
      direction faults -- an LLM call when a backend is ready, the best-overlap
      candidate otherwise -- and appends it to the shared ``corrections`` ledger.
      Anchors that yield no correction (expired transcripts, editless windows)
      cost no LLM call. Incremental and idempotent: a pair settles once its anchor
      carries a ledger row, a pair whose LLM call fails is isolated and retried
      next pass so one bad pair never aborts the rest (only a run of consecutive
      failures aborts loudly, and corrections already appended to the ledger
      persist so a re-run resumes), and a refine re-run resurfaces its new pairs
      here automatically. A pass that changes data syncs the dataset to
      HuggingFace; ``--no-sync`` skips it.

    Options:
      --model [small|medium|large]  Linking model tier.  [default: medium]
      --limit INTEGER               Enrich at most this many pairs this pass.
      --concurrency INTEGER         Maximum concurrent claude subshells.
                                    [default: 8]
      --db FILE                     Database path. Defaults to ~/.cc-
                                    steer/feedback.db.
      --sync / --no-sync            Rebuild the derived dataset and push it to
                                    your private HuggingFace repo when the pass
                                    changed data.  [default: sync]
      --help                        Show this message and exit.


# Options


`--model: CHOICE = medium`  
Linking model tier.

`--limit: INTEGER`  
Enrich at most this many pairs this pass.

`--concurrency: INTEGER = 8`  
Maximum concurrent claude subshells.

`--db: FILE`  
Database path. Defaults to ~/.cc-steer/feedback.db.

`--sync, --no-sync`  
Rebuild the derived dataset and push it to your private HuggingFace repo when the pass changed data.
