Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • Getting Started with AI for VLSI Engineers5
  • Just Enough AI: Models and Context15
  • Prompting13
  • Trust and Verification14
  • Using AI for Engineering Work17
  • Engineering Walkthroughs7
  • Practical Foundations for AI Workflows4
  • Engineering Data5
  • Retrieval-Augmented Generation6
  • Agents and Tool Use18
  • Agent Design8
  • MCP and Skills6
  • Multi-Agent Design6
  • Practical Capstone6
  • Tokens, Cost and Latency12
  • Agentic Workflows for Chip Teams18
    • Regression Triage Agent
      • The Nightly Triage Loop
      • Clustering Failures by Signature
      • Ranking Suspects with Evidence
      • Read-Only by Default
      • Evaluating Against Labelled History
    • Lint-and-Fix Loops
    • Guardrails and Human in the Loop
    • Evaluating and Operating Agents
  • Interview and Judgment10
  • AI Skills: Full Course Index
  • Working with AI Glossary
  • Working with AI Cheatsheet
Loading lesson

‹Regression Triage Agent
  1. Topics
  2. AI Skills for VLSI Engineers
  3. Agentic Workflows for Chip Teams
  4. Regression Triage Agent
  5. Ranking Suspects with Evidence

Reference: Agentic Workflows for Chip Teams · Beginner to Intermediate

Ranking Suspects with Evidence

Scoring suspect commits from file overlap, recency, and bisect results.

On this page

    Evidence per suspect

    Each suspect commit carries three evidence bits. File overlap asks whether it touched the failing block, recency asks whether it is new, and bisect asks whether reruns blame it.

    Evidence

    Question answered

    Source

    File overlap

    Did the commit touch the failing block?

    Changed-file list.

    Recency

    Is the commit within the last two days?

    Commit dates.

    Bisect vote

    Does the range search blame it?

    Rerun results.

    Scoring

    A weighted sum turns the three bits into one order. The weights below are stated example parameters, and every score is shown with its substitution.

    plaintext
    1
    2
    3
    4
    5
    score = 4 x overlap + 2 x recent + 3 x bisect
    c1: 4 x 1 + 2 x 1 + 3 x 1 = 4 + 2 + 3 = 9
    c3: 4 x 1 + 2 x 0 + 3 x 0 = 4 + 0 + 0 = 4
    c2: 4 x 0 + 2 x 1 + 3 x 0 = 0 + 2 + 0 = 2
    ranked order: c1 (9), c3 (4), c2 (2)

    Reruns and flakiness

    A passing rerun does not clear a suspect. Flaky cases pass on their own, so the agent needs several clean reruns before downgrading a suspect.

    plaintext
    assume one rerun passes a flaky case with probability 0.3 (stated example parameter)
    three reruns all pass: 0.3^3 = 0.3 x 0.3 x 0.3 = 0.027 = 2.7%
    even a flaky case that passes 30% of the time passes three reruns in a row 2.7% of the time, so passing reruns reduce doubt but do not prove the fix

    Runnable model

    The program below is a scripted stand-in for the ranking step, not a model. It scores the three suspects above and checks the order c1, c3, c2 with scores 9, 4 and 2.

    example.py
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    import sys
    
    SUSPECTS = [
        {"id": "c1", "overlap": 1, "recent": 1, "bisect": 1},
        {"id": "c2", "overlap": 0, "recent": 1, "bisect": 0},
        {"id": "c3", "overlap": 1, "recent": 0, "bisect": 0},
    ]
    
    W_OVERLAP = 4
    W_RECENT = 2
    W_BISECT = 3
    
    def score(s):
        return W_OVERLAP * s["overlap"] + W_RECENT * s["recent"] + W_BISECT * s["bisect"]
    
    ranked = sorted(SUSPECTS, key=score, reverse=True)
    order = [s["id"] for s in ranked]
    scores = [score(s) for s in ranked]
    
    if order != ["c1", "c3", "c2"]:
        print("FAIL: wrong order")
        sys.exit(1)
    if scores != [9, 4, 2]:
        print("FAIL: wrong scores")
        sys.exit(1)
    print("PASS: ranked order is c1, c3, c2 with scores 9, 4 and 2")

    Common mistakes

    Common pitfall

    Scores without evidence lines look like verdicts. Engineers ignore a ranking they cannot audit, so every suspect keeps its three evidence bits on the card.

    Interview

    Likely probes: why weights are parameters and what a single passing rerun proves.

    • Weights trade file evidence against test evidence; teams fit them on labelled history.

    • One passing rerun proves little against flakiness; the arithmetic above sets the bar.

    • Bisect outranks recency when both exist, which the 3-to-2 weight gap encodes.

    Check yourself Suspect c2 is the newest commit but ranks last. Why?

    It touches none of the failing files and bisect clears it. Recency alone scores 2 against 9 and 4.

    Check yourself All three reruns of a suspect pass. Is it cleared?

    Not on reruns alone. A flaky case that passes 30% of the time still passes three in a row 2.7% of the time, so file and bisect evidence still count.

    Related topics

    • Read-only by default

    • Tool use and structured output

    Previous

    145 / 173

    Next: Read-Only by Default

    Up next

    Up nextRead-Only by Default

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • The Nightly Triage Loop
    • Evaluating Against Labelled History