bubbles-bug-template
Use the canonical Bubbles bug artifact template when filing or working a bug under specs/<feature>/bugs/BUG-NNN-description/. Use when reporting a regression, picking up a bug, writing the reproduction evidence, designing the fix, or auditing whether the bug folder has all required artifacts before work begins.
- License 许可
- MIT
- 最近更新
- 2026-11-07
- Stars
- ★ 1
- Forks
- 0
01 前言 Front Matter
- name
- bubbles-bug-template
- description
- Use the canonical Bubbles bug artifact template when filing or working a bug under specs/<feature>/bugs/BUG-NNN-description/. Use when reporting a regression, picking up a bug, writing the reproduction evidence, designing the fix, or auditing whether the bug folder has all required artifacts before work begins.
03 SKILL.md 正文
Bubbles Bug Template
Goal
Every bug folder has all 6 required artifacts before fix work begins, includes a reproducible repro, and produces an adversarial regression test that would fail if the bug were reintroduced.
When to use
- Filing a new bug under
specs/<feature>/bugs/BUG-NNN-description/(orspecs/bugs/BUG-NNN-...for cross-feature bugs) - Picking up an open bug; verifying it has all 6 artifacts
- Writing reproduction evidence (BEFORE the fix) and verification evidence (AFTER the fix)
- Designing the regression test for the bug
Required artifacts (every bug)
| File | Notes |
|---|---|
bug.md |
description, reproduction steps, observed vs expected, severity |
spec.md |
expected behavior specification (what the code SHOULD do) |
design.md |
root cause analysis + fix design |
scopes.md |
fix scope(s) with DoD checklist + Test Plan |
report.md |
execution evidence: bug reproduced BEFORE fix, fix verified AFTER fix, regression test execution |
state.json |
bug lifecycle state |
If any file is missing, bubbles.bug (or whichever agent is handling the bug) MUST create it before proceeding.
Bug-reproduction gate (Gate 0)
- Reproduce the bug FIRST — capture raw terminal output in
report.mdunder aBefore Fixsection. - Apply the fix.
- Re-execute the same reproduction sequence — capture output in
report.mdunderAfter Fix. - Both captures MUST be in the same session and ≥10 lines each.
Adversarial regression test (NON-NEGOTIABLE)
Every bug-fix regression test MUST include at least one adversarial test case — an input that would FAIL if the bug were reintroduced. Tautological regressions (all fixtures already satisfy the broken code path) do not count. Enforced by regression-quality-guard.sh --bugfix.
Anti-patterns
- ❌ Filing a bug with only
bug.mdand skipping spec.md/design.md/scopes.md/report.md/state.json - ❌ Writing a regression test where every fixture would also fail if you reintroduced the bug differently (tautology)
- ❌ Calling the bug closed without an AFTER-fix reproduction capture
- ❌ Adding a bypass like
if (page.url().includes('/login')) returnin the regression test
Authoritative modules
agents/bubbles_shared/bug-templates.md— full template textagents/bubbles_shared/artifact-lifecycle.md— lifecycle rulesagents/bubbles_shared/quality-gates.md— adversarial regression requirementagents/bubbles_shared/e2e-regression.md— regression expectationsbubbles/scripts/regression-quality-guard.sh— bugfix mode enforcementbubbles/scripts/regression-baseline-guard.sh— baseline expectations
04 同仓库更多 Skills
smackerel-trace-capture
Wire Smackerel's concrete validate-plane stack into the framework trace-driven defect-discovery method. Use when running live-category tests (integration/e2e/e2e-ui/stress) against the ephemeral test stack; capturing SLO or trace evidence; hunting latency/error/perf bugs from spans; querying the test-stack Jaeger or Prometheus; or touching `.specify/runtime/observability`. Concrete smackerel endpoints + the exact `capture-slo.sh` command; do NOT duplicate `bubbles-observability-adapter` — this only adds the wiring.
smackerel-no-defaults
Enforce Smackerel's NO-DEFAULTS / fail-loud SST policy. Use when editing config, Docker Compose, deploy adapters, docs, instructions, skills, env handling, host bind addresses, or any runtime value that could be hidden by fallback syntax.
bubbles-workflow-mode-resolution
Resolve a Bubbles workflow mode against `bubbles/workflows.yaml`, including template inheritance, status ceilings, gate wiring, and decision policy. Use when picking a mode for a request, when a guard reports a mode-related failure, or when extending workflows.yaml with a new mode or template. Covers natural-language intent routing and the workflow registry consistency rules.
bubbles-workflow-execution-loops
Run per-round synchronous workflow execution loops correctly. Use when orchestrating a multi-round workflow, dispatching specialist subagents, handling round-based remediation, or interpreting a workflow mode's execution policy. Covers authorized direct execution, dispatch-and-wait, batch-then-summarize prohibition, and mapped-mode execution.
bubbles-vscode-agent-constraints
Design agents that fit the VS Code Copilot Chat runtime instead of fighting it. Use when authoring or editing any `*.agent.md`; when adding `tools:`, `agents:`, `handoffs:`, `model:`, `user-invocable:`, or `disable-model-invocation:` frontmatter; when designing an orchestrator that dispatches specialists; when a design implies agent-calls-agent-calls-agent chaining; when a subagent dispatch silently no-ops or an agent cannot be selected in the dropdown; or when writing a governance rule about delegation that the runtime cannot actually enforce. Prevents multi-level-subagent designs, prose-only dispatch laws, and frontmatter/body contradictions.
bubbles-upkeep-cadence
How to schedule, dispatch, and record recurring operational upkeep tasks (backup, restore-drill, BCDR-drill, patch-cycle, secret-rotation, flag-cleanup, compliance-sweep). Use when authoring or modifying `config/upkeep-calendar.yaml`, when investigating a missed task, when reading the upkeep ledger, or when adding a new task type.