Task Mgmt UI #3

Closed
opened 2026-05-17 13:15:41 +00:00 by erik · 4 comments
Owner

Implement a page to show Tasks to help answer:

  1. What is being worked on now?
  2. What has completed successfully?
  3. What has failed and why?

Filters for kind, status, run_after will be useful. A table showing type, status, attempts, run_after that user can click on to show full details in a drawer. The user should be able to restart a task regardless of status.

/needs-spec

Implement a page to show Tasks to help answer: 1. What is being worked on now? 2. What has completed successfully? 3. What has failed and why? Filters for kind, status, run_after will be useful. A table showing type, status, attempts, run_after that user can click on to show full details in a drawer. The user should be able to restart a task regardless of status. /needs-spec
agent-pm removed their assignment 2026-05-18 22:24:08 +00:00
Member

Brief — Developer

Phase: apply. Run fjx dev prompt apply for the cycle protocol.

IMPORTANT NOTE: DO NOT create a new worktree or branch. Continue working in spec/task-mgmt-ui.

<!-- pm:brief:dev --> # Brief — Developer **Phase:** apply. Run `fjx dev prompt apply` for the cycle protocol. **IMPORTANT NOTE:** DO NOT create a new worktree or branch. Continue working in `spec/task-mgmt-ui`.
Member

Ledger for: agent-pm

Status: closed @ 2026-05-19T17:46:30.267Z
Briefs:

  • dev
  • test: absent
  • build: absent

Activity

  1. i3/spec-approved : applied
  2. i3/closed : applied

(PM manages this ledger; agent section unused)

<!-- agent-pm:ledger --> ## Ledger for: agent-pm Status: closed @ 2026-05-19T17:46:30.267Z Briefs: - [dev](#issuecomment-1176) - test: absent - build: absent ### Activity 1. i3/spec-approved : applied 2. i3/closed : applied --- _(PM manages this ledger; agent section unused)_
Member

Ledger for: agent-dev

Status: review @ 2026-05-19T18:58:55.438Z


Tasks

  • 1. Read brief: phase=apply, branch=spec/task-mgmt-ui. Proceeded in existing worktree.
  • 2. Implemented queue helpers: restartTask, listTasks, getTask in src/lib/worker/queue.ts.
  • 3. Unit tests: 13 tests in src/lib/worker/queue.test.ts covering all helpers and filter combinations.
  • 4. Admin middleware: src/routes/admin/_middleware.ts — 302 to /sign-in for unauthenticated requests.
  • 5. List route + shared component: src/routes/admin/tasks/index.tsx + src/components/TaskListPage.tsx.
  • 6. Detail route: src/routes/admin/tasks/[id].tsx — same TaskListPage with drawer open.
  • 7. TaskDrawerIsland: src/islands/TaskDrawerIsland.tsx — fetches JSON, renders all fields, Restart form.
  • 8. JSON endpoint: src/routes/admin/tasks/[id]/index.json.ts.
  • 9. Restart handler: src/routes/admin/tasks/[id]/restart.tsx — POST, 302 back to detail.
  • 10. E2e tests: src/e2e/admin-tasks.test.ts — restart flow + unauth guard.
  • 11. just check passes (fmt, lint, types). just test::units passes (66/66). just validate passes except pre-existing deno audit (same 8 vulns on main before this change).
  • 12. Committed + pushed to spec/task-mgmt-ui. Updated PR #7 title to reflect implementation.

Notes

The spec phase and implementation are on the same branch (spec/task-mgmt-ui) per the PM brief. PR #7 was pre-existing (spec PR); I updated its title. The audit failure is pre-existing — confirmed by git stash && deno audit showing same 8 vulns on base commit.

<!-- agent-dev:ledger --> ## Ledger for: agent-dev Status: review @ 2026-05-19T18:58:55.438Z --- ### Tasks - [x] 1. Read brief: phase=apply, branch=spec/task-mgmt-ui. Proceeded in existing worktree. - [x] 2. Implemented queue helpers: `restartTask`, `listTasks`, `getTask` in `src/lib/worker/queue.ts`. - [x] 3. Unit tests: 13 tests in `src/lib/worker/queue.test.ts` covering all helpers and filter combinations. - [x] 4. Admin middleware: `src/routes/admin/_middleware.ts` — 302 to /sign-in for unauthenticated requests. - [x] 5. List route + shared component: `src/routes/admin/tasks/index.tsx` + `src/components/TaskListPage.tsx`. - [x] 6. Detail route: `src/routes/admin/tasks/[id].tsx` — same `TaskListPage` with drawer open. - [x] 7. TaskDrawerIsland: `src/islands/TaskDrawerIsland.tsx` — fetches JSON, renders all fields, Restart form. - [x] 8. JSON endpoint: `src/routes/admin/tasks/[id]/index.json.ts`. - [x] 9. Restart handler: `src/routes/admin/tasks/[id]/restart.tsx` — POST, 302 back to detail. - [x] 10. E2e tests: `src/e2e/admin-tasks.test.ts` — restart flow + unauth guard. - [x] 11. `just check` passes (fmt, lint, types). `just test::units` passes (66/66). `just validate` passes except pre-existing `deno audit` (same 8 vulns on main before this change). - [x] 12. Committed + pushed to `spec/task-mgmt-ui`. Updated PR #7 title to reflect implementation. ### Notes The spec phase and implementation are on the same branch (`spec/task-mgmt-ui`) per the PM brief. PR #7 was pre-existing (spec PR); I updated its title. The audit failure is pre-existing — confirmed by `git stash && deno audit` showing same 8 vulns on base commit.
agent-dev removed their assignment 2026-05-19 15:37:28 +00:00
Author
Owner

/spec-approved

/spec-approved
agent-pm removed their assignment 2026-05-19 17:46:36 +00:00
agent-dev removed their assignment 2026-05-19 18:59:16 +00:00
erik closed this issue 2026-05-19 22:42:13 +00:00
Sign in to join this conversation.
No description provided.