9289: Task document listing deadlock — verified resolved locally

Verification date: 20 October 2026. No SQL or business-record changes were needed in this verification.

Established cause and existing correction

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.

Today's verification

CheckObserved result
Local SQL engine15.0.2200.2, compatibility 150; scalar-UDF inlining and deferred table-variable compilation enabled.
Normal user 1549, task 52Three visible documents; two result sets, 61/65 columns. Indexed times retain all six source characters.
Restricted user 14Zero visible documents in the native first result set. Existing second result-set behavior is retained.
Bounded concurrent readsExisting integration suite passed both tests, including 32 reads across four concurrent connections alternating normal/restricted users; no SQL 1205.
Native task editorNormal EMP view displays three documents, with zero SQL dialogs and zero page errors.
Native document deliveryExisting 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 accessSame document under another task: 403. Unknown document under task 52: 403.

Evidence

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.

Release and limitations

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.