name: Bug report
description: Report crashes, regressions, incorrect behavior, or broken workflows in SF.
title: "[Bug]: "
labels:
  - bug
body:
  - type: markdown
    attributes:
      value: |
        Thanks for filing a bug report. Keep it concise, reproducible, and evidence-based.

  - type: dropdown
    id: bug_type
    attributes:
      label: Bug type
      description: Choose the category that best matches this report.
      options:
        - Regression (worked before, now fails)
        - Crash or hang
        - Incorrect behavior or output
        - Performance problem
        - Documentation or UX problem
    validations:
      required: true

  - type: textarea
    id: summary
    attributes:
      label: Summary
      description: One sentence describing what is broken.
      placeholder: Running `/sf inspect` reports "No SF database available" even though `.sf/sf.db` exists.
    validations:
      required: true

  - type: textarea
    id: repro
    attributes:
      label: Steps to reproduce
      description: Provide the shortest reliable repro path.
      placeholder: |
        1. Run `...`
        2. Open `...`
        3. Execute `/sf ...`
        4. Observe the failure
    validations:
      required: true

  - type: textarea
    id: expected
    attributes:
      label: Expected behavior
      description: What should happen if the bug does not exist?
      placeholder: SF should open the existing database and continue.
    validations:
      required: true

  - type: textarea
    id: actual
    attributes:
      label: Actual behavior
      description: What happened instead, including user-visible errors.
      placeholder: SF exits the unit and shows an error message.
    validations:
      required: true

  - type: input
    id: sf_version
    attributes:
      label: SF version
      description: Run `sf --version` and paste the exact version.
      placeholder: "e.g. 2.33.1"
    validations:
      required: true

  - type: input
    id: node_version
    attributes:
      label: Node.js version
      description: Run `node --version`.
      placeholder: "e.g. v26.1.0"

  - type: input
    id: os
    attributes:
      label: Operating system
      description: OS and version where this occurs.
      placeholder: macOS 15.4 / Ubuntu 24.04 / Windows 11
    validations:
      required: true

  - type: dropdown
    id: install_method
    attributes:
      label: Install method
      description: How are you running SF?
      options:
        - npm global install
        - npm link / local checkout
        - npx
        - Docker
        - Other
    validations:
      required: true

  - type: dropdown
    id: affected_area
    attributes:
      label: Affected area
      description: Which part of SF seems involved?
      options:
        - Auto-mode / dispatch loop
        - Planning / roadmap / milestones
        - Slice or task execution
        - Completion / validation
        - State / persistence / database
        - Git / worktree isolation
        - CLI / slash commands
        - AI provider / model integration
        - MCP / tools / extensions
        - TUI / terminal UI
        - Documentation
        - Other
    validations:
      required: true

  - type: input
    id: model
    attributes:
      label: Model and provider
      description: If relevant, include the effective model/provider used for the failing run.
      placeholder: anthropic/claude-opus-4-1, openai/gpt-5, ollama/qwen3

  - type: textarea
    id: logs
    attributes:
      label: Logs, screenshots, and evidence
      description: Include redacted logs, screenshots, stack traces, or forensic output that prove the behavior. Do not include secrets.
      render: shell

  - type: textarea
    id: impact
    attributes:
      label: Impact
      description: Explain severity, frequency, and practical consequence.
      placeholder: |
        Severity: blocks milestone completion
        Frequency: 100% repro
        Consequence: finalization crashes even though artifacts were written

  - type: textarea
    id: additional_information
    attributes:
      label: Additional information
      description: Extra context, workarounds, last known good version, related issues, or environment details.
      placeholder: Last known good version was ..., temporary workaround is ...
