/conclave-bug <report [text|url] | list>
Report a bug the moment it surfaces — typically after a PR has already merged and shipped a silent regression — or list the current bug backlog.
/conclave-bug report "checkout button throws 500 on mobile Safari"
/conclave-bug report https://<logging-tool-url>/issues/8f2a1c
/conclave-bug listreport writes a BUG-NNN artifact directly in status: ready — bugs never pass through backlog or Sprint Planning, and /conclave-planning never sees them. Once reported, a bug is picked up exactly like a story: /conclave-dev BUG-NNN → /conclave-qa BUG-NNN → /conclave-pr-review BUG-NNN (if applicable). This command is the on-ramp only — no new pipeline is introduced.
What report does
- Classifies the argument — free text, or a URL/ID that looks like a reference to a logging/error-tracking tool.
- If it looks like a reference, checks whether the current session has any connected MCP tool whose name/description matches logging/error-tracking terms (generic keyword detection — never a hardcoded vendor name). If one matches, attempts to fetch stack trace/breadcrumbs/context. Falls back silently to plain text on no match or a failed fetch.
- Haiku pre-analysis refiner — dispatches a read-only
claude-haiku-4-5-20251001subagent against the raw input and any enriched context. Returns a JSON brief with:optimized_title,suspected_code_area,blocking_questions,nonblocking_gaps,advisory_severity, andprefillvalues for the user form. This runs silently — it never blocks the flow, it only makes the next step smarter. - Asks for clarification (
AskUserQuestion) — conditionally: if the refiner found no blocking questions AND advisory severity is clear, the question step is skipped entirely and its prefill values are used directly. Otherwise, asks up to 5 questions (title, severity, discipline, related story/PR) with refiner-generated prefill and the refiner’s top 3 blocking questions. Severity (critical | high | medium | low) has no default — must be explicit. - Delegates to the QA subagent — not Product Manager — to draft Gherkin repro steps and an advisory severity note (the user’s explicit severity choice is always authoritative). The refiner’s
suspected_code_areaandnonblocking_gapsare passed as context hints. - Computes the next
BUG-NNN— a separate monotonic sequence fromUS-NNN, independent counters, never colliding. - Writes
conclave/product/bugs/BUG-NNN-<slug>.mdfrombug.template.md. Includessuspected_code_area(from the refiner) andlab_test_path(empty until a lab test is generated). - Mirrors it as a GitHub issue via
gh issue create(GitHub-only this phase) — the issue is a mirror, never the source of truth. - Generates a lab test spec — if
lab_test.enabled: trueinconclave/config.mdAND the bug’s severity is ≥lab_test.bugs.severity_threshold, dispatches the Tech Lead subagent to writeBUG-NNN-lab.md. Requiresconclave/lab-config.md(warns and skips if missing). Updateslab_test_pathin the bug file. See Lab tests.
What list does
Mechanical — no subagent call, same precedent as /conclave-story retire. Globs conclave/product/bugs/*.md and prints a table sorted by severity (critical → high → medium → low), then by ID:
| Bug | Title | Severity | Status | Related | Lab | Issue | Assignee |
|---------|--------------------------------|----------|-------------|------------|-----|-------------------------------|----------|
| BUG-004 | Checkout 500 on mobile Safari | critical | in-progress | US-042 | ✓ | https://github.com/…/issues/81 | Cy |
| BUG-003 | Login loop on iOS Safari | high | ready | — | — | https://github.com/…/issues/80 | — |The Lab column shows ✓ when a lab test spec exists (lab_test_path is set) and — otherwise.
Severity vs priority
severity (critical | high | medium | low) is a field only bugs have — distinct from priority (MoSCoW: must | should | could | wont), which stories use. Severity measures incident impact; priority measures feature work order. They are never conflated.
Bugs in /conclave-dev and /conclave-qa
/conclave-dev and /conclave-qa accept BUG-NNN IDs anywhere they accept US-NNN, including mixed batches (/conclave-dev US-001 BUG-004) — the ID prefix disambiguates which directory each resolves against. Everything else (branch naming, discipline-based charter routing, batching, model resolution, summary tables) works unmodified, since a bug’s frontmatter has the same shape a story’s does.
The Developer subagent reproduces a bug before fixing it — uses the bug file’s inline Gherkin repro steps to confirm the failure is still present before writing any fix code. If it cannot reproduce, it stops and surfaces that (interactively, or AUTONOMOUS_ABORT: could not reproduce BUG-NNN's repro steps in autonomous mode) rather than fixing something it never actually saw fail. The rendered PR body includes Fixes #<github_issue_number> so merging auto-closes the mirrored GitHub issue.
Guardrails
- Never modifies any file outside
conclave/product/bugs/andconclave/context/. - Never commits — the team reviews the bug report as a PR, same as every existing command.
listnever calls a subagent.- No
edit/retire/splitsub-actions in this phase — a mis-filed bug is hand-corrected via frontmatter edit (git preserves the audit trail). - Never invents a stack trace, environment detail, or severity the user didn’t provide or the enrichment didn’t surface.
- Never hardcodes a specific logging/error-tracking vendor name in the MCP-detection logic.
- The Haiku refiner is a convenience aid, not a gate — if it errors, the flow continues without it.
AskUserQuestionis conditional: it is skipped (not “answered automatically”) only when the refiner finds zero blocking questions AND advisory severity is clear. Severity without a clear recommendation always triggers the question step.- Lab spec generation is skipped silently (with a setup hint) if
conclave/lab-config.mdis absent. It is never a hard error during bug reporting.
After it runs
report— next step is/conclave-dev BUG-NNNto fix it.list— informational only, no next step implied.