claude-bot
50bcae765a
feat(bug-fast-track): cheaper/shorter pipeline route for bug-fix tasks (ORCH-019)
A task carrying the Plane `Bug` label takes a shortened route that skips the
`architecture` stage (one opus architect run + ADR + check_architecture_done),
replacing heavy analysis with a lite package (bug-report + mandatory regression
test plan). EVERY Quality Gate / sub-gate runs UNCHANGED — the route is a
scheduler property, not a gate (root invariant NFR-1): STAGE_TRANSITIONS /
QG_CHECKS / check_* / machine-verdict keys are byte-for-byte preserved.
- src/bug_fast_track.py: new leaf (never-raise) — bug_fast_track_applies (local,
network-free, checked first), is_bug_task (labels.has_label, Plane API source),
skips_architecture (pure DB-backed routing predicate), snapshot.
- src/db.py: additive idempotent tasks.track column (TEXT DEFAULT 'full') +
set_task_track / get_task_track helpers (missing/NULL -> 'full', fail-safe).
- src/stage_engine.py: routing-override on the analysis-exit edge (track='bug' ->
development/developer, skipping architect); brd-review-clock stamp extended to
analysis->development. get_next_stage/get_agent_for_stage stay pure.
- src/webhooks/plane.py: classify task as bug in start_pipeline (applies-first
short-circuit; never-raise -> full cycle on any error).
- src/main.py: additive bug_fast_track block in GET /queue + POST
/bug-fast-track/escalate (reset 'bug'->'full' to return to the full cycle).
- src/config.py: bug_fast_track_enabled / _label / _repos flags (empty CSV ->
self-hosting only).
- src/notifications.py: optional 🐞 marker on the bug-track card (never-raise).
- Prompts: analyst.md (lite bug package + escalation), reviewer.md (regression-
test axis) — 52d canon preserved.
- Docs: CLAUDE.md, README.md (env + API + section), docs/architecture/README.md,
CHANGELOG.md, .env.example.
- Tests: tests/test_bug_fast_track*.py + test_db_migrations.py + queue block
(TC-01..TC-15). Full regression green (1551 passed).
Kill-switch ORCH_BUG_FAST_TRACK_ENABLED=false -> 1:1 pre-ORCH-019 (zero
regression; residual track column harmless).
Refs: ORCH-019
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 03:58:15 +03:00
..
2026-06-09 15:08:27 +03:00
2026-05-19 15:57:00 +03:00
2026-06-09 00:57:08 +03:00
2026-06-08 22:00:54 +03:00
2026-06-09 17:46:27 +03:00
2026-06-05 17:58:00 +00:00
2026-06-05 17:50:47 +03:00
2026-06-03 22:58:18 +03:00
2026-06-05 17:50:47 +03:00
2026-06-10 03:03:34 +03:00
2026-06-09 12:31:24 +03:00
2026-06-09 12:31:24 +03:00
2026-06-09 12:31:24 +03:00
2026-06-09 12:31:24 +03:00
2026-06-09 21:31:56 +03:00
2026-06-10 03:58:15 +03:00
2026-06-10 03:58:15 +03:00
2026-06-10 03:58:15 +03:00
2026-06-10 03:58:15 +03:00
2026-06-10 03:58:15 +03:00
2026-06-10 03:58:15 +03:00
2026-06-09 19:55:00 +03:00
2026-06-10 02:09:19 +03:00
2026-06-08 06:41:52 +00:00
2026-06-10 01:26:24 +03:00
2026-06-10 03:58:15 +03:00
2026-06-09 23:41:24 +03:00
2026-06-07 07:46:19 +00:00
2026-06-08 08:45:31 +00:00
2026-06-07 07:46:19 +00:00
2026-06-07 14:40:06 +00:00
2026-06-06 21:07:35 +00:00
2026-06-06 21:07:35 +00:00
2026-06-08 08:45:31 +00:00
2026-06-06 21:07:35 +00:00
2026-06-06 21:07:35 +00:00
2026-06-09 23:41:24 +03:00
2026-06-09 23:41:24 +03:00
2026-06-09 23:41:24 +03:00
2026-06-09 19:04:36 +03:00
2026-06-05 17:50:47 +03:00
2026-06-09 14:14:30 +03:00
2026-06-10 03:03:34 +03:00
2026-06-10 03:03:34 +03:00
2026-06-10 03:03:34 +03:00
2026-06-02 21:12:06 +03:00
2026-06-06 20:55:25 +00:00
2026-06-07 07:46:19 +00:00
2026-06-07 16:14:45 +00:00
2026-06-09 12:31:24 +03:00
2026-06-09 10:06:17 +03:00
2026-06-09 01:32:53 +03:00
2026-06-03 09:53:55 +03:00
2026-06-07 22:02:45 +00:00
2026-06-08 16:30:46 +03:00
2026-06-08 19:17:44 +03:00
2026-06-09 22:47:20 +03:00
2026-06-07 16:14:45 +00:00
2026-06-09 22:47:20 +03:00
2026-06-10 02:09:19 +03:00
2026-06-09 10:06:17 +03:00
2026-06-05 17:58:00 +00:00
2026-06-05 17:50:47 +03:00
2026-06-08 10:34:33 +00:00
2026-06-07 22:02:45 +00:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-08 19:17:44 +03:00
2026-06-09 02:26:49 +03:00
2026-06-06 15:02:33 +00:00
2026-06-08 16:30:46 +03:00
2026-06-08 16:30:46 +03:00
2026-06-08 16:30:46 +03:00
2026-06-08 16:30:46 +03:00
2026-06-08 16:30:46 +03:00
2026-06-08 16:30:46 +03:00
2026-06-09 22:47:20 +03:00
2026-06-09 00:57:08 +03:00
2026-06-09 13:25:39 +03:00
2026-06-03 22:42:53 +03:00
2026-06-03 10:53:25 +03:00
2026-06-08 06:41:52 +00:00
2026-06-08 10:34:33 +00:00
2026-06-08 05:18:46 +00:00
2026-06-07 19:20:41 +00:00
2026-06-07 22:02:45 +00:00
2026-06-10 01:26:24 +03:00
2026-06-09 12:31:24 +03:00
2026-06-07 22:02:45 +00:00
2026-06-09 11:24:48 +03:00
2026-06-07 22:02:45 +00:00
2026-06-09 23:41:24 +03:00
2026-06-07 14:40:06 +00:00
2026-06-05 17:50:47 +03:00
2026-06-02 22:30:51 +03:00
2026-06-08 11:24:01 +00:00
2026-06-08 08:45:31 +00:00
2026-06-08 19:17:44 +03:00
2026-06-10 01:26:24 +03:00
2026-06-07 18:04:50 +00:00
2026-06-09 14:14:30 +03:00
2026-06-07 12:39:00 +00:00
2026-06-10 03:58:15 +03:00
2026-06-07 16:14:45 +00:00
2026-06-09 16:33:33 +03:00
2026-06-09 23:41:24 +03:00
2026-06-09 02:26:49 +03:00
2026-06-09 02:26:49 +03:00
2026-06-03 00:12:17 +03:00
2026-06-08 22:50:47 +03:00
2026-06-08 22:00:54 +03:00
2026-06-06 04:42:11 +00:00
2026-06-09 14:14:30 +03:00
2026-06-09 23:41:24 +03:00
2026-06-09 11:24:48 +03:00
2026-06-09 11:24:48 +03:00
2026-06-09 11:24:48 +03:00
2026-06-09 21:31:56 +03:00
2026-06-08 06:41:52 +00:00
2026-06-07 19:20:41 +00:00
2026-06-07 18:04:50 +00:00
2026-06-10 01:26:24 +03:00
2026-06-07 22:02:45 +00:00
2026-06-10 01:26:24 +03:00
2026-06-08 08:45:31 +00:00
2026-06-07 12:39:00 +00:00
2026-06-06 21:07:35 +00:00
2026-06-05 17:50:47 +03:00
2026-06-05 17:50:47 +03:00
2026-06-05 17:50:47 +03:00
2026-06-05 17:50:47 +03:00
2026-06-03 22:18:24 +03:00
2026-06-09 11:24:48 +03:00
2026-06-09 21:31:56 +03:00
2026-06-03 22:42:53 +03:00
2026-06-09 10:06:17 +03:00
2026-06-08 10:34:33 +00:00
2026-06-06 10:13:49 +00:00
2026-06-09 10:06:17 +03:00
2026-06-10 00:17:26 +03:00
2026-06-08 10:34:33 +00:00
2026-06-09 22:08:52 +03:00
2026-06-09 22:08:52 +03:00
2026-06-04 11:17:58 +03:00
2026-06-03 22:18:24 +03:00
2026-06-03 18:18:26 +03:00
2026-06-04 22:38:09 +03:00