Verification date: 20 October 2026. No SQL or business-record changes were needed in this verification.
The original 18 October graph shows one session owning Sch-M while waiting for Sch-S on the same tempdb object during the document INSERT. It is a schema/compilation self-deadlock, rather than evidence of another user's row update blocking the list. Earlier controlled variants reproduced SQL 1205 with the original statement; both statement RECOMPILE and disabling scalar-UDF inlining completed. This supports an optimization/compilation-path cause without asserting an unverified SQL Server defect number.
The 19 October implementation adds OPTION (RECOMPILE) only to that INSERT and expands the intermediate TIME_INDEXED column from four characters to its source's ten-character width. It preserves procedure identity/grants and the existing permission, privacy, confidentiality, archive and result-set logic. The current local definition matches the release definition after normalizing CREATE versus ALTER.
| Check | Observed result |
|---|---|
| Local SQL engine | 15.0.2200.2, compatibility 150; scalar-UDF inlining and deferred table-variable compilation enabled. |
| Normal user 1549, task 52 | Three visible documents; two result sets, 61/65 columns. Indexed times retain all six source characters. |
| Restricted user 14 | Zero visible documents in the native first result set. Existing second result-set behavior is retained. |
| Bounded concurrent reads | Existing integration suite passed both tests, including 32 reads across four concurrent connections alternating normal/restricted users; no SQL 1205. |
| Native task editor | Normal EMP view displays three documents, with zero SQL dialogs and zero page errors. |
| Native document delivery | Existing native link redirects to the configured cache PDF; HTTP 200 application/pdf, 2,415 bytes. A separate task-scoped viewer loads successfully without an admin/private override. |
| Negative viewer access | Same document under another task: 403. Unknown document under task 52: 403. |
Current_Read_Verification.json; Plan_Inspection.json; Native_Document_Verification.json; sql/task-document-current.trx. Work folder holds the current procedure and cached outer procedure plan when available. A cached outer procedure plan is not an actual plan for its recompiled statement. Result hashes differ between calls because the legacy query supplies GETDATE()+10 for missing expiry values; they are audit receipts, not a claim that volatile values are identical.
The existing rerunnable deployment payload is 2026.10.1.0/DB/HR/0.STANDARD/005. WF/001 - Documents/301 - Proc - HRF_SP_DOCUMENTS_GET_DOCUMENTS.sql. No additional fix or engine/configuration change was applied today. Local tests do not prove activation in every client database or eliminate every possible SQL deadlock. Story publication/state changes remain with the parent reviewer.
The separate 9228 Public/Private upload-policy requirement is not part of this deadlock correction and is being handled independently.