From 70f654f251a6c13f4fd350586e9fd57efba04cd1 Mon Sep 17 00:00:00 2001 From: Joshua Smith Date: Thu, 3 Sep 2026 14:39:03 -0600 Subject: [PATCH 1/6] Add Flowlord rerun actions that deep-link to backload with workflow-scoped phase lookup. --- apps/flowlord/handler.go | 7 +- apps/flowlord/handler/backload.tmpl | 5 + apps/flowlord/handler/static/backload.js | 434 +++++++++++++-------- apps/flowlord/handler/static/style.css | 129 +++++- apps/flowlord/handler/static/table-sort.js | 8 +- apps/flowlord/handler/static/task.js | 5 +- apps/flowlord/handler/static/utils.js | 82 +++- apps/flowlord/handler/task.tmpl | 11 +- apps/flowlord/handler/workflow.tmpl | 32 +- apps/flowlord/handler_test.go | 13 + apps/flowlord/sqlite/workflow.go | 34 ++ apps/flowlord/sqlite/workflow_test.go | 44 +++ apps/flowlord/test/seed_dev.sql | 77 ++++ 13 files changed, 703 insertions(+), 178 deletions(-) create mode 100644 apps/flowlord/test/seed_dev.sql diff --git a/apps/flowlord/handler.go b/apps/flowlord/handler.go index eeb126b..141b309 100644 --- a/apps/flowlord/handler.go +++ b/apps/flowlord/handler.go @@ -945,7 +945,12 @@ func (tm *taskMaster) backload(req request) response { end = at } - phase := tm.taskCache.Search(req.Task, req.Job) + var phase sqlite.PhaseDB + if req.Workflow != "" { + phase = tm.taskCache.GetPhase(req.Workflow, req.Task, req.Job) + } else { + phase = tm.taskCache.Search(req.Task, req.Job) + } if phase.FilePath != "" { msg = append(msg, "phase found in "+phase.FilePath) req.Template = phase.Template diff --git a/apps/flowlord/handler/backload.tmpl b/apps/flowlord/handler/backload.tmpl index 98b289a..e14fba3 100644 --- a/apps/flowlord/handler/backload.tmpl +++ b/apps/flowlord/handler/backload.tmpl @@ -107,6 +107,10 @@