gsxdsm
6498d028f2
FN-7517: add task detail oversight quick-controls (level change, manual nudge, stop, explain-current-action)
Adds task detail modal controls that let an operator quickly change a task's
oversight level, nudge the planner with a manual instruction, stop oversight
entirely, and request an explanation of the overseer's current action,
backed by new dashboard API routes and engine/core plumbing.
- Add oversight quick-controls UI (level change, manual nudge, stop
oversight, explain-current-action) to TaskDetailModal with supporting
styles in TaskDetailModal.css and TaskCard.css
- Add dashboard legacy API + task-workflow routes to handle the new
oversight actions (register-task-workflow-routes.ts, api/legacy.ts)
- Extend planner-overseer-state and planner-overseer-runtime-snapshot to
track/report manual nudge and stop-oversight state
- Extend PlannerRecoveryController and project-engine to apply manual
oversight actions (level change, nudge, stop, explain) end-to-end
- Add tests: TaskDetailModal.oversight-controls.test.tsx,
tasks-overseer-controls.test.ts,
planner-recovery-controller-manual-action.test.ts, plus updates to
planner-overseer-runtime-snapshot.test.ts and test-helpers
- Update docs/dashboard-guide.md and docs/settings-reference.md
Files changed:
docs/dashboard-guide.md | 2 +
docs/settings-reference.md | 2 +-
packages/core/src/planner-overseer-state.ts | 18 +
packages/dashboard/app/api/legacy.ts | 33 ++
packages/dashboard/app/components/TaskCard.css | 13 +
packages/dashboard/app/components/TaskDetailModal.css | 122 +++++++
packages/dashboard/app/components/TaskDetailModal.tsx | 374 ++++++++++++++++++++-
packages/dashboard/app/components/__tests__/TaskDetailModal.oversight-controls.test.tsx | 290 ++++++++++++++++
packages/dashboard/app/components/__tests__/TaskDetailModal.test-helpers.ts | 11 +
packages/dashboard/src/routes/__tests__/tasks-overseer-controls.test.ts | 191 +++++++++++
packages/dashboard/src/routes/register-task-workflow-routes.ts | 68 ++++
packages/engine/src/__tests__/planner-overseer-runtime-snapshot.test.ts | 24 +-
packages/engine/src/__tests__/planner-recovery-controller-manual-action.test.ts | 84 +++++
packages/engine/src/planner-overseer-runtime-snapshot.ts | 11 +
packages/engine/src/planner-recovery-controller.ts | 40 +++
packages/engine/src/project-engine.ts | 102 ++++++
16 files changed, 1380 insertions(+), 5 deletions(-)
Fusion-Task-Id: FN-7517
Fusion-Task-Lineage: eded7ff5-d126-429d-acbb-9f4bfff5ae2a
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-04 21:28:16 -07:00
..
2026-07-04 21:28:16 -07:00
2026-05-23 02:29:38 -07:00
2026-07-01 10:23:39 -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-29 12:40:00 -07:00
2026-06-29 04:12:13 -07:00
2026-05-21 12:04:58 -07:00
2026-05-19 17:19:02 -07:00
2026-06-26 16:14:44 -07:00
2026-07-03 13:08:16 -07:00
2026-06-13 11:39:37 -07:00
2026-06-13 04:54:59 -07:00
2026-05-01 05:04:05 -07:00
2026-06-04 22:53:02 -07:00
2026-07-01 00:51:01 -07:00
2026-06-22 01:37:59 -07:00
2026-07-01 09:45:30 -07:00
2026-06-03 17:14:42 -07:00
2026-07-02 11:38:31 -07:00
2026-05-13 23:41:35 -07:00
2026-07-04 10:42:21 -07:00
2026-05-13 23:41:35 -07:00
2026-07-04 21:28:15 -07:00
2026-06-26 00:57:32 -07:00
2026-05-05 06:32:33 -07:00
2026-06-26 00:57:32 -07:00
2026-07-01 21:31:34 -07:00
2026-06-30 12:56:03 -07:00
2026-07-03 22:04:45 -07:00
2026-07-02 23:09:36 -07:00
2026-06-21 16:23:42 -07:00
2026-06-07 20:43:44 -07:00
2026-07-01 09:06:01 -07:00
2026-05-21 12:49:50 -07:00
2026-05-18 12:31:21 -07:00
2026-06-22 03:04:21 -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-15 12:34:44 -07:00
2026-06-26 16:14:44 -07:00
2026-06-15 02:30:41 -07:00
2026-06-04 16:16:50 -07:00
2026-06-27 21:39:40 -07:00
2026-05-03 11:06:27 -07:00
2026-07-04 21:28:16 -07:00
2026-06-01 08:23:02 -07:00
2026-05-19 03:21:18 -07:00
2026-04-28 14:25:55 -07:00
2026-06-27 12:20:42 -07:00
2026-06-07 23:03:38 -07:00
2026-05-19 22:50:39 -07:00
2026-05-14 19:26:58 -07:00
2026-05-13 12:30:45 -07:00
2026-05-19 19:28:05 -07:00
2026-05-29 10:23:59 -07:00
2026-06-26 00:57:32 -07:00
2026-07-04 21:28:15 -07:00
2026-05-14 00:58:44 -07:00
2026-05-03 23:08:05 -07:00
2026-07-02 11:38:34 -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-25 08:35:44 -07:00
2026-06-03 17:57:00 -07:00
2026-05-14 04:32:42 -07:00
2026-05-14 04:32:43 -07:00
2026-06-23 08:21:10 -07:00
2026-05-26 21:57:31 -07:00
2026-05-16 17:31:09 -07:00
2026-07-04 21:28:16 -07:00
2026-07-02 13:07:16 -07:00
2026-07-01 09:41:20 -07:00
2026-06-05 20:05:29 -07:00
2026-06-26 11:56:12 -07:00
2026-06-26 00:57:32 -07:00
2026-06-26 00:57:32 -07:00
2026-06-27 14:09:47 -07:00
2026-06-26 00:57:32 -07:00
2026-07-02 11:38:32 -07:00
2026-06-22 19:48:50 -07:00
2026-06-25 20:12:20 -07:00
2026-06-25 20:12:20 -07:00
2026-07-04 21:28:15 -07:00
2026-05-13 20:20:26 -07:00
2026-05-28 15:04:41 -07:00
2026-05-26 21:57:31 -07:00
2026-05-12 18:26:58 -07:00
2026-06-11 20:27:29 -07:00
2026-05-23 09:59:50 -07:00
2026-05-12 09:06:54 -07:00
2026-05-28 13:02:30 -07:00
2026-05-21 16:30:31 -07:00
2026-05-12 17:04:33 -07:00
2026-07-04 10:42:20 -07:00
2026-05-16 23:45:17 -07:00
2026-06-03 17:14:42 -07:00
2026-06-26 00:57:32 -07:00
2026-05-30 09:43:02 -07:00
2026-06-13 16:16:52 -07:00
2026-06-19 23:50:37 +00:00
2026-05-07 23:21:05 -07:00
2026-05-10 19:13:05 -07:00
2026-05-16 17:31:09 -07:00
2026-06-29 08:49:59 -07:00
2026-07-04 14:11:25 -07:00
2026-05-10 19:13:05 -07:00
2026-07-01 09:45:30 -07:00
2026-07-02 14:43:32 -07:00
2026-07-04 21:28:16 -07:00
2026-07-04 12:55:25 -07:00
2026-07-04 21:28:16 -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-04-23 14:11:04 -07:00
2026-04-23 14:11:04 -07:00
2026-06-29 16:42:11 -07:00
2026-06-05 20:05:29 -07:00
2026-06-26 16:14:44 -07:00
2026-06-05 20:20:25 -07:00
2026-06-21 03:32:53 -07:00
2026-07-04 21:28:16 -07:00
2026-05-29 20:05:14 -07:00
2026-06-29 01:05:44 -07:00
2026-06-11 21:00:23 -07:00
2026-06-04 22:53:02 -07:00
2026-04-23 23:02:35 -07:00
2026-05-13 21:52:40 -07:00
2026-06-12 15:57:12 -07:00
2026-05-04 13:17:57 -07:00
2026-05-26 23:41:28 -07:00
2026-05-14 22:16:44 -07:00
2026-06-07 23:03:38 -07:00
2026-07-01 16:38:27 -07:00
2026-07-01 22:31:27 -07:00
2026-05-17 02:08:01 -07:00
2026-05-21 00:17:33 -07:00
2026-06-27 09:28:29 -07:00
2026-07-04 21:28:15 -07:00
2026-06-25 16:22:40 -07:00
2026-06-25 23:25:23 -07:00
2026-06-26 00:57:32 -07:00
2026-07-04 15:12:55 -07:00
2026-05-19 14:22:11 -07:00
2026-07-03 22:04:45 -07:00
2026-05-03 01:15:56 -05:00
2026-06-19 16:47:34 -07:00
2026-04-27 08:33:03 -07:00
2026-06-29 19:17:37 -07:00
2026-05-23 14:26:57 -07:00
2026-05-30 21:53:00 -07:00
2026-05-14 05:55:16 -07:00
2026-06-04 14:01:55 -07:00
2026-06-29 03:15:30 -07:00
2026-07-01 18:27:32 -07:00
2026-05-31 23:24:53 -07:00
2026-06-18 00:39:01 -07:00
2026-06-23 10:30:50 -07:00
2026-05-12 17:24:44 -07:00
2026-05-14 08:24:01 -07:00
2026-05-28 21:23:48 -07:00
2026-05-28 21:23:48 -07:00
2026-07-01 07:33:56 -07:00
2026-06-12 06:49:29 -07:00
2026-05-18 00:53:23 -07:00
2026-06-16 15:08:24 -07:00
2026-07-04 19:37:28 -07:00
2026-06-09 03:53:34 -07:00
2026-04-23 23:02:35 -07:00
2026-05-19 19:28:05 -07:00
2026-06-25 14:43:41 -07:00
2026-05-08 18:59:08 -07:00
2026-07-02 07:32:47 -07:00
2026-06-29 10:32:51 -07:00
2026-07-01 00:51:01 -07:00
2026-06-04 07:34:02 -07:00
2026-07-01 16:43:08 -07:00
2026-06-29 18:05:44 -07:00
2026-06-25 22:33:08 -07:00
2026-07-01 11:28:03 -07:00
2026-06-11 08:43:27 -07:00
2026-07-01 00:51:01 -07:00
2026-07-01 00:51:01 -07:00
2026-05-31 08:32:01 -07:00
2026-07-01 00:51:01 -07:00
2026-07-01 00:51:01 -07:00
2026-07-01 00:51:01 -07:00
2026-06-30 00:09:36 -07:00
2026-06-29 10:32:51 -07:00
2026-06-11 08:43:28 -07:00
2026-06-09 20:44:45 -07:00
2026-06-22 02:19:17 -07:00
2026-06-21 23:02:46 -07:00
2026-07-01 08:39:58 -07:00
2026-06-26 13:13:46 -07:00
2026-06-25 08:34:44 -07:00
2026-06-21 09:00:40 -07:00
2026-05-18 01:50:22 -07:00
2026-06-26 13:13:46 -07:00
2026-06-04 13:04:15 -07:00
2026-06-12 12:49:34 -07:00
2026-06-22 19:11:08 -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-07-03 23:16:58 -07:00