226 lines
5.8 KiB
SQL
226 lines
5.8 KiB
SQL
\pset pager off
|
|
|
|
\echo '=== 1. Objetos v0.3.15 ==='
|
|
|
|
SELECT
|
|
to_regclass(
|
|
'mv_loss_intelligence.context_governance_ui_consultations'
|
|
) AS consultations_table,
|
|
to_regclass(
|
|
'mv_loss_intelligence.context_governance_context_proposals'
|
|
) AS proposals_table,
|
|
to_regclass(
|
|
'mv_loss_intelligence.context_governance_context_proposal_actions'
|
|
) AS proposal_actions_table,
|
|
to_regclass(
|
|
'mv_reports_ucepsa_prod.li_context_governance_ui_queue_v2'
|
|
) AS queue_v2_view,
|
|
to_regclass(
|
|
'mv_reports_ucepsa_prod.li_context_governance_context_approval_queue_v1'
|
|
) AS approval_queue_view,
|
|
to_regclass(
|
|
'mv_reports_ucepsa_prod.li_context_governance_context_clarification_queue_v1'
|
|
) AS clarification_queue_view,
|
|
to_regclass(
|
|
'mv_reports_ucepsa_prod.li_context_governance_ui_activity_v1'
|
|
) AS activity_view;
|
|
|
|
\echo '=== 2. Cola v2 conserva la agenda ==='
|
|
|
|
SELECT
|
|
(
|
|
SELECT COUNT(*)
|
|
FROM mv_reports_ucepsa_prod
|
|
.li_context_governance_ui_queue_v2
|
|
) AS ui_v2_rows,
|
|
(
|
|
SELECT COUNT(*)
|
|
FROM mv_reports_ucepsa_prod
|
|
.li_context_governance_daily_agenda_v1
|
|
) AS agenda_rows;
|
|
|
|
\echo '=== 3. Workflow visible válido ==='
|
|
|
|
SELECT COUNT(*) AS invalid_workflow_status_rows
|
|
FROM mv_reports_ucepsa_prod
|
|
.li_context_governance_ui_queue_v2
|
|
WHERE workflow_status NOT IN (
|
|
'PENDING',
|
|
'IN_CONSULTATION'
|
|
)
|
|
OR review_status <> 'PENDING';
|
|
|
|
\echo '=== 4. Una consulta abierta por decisión ==='
|
|
|
|
SELECT COUNT(*) AS duplicate_open_consultations
|
|
FROM (
|
|
SELECT
|
|
tenant,
|
|
site,
|
|
decision_group_key,
|
|
COUNT(*) AS n
|
|
FROM mv_loss_intelligence
|
|
.context_governance_ui_consultations
|
|
WHERE status = 'OPEN'
|
|
GROUP BY
|
|
tenant,
|
|
site,
|
|
decision_group_key
|
|
HAVING COUNT(*) > 1
|
|
) duplicated;
|
|
|
|
\echo '=== 5. Una propuesta activa por caso ==='
|
|
|
|
SELECT COUNT(*) AS duplicate_active_proposals
|
|
FROM (
|
|
SELECT
|
|
tenant,
|
|
site,
|
|
case_id,
|
|
COUNT(*) AS n
|
|
FROM mv_loss_intelligence
|
|
.context_governance_context_proposals
|
|
WHERE proposal_status IN (
|
|
'PENDING',
|
|
'NEEDS_CLARIFICATION'
|
|
)
|
|
GROUP BY
|
|
tenant,
|
|
site,
|
|
case_id
|
|
HAVING COUNT(*) > 1
|
|
) duplicated;
|
|
|
|
\echo '=== 6. Propuestas aprobadas tienen contexto ==='
|
|
|
|
SELECT COUNT(*) AS approved_without_context
|
|
FROM mv_loss_intelligence
|
|
.context_governance_context_proposals
|
|
WHERE proposal_status = 'APPROVED'
|
|
AND context_session_id IS NULL;
|
|
|
|
\echo '=== 7. Contextos aprobados conservan SHADOW ==='
|
|
|
|
SELECT COUNT(*) AS invalid_approved_contexts
|
|
FROM mv_loss_intelligence
|
|
.context_governance_context_proposals p
|
|
JOIN mv_loss_intelligence
|
|
.production_context_sessions s
|
|
ON s.context_session_id = p.context_session_id
|
|
WHERE p.proposal_status = 'APPROVED'
|
|
AND (
|
|
s.source_ref <>
|
|
'GOVERNANCE_PROPOSAL:'
|
|
|| p.proposal_id::text
|
|
OR s.source_type <>
|
|
p.proposed_source_type
|
|
OR s.official_eligible
|
|
OR p.official_eligible
|
|
);
|
|
|
|
\echo '=== 8. Producción no crea contextos directamente ==='
|
|
|
|
SELECT COUNT(*) AS direct_context_creation_actions
|
|
FROM mv_loss_intelligence
|
|
.context_governance_ui_actions
|
|
WHERE create_contexts
|
|
OR cardinality(
|
|
created_context_session_ids
|
|
) > 0;
|
|
|
|
\echo '=== 9. Idempotencia de requests ==='
|
|
|
|
SELECT
|
|
(
|
|
SELECT COUNT(*)
|
|
FROM (
|
|
SELECT
|
|
tenant,
|
|
site,
|
|
request_id,
|
|
COUNT(*) AS n
|
|
FROM mv_loss_intelligence
|
|
.context_governance_ui_actions
|
|
GROUP BY tenant, site, request_id
|
|
HAVING COUNT(*) > 1
|
|
) x
|
|
) AS duplicate_review_requests,
|
|
(
|
|
SELECT COUNT(*)
|
|
FROM (
|
|
SELECT
|
|
tenant,
|
|
site,
|
|
request_id,
|
|
COUNT(*) AS n
|
|
FROM mv_loss_intelligence
|
|
.context_governance_context_proposal_actions
|
|
GROUP BY tenant, site, request_id
|
|
HAVING COUNT(*) > 1
|
|
) x
|
|
) AS duplicate_proposal_action_requests;
|
|
|
|
\echo '=== 10. Colas de trabajo ==='
|
|
|
|
SELECT
|
|
(
|
|
SELECT COUNT(*)
|
|
FROM mv_reports_ucepsa_prod
|
|
.li_context_governance_context_approval_queue_v1
|
|
WHERE proposal_status = 'PENDING'
|
|
) AS technical_pending_count,
|
|
(
|
|
SELECT COUNT(*)
|
|
FROM mv_reports_ucepsa_prod
|
|
.li_context_governance_context_clarification_queue_v1
|
|
) AS clarification_count,
|
|
(
|
|
SELECT COUNT(*)
|
|
FROM mv_reports_ucepsa_prod
|
|
.li_context_governance_ui_queue_v2
|
|
WHERE workflow_status = 'IN_CONSULTATION'
|
|
) AS in_consultation_count;
|
|
|
|
\echo '=== 11. Nada oficial ==='
|
|
|
|
SELECT
|
|
(
|
|
SELECT COUNT(*)
|
|
FROM mv_loss_intelligence
|
|
.context_governance_ui_consultations
|
|
WHERE official_eligible
|
|
) AS official_consultation_rows,
|
|
(
|
|
SELECT COUNT(*)
|
|
FROM mv_loss_intelligence
|
|
.context_governance_context_proposals
|
|
WHERE official_eligible
|
|
) AS official_proposal_rows,
|
|
(
|
|
SELECT COUNT(*)
|
|
FROM mv_loss_intelligence
|
|
.context_governance_context_proposal_actions
|
|
WHERE official_eligible
|
|
) AS official_proposal_action_rows,
|
|
(
|
|
SELECT COUNT(*)
|
|
FROM mv_reports_ucepsa_prod
|
|
.li_operator_stop_queue_v2
|
|
) AS official_operator_queue_rows;
|
|
|
|
\echo '=== 12. Actividad UI reciente ==='
|
|
|
|
SELECT
|
|
activity_type,
|
|
decision_group_key,
|
|
proposal_id,
|
|
actor_display_name,
|
|
action_code,
|
|
status,
|
|
notes,
|
|
created_at
|
|
FROM mv_reports_ucepsa_prod
|
|
.li_context_governance_ui_activity_v1
|
|
ORDER BY created_at DESC
|
|
LIMIT 30;
|