gsxdsm
167f9b0542
FN-6324: allow opted-in engineer backlog auto-claim
Engineer backlog auto-claim now respects an explicit opt-in while keeping the default executor-only behavior.
- Add engineerBacklogAutoClaim settings and runtime overrides for backlog pickup role checks.
- Update heartbeat auto-claim filtering, logs, and no-task prompt guidance for opted-in engineer agents.
- Cover executor/default engineer/opted-in engineer routing with core and heartbeat tests.
- Document the setting and record quarantined unrelated temp-root flakes seen during verification.
Files changed:
.changeset/FN-6324-engineer-backlog-auto-claim.md | 5 ++
docs/agents.md | 3 +
docs/settings-reference.md | 1 +
.../core/src/__tests__/agent-role-policy.test.ts | 33 +++++++++-
packages/core/src/agent-role-policy.ts | 11 +++-
packages/core/src/settings-schema.ts | 1 +
packages/core/src/types.ts | 4 ++
packages/core/vitest.config.ts | 6 ++
.../src/__tests__/heartbeat-executor.test.ts | 70 ++++++++++++++++++++++
packages/engine/src/agent-heartbeat.ts | 65 +++++++++++++++-----
scripts/lib/test-quarantine.json | 20 +++++++
11 files changed, 199 insertions(+), 20 deletions(-)
Fusion-Task-Id: FN-6324
Fusion-Task-Lineage: 4d124d98-4ad1-44ce-a76c-f1db3199b3c6
2026-06-12 19:45:37 -07:00
..
2026-06-12 19:45:37 -07:00
2026-05-23 02:29:38 -07:00
2026-06-05 03:41:54 -07:00
2026-05-31 13:50:23 -07:00
2026-05-20 15:54:44 -07:00
2026-05-29 20:05:14 -07:00
2026-06-09 12:50:26 -07:00
2026-05-28 21:23:48 -07:00
2026-05-21 12:04:58 -07:00
2026-05-19 17:19:02 -07:00
2026-05-23 22:09:25 -03:00
2026-06-12 03:00:45 -07:00
2026-06-08 18:14:48 -07:00
2026-05-20 15:54:44 -07:00
2026-06-04 22:53:02 -07:00
2026-06-11 15:54:49 -07:00
2026-06-03 17:14:42 -07:00
2026-06-12 19:45:37 -07:00
2026-05-28 21:23:48 -07:00
2026-06-11 20:44:52 -07:00
2026-06-09 22:18:48 -07:00
2026-06-03 13:51:13 -07:00
2026-06-02 23:13:16 -07:00
2026-05-19 07:45:12 -07:00
2026-06-07 20:43:44 -07:00
2026-05-21 12:49:50 -07:00
2026-05-18 12:31:21 -07:00
2026-06-03 15:24:03 -07:00
2026-05-20 08:23:40 -07:00
2026-05-23 00:03:12 -07:00
2026-06-09 15:21:39 -07:00
2026-06-05 00:15:57 -07:00
2026-06-04 16:16:50 -07:00
2026-06-08 20:29:37 -07:00
2026-06-01 08:23:02 -07:00
2026-05-19 03:21:18 -07:00
2026-06-04 22:37:51 -07:00
2026-06-07 23:03:38 -07:00
2026-05-19 22:50:39 -07:00
2026-05-19 19:28:05 -07:00
2026-05-29 10:23:59 -07:00
2026-06-12 14:21:18 -07:00
2026-06-07 18:51:46 -07:00
2026-05-30 22:53:24 -07:00
2026-05-29 07:11:00 -07:00
2026-06-03 15:32:29 -07:00
2026-06-03 17:57:00 -07:00
2026-06-09 08:02:56 -07:00
2026-05-26 21:57:31 -07:00
2026-05-16 17:31:09 -07:00
2026-06-09 20:44:45 -07:00
2026-05-21 12:04:58 -07:00
2026-06-05 00:15:57 -07:00
2026-06-05 20:05:29 -07:00
2026-06-04 07:34:02 -07:00
2026-06-12 12:49:34 -07:00
2026-05-28 15:04:41 -07:00
2026-05-26 21:57:31 -07:00
2026-06-11 20:27:29 -07:00
2026-05-23 09:59:50 -07:00
2026-05-28 13:02:30 -07:00
2026-05-21 16:30:31 -07:00
2026-06-11 22:17:55 -07:00
2026-05-16 23:45:17 -07:00
2026-06-03 17:14:42 -07:00
2026-06-11 09:21:23 -07:00
2026-05-30 09:43:02 -07:00
2026-05-16 17:31:09 -07:00
2026-06-09 12:50:26 -07:00
2026-06-11 09:51:49 -07:00
2026-06-04 12:44:43 -07:00
2026-06-07 21:19:10 -07:00
2026-06-04 07:34:02 -07:00
2026-06-07 21:19:10 -07:00
2026-05-19 19:28:05 -07:00
2026-06-06 00:15:28 -07:00
2026-06-05 20:05:29 -07:00
2026-06-05 22:49:39 -07:00
2026-06-05 20:20:25 -07:00
2026-06-05 20:05:29 -07:00
2026-06-08 21:16:32 -07:00
2026-05-29 20:05:14 -07:00
2026-06-05 23:06:46 -07:00
2026-06-11 21:00:23 -07:00
2026-06-04 22:53:02 -07:00
2026-05-26 23:41:28 -07:00
2026-06-07 23:03:38 -07:00
2026-06-11 21:00:23 -07:00
2026-05-17 02:08:01 -07:00
2026-05-21 00:17:33 -07:00
2026-06-11 16:15:07 -07:00
2026-06-08 20:29:37 -07:00
2026-06-08 19:13:14 -07:00
2026-05-28 21:23:48 -07:00
2026-06-12 10:49:02 -07:00
2026-05-19 14:22:11 -07:00
2026-06-12 12:49:34 -07:00
2026-05-28 21:23:48 -07:00
2026-06-09 15:50:53 -07:00
2026-05-23 14:26:57 -07:00
2026-05-30 21:53:00 -07:00
2026-06-04 14:01:55 -07:00
2026-06-04 12:26:05 -07:00
2026-06-09 13:31:30 -07:00
2026-05-31 23:24:53 -07:00
2026-06-08 09:44:00 -07:00
2026-05-28 21:23:48 -07:00
2026-05-28 21:23:48 -07:00
2026-06-09 21:16:42 -07:00
2026-06-12 06:49:29 -07:00
2026-05-18 00:53:23 -07:00
2026-06-12 14:39:51 -07:00
2026-06-09 03:53:34 -07:00
2026-05-19 19:28:05 -07:00
2026-06-08 22:02:26 -07:00
2026-06-04 07:34:02 -07:00
2026-06-12 14:21:18 -07:00
2026-06-09 09:00:46 -07:00
2026-06-08 00:19:50 -07:00
2026-06-09 01:57:16 -07:00
2026-06-09 01:57:16 -07:00
2026-05-31 08:32:01 -07:00
2026-05-28 21:23:48 -07:00
2026-06-08 21:16:32 -07:00
2026-06-09 20:44:45 -07:00
2026-06-01 01:37:25 -07:00
2026-06-11 16:15:07 -07:00
2026-05-19 05:57:57 -07:00
2026-05-18 01:50:22 -07:00
2026-05-22 22:43:26 -07:00
2026-06-04 13:04:15 -07:00
2026-06-12 12:49:34 -07:00
2026-06-12 12:49:34 -07:00
2026-05-18 11:01:32 -07:00
2026-05-23 15:13:17 -07:00
2026-05-16 20:54:33 -07:00
2026-05-18 15:51:01 -07:00
2026-05-15 22:18:09 -07:00
2026-05-20 15:54:44 -07:00