Jobs backend parity refactor first slice#2527
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Code Review
This pull request implements the first slice of the Jobs backend parity refactor, introducing a direct-SQL inventory, shared SQLite/Postgres parity scenarios with wrappers, public API and Chatbooks mapping contract tests, explicit JobsSettings snapshot/refresh semantics, and typed operation contracts. The review feedback highlights several key improvements: using deep copies instead of shallow copies in AdmissionResult and LifecycleResult to ensure nested structures remain immutable; fixing a bug in JobsSettings where None values are converted to the string 'None'; resolving relative paths in tests relative to file to ensure they run reliably from any directory; and explicitly creating the parent directory for the SQLite database path to prevent potential operational errors.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
4e2ccc6 to
f58fe96
Compare
PR Summary by QodoJobs backend parity safety net: shared scenarios, contracts, and docs Description
Diagram
High-Level Assessment
Files changed (21)
|
Code Review by Qodo
Context used✅ Compliance rules (platform):
74 rules 1.
|
855de0c to
f960d81
Compare
|
Addressed the open review items in
Local verification: focused Jobs/Chatbooks matrix |
73eb4a1 to
a229304
Compare
Summary
Test Plan
Change summary
Human-authored Change summary required before merge per project policy. Replace this section with the requester-owned explanation of what changed and why these choices were made.
Summary by cubic
Adds a shared Jobs parity harness for SQLite/Postgres and typed settings/operation contracts to lock current API behavior ahead of backend extraction. Ships design/plan/inventory docs and admin API contract tests; no runtime changes.
Refactors
JOBS_*env keys, settings classification, and operation enums/fields with invariant checks.New Features
tldw_Server_API/app/core/Jobs/settings.pywithJobsSettingsand refresh classification modes.tldw_Server_API/app/core/Jobs/operations/contracts.pywithOperationOutcome/NoTransitionReasonand command/result dataclasses.Written for commit a229304. Summary will update on new commits.