- SecuredDataClassifications.effective looked fields up with
QTableMetaData.getField, which throws for a virtual (computed) field, so
any user read of a table with one failed (kof22's permalink sitePath and
siteUrl on every content table, and API validation). Virtual fields now
take the table classification.
- The access-log worker opened a QContext on every tick, even with an empty
queue. QContext validates an unvalidated instance, and the worker starts
while the host is still building it, so the first tick validated (and
enriched) a half-built instance on another thread; one failure cancelled
every later tick for good. Idle ticks now return before opening a
context, and a failed tick is logged and retried.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>