Issue #3611507: Views and entity-model polish: batch the current-step column, fix the sortable State column, cacheability, indexes and config dependencies

Fixes the pre-alpha12 Views and entity-model audit findings.

  • P1: the current-step Views column resolves the whole page in one batched token query (CurrentStepResolver::currentStepsFor + a preRender pass), instead of one query per row.
  • U1: the State column is no longer shipped sortable (its handler adds no SQL column); InstanceState/InstanceStatus/CurrentStep field handlers override clickSortable() to FALSE.
  • U5: the Status filter declares the orchestra_status list cache tag and the orchestra_tenant cache context when tenant-limited.
  • P2: orchestra_variable gains a composite (instance, name) index, serving both the name-scoped reads and, as its prefix, the instance-only read path.
  • N1: Incident::getResolvedById() accessor for the write-only resolved_by column.
  • N2: Workflow::calculateDependencies()/onDependencyRemoval() declare a config dependency on referenced statuses (and the tenant) and strip the reference when a status is deleted, instead of cascade-deleting the workflow.
  • N3: an integer schema type for the subprocess retry node setting. N4: the Workflow layout docblock now documents flowLabels/nodeLabels. U6: the status list shows the tenant label and palette name (shared Status::PALETTE) rather than raw ids.

Kernel tests: the batched current-step query count, the workflow status config-dependency and its removal, and the State/Status field sortability and filter cacheability. Note: adding the variable index to a live table is a manual schema update pre-1.0 (no update hooks). The field-level row cache tag (U4) is deferred, as it needs a render-pipeline change.

Merge request reports

Loading