scan()

Scans transcripts under roots for feedback, incrementally.

Usage

Source

scan(
    store,
    roots,
    *,
    full=False,
)

Each transcript is parsed only when new or modified since the last scan (unless full), parsing runs concurrently across files, and every candidate is inserted idempotently. A transcript that fails to parse — for example one Claude Code is still appending to — is silently skipped by the parser and left unrecorded, so the next scan retries it.

Parameters

store: FeedbackStore

The store to read mtimes from and write candidates to.

roots: Sequence[Path]

The directories to search recursively for transcripts.

full: bool = False
When set, re-scan every transcript, ignoring recorded mtimes.

Returns

The: ScanReport
class:ScanReport for this pass.