Files
jobtrackingapp/docs/redesign/phase-9/rd21-remediation/reviews/task-2-review.md
T

2.4 KiB

Task 2 independent source review

Reviewed the working backend change against 8f2cad6, REQUEST.md and PLAN Task 2. No actionable material correctness/security finding identified in the reviewed change.

Scope: JobApplication.Version; DbContext synchronous/asynchronous SaveChanges revision advancement and concurrency mapping; AddJobRevision migration/model snapshot and migration test; generic job PUT ownership/precondition/event/opportunity handling; legacy tailored CV structured/text and application-draft replacements; cover-letter save/restore and returned revisions; workspace revisions; global concurrency exception handler; legacy AuthController CV-write rejection; dedicated RD21 persistence/authentication fixtures. Production frontend references to the changed job/asset contracts were also searched for compatibility; this is not full frontend lifecycle acceptance.

The caller precondition is checked against the loaded source and the eventual database update independently compares the EF original revision. Forced modification of Version covers otherwise unchanged snapshot saves. Generic PUT saves the opportunity projection and lifecycle events in the same SaveChanges transaction and clears its failed tracked state. Cover-letter history and text share one SaveChanges transaction. Related structured CV state and its job text/revision are likewise committed together. The read DTOs carry their source job revision; 204 endpoints expose the committed revision header. Company reassignment remains tenant filtered.

Writer census check: ordinary tracked partial/background JobApplication writers inherit the new EF token and revision advancement; no production bulk update of editable JobApplication text was found. The existing startup-only owner backfill uses raw SQL for owner assignment, rather than an editor text replacement. CV generation is a server-created replacement whose loaded JobApplication is now guarded at its eventual SaveChanges; existing variant/frozen-document ownership remains separate.

Evidence inspected: .artifacts/rd21/backend-full/backend-full.trx counters report 1109 executed/passed, zero failed, error, timeout, aborted or notExecuted. No tests, migrations, servers or network calls were run during this review. The migration regression source covers SQLite upgrade/rollback/content preservation. These checks do not qualify actual MariaDB behavior, browser/session draft retention, or production deployment.