Skip to content

Read adaptivity: learn when signatures, ranges, small bodies, or full reads are best #45

@willwashburn

Description

@willwashburn

Problem

relaywash__Read has strong defaults: signatures for large known-language files, full content for small files, range follow-ups, small body inclusion, and repeated-read suppression. Those defaults are currently static. Different repos may benefit from different thresholds.

Goal

Use observed Read outcomes to tune Read defaults per repo.

Signals to capture

  • Read mode requested.
  • Returned byte size.
  • Whether the next tool was a range Read of the same file.
  • Whether the next tool was a full Read of the same file.
  • Whether repeated unchanged Read returned empty content.
  • Whether signature output included a matching recently searched symbol.
  • Whether compaction kept or dropped the Read result once compaction attribution exists.

Tunable profile fields

  • tools.read.smallFileLines
  • tools.read.smallFunctionLines
  • Future: tools.read.defaultMode if evidence supports it.

Learning rules

  • If signature reads are frequently followed by full reads, consider increasing smallFileLines or smallFunctionLines.
  • If full reads are frequently dropped at compaction, prefer lower thresholds.
  • If range follow-ups are common and successful, keep signature-first behavior.
  • If repeated unchanged reads happen often, surface stronger dedupe guidance.

Acceptance criteria

  • PostToolUse observations include enough Read follow-up data without logging sensitive paths.
  • Aggregator can recommend threshold changes with confidence and observation counts.
  • Generated profiles are applied by existing Read profile hooks.
  • Tests cover signature-to-range, signature-to-full, full-dropped, and repeated-read cases.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions