Bump lib-jobs to v0.2.0: job_logs table, /paginated filtering, log tailing - #132
Open
pconrad wants to merge 1 commit into
Open
Bump lib-jobs to v0.2.0: job_logs table, /paginated filtering, log tailing#132pconrad wants to merge 1 commit into
pconrad wants to merge 1 commit into
Conversation
…iling
v0.2.0 replaces jobs.log (single TEXT column) with a normalized
job_logs table (see ucsb-cs156/lib-jobs's DESIGN.md §8). Dining is
the pilot app for this migration, chosen because it has no real
users yet and no historical job-log data to backfill: the new
job_logs changeset ships inside the library jar's own bundled
changelog, which this app already includes wholesale, so no
app-level Liquibase changeset or code change is needed here beyond
the version bump.
/paginated also gains optional filter query params and a new
incremental GET /logs/{id}/tail endpoint for live-tailing running
jobs; dining has no frontend jobs UI yet, so these are validated via
a live dokku smoke test rather than a frontend change.
Backend: all tests pass, jacoco 100%, pitest 217/217 mutations killed.
(git-code-format-maven-plugin's pre-commit hook fails in this git
worktree with an unrelated JGit "bare repository" error; the
equivalent validate-code-format check already passed via mvn verify,
and CI runs it again server-side on the PR.)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
pconrad
requested review from
DerekKirschbaum,
Division7,
Wendy192837,
andrewc512,
divyanipunj and
kirrarista
as code owners
July 14, 2026 20:46
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.
Summary
lib-jobsfrom v0.1.1 to v0.2.0. Dining is the pilot app for this release, chosen because it has no real users yet and no historical job-log data to backfill (see lib-jobs DESIGN.md §8).jobs.logTEXT column with a normalizedjob_logstable (one row per log line), eliminating an O(N²) read-modify-write and a status-clobbering bug the old design enabled.job_logstable ships as a Liquibase changeset inside the library jar's own bundled changelog, which this app already includes wholesale — no app-level Liquibase changeset or code change is needed here beyond the version bump./api/jobs/paginatedgains optional filter query params (status,jobName,createdByEmail,scopeType,scopeId) and a widened sort allowlist; a newGET /api/jobs/logs/{id}/tail?afterId=endpoint supports incremental live-tailing of a running job's log. Dining has no frontend jobs UI yet, so these are being validated via a live dokku smoke test rather than a frontend change.Test plan
mvn test— all tests pass,job_logschangeset applies cleanly against H2 (ddl-auto=validate)mvn verify— jacoco 100%mvn org.pitest:pitest-maven:mutationCoverage— 217/217 mutations killedcom.github.ucsb-cs156:lib-jobs:v0.2.0resolves from JitPack on a cold~/.m2cache/api/jobs/all,/api/jobs/logs/{id}, and/api/jobs/logs/{id}/tailall behave correctly against Postgres🤖 Generated with Claude Code