hypothesis-driven-debugging

Guide hypothesis-driven debugging of F# compiler failures with minimal reproductions.

4.3k|870|Updated Jan 10, 2015
One-click install
npx skills add https://github.com/dotnet/fsharp --skill hypothesis-driven-debugging
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hypothesis-driven-debugging
Source: https://github.com/dotnet/fsharp/tree/main/.github/skills/hypothesis-driven-debugging
Command: npx skills add https://github.com/dotnet/fsharp --skill hypothesis-driven-debugging

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This approach provides a disciplined, reproducible workflow to identify, reproduce, and diagnose failures in the F# compiler codebase by guiding users through minimal reproductions and structured hypothesis testing.

Core Features & Use Cases

  • Create a minimal reproduction of a failure to isolate root causes.
  • Form multiple competing hypotheses and design verifications to confirm or rule them out.
  • Iterate by re-running builds and tests after each change to ensure regressions are not introduced.

Quick Start

Create a minimal reproduction of the failure, formulate three competing hypotheses, and verify them by running builds and tests.

Frequently Asked Questions about hypothesis-driven-debugging

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I debug F# compiler test failures systematically?

Debug F# compiler test failures by creating a minimal reproduction, formulating at least three competing hypotheses, and verifying fixes through targeted tests. Re-run builds and tests after each change to ensure no regressions are introduced.

What is hypothesis-driven debugging and when should I use it?

Hypothesis-driven debugging is a structured workflow to isolate root causes by testing multiple competing hypotheses against a minimal reproduction. Use it for resolving test failures, build errors, and unexpected runtime behavior in the F# compiler codebase.

How do I create a minimal reproduction for an F# build error?

Create a minimal reproduction for an F# build error by isolating the specific code triggering the failure. Formulate competing hypotheses, add instrumentation to verify them, and run targeted tests to confirm the root cause.

Does hypothesis-driven debugging work for unexpected runtime behavior in F# tooling?

Yes, it works for unexpected runtime behavior in F# tooling. The workflow guides you to reproduce the issue minimally, test three competing hypotheses, and mandate re-running builds and tests after changes to rigorously verify the fix.

What's the best way to verify fixes without introducing regressions in F# compiler debugging?

The best way to verify fixes without introducing regressions is to enforce a structured workflow of re-running builds and tests after each change. Confirm or rule out hypotheses using targeted tests and instrumentation on a minimal reproduction.