You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
'Task matching contract must name the routing_health health check as the matching role aggregate health surface.',
507
+
);
508
+
$this->assertStringContainsString(
509
+
'HealthCheck::snapshot()',
510
+
$contents,
511
+
'Task matching contract must cite HealthCheck::snapshot() as the source of the routing_health aggregate.',
512
+
);
513
+
514
+
foreach ([
515
+
'`backlog.compatibility_blocked_runs`',
516
+
'`tasks.dispatch_overdue`',
517
+
'`tasks.claim_failed`',
518
+
] as$rolledKey) {
519
+
$this->assertStringContainsString(
520
+
$rolledKey,
521
+
$contents,
522
+
sprintf(
523
+
'Task matching contract must name the %s metric key rolled into routing_health so the drain signals are reviewable as a single aggregate.',
524
+
$rolledKey,
525
+
),
526
+
);
527
+
}
528
+
529
+
foreach ([
530
+
'`required_compatibility`',
531
+
'`active_workers`',
532
+
'`active_workers_supporting_required`',
533
+
'`fleet_supports_required`',
534
+
] as$coverageField) {
535
+
$this->assertStringContainsString(
536
+
$coverageField,
537
+
$contents,
538
+
sprintf(
539
+
'Task matching contract must name the %s field on the routing_health worker-coverage triple so operators can read fleet capability without re-aggregating worker_compatibility.',
540
+
$coverageField,
541
+
),
542
+
);
543
+
}
544
+
545
+
$this->assertMatchesRegularExpression(
546
+
'/active_workers_supporting_required = 0[\s\S]{0,300}compatibility_blocked_runs[\s\S]{0,300}canonical[\s\S]{0,300}fleet cannot take this work/i',
547
+
$contents,
548
+
'Task matching contract must name the canonical "the fleet cannot take this work" reading on the routing surface (active_workers_supporting_required = 0 paired with a non-zero compatibility_blocked_runs count).',
549
+
);
550
+
551
+
$this->assertMatchesRegularExpression(
552
+
'/sole owner of fleet-admission escalation/i',
553
+
$contents,
554
+
'Task matching contract must state that worker_compatibility remains the sole owner of fleet-admission escalation so routing_health does not duplicate escalation logic.',
0 commit comments