4.2 KiB
Related save-pattern review
This is a scoped source/caller review. It does not certify every editable record or turn a missing revision property alone into a newly reproduced defect.
| Surface | Finding and disposition |
|---|---|
| Career manual editor / history restore | Exact RD21 stale replacement reproduced; all canonical writes now require the editor's source revision and participate in atomic canonical/projection persistence. |
| Career parse / reviewed imports | Same replacement service and split projection boundary. Included in the correction, with reviewed-source revision and rollback tests for application metadata. Upload/rebuild/improve processing produces pending-review runs rather than independently applying canonical data. |
| Generic job edit | Exact RD21 stale snapshot reproduced. The shared dialog reaches Table and workspace edit/notes entry points. The generic endpoint now compares source revision and atomically guards final commit. |
| Cover letter / application drafts / structured tailored CV | Additional SQLite tests reproduce actual acknowledged-text loss. Included in the correction; guards cover both current fields and append-only history/related draft rows. Legacy tailored text replacement fails closed too. |
| Job lifecycle, rules, reminders, enrichment and attachment-derived flags | Narrow server commands/background transformations, rather than generic client snapshots. They share the JobApplication EF token/version advancement so overlapping database writes cannot silently commit stale tracked values. This does not claim every possible field-command ordering is a full-editor merge contract. |
| Dashboard preferences | Already uses the submitted layout revision and an owner/revision-conditioned ExecuteUpdate. Existing dashboard conflict/persistence contracts remain applicable; this is a separate owner from Career/jobs. |
| CV Builder variants | Already requires expected version with an EF concurrency token and append-only settings history. Existing stale save/restore and null-as-inherit override/frozen contracts remain. Canonical changes do not rewrite variant settings/history. |
| Email drafts | Existing owner/revision-conditioned updates and send-attempt reservation remain separate. They are not silently redirected through the new job snapshot contract. |
| Submitted documents/packages | Existing immutable snapshot/binary archive remains separate from current Career/job/cover-letter edits. No new mutation of captured packages or archived binaries is introduced. Native archive and document regressions are required independently. |
| Identity and Settings | Identity uses its existing Identity concurrency stamp. The obsolete identity endpoint's CV-projection bypass is explicitly closed. Individual language/privacy/rules/notification settings retain their existing contracts; no new RD21 runtime failure in these separate records was established here. Their broader multi-session/human/provider criteria are not accepted by this repair. |
| Company/contact and other independent editable records | Source patterns were inspected for shared infrastructure. They do not use the defective Career aggregate service or generic job snapshot mapping. No new cross-record stale-loss reproduction is claimed; complete multi-session acceptance of every separate editor remains outside this bounded repair. |
The browser extension/bookmarklet remains a create/capture consumer rather than a generic job replacement client. Local extension contracts pass separately; this is not an installed-device test.
Generic job PUT continues to preserve ordinary notes versus the embedded application answer, tenant company associations, existing salary normalization and lifecycle semantics. Rejection must leave opportunity and timeline state unchanged. These are tested through actual SQLite rows, not inferred from HTTP success alone.
Remaining distinct concerns include job creation-intent idempotency, actual MariaDB behavior, historical recovery, provider journeys, storage/backup/rollback, human accessibility/device/output acceptance, and the original low duplicate-reminder-GET/raw-Created terminology observations. No Phase 10 deletion, new integration, model activation or production action is authorized by this review.