feat: add job monitoring API and wire frontend tab to backend - #420
Merged
Conversation
Add job_runs summary/warning columns, job_activities table, monitoring read endpoints (latest, history, activities), and activity logging on job lifecycle. Update JobMonitoringTab to call the new API via jobs-service. Clean implementation on top of origin/dev — no release merge baggage.
…ions Wire latest-per-type job list to FDD: six monitored types, IDIR on user triggers, display formatters, and summaries derived from job metadata. Drop persisted summary/warning columns; consolidate V26 migration.
Include ICM/MIS child runs in history, filter by startedAt window, default sort startedAt DESC, and support IDIR filter on triggered_by_user.
Add JobActivityService with FDD severity/type enums, remove lifecycle activity noise, record eligibility and ICM sync notices, and align Activities UI filters with APL-12.
Wire AsyncLocalStorage job scope through JobRunner so curated Winston logs also persist to job_activities via AppLogger activity methods and aggregation.
…strumentation Gate the Monitoring tab to ICM CSA Application RW users, poll job tables while runs are active, and extend activity logging to auto-batch, send CRA, retry-failed, and sync-ICM handlers.
Extend activity logging to eligibility skip paths and WKL matching services, and remove RW-only Monitoring tab gating until a role model is defined.
…ion gaps Make job_activities.job_run_id nullable so standalone operator actions can be logged, persist curated activities without job scope, and wire remaining job-scoped gaps (parse failures, stuck jobs, auto-batch validation, ingest).
…vities Unify AppLogger on tagged warn/error/crit dual-write, log manual eligibility and batch issues to Activities, and demote mocks/config noise to log while keeping integration data-quality warns in Splunk.
…to V26 Relocate the implementation plan out of docs/functional-design, trim ADR 0012 to the standard template, and create job_activities with nullable job_run_id in V26 only.
Remove docs/README.md and untrack documentation/; add documentation/ to .gitignore and drop broken ADR links to local-only docs.
Decision doc updates will be amended separately later.
Local documentation stays excluded via .git/info/exclude per clone.
mdiapenabc
marked this pull request as ready for review
July 24, 2026 13:56
plakkara-bc
self-requested a review
July 27, 2026 02:32
plakkara-bc
approved these changes
Jul 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Implements Job Monitoring: a Monitoring tab with Job List, Job History, and Activities (APL-10/11/12).
Schema (V26)
job_activitiestable for curated operator noticestriggered_by_useronjob_runs(IDIR for user-triggered jobs)job_run_idfor standalone actions (manual eligibility, batch add/remove issues)Backend
AppLogger(tagged warn/error/crit → Splunk + Activities)Frontend
JobMonitoringTabwith three tables, history → activities filter, auto-refresh for running jobsHow Has This Been Tested?
npm testinbackend/— all tests passing