merge(agent-a): rows 37/86/87/88 — deployment reads consolidated on QueryDeploymentListPageAsync (QueryDeploymentSummariesAsync deleted); SiteScopeService honors the Administrator system-wide rule (claims no longer scope admins — the documented ManagementActor semantic now holds on both surfaces); site scope rides the query join (whole-table instance read gone), PageSize bounded (default 50, cap 1000); unparseable --status fails loudly naming valid values

This commit is contained in:
Joseph Doherty
2026-08-17 05:28:51 -04:00
21 changed files with 760 additions and 256 deletions
@@ -2,8 +2,10 @@
--
-- Replaces the single-column [IX_DeploymentRecords_DeployedAt] with the composite
-- [IX_DeploymentRecords_DeployedAt_Id] ([DeployedAt] DESC, [Id] DESC), which is exactly
-- the order DeploymentManagerRepository.QueryDeploymentListPageAsync (and
-- QueryDeploymentSummariesAsync) asks for. With both key columns descending, a forward
-- the order DeploymentManagerRepository.QueryDeploymentListPageAsync asks for. (It named
-- QueryDeploymentSummariesAsync too; register row 37 folded that second paged read into
-- QueryDeploymentListPageAsync, so both the UI and the CLI now share this one key.)
-- With both key columns descending, a forward
-- scan delivers the requested order, so a paged Skip/Take reads a Top-N off the index
-- instead of sorting the whole filtered set on every page request.
--