@resolveio/server-lib 22.3.221 → 22.3.222
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ai/assistant-core-heuristics.d.ts +11 -0
- package/ai/assistant-core-heuristics.js +356 -0
- package/ai/assistant-core-heuristics.js.map +1 -0
- package/ai/resolveio-platform-intelligence-memory-corpus.d.ts +3 -0
- package/ai/resolveio-platform-intelligence-memory-corpus.js +214 -0
- package/ai/resolveio-platform-intelligence-memory-corpus.js.map +1 -0
- package/ai/resolveio-platform-intelligence-memory.d.ts +20 -0
- package/ai/resolveio-platform-intelligence-memory.js +341 -0
- package/ai/resolveio-platform-intelligence-memory.js.map +1 -0
- package/{src/ai/resolveio-platform-intelligence-types.ts → ai/resolveio-platform-intelligence-types.d.ts} +15 -20
- package/ai/resolveio-platform-intelligence-types.js +4 -0
- package/ai/resolveio-platform-intelligence-types.js.map +1 -0
- package/ai/resolveio-platform-intelligence.d.ts +6 -0
- package/ai/resolveio-platform-intelligence.js +463 -0
- package/ai/resolveio-platform-intelligence.js.map +1 -0
- package/client-server-app.d.ts +1 -0
- package/client-server-app.js +68 -0
- package/client-server-app.js.map +1 -0
- package/collections/ai-run.collection.d.ts +3 -0
- package/collections/ai-run.collection.js +170 -0
- package/collections/ai-run.collection.js.map +1 -0
- package/collections/ai-terminal-conversation.collection.d.ts +2 -0
- package/collections/ai-terminal-conversation.collection.js +140 -0
- package/collections/ai-terminal-conversation.collection.js.map +1 -0
- package/collections/ai-terminal-issue-report.collection.d.ts +2 -0
- package/collections/ai-terminal-issue-report.collection.js +148 -0
- package/collections/ai-terminal-issue-report.collection.js.map +1 -0
- package/collections/ai-terminal-message.collection.d.ts +2 -0
- package/collections/ai-terminal-message.collection.js +121 -0
- package/collections/ai-terminal-message.collection.js.map +1 -0
- package/collections/app-setting.collection.d.ts +3 -0
- package/collections/app-setting.collection.js +103 -0
- package/collections/app-setting.collection.js.map +1 -0
- package/collections/app-status.collection.d.ts +3 -0
- package/collections/app-status.collection.js +57 -0
- package/collections/app-status.collection.js.map +1 -0
- package/collections/communication-metric.collection.d.ts +2 -0
- package/collections/communication-metric.collection.js +133 -0
- package/collections/communication-metric.collection.js.map +1 -0
- package/collections/counter.collection.d.ts +3 -0
- package/collections/counter.collection.js +56 -0
- package/collections/counter.collection.js.map +1 -0
- package/collections/cron-job-history.collection.d.ts +3 -0
- package/collections/cron-job-history.collection.js +137 -0
- package/collections/cron-job-history.collection.js.map +1 -0
- package/collections/cron-job.collection.d.ts +3 -0
- package/collections/cron-job.collection.js +92 -0
- package/collections/cron-job.collection.js.map +1 -0
- package/collections/customer-notification.collection.d.ts +3 -0
- package/collections/customer-notification.collection.js +130 -0
- package/collections/customer-notification.collection.js.map +1 -0
- package/collections/customer-portal-password.collection.d.ts +3 -0
- package/collections/customer-portal-password.collection.js +75 -0
- package/collections/customer-portal-password.collection.js.map +1 -0
- package/collections/email-history.collection.d.ts +3 -0
- package/collections/email-history.collection.js +134 -0
- package/collections/email-history.collection.js.map +1 -0
- package/collections/email-verified.collection.d.ts +3 -0
- package/collections/email-verified.collection.js +62 -0
- package/collections/email-verified.collection.js.map +1 -0
- package/collections/file.collection.d.ts +3 -0
- package/collections/file.collection.js +74 -0
- package/collections/file.collection.js.map +1 -0
- package/collections/flag-update.collection.d.ts +3 -0
- package/collections/flag-update.collection.js +57 -0
- package/collections/flag-update.collection.js.map +1 -0
- package/collections/flag.collection.d.ts +3 -0
- package/collections/flag.collection.js +57 -0
- package/collections/flag.collection.js.map +1 -0
- package/collections/log-method-latency.collection.d.ts +3 -0
- package/collections/log-method-latency.collection.js +77 -0
- package/collections/log-method-latency.collection.js.map +1 -0
- package/collections/log-subscription.collection.d.ts +3 -0
- package/collections/log-subscription.collection.js +80 -0
- package/collections/log-subscription.collection.js.map +1 -0
- package/collections/log.collection.d.ts +3 -0
- package/collections/log.collection.js +93 -0
- package/collections/log.collection.js.map +1 -0
- package/collections/logged-in-users.collection.d.ts +3 -0
- package/collections/logged-in-users.collection.js +67 -0
- package/collections/logged-in-users.collection.js.map +1 -0
- package/collections/monitor-cpu.collection.d.ts +3 -0
- package/collections/monitor-cpu.collection.js +65 -0
- package/collections/monitor-cpu.collection.js.map +1 -0
- package/collections/monitor-function.collection.d.ts +3 -0
- package/collections/monitor-function.collection.js +74 -0
- package/collections/monitor-function.collection.js.map +1 -0
- package/collections/monitor-memory.collection.d.ts +3 -0
- package/collections/monitor-memory.collection.js +77 -0
- package/collections/monitor-memory.collection.js.map +1 -0
- package/collections/monitor-mongo.collection.d.ts +3 -0
- package/collections/monitor-mongo.collection.js +71 -0
- package/collections/monitor-mongo.collection.js.map +1 -0
- package/collections/notification.collection.d.ts +3 -0
- package/collections/notification.collection.js +57 -0
- package/collections/notification.collection.js.map +1 -0
- package/collections/openai-usage-ledger.collection.d.ts +2 -0
- package/collections/openai-usage-ledger.collection.js +188 -0
- package/collections/openai-usage-ledger.collection.js.map +1 -0
- package/collections/report-builder-dashboard-builder.collection.d.ts +3 -0
- package/collections/report-builder-dashboard-builder.collection.js +109 -0
- package/collections/report-builder-dashboard-builder.collection.js.map +1 -0
- package/collections/report-builder-library.collection.d.ts +3 -0
- package/collections/report-builder-library.collection.js +87 -0
- package/collections/report-builder-library.collection.js.map +1 -0
- package/collections/report-builder-report.collection.d.ts +4 -0
- package/collections/report-builder-report.collection.js +184 -0
- package/collections/report-builder-report.collection.js.map +1 -0
- package/collections/user-group.collection.d.ts +4 -0
- package/collections/user-group.collection.js +89 -0
- package/collections/user-group.collection.js.map +1 -0
- package/collections/user-guide.collection.d.ts +3 -0
- package/collections/user-guide.collection.js +57 -0
- package/collections/user-guide.collection.js.map +1 -0
- package/collections/user.collection.d.ts +4 -0
- package/collections/user.collection.js +180 -0
- package/collections/user.collection.js.map +1 -0
- package/cron/cron.d.ts +14 -0
- package/cron/cron.js +216 -0
- package/cron/cron.js.map +1 -0
- package/fixtures/cron-jobs.d.ts +1 -0
- package/fixtures/cron-jobs.js +150 -0
- package/fixtures/cron-jobs.js.map +1 -0
- package/fixtures/init.d.ts +1 -0
- package/fixtures/init.js +91 -0
- package/fixtures/init.js.map +1 -0
- package/http/auth.d.ts +2 -0
- package/http/auth.js +951 -0
- package/http/auth.js.map +1 -0
- package/http/health.d.ts +1 -0
- package/http/health.js +11 -0
- package/http/health.js.map +1 -0
- package/http/home.d.ts +1 -0
- package/http/home.js +134 -0
- package/http/home.js.map +1 -0
- package/http/slow-query-publication.d.ts +2 -0
- package/http/slow-query-publication.js +99 -0
- package/http/slow-query-publication.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +19 -0
- package/index.js.map +1 -0
- package/managers/ai-assistant-codex-manager.manager.d.ts +67 -0
- package/managers/ai-assistant-codex-manager.manager.js +1113 -0
- package/managers/ai-assistant-codex-manager.manager.js.map +1 -0
- package/managers/ai-run-evidence.manager.d.ts +36 -0
- package/managers/ai-run-evidence.manager.js +377 -0
- package/managers/ai-run-evidence.manager.js.map +1 -0
- package/managers/communication-metric.manager.d.ts +16 -0
- package/managers/communication-metric.manager.js +134 -0
- package/managers/communication-metric.manager.js.map +1 -0
- package/managers/cron.manager.d.ts +20 -0
- package/managers/cron.manager.js +534 -0
- package/managers/cron.manager.js.map +1 -0
- package/managers/customer-notification-content.manager.d.ts +55 -0
- package/managers/customer-notification-content.manager.js +158 -0
- package/managers/customer-notification-content.manager.js.map +1 -0
- package/managers/diagnostic-manager-bootstrap.d.ts +9 -0
- package/managers/diagnostic-manager-bootstrap.js +260 -0
- package/managers/diagnostic-manager-bootstrap.js.map +1 -0
- package/managers/error-auto-fix.manager.d.ts +149 -0
- package/managers/error-auto-fix.manager.js +3064 -0
- package/managers/error-auto-fix.manager.js.map +1 -0
- package/managers/local-log.manager.d.ts +18 -0
- package/managers/local-log.manager.js +88 -0
- package/managers/local-log.manager.js.map +1 -0
- package/managers/method.manager.d.ts +84 -0
- package/managers/method.manager.js +1964 -0
- package/managers/method.manager.js.map +1 -0
- package/managers/mongo.manager.d.ts +224 -0
- package/managers/mongo.manager.js +5000 -0
- package/managers/mongo.manager.js.map +1 -0
- package/managers/monitor.manager.d.ts +70 -0
- package/managers/monitor.manager.js +550 -0
- package/managers/monitor.manager.js.map +1 -0
- package/managers/openai-usage-ledger.manager.d.ts +30 -0
- package/managers/openai-usage-ledger.manager.js +142 -0
- package/managers/openai-usage-ledger.manager.js.map +1 -0
- package/managers/slow-query-verifier.manager.d.ts +144 -0
- package/managers/slow-query-verifier.manager.js +3857 -0
- package/managers/slow-query-verifier.manager.js.map +1 -0
- package/managers/slow-query.manager.d.ts +28 -0
- package/managers/slow-query.manager.js +468 -0
- package/managers/slow-query.manager.js.map +1 -0
- package/managers/subscription.manager.d.ts +169 -0
- package/managers/subscription.manager.js +3434 -0
- package/managers/subscription.manager.js.map +1 -0
- package/managers/websocket.manager.d.ts +73 -0
- package/managers/websocket.manager.js +673 -0
- package/managers/websocket.manager.js.map +1 -0
- package/managers/worker-dispatcher.manager.d.ts +120 -0
- package/managers/worker-dispatcher.manager.js +1266 -0
- package/managers/worker-dispatcher.manager.js.map +1 -0
- package/managers/worker-server.manager.d.ts +35 -0
- package/managers/worker-server.manager.js +582 -0
- package/managers/worker-server.manager.js.map +1 -0
- package/methods/accounts.d.ts +2 -0
- package/methods/accounts.js +624 -0
- package/methods/accounts.js.map +1 -0
- package/methods/ai-terminal.d.ts +458 -0
- package/methods/ai-terminal.js +27991 -0
- package/methods/ai-terminal.js.map +1 -0
- package/methods/app-settings.d.ts +2 -0
- package/methods/app-settings.js +169 -0
- package/methods/app-settings.js.map +1 -0
- package/methods/aws.d.ts +2 -0
- package/methods/aws.js +877 -0
- package/methods/aws.js.map +1 -0
- package/methods/collections.d.ts +2 -0
- package/methods/collections.js +719 -0
- package/methods/collections.js.map +1 -0
- package/methods/counters.d.ts +2 -0
- package/methods/counters.js +113 -0
- package/methods/counters.js.map +1 -0
- package/methods/cron-jobs.d.ts +2 -0
- package/methods/cron-jobs.js +2475 -0
- package/methods/cron-jobs.js.map +1 -0
- package/methods/customer-notifications.d.ts +2 -0
- package/methods/customer-notifications.js +528 -0
- package/methods/customer-notifications.js.map +1 -0
- package/methods/diagnostics.d.ts +2 -0
- package/methods/diagnostics.js +703 -0
- package/methods/diagnostics.js.map +1 -0
- package/methods/flag-updates.d.ts +2 -0
- package/methods/flag-updates.js +8 -0
- package/methods/flag-updates.js.map +1 -0
- package/methods/flags.d.ts +2 -0
- package/methods/flags.js +8 -0
- package/methods/flags.js.map +1 -0
- package/methods/logs.d.ts +2 -0
- package/methods/logs.js +751 -0
- package/methods/logs.js.map +1 -0
- package/methods/mongo-explorer.d.ts +2 -0
- package/methods/mongo-explorer.js +1808 -0
- package/methods/mongo-explorer.js.map +1 -0
- package/methods/monitor.d.ts +2 -0
- package/methods/monitor.js +543 -0
- package/methods/monitor.js.map +1 -0
- package/methods/pdf.d.ts +2 -0
- package/methods/pdf.js +1216 -0
- package/methods/pdf.js.map +1 -0
- package/methods/publications.d.ts +1 -0
- package/methods/publications.js +183 -0
- package/methods/publications.js.map +1 -0
- package/methods/report-builder.d.ts +2 -0
- package/methods/report-builder.js +3094 -0
- package/methods/report-builder.js.map +1 -0
- package/methods/support.d.ts +2 -0
- package/methods/support.js +430 -0
- package/methods/support.js.map +1 -0
- package/models/ai-run.model.d.ts +19 -0
- package/models/ai-run.model.js +4 -0
- package/models/ai-run.model.js.map +1 -0
- package/models/ai-terminal-conversation.model.d.ts +17 -0
- package/models/ai-terminal-conversation.model.js +4 -0
- package/models/ai-terminal-conversation.model.js.map +1 -0
- package/models/ai-terminal-issue-report.model.d.ts +19 -0
- package/models/ai-terminal-issue-report.model.js +4 -0
- package/models/ai-terminal-issue-report.model.js.map +1 -0
- package/models/ai-terminal-message.model.d.ts +22 -0
- package/models/ai-terminal-message.model.js +4 -0
- package/models/ai-terminal-message.model.js.map +1 -0
- package/models/app-setting.model.d.ts +16 -0
- package/models/app-setting.model.js +4 -0
- package/models/app-setting.model.js.map +1 -0
- package/{src/models/app-status.model.ts → models/app-status.model.d.ts} +2 -3
- package/models/app-status.model.js +4 -0
- package/models/app-status.model.js.map +1 -0
- package/{src/models/billing-logged-in-users.model.ts → models/billing-logged-in-users.model.d.ts} +4 -5
- package/models/billing-logged-in-users.model.js +4 -0
- package/models/billing-logged-in-users.model.js.map +1 -0
- package/models/collection-document.model.d.ts +21 -0
- package/models/collection-document.model.js +4 -0
- package/models/collection-document.model.js.map +1 -0
- package/models/communication-metric.model.d.ts +20 -0
- package/models/communication-metric.model.js +4 -0
- package/models/communication-metric.model.js.map +1 -0
- package/{src/models/counter.model.ts → models/counter.model.d.ts} +3 -4
- package/models/counter.model.js +4 -0
- package/models/counter.model.js.map +1 -0
- package/models/cron-job-history.model.d.ts +15 -0
- package/models/cron-job-history.model.js +4 -0
- package/models/cron-job-history.model.js.map +1 -0
- package/models/cron-job.model.d.ts +14 -0
- package/models/cron-job.model.js +4 -0
- package/models/cron-job.model.js.map +1 -0
- package/models/customer-notification.model.d.ts +26 -0
- package/models/customer-notification.model.js +4 -0
- package/models/customer-notification.model.js.map +1 -0
- package/models/customer-portal-password.model.d.ts +11 -0
- package/models/customer-portal-password.model.js +4 -0
- package/models/customer-portal-password.model.js.map +1 -0
- package/models/dialog.model.d.ts +23 -0
- package/models/dialog.model.js +4 -0
- package/models/dialog.model.js.map +1 -0
- package/models/email-history.model.d.ts +32 -0
- package/{src/models/email-history.model.ts → models/email-history.model.js} +4 -36
- package/models/email-history.model.js.map +1 -0
- package/{src/models/email-verified.model.ts → models/email-verified.model.d.ts} +5 -6
- package/models/email-verified.model.js +4 -0
- package/models/email-verified.model.js.map +1 -0
- package/{src/models/file.model.ts → models/file.model.d.ts} +7 -8
- package/models/file.model.js +4 -0
- package/models/file.model.js.map +1 -0
- package/{src/models/flag-update.model.ts → models/flag-update.model.d.ts} +3 -4
- package/models/flag-update.model.js +4 -0
- package/models/flag-update.model.js.map +1 -0
- package/{src/models/flag.model.ts → models/flag.model.d.ts} +3 -4
- package/models/flag.model.js +4 -0
- package/models/flag.model.js.map +1 -0
- package/models/log-method-latency.model.d.ts +10 -0
- package/models/log-method-latency.model.js +4 -0
- package/models/log-method-latency.model.js.map +1 -0
- package/{src/models/log-subscription.model.ts → models/log-subscription.model.d.ts} +9 -11
- package/models/log-subscription.model.js +4 -0
- package/models/log-subscription.model.js.map +1 -0
- package/models/log.model.d.ts +17 -0
- package/models/log.model.js +4 -0
- package/models/log.model.js.map +1 -0
- package/{src/models/logged-in-users.model.ts → models/logged-in-users.model.d.ts} +5 -6
- package/models/logged-in-users.model.js +4 -0
- package/models/logged-in-users.model.js.map +1 -0
- package/{src/models/method-response.model.ts → models/method-response.model.d.ts} +6 -7
- package/models/method-response.model.js +4 -0
- package/models/method-response.model.js.map +1 -0
- package/models/method.model.d.ts +26 -0
- package/models/method.model.js +4 -0
- package/models/method.model.js.map +1 -0
- package/{src/models/monitor-cpu.model.ts → models/monitor-cpu.model.d.ts} +7 -9
- package/models/monitor-cpu.model.js +4 -0
- package/models/monitor-cpu.model.js.map +1 -0
- package/models/monitor-function.model.d.ts +14 -0
- package/models/monitor-function.model.js +4 -0
- package/models/monitor-function.model.js.map +1 -0
- package/models/monitor-memory.model.d.ts +15 -0
- package/models/monitor-memory.model.js +4 -0
- package/models/monitor-memory.model.js.map +1 -0
- package/models/monitor-mongo.model.d.ts +13 -0
- package/models/monitor-mongo.model.js +4 -0
- package/models/monitor-mongo.model.js.map +1 -0
- package/{src/models/notification.model.ts → models/notification.model.d.ts} +4 -6
- package/models/notification.model.js +4 -0
- package/models/notification.model.js.map +1 -0
- package/models/openai-usage-ledger.model.d.ts +30 -0
- package/models/openai-usage-ledger.model.js +4 -0
- package/models/openai-usage-ledger.model.js.map +1 -0
- package/models/pagination.model.d.ts +11 -0
- package/models/pagination.model.js +28 -0
- package/models/pagination.model.js.map +1 -0
- package/models/permission.model.d.ts +12 -0
- package/models/permission.model.js +4 -0
- package/models/permission.model.js.map +1 -0
- package/models/report-builder-dashboard-builder.model.d.ts +25 -0
- package/models/report-builder-dashboard-builder.model.js +4 -0
- package/models/report-builder-dashboard-builder.model.js.map +1 -0
- package/models/report-builder-library.model.d.ts +17 -0
- package/models/report-builder-library.model.js +4 -0
- package/models/report-builder-library.model.js.map +1 -0
- package/models/report-builder-report.model.d.ts +121 -0
- package/models/report-builder-report.model.js +4 -0
- package/models/report-builder-report.model.js.map +1 -0
- package/models/report-builder.model.d.ts +61 -0
- package/models/report-builder.model.js +4 -0
- package/models/report-builder.model.js.map +1 -0
- package/models/select-data-label.model.d.ts +9 -0
- package/models/select-data-label.model.js +4 -0
- package/models/select-data-label.model.js.map +1 -0
- package/models/server-message.model.d.ts +32 -0
- package/models/server-message.model.js +4 -0
- package/models/server-message.model.js.map +1 -0
- package/models/slow-query-report.model.d.ts +23 -0
- package/models/slow-query-report.model.js +4 -0
- package/models/slow-query-report.model.js.map +1 -0
- package/models/subscription.model.d.ts +31 -0
- package/models/subscription.model.js +4 -0
- package/models/subscription.model.js.map +1 -0
- package/models/support-ticket.model.d.ts +87 -0
- package/models/support-ticket.model.js +4 -0
- package/models/support-ticket.model.js.map +1 -0
- package/models/user-group.model.d.ts +20 -0
- package/models/user-group.model.js +4 -0
- package/models/user-group.model.js.map +1 -0
- package/{src/models/user-guide.model.ts → models/user-guide.model.d.ts} +4 -5
- package/models/user-guide.model.js +4 -0
- package/models/user-guide.model.js.map +1 -0
- package/models/user.model.d.ts +84 -0
- package/models/user.model.js +4 -0
- package/models/user.model.js.map +1 -0
- package/package.json +1 -1
- package/private/images/ResolveIO.png +0 -0
- package/public_api.js +127 -0
- package/public_api.js.map +1 -0
- package/publications/ai-terminal.d.ts +1 -0
- package/publications/ai-terminal.js +122 -0
- package/publications/ai-terminal.js.map +1 -0
- package/publications/app-settings.d.ts +2 -0
- package/publications/app-settings.js +28 -0
- package/publications/app-settings.js.map +1 -0
- package/publications/app-status.d.ts +2 -0
- package/publications/app-status.js +16 -0
- package/publications/app-status.js.map +1 -0
- package/publications/cron-jobs.d.ts +2 -0
- package/publications/cron-jobs.js +88 -0
- package/publications/cron-jobs.js.map +1 -0
- package/publications/customer-notifications.d.ts +2 -0
- package/publications/customer-notifications.js +161 -0
- package/publications/customer-notifications.js.map +1 -0
- package/publications/files.d.ts +2 -0
- package/publications/files.js +36 -0
- package/publications/files.js.map +1 -0
- package/publications/flags-update.d.ts +2 -0
- package/publications/flags-update.js +22 -0
- package/publications/flags-update.js.map +1 -0
- package/publications/flags.d.ts +2 -0
- package/publications/flags.js +22 -0
- package/publications/flags.js.map +1 -0
- package/publications/logs.d.ts +2 -0
- package/publications/logs.js +164 -0
- package/publications/logs.js.map +1 -0
- package/publications/notifications.d.ts +2 -0
- package/publications/notifications.js +16 -0
- package/publications/notifications.js.map +1 -0
- package/publications/report-builder-dashboard-builders.d.ts +2 -0
- package/publications/report-builder-dashboard-builders.js +42 -0
- package/publications/report-builder-dashboard-builders.js.map +1 -0
- package/publications/report-builder-libraries.d.ts +2 -0
- package/publications/report-builder-libraries.js +90 -0
- package/publications/report-builder-libraries.js.map +1 -0
- package/publications/report-builder-reports.d.ts +2 -0
- package/publications/report-builder-reports.js +50 -0
- package/publications/report-builder-reports.js.map +1 -0
- package/publications/super-admin.d.ts +2 -0
- package/publications/super-admin.js +16 -0
- package/publications/super-admin.js.map +1 -0
- package/publications/user-groups.d.ts +1 -0
- package/publications/user-groups.js +16 -0
- package/publications/user-groups.js.map +1 -0
- package/publications/user-guides.d.ts +1 -0
- package/publications/user-guides.js +16 -0
- package/publications/user-guides.js.map +1 -0
- package/resolveio-server-app.d.ts +70 -0
- package/resolveio-server-app.js +801 -0
- package/resolveio-server-app.js.map +1 -0
- package/server-app.d.ts +228 -0
- package/server-app.js +3566 -0
- package/server-app.js.map +1 -0
- package/services/codex-client.d.ts +128 -0
- package/services/codex-client.js +1629 -0
- package/services/codex-client.js.map +1 -0
- package/services/openai-client.d.ts +46 -0
- package/services/openai-client.js +318 -0
- package/services/openai-client.js.map +1 -0
- package/types/error-report.d.ts +25 -0
- package/types/error-report.js +4 -0
- package/types/error-report.js.map +1 -0
- package/types/slow-query-report.d.ts +27 -0
- package/types/slow-query-report.js +6 -0
- package/types/slow-query-report.js.map +1 -0
- package/util/ai-qa-policy.d.ts +124 -0
- package/util/ai-qa-policy.js +736 -0
- package/util/ai-qa-policy.js.map +1 -0
- package/util/ai-run-evidence-adapters.d.ts +109 -0
- package/util/ai-run-evidence-adapters.js +7234 -0
- package/util/ai-run-evidence-adapters.js.map +1 -0
- package/util/ai-run-evidence-dashboard.d.ts +88 -0
- package/util/ai-run-evidence-dashboard.js +343 -0
- package/util/ai-run-evidence-dashboard.js.map +1 -0
- package/util/ai-run-evidence-eval.d.ts +86 -0
- package/util/ai-run-evidence-eval.js +1018 -0
- package/util/ai-run-evidence-eval.js.map +1 -0
- package/util/ai-run-evidence.d.ts +244 -0
- package/util/ai-run-evidence.js +1096 -0
- package/util/ai-run-evidence.js.map +1 -0
- package/util/ai-runner-artifacts.d.ts +82 -0
- package/util/ai-runner-artifacts.js +713 -0
- package/util/ai-runner-artifacts.js.map +1 -0
- package/util/ai-runner-manager-autopilot.d.ts +210 -0
- package/util/ai-runner-manager-autopilot.js +642 -0
- package/util/ai-runner-manager-autopilot.js.map +1 -0
- package/util/ai-runner-manager-policy.d.ts +807 -0
- package/util/ai-runner-manager-policy.js +3501 -0
- package/util/ai-runner-manager-policy.js.map +1 -0
- package/util/ai-runner-qa-auth.d.ts +5 -0
- package/util/ai-runner-qa-auth.js +839 -0
- package/util/ai-runner-qa-auth.js.map +1 -0
- package/util/ai-runner-qa-tools.d.ts +26 -0
- package/util/ai-runner-qa-tools.js +3520 -0
- package/util/ai-runner-qa-tools.js.map +1 -0
- package/util/aicoder-runner-v6.d.ts +426 -0
- package/util/aicoder-runner-v6.js +2464 -0
- package/util/aicoder-runner-v6.js.map +1 -0
- package/util/common.d.ts +31 -0
- package/util/common.js +683 -0
- package/util/common.js.map +1 -0
- package/util/customer-portal-password.d.ts +13 -0
- package/util/customer-portal-password.js +209 -0
- package/util/customer-portal-password.js.map +1 -0
- package/util/error-reporter.d.ts +52 -0
- package/util/error-reporter.js +326 -0
- package/util/error-reporter.js.map +1 -0
- package/util/error-tracking.d.ts +13 -0
- package/util/error-tracking.js +120 -0
- package/util/error-tracking.js.map +1 -0
- package/util/openai-usage-cost.d.ts +6 -0
- package/util/openai-usage-cost.js +103 -0
- package/util/openai-usage-cost.js.map +1 -0
- package/util/report-builder-unwinds.d.ts +15 -0
- package/util/report-builder-unwinds.js +156 -0
- package/util/report-builder-unwinds.js.map +1 -0
- package/util/runner-process-janitor.d.ts +27 -0
- package/util/runner-process-janitor.js +208 -0
- package/util/runner-process-janitor.js.map +1 -0
- package/util/schema-report-builder.d.ts +6 -0
- package/util/schema-report-builder.js +481 -0
- package/util/schema-report-builder.js.map +1 -0
- package/util/slow-query-reporter.d.ts +28 -0
- package/util/slow-query-reporter.js +226 -0
- package/util/slow-query-reporter.js.map +1 -0
- package/util/subscription-dependency-context.d.ts +34 -0
- package/util/subscription-dependency-context.js +1283 -0
- package/util/subscription-dependency-context.js.map +1 -0
- package/util/support-runner-v5.d.ts +1426 -0
- package/util/support-runner-v5.js +7643 -0
- package/util/support-runner-v5.js.map +1 -0
- package/util/tokenizer.d.ts +5 -0
- package/util/tokenizer.js +41 -0
- package/util/tokenizer.js.map +1 -0
- package/workers/codex-runner.worker.d.ts +1 -0
- package/workers/codex-runner.worker.js +192 -0
- package/workers/codex-runner.worker.js.map +1 -0
- package/.nodemon.json +0 -5
- package/.vscode/settings.json +0 -21
- package/AGENTS.md +0 -195
- package/README.md +0 -22
- package/build_package.sh +0 -5
- package/compileDTS.pl +0 -64
- package/docs/ai-assistant-nightly-eval.md +0 -65
- package/docs/ai-assistant-preflight-checklist.md +0 -23
- package/docs/ai-assistant-report-builder-bridge-playbook.md +0 -115
- package/eslint-plugin-custom/index.js +0 -7
- package/eslint-plugin-custom/rules/no-filter-zero-index.js +0 -44
- package/eslint.config.js +0 -103
- package/gulpfile.js +0 -216
- package/methodAndPublicationListGenerator.py +0 -375
- package/mongodbensurers.js +0 -2
- package/mongostop.js +0 -3
- package/scripts/cleanup-bypassed-callmethod-logs.js +0 -616
- package/settings.development.json +0 -25
- package/settings.development.redacted.json +0 -25
- package/src/.env +0 -12
- package/src/ai/assistant-core-heuristics.ts +0 -379
- package/src/ai/resolveio-platform-intelligence-memory-corpus.ts +0 -185
- package/src/ai/resolveio-platform-intelligence-memory.ts +0 -325
- package/src/ai/resolveio-platform-intelligence.ts +0 -462
- package/src/client-server-app.ts +0 -12
- package/src/collections/ai-run.collection.ts +0 -117
- package/src/collections/ai-terminal-conversation.collection.ts +0 -91
- package/src/collections/ai-terminal-issue-report.collection.ts +0 -99
- package/src/collections/ai-terminal-message.collection.ts +0 -77
- package/src/collections/app-setting.collection.ts +0 -104
- package/src/collections/app-status.collection.ts +0 -58
- package/src/collections/communication-metric.collection.ts +0 -84
- package/src/collections/counter.collection.ts +0 -56
- package/src/collections/cron-job-history.collection.ts +0 -94
- package/src/collections/cron-job.collection.ts +0 -92
- package/src/collections/customer-notification.collection.ts +0 -131
- package/src/collections/customer-portal-password.collection.ts +0 -76
- package/src/collections/email-history.collection.ts +0 -134
- package/src/collections/email-verified.collection.ts +0 -62
- package/src/collections/file.collection.ts +0 -74
- package/src/collections/flag-update.collection.ts +0 -57
- package/src/collections/flag.collection.ts +0 -57
- package/src/collections/log-method-latency.collection.ts +0 -77
- package/src/collections/log-subscription.collection.ts +0 -80
- package/src/collections/log.collection.ts +0 -93
- package/src/collections/logged-in-users.collection.ts +0 -67
- package/src/collections/monitor-cpu.collection.ts +0 -65
- package/src/collections/monitor-function.collection.ts +0 -74
- package/src/collections/monitor-memory.collection.ts +0 -77
- package/src/collections/monitor-mongo.collection.ts +0 -71
- package/src/collections/notification.collection.ts +0 -57
- package/src/collections/openai-usage-ledger.collection.ts +0 -131
- package/src/collections/report-builder-dashboard-builder.collection.ts +0 -109
- package/src/collections/report-builder-library.collection.ts +0 -89
- package/src/collections/report-builder-report.collection.ts +0 -184
- package/src/collections/user-group.collection.ts +0 -89
- package/src/collections/user-guide.collection.ts +0 -57
- package/src/collections/user.collection.ts +0 -181
- package/src/cron/cron.ts +0 -117
- package/src/fixtures/cron-jobs.ts +0 -95
- package/src/fixtures/init.ts +0 -35
- package/src/http/auth.ts +0 -818
- package/src/http/health.ts +0 -7
- package/src/http/home.ts +0 -90
- package/src/http/slow-query-publication.ts +0 -49
- package/src/index.ts +0 -1
- package/src/managers/ai-assistant-codex-manager.manager.ts +0 -1131
- package/src/managers/ai-run-evidence.manager.ts +0 -264
- package/src/managers/communication-metric.manager.ts +0 -82
- package/src/managers/cron.manager.ts +0 -333
- package/src/managers/customer-notification-content.manager.ts +0 -236
- package/src/managers/diagnostic-manager-bootstrap.ts +0 -165
- package/src/managers/error-auto-fix.manager.ts +0 -2767
- package/src/managers/local-log.manager.ts +0 -113
- package/src/managers/method.manager.ts +0 -1857
- package/src/managers/mongo.manager.ts +0 -4575
- package/src/managers/monitor.manager.ts +0 -507
- package/src/managers/openai-usage-ledger.manager.ts +0 -112
- package/src/managers/slow-query-verifier.manager.ts +0 -3590
- package/src/managers/slow-query.manager.ts +0 -519
- package/src/managers/subscription.manager.ts +0 -3128
- package/src/managers/websocket.manager.ts +0 -746
- package/src/managers/worker-dispatcher.manager.ts +0 -1360
- package/src/managers/worker-server.manager.ts +0 -536
- package/src/methods/accounts.ts +0 -532
- package/src/methods/ai-terminal.ts +0 -29070
- package/src/methods/app-settings.ts +0 -114
- package/src/methods/aws.ts +0 -649
- package/src/methods/collections.ts +0 -641
- package/src/methods/counters.ts +0 -69
- package/src/methods/cron-jobs.ts +0 -2614
- package/src/methods/customer-notifications.ts +0 -458
- package/src/methods/diagnostics.ts +0 -616
- package/src/methods/flag-updates.ts +0 -7
- package/src/methods/flags.ts +0 -7
- package/src/methods/logs.ts +0 -657
- package/src/methods/mongo-explorer.ts +0 -1880
- package/src/methods/monitor.ts +0 -540
- package/src/methods/pdf.ts +0 -1236
- package/src/methods/publications.ts +0 -129
- package/src/methods/report-builder.ts +0 -3300
- package/src/methods/support.ts +0 -335
- package/src/models/ai-run.model.ts +0 -27
- package/src/models/ai-terminal-conversation.model.ts +0 -19
- package/src/models/ai-terminal-issue-report.model.ts +0 -21
- package/src/models/ai-terminal-message.model.ts +0 -24
- package/src/models/app-setting.model.ts +0 -17
- package/src/models/collection-document.model.ts +0 -24
- package/src/models/communication-metric.model.ts +0 -23
- package/src/models/cron-job-history.model.ts +0 -16
- package/src/models/cron-job.model.ts +0 -15
- package/src/models/customer-notification.model.ts +0 -28
- package/src/models/customer-portal-password.model.ts +0 -12
- package/src/models/dialog.model.ts +0 -25
- package/src/models/log-method-latency.model.ts +0 -11
- package/src/models/log.model.ts +0 -19
- package/src/models/method.model.ts +0 -25
- package/src/models/monitor-function.model.ts +0 -16
- package/src/models/monitor-memory.model.ts +0 -17
- package/src/models/monitor-mongo.model.ts +0 -15
- package/src/models/openai-usage-ledger.model.ts +0 -56
- package/src/models/pagination.model.ts +0 -35
- package/src/models/permission.model.ts +0 -14
- package/src/models/report-builder-dashboard-builder.model.ts +0 -29
- package/src/models/report-builder-library.model.ts +0 -20
- package/src/models/report-builder-report.model.ts +0 -136
- package/src/models/report-builder.model.ts +0 -68
- package/src/models/select-data-label.model.ts +0 -9
- package/src/models/server-message.model.ts +0 -31
- package/src/models/slow-query-report.model.ts +0 -23
- package/src/models/subscription.model.ts +0 -73
- package/src/models/support-ticket.model.ts +0 -104
- package/src/models/user-group.model.ts +0 -24
- package/src/models/user.model.ts +0 -96
- package/src/private/images/ResolveIO.png +0 -0
- package/src/publications/ai-terminal.ts +0 -73
- package/src/publications/app-settings.ts +0 -25
- package/src/publications/app-status.ts +0 -13
- package/src/publications/cron-jobs.ts +0 -40
- package/src/publications/customer-notifications.ts +0 -101
- package/src/publications/files.ts +0 -33
- package/src/publications/flags-update.ts +0 -19
- package/src/publications/flags.ts +0 -19
- package/src/publications/logs.ts +0 -163
- package/src/publications/notifications.ts +0 -13
- package/src/publications/report-builder-dashboard-builders.ts +0 -39
- package/src/publications/report-builder-libraries.ts +0 -41
- package/src/publications/report-builder-reports.ts +0 -47
- package/src/publications/super-admin.ts +0 -13
- package/src/publications/user-groups.ts +0 -12
- package/src/publications/user-guides.ts +0 -12
- package/src/resolveio-server-app.ts +0 -617
- package/src/server-app.ts +0 -3354
- package/src/services/codex-client.ts +0 -1231
- package/src/services/openai-client.ts +0 -265
- package/src/types/error-report.ts +0 -26
- package/src/types/js-tiktoken.d.ts +0 -11
- package/src/types/slow-query-report.ts +0 -28
- package/src/util/ai-qa-policy.ts +0 -925
- package/src/util/ai-run-evidence-adapters.ts +0 -8347
- package/src/util/ai-run-evidence-dashboard.ts +0 -323
- package/src/util/ai-run-evidence-eval.ts +0 -1057
- package/src/util/ai-run-evidence.ts +0 -1430
- package/src/util/ai-runner-artifacts.ts +0 -586
- package/src/util/ai-runner-manager-autopilot.ts +0 -961
- package/src/util/ai-runner-manager-policy.ts +0 -5011
- package/src/util/ai-runner-qa-auth.ts +0 -838
- package/src/util/ai-runner-qa-tools.ts +0 -3536
- package/src/util/aicoder-runner-v6.ts +0 -3121
- package/src/util/common.ts +0 -649
- package/src/util/customer-portal-password.ts +0 -183
- package/src/util/error-reporter.ts +0 -332
- package/src/util/error-tracking.ts +0 -79
- package/src/util/openai-usage-cost.ts +0 -114
- package/src/util/report-builder-unwinds.ts +0 -180
- package/src/util/runner-process-janitor.ts +0 -219
- package/src/util/schema-report-builder.ts +0 -448
- package/src/util/slow-query-reporter.ts +0 -216
- package/src/util/subscription-dependency-context.ts +0 -1096
- package/src/util/support-runner-v5.ts +0 -10040
- package/src/util/tokenizer.ts +0 -38
- package/src/workers/codex-runner.worker.ts +0 -142
- package/start_server.sh +0 -5
- package/tests/ai-assistant-corpus-build.ts +0 -484
- package/tests/ai-assistant-corpus-replay-e2e.ts +0 -774
- package/tests/ai-assistant-data-parity-e2e.ts +0 -1989
- package/tests/ai-assistant-eval-triage.ts +0 -831
- package/tests/ai-assistant-openai-e2e.ts +0 -1061
- package/tests/ai-assistant-openai-git-e2e.ts +0 -155
- package/tests/ai-assistant-preflight-matrix.ts +0 -215
- package/tests/ai-assistant-routing-eval.test.ts +0 -585
- package/tests/ai-assistant-snf-live-eval.ts +0 -975
- package/tests/ai-assistant-utils.test.ts +0 -4834
- package/tests/ai-manager-autopilot-snapshot.test.ts +0 -193
- package/tests/ai-manager-recovery-checkpoint.test.ts +0 -1383
- package/tests/ai-run-eval.test.ts +0 -132
- package/tests/ai-run-evidence.test.ts +0 -3773
- package/tests/ai-runner-contract.test.ts +0 -515
- package/tests/aicoder-runner-v6.test.ts +0 -822
- package/tests/error-reporter.test.ts +0 -145
- package/tests/method-publication-generator.test.ts +0 -46
- package/tests/report-builder-linking.test.ts +0 -79
- package/tests/resolveio-platform-intelligence.test.ts +0 -352
- package/tests/server-app-cron-owner.test.ts +0 -127
- package/tests/subscription-connect-race.test.ts +0 -158
- package/tests/subscription-dependency-context.test.ts +0 -324
- package/tests/subscription-manager-collection-tracking.test.ts +0 -86
- package/tests/subscription-manager-invalidation.test.ts +0 -86
- package/tests/support-runner-v5.test.ts +0 -3201
- package/tsconfig.json +0 -34
- /package/{src/private → private}/email-templates/enrollment.html +0 -0
- /package/{src/private → private}/email-templates/forgot-password.html +0 -0
- /package/{src/private → private}/email-templates/support-ticket-deleted.html +0 -0
- /package/{src/private → private}/email-templates/support-ticket-modified.html +0 -0
- /package/{src/private → private}/email-templates/support-ticket.html +0 -0
- /package/{src/public_api.ts → public_api.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/util/ai-run-evidence-adapters.ts"],"names":[],"mappings":"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","file":"ai-run-evidence-adapters.js","sourcesContent":["import {\n\tAIRun,\n\tAIRunCost,\n\tAIRunEvent,\n\tAIRunGateResult,\n\tAIQaArtifact,\n\tAIQaBusinessAssertion,\n\tAIQaCompileResult,\n\tAIQaInfraCheck,\n\tAIQaRun,\n\tAIQaRouteProbe,\n\tbuildAIRun,\n\tbuildAIRunCost,\n\tbuildAIQaRun,\n\tnormalizeOpenAIUsageRowsForCosting\n} from './ai-run-evidence';\nimport {\n\tevaluateResolveIOAICoderWorkflowProofReadiness,\n\tResolveIOAICoderJourneyContractValidationResult,\n\tResolveIOAICoderWorkflowProofReadiness,\n\tvalidateResolveIOAICoderJourneyContract\n} from './aicoder-runner-v6';\nimport {\n\tbuildResolveIOAIManagerHotfixDurabilityContract,\n\tdecideResolveIOAIManagerPolicy,\n\tResolveIOAIManagerFailureRecord,\n\tvalidateResolveIOAIManagerRecoveryExecutionProofContract,\n\tvalidateResolveIOAIManagerHotfixEvidence\n} from './ai-runner-manager-policy';\nimport {\n\tbuildResolveIOSupportDiagnosisProofMatrix,\n\tbuildResolveIOSupportDiagnosisEvidencePack,\n\tbuildResolveIOSupportIssueClassProbePlan,\n\tbuildResolveIOSupportOwnerScopedRepairContract,\n\tchangedFilesOutsideResolveIOSupportDiagnosisOwnerFiles,\n\tbuildResolveIOSupportManagerExecutionPacket,\n\tvalidateResolveIOSupportClarificationContract,\n\tvalidateResolveIOSupportCustomerReplyReadinessContract,\n\tvalidateResolveIOSupportEvidenceProbeContract,\n\tvalidateResolveIOSupportIssueClassProbePlan,\n\tvalidateResolveIOSupportDiagnosisGate\n} from './support-runner-v5';\n\nexport interface SupportAIRunAdapterInput {\n\tticket?: Record<string, any>;\n\tjob?: Record<string, any>;\n\tversions?: Array<Record<string, any>>;\n\tbuildPlans?: Array<Record<string, any>>;\n\taiJobs?: Array<Record<string, any>>;\n\ttaskEvents?: Array<Record<string, any>>;\n\tusageLedger?: Array<Record<string, any>>;\n\tcommits?: Array<Record<string, any>>;\n\tqaEvidence?: Record<string, any>;\n\tnow?: Date | string;\n}\n\nexport interface AICoderAIRunAdapterInput {\n\tapp?: Record<string, any>;\n\tjob?: Record<string, any>;\n\tlogs?: Array<Record<string, any>>;\n\tusageLedger?: Array<Record<string, any>>;\n\tcommits?: Array<Record<string, any>>;\n\tqaEvidence?: Record<string, any>;\n\tnow?: Date | string;\n}\n\nexport interface AssistantAIRunAdapterInput {\n\trunId?: string;\n\trequestId?: string;\n\tmessageId?: string;\n\tconversation?: Record<string, any>;\n\tmessages?: Array<Record<string, any>>;\n\tissueReports?: Array<Record<string, any>>;\n\tusageLedger?: Array<Record<string, any>>;\n\tcorrectnessChecks?: Array<Record<string, any>>;\n\tanswerQuality?: Record<string, any>;\n\tnow?: Date | string;\n}\n\nexport type AssistantAnswerQualityStatus =\n\t| 'ready'\n\t| 'missing_data_source'\n\t| 'date_incorrect'\n\t| 'missing_date_window'\n\t| 'illegal_query_shape'\n\t| 'missing_query_proof'\n\t| 'query_error'\n\t| 'permission_error'\n\t| 'no_data_unverified'\n\t| 'missing_citations'\n\t| 'low_confidence'\n\t| 'missing_next_action'\n\t| 'incorrect'\n\t| 'blocked';\n\nexport interface AssistantAnswerQualityInput {\n\tanswerQuality?: Record<string, any>;\n\tcorrectnessChecks?: Array<Record<string, any>>;\n\tnow?: Date | string;\n}\n\nexport interface AssistantAnswerQualityDecision {\n\tready: boolean;\n\tstatus: AssistantAnswerQualityStatus;\n\treason: string;\n\tblockers: string[];\n\tqueryStatus: 'ok' | 'no_data' | 'query_error' | 'permission_error' | 'unknown';\n\tconfidenceLevel: 'high' | 'medium' | 'low' | 'unknown';\n\tdateBasis?: string;\n\texpectedCurrentDate?: string;\n\tdateWindowRequired: boolean;\n\tdateWindowPresent: boolean;\n\tdateWindow?: {\n\t\tstartDate?: string;\n\t\tendDate?: string;\n\t\tmode?: string;\n\t\tmonths?: number;\n\t};\n\tnoDataConfirmed: boolean;\n\tlegalQueryShape: boolean;\n\tcitationRefs: string[];\n\tqueryEvidenceRequired: boolean;\n\tqueryEvidencePresent: boolean;\n\tqueryEvidenceRefs: string[];\n\tqueryExecutionCount: number;\n\tnextActions: string[];\n\tevidenceRefs: string[];\n\tfailedChecks: string[];\n\trecordedAt: string;\n}\n\nexport type AssistantAnswerActionabilityStatus =\n\t| 'ready_to_answer'\n\t| 'needs_query_repair'\n\t| 'needs_permission'\n\t| 'needs_no_data_verification'\n\t| 'needs_date_window_repair'\n\t| 'needs_query_shape_repair'\n\t| 'needs_evidence'\n\t| 'needs_confidence_review'\n\t| 'needs_next_action'\n\t| 'incorrect'\n\t| 'blocked';\n\nexport interface AssistantAnswerActionabilityContract {\n\tcontractId: string;\n\tstatus: AssistantAnswerActionabilityStatus;\n\tprimaryCommand: string;\n\tlabel: string;\n\tcanAnswerCustomer: boolean;\n\tcanDraftSupportReply: boolean;\n\tcanSendCustomerReply: boolean;\n\trequiresHumanReview: boolean;\n\tcanRunWithoutCodexMonitor: boolean;\n\tcodexFallbackRequired: boolean;\n\tcostRisk: 'free_or_deterministic' | 'small_model_or_qa' | 'expensive_model' | 'release_or_customer_send' | 'manual_blocked';\n\tqueryResultClass: AssistantAnswerQualityDecision['queryStatus'];\n\tconfidenceLevel: AssistantAnswerQualityDecision['confidenceLevel'];\n\tdecisionBasis: {\n\t\tanswerQualityStatus: AssistantAnswerQualityStatus;\n\t\tqueryStatus: AssistantAnswerQualityDecision['queryStatus'];\n\t\tqueryEvidencePresent: boolean;\n\t\tnoDataConfirmed: boolean;\n\t\tlegalQueryShape: boolean;\n\t\tdateWindowRequired: boolean;\n\t\tdateWindowPresent: boolean;\n\t\tcitationCount: number;\n\t\tnextActionCount: number;\n\t};\n\trequiredEvidence: string[];\n\tsuccessEvidence: string[];\n\tblockers: string[];\n\tnextActions: string[];\n\tnextCommands: string[];\n\tforbiddenActions: string[];\n\tevidenceRefs: string[];\n\trecordedAt: string;\n}\n\nfunction cleanText(value: any, max = 1000): string {\n\treturn String(value || '').replace(/\\s+/g, ' ').trim().slice(0, max);\n}\n\nfunction idText(value: any, max = 160): string | undefined {\n\tconst normalized = cleanText(value, max);\n\treturn normalized || undefined;\n}\n\nfunction asArray<T = any>(value: any): T[] {\n\treturn Array.isArray(value) ? value : [];\n}\n\nfunction cleanStringList(value: any, limit = 40, max = 500): string[] {\n\treturn asArray<any>(value)\n\t\t.map((entry) => cleanText(entry, max))\n\t\t.filter(Boolean)\n\t\t.slice(0, limit);\n}\n\nfunction plainObject(value: any): Record<string, any> {\n\treturn value && typeof value === 'object' && !Array.isArray(value) ? value : {};\n}\n\nfunction objectList(value: any): Record<string, any>[] {\n\tif (Array.isArray(value)) {\n\t\treturn value.filter((entry) => entry && typeof entry === 'object' && !Array.isArray(entry));\n\t}\n\treturn value && typeof value === 'object' && !Array.isArray(value) ? [value] : [];\n}\n\nfunction firstText(source: Record<string, any> | undefined, fields: string[], max = 1000): string | undefined {\n\tfor (const field of fields) {\n\t\tconst value = source?.[field];\n\t\tconst normalized = idText(value, max);\n\t\tif (normalized) {\n\t\t\treturn normalized;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction dateValue(source: Record<string, any> | undefined, fields: string[]): Date | string | undefined {\n\tfor (const field of fields) {\n\t\tconst value = source?.[field];\n\t\tif (value) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction addSourceId(sourceIds: Record<string, string>, key: string, value: any): void {\n\tconst normalized = idText(value);\n\tif (normalized) {\n\t\tsourceIds[key] = normalized;\n\t}\n}\n\nfunction pushEvent(events: AIRunEvent[], event: AIRunEvent): void {\n\tconst message = cleanText(event.message, 1800);\n\tconst metadata = event.metadata || {};\n\tif (!message && !Object.keys(metadata).length && !event.artifactPaths?.length) {\n\t\treturn;\n\t}\n\tevents.push({\n\t\t...event,\n\t\tmessage,\n\t\tartifactPaths: asArray<string>(event.artifactPaths).filter(Boolean).slice(0, 20)\n\t});\n}\n\nfunction eventDate(record: Record<string, any>): Date | string | undefined {\n\treturn dateValue(record, ['recordedAt', 'createdAt', 'updatedAt', 'timestamp', 'time', 'date']);\n}\n\nfunction normalizeManagerFailureRecord(value: any, fallback: Partial<ResolveIOAIManagerFailureRecord> = {}): ResolveIOAIManagerFailureRecord | undefined {\n\tconst entry = plainObject(value);\n\tif (!Object.keys(entry).length && !Object.keys(fallback).length) {\n\t\treturn undefined;\n\t}\n\tconst blocker = cleanText(entry.blocker || entry.reason || entry.summary || entry.message || fallback.blocker || fallback.summary, 1200);\n\tconst failureClass = cleanText(entry.failureClass || entry.failure_class || entry.class || fallback.failureClass, 120);\n\tconst evidenceHash = cleanText(entry.evidenceHash || entry.evidence_hash || entry.hash || fallback.evidenceHash, 180);\n\tconst blockerFingerprint = cleanText(entry.blockerFingerprint || entry.blocker_fingerprint || fallback.blockerFingerprint, 180);\n\tconst lane = cleanText(entry.lane || fallback.lane || 'support', 80);\n\tconst stepType = cleanText(entry.stepType || entry.step_type || entry.type || fallback.stepType || 'support_step', 80);\n\tconst outcome = cleanText(entry.outcome || entry.status || entry.result || fallback.outcome || 'needs_repair', 80);\n\tif (!blocker && !failureClass && !evidenceHash && !blockerFingerprint) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\tlane,\n\t\tstepType,\n\t\toutcome,\n\t\tfailureClass: failureClass || undefined,\n\t\tblocker: blocker || undefined,\n\t\tsummary: cleanText(entry.summary || entry.message || fallback.summary, 1200) || undefined,\n\t\tblockerFingerprint: blockerFingerprint || undefined,\n\t\tevidenceHash: evidenceHash || undefined,\n\t\tchangedFiles: cleanStringList(entry.changedFiles || entry.changed_files || fallback.changedFiles, 80, 500),\n\t\tartifactPaths: cleanStringList(entry.artifactPaths || entry.artifact_paths || entry.artifacts || fallback.artifactPaths, 80, 500)\n\t};\n}\n\nfunction supportManagerFailureRecords(job: Record<string, any>, evidence: Record<string, any>): ResolveIOAIManagerFailureRecord[] {\n\tconst records: ResolveIOAIManagerFailureRecord[] = [];\n\tconst pushRecord = (value: any, fallback: Partial<ResolveIOAIManagerFailureRecord> = {}): void => {\n\t\tconst record = normalizeManagerFailureRecord(value, fallback);\n\t\tif (record) {\n\t\t\trecords.push(record);\n\t\t}\n\t};\n\tfor (const entry of asArray<any>(job.supportV5StepHistory || job.support_v5_step_history || evidence.supportV5StepHistory || evidence.support_v5_step_history)) {\n\t\tpushRecord(entry);\n\t}\n\tfor (const entry of asArray<any>(job.supportV5FailureFingerprints || job.support_v5_failure_fingerprints || evidence.supportV5FailureFingerprints || evidence.support_v5_failure_fingerprints)) {\n\t\tconst fingerprint = plainObject(entry);\n\t\tconst count = Math.max(1, Math.min(8, Number(fingerprint.count || fingerprint.repeatedCount || fingerprint.repeated_count || 1) || 1));\n\t\tconst fallback = {\n\t\t\tlane: cleanText(fingerprint.lane || 'support', 80),\n\t\t\tstepType: cleanText(fingerprint.stepType || fingerprint.step_type || 'support_step', 80),\n\t\t\toutcome: cleanText(fingerprint.outcome || 'needs_repair', 80),\n\t\t\tfailureClass: cleanText(fingerprint.failureClass || fingerprint.failure_class || fingerprint.class, 120),\n\t\t\tblocker: cleanText(fingerprint.blocker || fingerprint.reason || fingerprint.summary, 1200),\n\t\t\tblockerFingerprint: cleanText(fingerprint.blockerFingerprint || fingerprint.blocker_fingerprint, 180),\n\t\t\tevidenceHash: cleanText(fingerprint.evidenceHash || fingerprint.evidence_hash, 180)\n\t\t};\n\t\tfor (let index = 0; index < count; index += 1) {\n\t\t\tpushRecord(fingerprint, fallback);\n\t\t}\n\t}\n\tconst currentFailure = evidenceObject(\n\t\tjob.supportV5CurrentFailure,\n\t\tjob.support_v5_current_failure,\n\t\tjob.supportV5RecoveryCurrent,\n\t\tjob.support_v5_recovery_current,\n\t\tevidence.currentFailure,\n\t\tevidence.current_failure\n\t);\n\tpushRecord(currentFailure);\n\treturn records.slice(-80);\n}\n\nfunction managerNoBlindLoopGateFromHistory(\n\thistory: ResolveIOAIManagerFailureRecord[],\n\tbudgetSource: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!history.length) {\n\t\treturn undefined;\n\t}\n\tconst budget = plainObject(budgetSource);\n\tconst maxSameFailureRepeats = Math.max(1, Number(budget.maxRepeatedNoProgress || budget.max_repeated_no_progress || budget.maxSameFailureRepeats || budget.max_same_failure_repeats || 3) || 3);\n\tconst decision = decideResolveIOAIManagerPolicy({\n\t\thistory,\n\t\tmaxSameFailureRepeats\n\t});\n\tconst parksRun = /^(park_repeated_failure|park_ping_pong|manual_handoff)$/.test(decision.action);\n\tconst status: AIRunGateResult['status'] = parksRun\n\t\t? 'blocked'\n\t\t: decision.action === 'retry_infra'\n\t\t\t? 'warn'\n\t\t\t: 'pass';\n\treturn {\n\t\tkey: 'manager_no_blind_loop_policy',\n\t\tlabel: 'No-blind-loop manager policy',\n\t\tstatus,\n\t\treason: decision.reason,\n\t\tevidenceRefs: cleanStringList(decision.recoveryAction.requiredArtifacts, 20, 500),\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\taction: decision.action,\n\t\t\tfailureClass: decision.failureClass,\n\t\t\tblockerFingerprint: decision.blockerFingerprint,\n\t\t\tevidenceHash: decision.evidenceHash,\n\t\t\tsameFailureCount: decision.sameFailureCount,\n\t\t\tpingPongCount: decision.pingPongCount,\n\t\t\tnewEvidence: decision.newEvidence,\n\t\t\tmaterialEvidence: decision.materialEvidence,\n\t\t\tevidenceStrength: decision.evidenceStrength,\n\t\t\tevidenceSignals: decision.evidenceSignals,\n\t\t\tloopBudgetShouldReset: decision.loopBudgetShouldReset,\n\t\t\tproductRepairFailure: decision.productRepairFailure,\n\t\t\trecoveryClass: decision.recoveryPlan.recoveryClass,\n\t\t\tallowedAction: decision.recoveryPlan.allowedAction,\n\t\t\tdispatchAction: decision.recoveryAction.allowedDispatchAction,\n\t\t\tevidenceOnly: decision.recoveryAction.evidenceOnly,\n\t\t\tproductRepairAllowed: decision.recoveryAction.productRepairAllowed,\n\t\t\texpensiveModelAllowed: decision.recoveryAction.expensiveModelAllowed,\n\t\t\tcostCeilingUsd: decision.recoveryAction.costCeilingUsd,\n\t\t\trequiresNewEvidence: decision.recoveryAction.retryPolicy?.requireNewEvidence === true,\n\t\t\tnextCommands: decision.recoveryAction.nextCommands,\n\t\t\trequiredEvidence: decision.recoveryAction.requiredArtifacts,\n\t\t\tforbiddenActions: decision.recoveryPlan.forbiddenActions\n\t\t}\n\t};\n}\n\nfunction managerRecoveryExecutionProofGate(\n\tproof: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!proof || !Object.keys(proof).length) {\n\t\treturn undefined;\n\t}\n\tconst validation = validateResolveIOAIManagerRecoveryExecutionProofContract(proof);\n\tconst normalized = validation.normalized;\n\tconst statusText = cleanText(normalized.status, 120);\n\tconst gateStatus: AIRunGateResult['status'] = validation.valid && normalized.canContinueRun === true && statusText === 'proof_ready'\n\t\t? 'pass'\n\t\t: statusText === 'manual_handoff'\n\t\t\t? 'warn'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'manager_recovery_execution_proof',\n\t\tlabel: 'Manager recovery execution proof',\n\t\tstatus: gateStatus,\n\t\treason: normalized.blockers[0] || validation.blockers[0] || statusText || 'Manager recovery execution proof recorded.',\n\t\tevidenceRefs: normalized.artifactPaths,\n\t\trecordedAt: isoNow(now || normalized.createdAt),\n\t\tmetadata: {\n\t\t\tcontractId: normalized.contractId,\n\t\t\tdirectiveId: normalized.directiveId,\n\t\t\tsurface: normalized.surface,\n\t\t\tdispatchAction: normalized.dispatchAction,\n\t\t\tphase: normalized.phase,\n\t\t\tstatus: statusText,\n\t\t\tcanContinueRun: normalized.canContinueRun,\n\t\t\tcanRunProductRepair: normalized.canRunProductRepair,\n\t\t\tcanRunExpensiveModel: normalized.canRunExpensiveModel,\n\t\t\tcanResetLoopBudget: normalized.canResetLoopBudget,\n\t\t\tproofRequiredBeforeContinuation: normalized.proofRequiredBeforeContinuation,\n\t\t\trequiresNewEvidence: normalized.requiresNewEvidence,\n\t\t\tnewEvidence: normalized.newEvidence,\n\t\t\tmaterialEvidence: normalized.materialEvidence,\n\t\t\tevidenceStrength: normalized.evidenceStrength,\n\t\t\tevidenceSignals: normalized.evidenceSignals,\n\t\t\tstartingFailureClass: normalized.startingFailureClass,\n\t\t\tstartingBlockerFingerprint: normalized.startingBlockerFingerprint,\n\t\t\tstartingEvidenceHash: normalized.startingEvidenceHash,\n\t\t\tlatestFailureClass: normalized.latestFailureClass,\n\t\t\tlatestBlockerFingerprint: normalized.latestBlockerFingerprint,\n\t\t\tlatestEvidenceHash: normalized.latestEvidenceHash,\n\t\t\trequiredEvidence: normalized.requiredEvidence,\n\t\t\tmissingEvidence: normalized.missingEvidence,\n\t\t\tchangedFiles: normalized.changedFiles,\n\t\t\tblockers: Array.from(new Set([...normalized.blockers, ...validation.blockers])),\n\t\t\tnextAllowedAction: normalized.nextAllowedAction,\n\t\t\tforbiddenActions: normalized.forbiddenActions\n\t\t}\n\t};\n}\n\nfunction supportManagerNoBlindLoopGate(\n\tjob: Record<string, any>,\n\tevidence: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\treturn managerNoBlindLoopGateFromHistory(\n\t\tsupportManagerFailureRecords(job, evidence),\n\t\tjob.supportV5Budget || job.support_v5_budget || evidence.supportV5Budget || evidence.support_v5_budget,\n\t\tnow\n\t);\n}\n\nfunction aicoderManagerFailureRecords(\n\tapp: Record<string, any>,\n\tjob: Record<string, any>,\n\tevidence: Record<string, any>\n): ResolveIOAIManagerFailureRecord[] {\n\tconst records: ResolveIOAIManagerFailureRecord[] = [];\n\tconst pushRecord = (value: any, fallback: Partial<ResolveIOAIManagerFailureRecord> = {}): void => {\n\t\tconst record = normalizeManagerFailureRecord(value, {\n\t\t\tlane: 'aicoder',\n\t\t\tstepType: 'workflow_step',\n\t\t\t...fallback\n\t\t});\n\t\tif (record) {\n\t\t\trecords.push(record);\n\t\t}\n\t};\n\tconst historySources = [\n\t\tjob.aicoderV6StepHistory,\n\t\tjob.aiCoderV6StepHistory,\n\t\tjob.aicoder_v6_step_history,\n\t\tjob.ai_coder_v6_step_history,\n\t\tjob.workflowStepHistory,\n\t\tjob.workflow_step_history,\n\t\tjob.stepHistory,\n\t\tjob.step_history,\n\t\tjob.managerFailureHistory,\n\t\tjob.manager_failure_history,\n\t\tapp.aicoderV6StepHistory,\n\t\tapp.aiCoderV6StepHistory,\n\t\tapp.aicoder_v6_step_history,\n\t\tapp.ai_coder_v6_step_history,\n\t\tapp.workflowStepHistory,\n\t\tapp.workflow_step_history,\n\t\tevidence.aicoderV6StepHistory,\n\t\tevidence.aiCoderV6StepHistory,\n\t\tevidence.aicoder_v6_step_history,\n\t\tevidence.ai_coder_v6_step_history,\n\t\tevidence.workflowStepHistory,\n\t\tevidence.workflow_step_history,\n\t\tevidence.stepHistory,\n\t\tevidence.step_history,\n\t\tevidence.managerFailureHistory,\n\t\tevidence.manager_failure_history\n\t];\n\tfor (const source of historySources) {\n\t\tfor (const entry of asArray<any>(source)) {\n\t\t\tpushRecord(entry);\n\t\t}\n\t}\n\tconst fingerprintSources = [\n\t\tjob.aicoderV6FailureFingerprints,\n\t\tjob.aiCoderV6FailureFingerprints,\n\t\tjob.aicoder_v6_failure_fingerprints,\n\t\tjob.ai_coder_v6_failure_fingerprints,\n\t\tjob.workflowFailureFingerprints,\n\t\tjob.workflow_failure_fingerprints,\n\t\tjob.failureFingerprints,\n\t\tjob.failure_fingerprints,\n\t\tapp.aicoderV6FailureFingerprints,\n\t\tapp.aiCoderV6FailureFingerprints,\n\t\tapp.aicoder_v6_failure_fingerprints,\n\t\tapp.ai_coder_v6_failure_fingerprints,\n\t\tevidence.aicoderV6FailureFingerprints,\n\t\tevidence.aiCoderV6FailureFingerprints,\n\t\tevidence.aicoder_v6_failure_fingerprints,\n\t\tevidence.ai_coder_v6_failure_fingerprints,\n\t\tevidence.workflowFailureFingerprints,\n\t\tevidence.workflow_failure_fingerprints,\n\t\tevidence.failureFingerprints,\n\t\tevidence.failure_fingerprints\n\t];\n\tfor (const source of fingerprintSources) {\n\t\tfor (const entry of asArray<any>(source)) {\n\t\t\tconst fingerprint = plainObject(entry);\n\t\t\tconst count = Math.max(1, Math.min(8, Number(fingerprint.count || fingerprint.repeatedCount || fingerprint.repeated_count || 1) || 1));\n\t\t\tconst fallback = {\n\t\t\t\tlane: cleanText(fingerprint.lane || 'aicoder', 80),\n\t\t\t\tstepType: cleanText(fingerprint.stepType || fingerprint.step_type || 'workflow_step', 80),\n\t\t\t\toutcome: cleanText(fingerprint.outcome || 'needs_repair', 80),\n\t\t\t\tfailureClass: cleanText(fingerprint.failureClass || fingerprint.failure_class || fingerprint.class, 120),\n\t\t\t\tblocker: cleanText(fingerprint.blocker || fingerprint.reason || fingerprint.summary, 1200),\n\t\t\t\tblockerFingerprint: cleanText(fingerprint.blockerFingerprint || fingerprint.blocker_fingerprint, 180),\n\t\t\t\tevidenceHash: cleanText(fingerprint.evidenceHash || fingerprint.evidence_hash, 180)\n\t\t\t};\n\t\t\tfor (let index = 0; index < count; index += 1) {\n\t\t\t\tpushRecord(fingerprint, fallback);\n\t\t\t}\n\t\t}\n\t}\n\tconst currentFailure = evidenceObject(\n\t\tjob.aicoderV6CurrentFailure,\n\t\tjob.aiCoderV6CurrentFailure,\n\t\tjob.aicoder_v6_current_failure,\n\t\tjob.ai_coder_v6_current_failure,\n\t\tjob.workflowCurrentFailure,\n\t\tjob.workflow_current_failure,\n\t\tjob.currentFailure,\n\t\tjob.current_failure,\n\t\tevidence.aicoderV6CurrentFailure,\n\t\tevidence.aiCoderV6CurrentFailure,\n\t\tevidence.aicoder_v6_current_failure,\n\t\tevidence.ai_coder_v6_current_failure,\n\t\tevidence.workflowCurrentFailure,\n\t\tevidence.workflow_current_failure,\n\t\tevidence.currentFailure,\n\t\tevidence.current_failure\n\t);\n\tpushRecord(currentFailure);\n\treturn records.slice(-80);\n}\n\nfunction aicoderManagerNoBlindLoopGate(\n\tapp: Record<string, any>,\n\tjob: Record<string, any>,\n\tevidence: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\treturn managerNoBlindLoopGateFromHistory(\n\t\taicoderManagerFailureRecords(app, job, evidence),\n\t\tjob.aicoderV6Budget\n\t\t\t|| job.aiCoderV6Budget\n\t\t\t|| job.aicoder_v6_budget\n\t\t\t|| job.ai_coder_v6_budget\n\t\t\t|| evidence.aicoderV6Budget\n\t\t\t|| evidence.aiCoderV6Budget\n\t\t\t|| evidence.aicoder_v6_budget\n\t\t\t|| evidence.ai_coder_v6_budget\n\t\t\t|| app.aicoderV6Budget\n\t\t\t|| app.aiCoderV6Budget\n\t\t\t|| app.aicoder_v6_budget\n\t\t\t|| app.ai_coder_v6_budget\n\t\t\t|| job.budget\n\t\t\t|| evidence.budget,\n\t\tnow\n\t);\n}\n\nfunction managerNoBlindLoopMetadata(gate: AIRunGateResult | undefined): Record<string, any> | undefined {\n\tif (!gate) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\taction: cleanText(gate.metadata?.action, 120),\n\t\tstatus: gate.status,\n\t\tfailureClass: cleanText(gate.metadata?.failureClass, 120),\n\t\tsameFailureCount: Number(gate.metadata?.sameFailureCount || 0),\n\t\tpingPongCount: Number(gate.metadata?.pingPongCount || 0),\n\t\tnewEvidence: gate.metadata?.newEvidence === true,\n\t\tmaterialEvidence: gate.metadata?.materialEvidence === true,\n\t\tevidenceStrength: cleanText(gate.metadata?.evidenceStrength, 120),\n\t\tloopBudgetShouldReset: gate.metadata?.loopBudgetShouldReset === true,\n\t\tdispatchAction: cleanText(gate.metadata?.dispatchAction, 160),\n\t\tproductRepairAllowed: gate.metadata?.productRepairAllowed === true,\n\t\texpensiveModelAllowed: gate.metadata?.expensiveModelAllowed === true,\n\t\tproductRepairFailure: gate.metadata?.productRepairFailure === true,\n\t\trequiresNewEvidence: gate.metadata?.requiresNewEvidence === true\n\t};\n}\n\nfunction hotfixEvidenceCandidates(...sources: any[]): Record<string, any>[] {\n\tconst result: Record<string, any>[] = [];\n\tconst seen = new Set<string>();\n\tconst pushCandidate = (value: any): void => {\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (const entry of value) {\n\t\t\t\tpushCandidate(entry);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn;\n\t\t}\n\t\tconst nestedValues = [\n\t\t\tvalue.hotfixEvidence,\n\t\t\tvalue.hotfix_evidence,\n\t\t\tvalue.releaseHotfixEvidence,\n\t\t\tvalue.release_hotfix_evidence,\n\t\t\tvalue.managerHotfixEvidence,\n\t\t\tvalue.manager_hotfix_evidence,\n\t\t\tvalue.backendHotfixEvidence,\n\t\t\tvalue.backend_hotfix_evidence\n\t\t].filter(Boolean);\n\t\tif (nestedValues.length) {\n\t\t\tfor (const nestedValue of nestedValues) {\n\t\t\t\tpushCandidate(nestedValue);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (!(value.channel || value.hotfixChannel || value.hotfix_channel)) {\n\t\t\treturn;\n\t\t}\n\t\tconst key = JSON.stringify({\n\t\t\tchannel: value.channel || value.hotfixChannel || value.hotfix_channel,\n\t\t\thost: value.target?.host || value.host,\n\t\t\tpath: value.target?.path || value.path || value.remotePath || value.remote_path,\n\t\t\tchecksum: value.remoteChecksumAfter || value.remote_checksum_after || value.remoteChecksum || value.remote_checksum\n\t\t});\n\t\tif (seen.has(key)) {\n\t\t\treturn;\n\t\t}\n\t\tseen.add(key);\n\t\tresult.push(value);\n\t};\n\tfor (const source of sources) {\n\t\tpushCandidate(source);\n\t}\n\treturn result;\n}\n\nfunction hotfixEvidenceArtifactPaths(evidence: Record<string, any>, normalized: Record<string, any> | undefined): string[] {\n\treturn [\n\t\tnormalized?.compiledArtifactPath,\n\t\tnormalized?.builtDistPath,\n\t\tnormalized?.target?.artifactPath,\n\t\tevidence.compiledArtifactPath,\n\t\tevidence.compiled_artifact_path,\n\t\tevidence.builtDistPath,\n\t\tevidence.built_dist_path,\n\t\tevidence.artifactPath,\n\t\tevidence.artifact_path\n\t].map((entry) => cleanText(entry, 500)).filter(Boolean).slice(0, 8);\n}\n\nfunction hotfixEvidenceGate(\n\tevidence: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tconst validation = validateResolveIOAIManagerHotfixEvidence(evidence);\n\tif (!validation.normalized && validation.status === 'missing') {\n\t\treturn undefined;\n\t}\n\tconst status: AIRunGateResult['status'] = validation.valid\n\t\t? (validation.fullDeployAllowed ? 'warn' : 'pass')\n\t\t: validation.status === 'blocked'\n\t\t\t? 'blocked'\n\t\t\t: 'fail';\n\tconst reason = validation.valid\n\t\t? validation.fullDeployAllowed\n\t\t\t? 'Hotfix evidence allows exactly one full deploy after force/new-artifact proof.'\n\t\t\t: 'Hotfix evidence is sufficient; rerun the smallest release gate before continuing.'\n\t\t: validation.blockers.join('; ');\n\treturn {\n\t\tkey: 'hotfix_evidence',\n\t\tlabel: 'Hotfix evidence',\n\t\tstatus,\n\t\treason,\n\t\tevidenceRefs: hotfixEvidenceArtifactPaths(evidence, validation.normalized as any),\n\t\trecordedAt: isoNow(now || validation.normalized?.recordedAt),\n\t\tmetadata: {\n\t\t\tchannel: validation.channel,\n\t\t\tnextAction: validation.nextAction,\n\t\t\tfullDeployAllowed: validation.fullDeployAllowed,\n\t\t\tfullDeployBlocked: validation.fullDeployBlocked,\n\t\t\thotfixSatisfied: validation.hotfixSatisfied,\n\t\t\tblockers: validation.blockers,\n\t\t\tgithubCommitGuard: validation.githubCommitGuard,\n\t\t\ttarget: validation.normalized?.target\n\t\t}\n\t};\n}\n\nfunction hotfixCommitProofGate(\n\tevidence: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tconst validation = validateResolveIOAIManagerHotfixEvidence(evidence);\n\tconst guard = validation.githubCommitGuard;\n\tif (!guard.required) {\n\t\treturn undefined;\n\t}\n\tconst status: AIRunGateResult['status'] = guard.passed\n\t\t? 'pass'\n\t\t: guard.status === 'invalid'\n\t\t\t? 'fail'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'hotfix_commit_proof',\n\t\tlabel: 'Hotfix GitHub commit proof',\n\t\tstatus,\n\t\treason: guard.passed\n\t\t\t? 'Hotfix has matching sourceCommitSha, GitHub commit URL, passed gitCommitStatus, and passed gitPushStatus.'\n\t\t\t: (guard.blockers.join('; ') || 'Manager hotfix is blocked until sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus prove the hotfix is committed and pushed to GitHub.'),\n\t\tevidenceRefs: cleanStringList([guard.githubCommitUrl], 1, 500),\n\t\trecordedAt: isoNow(now || validation.normalized?.recordedAt),\n\t\tmetadata: {\n\t\t\tchannel: guard.channel || validation.channel,\n\t\t\tstatus: guard.status,\n\t\t\tpassed: guard.passed,\n\t\t\tcommitFirstProtocol: guard.required ? 'commit_first_hotfix' : 'not_required',\n\t\t\tcommitFirstProtocolSatisfied: guard.required ? guard.passed === true : true,\n\t\t\tliveHotfixBlockedUntilCommit: guard.required === true && guard.passed !== true,\n\t\t\tmanagerMustCommitBeforeHotfix: guard.managerMustCommitBeforeHotfix,\n\t\t\tsourceCommitSha: guard.sourceCommitSha,\n\t\t\tgithubCommitUrl: guard.githubCommitUrl,\n\t\t\tgithubCommitSha: guard.githubCommitSha,\n\t\t\tgitCommitStatus: guard.gitCommitStatus,\n\t\t\tgitPushStatus: guard.gitPushStatus,\n\t\t\tblockers: guard.blockers,\n\t\t\tnextCommands: guard.nextCommands,\n\t\t\trequiredEvidence: guard.requiredEvidence\n\t\t}\n\t};\n}\n\nfunction hotfixDurabilityContractCandidates(...sources: any[]): Record<string, any>[] {\n\tconst result: Record<string, any>[] = [];\n\tconst seen = new Set<string>();\n\tconst pushCandidate = (value: any): void => {\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (const entry of value) {\n\t\t\t\tpushCandidate(entry);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn;\n\t\t}\n\t\tconst nestedValues = [\n\t\t\tvalue.hotfixDurabilityContract,\n\t\t\tvalue.hotfix_durability_contract,\n\t\t\tvalue.supportManagerHotfixDurabilityContract,\n\t\t\tvalue.support_manager_hotfix_durability_contract,\n\t\t\tvalue.managerRecoveryHotfixDurability,\n\t\t\tvalue.manager_recovery_hotfix_durability,\n\t\t\tvalue.supportV5RecoveryDirective?.hotfixDurabilityContract,\n\t\t\tvalue.supportV5RecoveryDirective?.hotfix_durability_contract\n\t\t].filter(Boolean);\n\t\tif (nestedValues.length) {\n\t\t\tfor (const nestedValue of nestedValues) {\n\t\t\t\tpushCandidate(nestedValue);\n\t\t\t}\n\t\t}\n\t\tconst required = value.required === true || value.liveHotfixBlockedUntilCommit === true || value.live_hotfix_blocked_until_commit === true || value.commitProofPassed === true || value.commit_proof_passed === true;\n\t\tif (!required) {\n\t\t\treturn;\n\t\t}\n\t\tconst key = cleanText(value.contractId || value.contract_id || JSON.stringify({\n\t\t\tstatus: value.status,\n\t\t\tsha: value.sourceCommitSha || value.source_commit_sha,\n\t\t\turl: value.githubCommitUrl || value.github_commit_url\n\t\t}), 500);\n\t\tif (seen.has(key)) {\n\t\t\treturn;\n\t\t}\n\t\tseen.add(key);\n\t\tresult.push(value);\n\t};\n\tfor (const source of sources) {\n\t\tpushCandidate(source);\n\t}\n\treturn result;\n}\n\nfunction hotfixDurabilityContractGate(\n\tcontractValue: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tconst contract = buildResolveIOAIManagerHotfixDurabilityContract({\n\t\texisting: contractValue,\n\t\tevidence: contractValue.evidence || contractValue.hotfixEvidence || contractValue.hotfix_evidence,\n\t\taction: contractValue.action,\n\t\treason: contractValue.reason,\n\t\tnow\n\t});\n\tif (!contract.required) {\n\t\treturn undefined;\n\t}\n\tconst status: AIRunGateResult['status'] = contract.liveHotfixBlockedUntilCommit\n\t\t? 'blocked'\n\t\t: contract.status === 'ready_for_continuation' || contract.status === 'ready_for_release_gate'\n\t\t\t? 'pass'\n\t\t\t: 'warn';\n\treturn {\n\t\tkey: 'hotfix_durability_contract',\n\t\tlabel: 'Hotfix durability contract',\n\t\tstatus,\n\t\treason: contract.liveHotfixBlockedUntilCommit\n\t\t\t? `Manager hotfix is blocked until GitHub commit proof is recorded: ${contract.missingCommitProofFields.join(', ') || 'sourceCommitSha, githubCommitUrl, gitCommitStatus=passed, gitPushStatus=passed'}`\n\t\t\t: `Manager hotfix durability contract is ${contract.status}.`,\n\t\tevidenceRefs: cleanStringList([contract.githubCommitUrl], 1, 500),\n\t\trecordedAt: isoNow(now || contract.updatedAt),\n\t\tmetadata: {\n\t\t\tcontractId: contract.contractId,\n\t\t\tstatus: contract.status,\n\t\t\tnextSafeAction: contract.nextSafeAction,\n\t\t\tcanPrepareHotfixPatch: contract.canPrepareHotfixPatch,\n\t\t\tcanHotfixBackend: contract.canHotfixBackend,\n\t\t\tliveHotfixBlockedUntilCommit: contract.liveHotfixBlockedUntilCommit,\n\t\t\tdurabilityProtocol: contract.durabilityProtocol,\n\t\t\tcommitFirstProtocolRequired: contract.commitFirstProtocolRequired,\n\t\t\tcommitFirstProtocolSatisfied: contract.commitFirstProtocolSatisfied,\n\t\t\tliveHotfixAllowed: contract.liveHotfixAllowed,\n\t\t\tmanagerContinuationAllowed: contract.managerContinuationAllowed,\n\t\t\tcommitProofPassed: contract.commitProofPassed,\n\t\t\tcommitProofStatus: contract.commitProofStatus,\n\t\t\tmissingCommitProofFields: contract.missingCommitProofFields,\n\t\t\tsourceCommitSha: contract.sourceCommitSha,\n\t\t\tgithubCommitUrl: contract.githubCommitUrl,\n\t\t\tgitCommitStatus: contract.gitCommitStatus,\n\t\t\tgitPushStatus: contract.gitPushStatus,\n\t\t\tphaseOrder: contract.phaseOrder,\n\t\t\trequiredFields: contract.requiredFields,\n\t\t\tforbiddenActions: contract.forbiddenActions\n\t\t}\n\t};\n}\n\nfunction collectHotfixEvidenceEvents(\n\tsources: any[],\n\tevents: AIRunEvent[],\n\tgates: AIRunGateResult[],\n\tnow?: Date | string\n): void {\n\tfor (const contract of hotfixDurabilityContractCandidates(...sources)) {\n\t\tconst gate = hotfixDurabilityContractGate(contract, now);\n\t\tif (gate) {\n\t\t\tgates.push(gate);\n\t\t\tpushEvent(events, {\n\t\t\t\ttype: 'log',\n\t\t\t\tcategory: 'hotfix_durability_contract',\n\t\t\t\tmessage: gate.reason,\n\t\t\t\tartifactPaths: gate.evidenceRefs,\n\t\t\t\trecordedAt: gate.recordedAt,\n\t\t\t\tmetadata: gate.metadata\n\t\t\t});\n\t\t}\n\t}\n\tfor (const evidence of hotfixEvidenceCandidates(...sources)) {\n\t\tconst validation = validateResolveIOAIManagerHotfixEvidence(evidence);\n\t\tif (!validation.normalized && validation.status === 'missing') {\n\t\t\tcontinue;\n\t\t}\n\t\tconst artifactPaths = hotfixEvidenceArtifactPaths(evidence, validation.normalized as any);\n\t\tpushEvent(events, {\n\t\t\ttype: 'hotfix',\n\t\t\tcategory: validation.channel || 'hotfix',\n\t\t\tmessage: validation.valid\n\t\t\t\t? `Hotfix evidence recorded for ${validation.channel}.`\n\t\t\t\t: `Incomplete hotfix evidence for ${validation.channel || 'unknown channel'}.`,\n\t\t\tartifactPaths,\n\t\t\trecordedAt: validation.normalized?.recordedAt || eventDate(evidence),\n\t\t\tmetadata: {\n\t\t\t\tstatus: validation.status,\n\t\t\t\tnextAction: validation.nextAction,\n\t\t\t\tfullDeployAllowed: validation.fullDeployAllowed,\n\t\t\t\tfullDeployBlocked: validation.fullDeployBlocked,\n\t\t\t\thotfixSatisfied: validation.hotfixSatisfied,\n\t\t\t\tblockers: validation.blockers,\n\t\t\t\tgithubCommitGuard: validation.githubCommitGuard,\n\t\t\t\ttarget: validation.normalized?.target\n\t\t\t}\n\t\t});\n\t\tconst gate = hotfixEvidenceGate(evidence, now);\n\t\tif (gate) {\n\t\t\tgates.push(gate);\n\t\t}\n\t\tconst commitProofGate = hotfixCommitProofGate(evidence, now);\n\t\tif (commitProofGate) {\n\t\t\tgates.push(commitProofGate);\n\t\t\tpushEvent(events, {\n\t\t\t\ttype: 'log',\n\t\t\t\tcategory: 'hotfix_commit_proof',\n\t\t\t\tmessage: commitProofGate.reason,\n\t\t\t\tartifactPaths: commitProofGate.evidenceRefs,\n\t\t\t\trecordedAt: commitProofGate.recordedAt,\n\t\t\t\tmetadata: commitProofGate.metadata\n\t\t\t});\n\t\t}\n\t}\n}\n\nfunction hotfixDurabilityMetadata(gates: AIRunGateResult[]): Record<string, any> | undefined {\n\tconst hotfixGate = gates.find((gate) => gate.key === 'hotfix_evidence');\n\tconst commitGate = gates.find((gate) => gate.key === 'hotfix_commit_proof');\n\tconst durabilityGate = gates.find((gate) => gate.key === 'hotfix_durability_contract');\n\tif (!hotfixGate && !commitGate && !durabilityGate) {\n\t\treturn undefined;\n\t}\n\tconst commitBlocked = (!!commitGate && (commitGate.status === 'blocked' || commitGate.status === 'fail'))\n\t\t|| durabilityGate?.metadata?.liveHotfixBlockedUntilCommit === true;\n\treturn {\n\t\tdurabilityStatus: cleanText(durabilityGate?.metadata?.status, 80),\n\t\tdurabilityGateStatus: cleanText(durabilityGate?.status, 80),\n\t\tcanPrepareHotfixPatch: durabilityGate?.metadata?.canPrepareHotfixPatch === true,\n\t\tcanHotfixBackend: durabilityGate?.metadata?.canHotfixBackend === true,\n\t\tliveHotfixBlockedUntilCommit: durabilityGate?.metadata?.liveHotfixBlockedUntilCommit === true,\n\t\tdurabilityProtocol: cleanText(durabilityGate?.metadata?.durabilityProtocol, 120),\n\t\tcommitFirstProtocolRequired: durabilityGate?.metadata?.commitFirstProtocolRequired === true,\n\t\tcommitFirstProtocolSatisfied: durabilityGate?.metadata?.commitFirstProtocolSatisfied === true || commitGate?.metadata?.commitFirstProtocolSatisfied === true,\n\t\tliveHotfixAllowed: durabilityGate?.metadata?.liveHotfixAllowed === true || (hotfixGate?.metadata?.hotfixSatisfied === true && commitGate?.metadata?.commitFirstProtocolSatisfied === true),\n\t\tmanagerContinuationAllowed: durabilityGate?.metadata?.managerContinuationAllowed === true,\n\t\thotfixEvidenceStatus: cleanText(hotfixGate?.status, 80),\n\t\thotfixSatisfied: hotfixGate?.metadata?.hotfixSatisfied === true,\n\t\tfullDeployBlocked: hotfixGate?.metadata?.fullDeployBlocked === true,\n\t\tfullDeployAllowed: hotfixGate?.metadata?.fullDeployAllowed === true,\n\t\tcommitProofRequired: !!commitGate || !!durabilityGate,\n\t\tcommitProofStatus: cleanText(commitGate?.status || durabilityGate?.metadata?.commitProofStatus, 80),\n\t\tcommitProofPassed: commitGate?.metadata?.passed === true || durabilityGate?.metadata?.commitProofPassed === true,\n\t\tcommitBlocked,\n\t\tchannel: cleanText(commitGate?.metadata?.channel || hotfixGate?.metadata?.channel, 120),\n\t\tsourceCommitSha: cleanText(commitGate?.metadata?.sourceCommitSha || durabilityGate?.metadata?.sourceCommitSha, 200),\n\t\tgithubCommitUrl: cleanText(commitGate?.metadata?.githubCommitUrl || durabilityGate?.metadata?.githubCommitUrl, 500),\n\t\tgitCommitStatus: cleanText(commitGate?.metadata?.gitCommitStatus || durabilityGate?.metadata?.gitCommitStatus, 120),\n\t\tgitPushStatus: cleanText(commitGate?.metadata?.gitPushStatus || durabilityGate?.metadata?.gitPushStatus, 120),\n\t\tblockers: cleanStringList([\n\t\t\t...asArray(durabilityGate?.metadata?.missingCommitProofFields),\n\t\t\t...asArray(commitGate?.metadata?.blockers),\n\t\t\t...asArray(hotfixGate?.metadata?.blockers)\n\t\t], 20, 500),\n\t\trequiredEvidence: cleanStringList(commitGate?.metadata?.requiredEvidence || durabilityGate?.metadata?.requiredFields, 20, 500),\n\t\tnextCommands: cleanStringList(commitGate?.metadata?.nextCommands, 20, 240),\n\t\tnextAction: commitBlocked\n\t\t\t? cleanText(durabilityGate?.metadata?.nextSafeAction, 200) || 'Commit and push the hotfix to GitHub, record sourceCommitSha/githubCommitUrl/gitCommitStatus/gitPushStatus, then rerun the smallest verification gate.'\n\t\t\t: cleanText(hotfixGate?.metadata?.nextAction, 1000)\n\t};\n}\n\nfunction collectUsageEvents(entries: Array<Record<string, any>>, events: AIRunEvent[]): AIRunCost | undefined {\n\tif (!entries.length) {\n\t\treturn undefined;\n\t}\n\tconst normalizedEntries = normalizeOpenAIUsageRowsForCosting(entries);\n\tfor (const entry of normalizedEntries) {\n\t\tpushEvent(events, {\n\t\t\ttype: 'usage',\n\t\t\tcategory: cleanText(entry.category || entry.kind || entry.phase, 160) || 'usage',\n\t\t\tmessage: cleanText(entry.summary || entry.description || entry.model || 'Model usage recorded.', 800),\n\t\t\trecordedAt: eventDate(entry),\n\t\t\tmetadata: {\n\t\t\t\tmodel: entry.model,\n\t\t\t\tinputTokens: entry.inputTokens ?? entry.input_tokens,\n\t\t\t\toutputTokens: entry.outputTokens ?? entry.output_tokens,\n\t\t\t\ttotalTokens: entry.totalTokens ?? entry.total_tokens,\n\t\t\t\testimatedUsd: entry.estimatedUsd ?? entry.cost_estimate,\n\t\t\t\tusageSource: entry.usage_source ?? entry.usageSource,\n\t\t\t\tusageSurface: entry.usage_surface ?? entry.usageSurface,\n\t\t\t\tusagePhase: entry.usage_phase ?? entry.usagePhase,\n\t\t\t\tcostBasis: entry.cost_basis ?? entry.costBasis,\n\t\t\t\tisManual: entry.is_manual ?? entry.isManual,\n\t\t\t\tisUntracked: entry.is_untracked ?? entry.isUntracked,\n\t\t\t\tuntrackedReason: entry.untracked_reason ?? entry.untrackedReason\n\t\t\t}\n\t\t});\n\t}\n\treturn buildAIRunCost(entries);\n}\n\nfunction costObservabilityGate(cost: AIRunCost | undefined, source: AIRun['source'], now?: Date | string): AIRunGateResult {\n\tconst manualEstimatedUsd = Number(cost?.manualEstimatedUsd || 0);\n\tconst untrackedEstimatedUsd = Number(cost?.untrackedEstimatedUsd || 0);\n\tconst warnings = cleanStringList(cost?.untrackedWarnings, 20, 500);\n\tconst manualSources = Object.entries(cost?.sources || {})\n\t\t.filter(([, value]) => Number(value.manualCount || 0) > 0)\n\t\t.map(([key]) => key);\n\tconst untrackedSources = Object.entries(cost?.sources || {})\n\t\t.filter(([, value]) => Number(value.untrackedCount || 0) > 0)\n\t\t.map(([key]) => key);\n\tconst missingLedger = !cost;\n\tconst externalCodexMonitorUsed = manualEstimatedUsd > 0\n\t\t|| untrackedEstimatedUsd > 0\n\t\t|| manualSources.some((sourceKey) => /codex|manual/i.test(sourceKey))\n\t\t|| warnings.some((warning) => /codex|sidecar|monitor/i.test(warning));\n\tconst status: AIRunGateResult['status'] = missingLedger\n\t\t? 'skipped'\n\t\t: (manualEstimatedUsd > 0 || untrackedEstimatedUsd > 0 || warnings.length ? 'warn' : 'pass');\n\treturn {\n\t\tkey: 'cost_observability',\n\t\tlabel: 'Cost observability',\n\t\tstatus,\n\t\treason: missingLedger\n\t\t\t? 'No usage ledger was supplied for this run, so cost per accepted run cannot be fully evaluated.'\n\t\t\t: status === 'warn'\n\t\t\t\t? `Runner cost includes manual or untracked usage: manual=$${manualEstimatedUsd.toFixed(2)}, untracked=$${untrackedEstimatedUsd.toFixed(2)}.`\n\t\t\t\t: 'Runner usage is tracked in the unified cost ledger.',\n\t\tevidenceRefs: warnings,\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\tsource,\n\t\t\tmissingLedger,\n\t\t\testimatedUsd: Number(cost?.estimatedUsd || 0),\n\t\t\tmanualEstimatedUsd,\n\t\t\tuntrackedEstimatedUsd,\n\t\t\texternalCodexMonitorUsed,\n\t\t\tmanualSources,\n\t\t\tuntrackedSources,\n\t\t\tmodels: cleanStringList(cost?.models, 40, 120),\n\t\t\tcategories: Object.keys(cost?.categories || {}).slice(0, 40),\n\t\t\tsurfaces: Object.keys(cost?.surfaces || {}).slice(0, 40),\n\t\t\twarnings\n\t\t}\n\t};\n}\n\nfunction costObservabilityMetadata(gate: AIRunGateResult | undefined): Record<string, any> | undefined {\n\tif (!gate) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\tstatus: gate.status,\n\t\tmissingLedger: gate.metadata?.missingLedger === true,\n\t\testimatedUsd: Number(gate.metadata?.estimatedUsd || 0),\n\t\tmanualEstimatedUsd: Number(gate.metadata?.manualEstimatedUsd || 0),\n\t\tuntrackedEstimatedUsd: Number(gate.metadata?.untrackedEstimatedUsd || 0),\n\t\texternalCodexMonitorUsed: gate.metadata?.externalCodexMonitorUsed === true,\n\t\tmanualSources: cleanStringList(gate.metadata?.manualSources, 20, 120),\n\t\tuntrackedSources: cleanStringList(gate.metadata?.untrackedSources, 20, 120),\n\t\tmodels: cleanStringList(gate.metadata?.models, 40, 120),\n\t\tcategories: cleanStringList(gate.metadata?.categories, 40, 120),\n\t\tsurfaces: cleanStringList(gate.metadata?.surfaces, 40, 120),\n\t\twarnings: cleanStringList(gate.metadata?.warnings, 20, 500),\n\t\tnextAction: gate.status === 'warn'\n\t\t\t? 'Record manual Codex sidecar usage in the unified ledger and replace external monitoring with a validated next-action contract.'\n\t\t\t: gate.status === 'skipped'\n\t\t\t\t? 'Attach runner, assistant, manual Codex, retry, and deploy usage rows before comparing cost per accepted run.'\n\t\t\t\t: 'Continue tracking cost in the unified ledger.'\n\t};\n}\n\nfunction collectCommitEvents(commits: Array<Record<string, any>>, events: AIRunEvent[]): void {\n\tfor (const commit of commits.slice(0, 80)) {\n\t\tpushEvent(events, {\n\t\t\ttype: 'git_commit',\n\t\t\tmessage: cleanText(commit.message || commit.subject || commit.title || commit.hash || commit.sha, 1200),\n\t\t\trecordedAt: eventDate(commit),\n\t\t\tmetadata: {\n\t\t\t\tsha: commit.sha || commit.hash,\n\t\t\t\tbranch: commit.branch,\n\t\t\t\tauthor: commit.author\n\t\t\t}\n\t\t});\n\t}\n}\n\nfunction statusFromBoolean(value: any, fallback?: string): string | undefined {\n\tif (value === true) {\n\t\treturn 'pass';\n\t}\n\tif (value === false) {\n\t\treturn 'fail';\n\t}\n\treturn fallback;\n}\n\nfunction collectArtifacts(evidence: Record<string, any> | undefined): AIQaArtifact[] {\n\tconst artifacts: AIQaArtifact[] = [];\n\tfor (const entry of asArray<any>(evidence?.artifacts)) {\n\t\tartifacts.push({\n\t\t\ttype: entry.type || 'other',\n\t\t\tpath: cleanText(entry.path || entry.file || entry.artifactPath, 500),\n\t\t\turl: cleanText(entry.url, 500),\n\t\t\ttitle: cleanText(entry.title || entry.name, 300),\n\t\t\tcaption: cleanText(entry.caption || entry.message, 800),\n\t\t\tmetadata: entry.metadata\n\t\t});\n\t}\n\tconst screenshots = asArray<any>(evidence?.screenshots || evidence?.qaScreenshots || evidence?.browserScreenshots);\n\tfor (const screenshot of screenshots.slice(0, 40)) {\n\t\tif (typeof screenshot === 'string') {\n\t\t\tartifacts.push({ type: 'screenshot', path: screenshot });\n\t\t} else {\n\t\t\tartifacts.push({\n\t\t\t\ttype: 'screenshot',\n\t\t\t\tpath: cleanText(screenshot.path || screenshot.file, 500),\n\t\t\t\turl: cleanText(screenshot.url, 500),\n\t\t\t\ttitle: cleanText(screenshot.title || screenshot.route, 300),\n\t\t\t\tcaption: cleanText(screenshot.caption || screenshot.message, 800),\n\t\t\t\tmetadata: screenshot.metadata\n\t\t\t});\n\t\t}\n\t}\n\tconst artifactRefs = [\n\t\t...asArray<any>(evidence?.artifactPaths),\n\t\t...asArray<any>(evidence?.artifact_paths),\n\t\t...asArray<any>(evidence?.runnerEvidenceArtifacts),\n\t\t...asArray<any>(evidence?.runner_evidence_artifacts),\n\t\t...asArray<any>(evidence?.supportQaArtifacts),\n\t\t...asArray<any>(evidence?.support_qa_artifacts),\n\t\t...asArray<any>(evidence?.qa_artifacts)\n\t];\n\tfor (const entry of artifactRefs.slice(0, 60)) {\n\t\tif (typeof entry === 'string') {\n\t\t\tartifacts.push({ type: 'other', path: cleanText(entry, 500) });\n\t\t}\n\t\telse if (entry && typeof entry === 'object') {\n\t\t\tartifacts.push({\n\t\t\t\ttype: entry.type || 'other',\n\t\t\t\tpath: cleanText(entry.path || entry.file || entry.artifactPath || entry.artifact_path, 500),\n\t\t\t\turl: cleanText(entry.url, 500),\n\t\t\t\ttitle: cleanText(entry.title || entry.name || entry.label, 300),\n\t\t\t\tcaption: cleanText(entry.caption || entry.message || entry.summary, 800),\n\t\t\t\tmetadata: entry.metadata\n\t\t\t});\n\t\t}\n\t}\n\treturn artifacts;\n}\n\nfunction collectInfraChecks(evidence: Record<string, any> | undefined): AIQaInfraCheck[] {\n\tconst checks: AIQaInfraCheck[] = [];\n\tfor (const entry of asArray<any>(evidence?.infraChecks || evidence?.preflightChecks)) {\n\t\tchecks.push({\n\t\t\tname: cleanText(entry.name || entry.check || entry.key, 160) || 'infra_check',\n\t\t\tstatus: entry.status || statusFromBoolean(entry.passed),\n\t\t\tmessage: cleanText(entry.message || entry.error || entry.reason, 1000),\n\t\t\tpath: cleanText(entry.path, 500),\n\t\t\tdurationMs: Number(entry.durationMs ?? entry.duration_ms) || undefined,\n\t\t\tmetadata: entry.metadata,\n\t\t\tcheckedAt: eventDate(entry)\n\t\t});\n\t}\n\tif (evidence?.preflightStatus) {\n\t\tchecks.push({\n\t\t\tname: 'qa_preflight',\n\t\t\tstatus: evidence.preflightStatus,\n\t\t\tmessage: cleanText(evidence.preflightMessage || evidence.preflightReason, 1000),\n\t\t\tpath: cleanText(evidence.preflightArtifactPath || evidence.preflightPath, 500)\n\t\t});\n\t}\n\treturn checks;\n}\n\nfunction collectCompileResult(evidence: Record<string, any> | undefined): AIQaCompileResult | undefined {\n\tconst build = evidence?.compile || evidence?.build || evidence?.buildEvidence || evidence?.buildResult;\n\tif (!build && evidence?.compileStatus === undefined && evidence?.buildStatus === undefined) {\n\t\treturn undefined;\n\t}\n\tconst status = build?.status\n\t\t|| evidence?.compileStatus\n\t\t|| evidence?.buildStatus\n\t\t|| statusFromBoolean(build?.passed ?? build?.allExpectedPassed ?? evidence?.buildPassed);\n\treturn {\n\t\tstatus,\n\t\tcommand: cleanText(build?.command || evidence?.buildCommand, 500),\n\t\tartifactPath: cleanText(build?.artifactPath || build?.logPath || evidence?.buildLogPath, 500),\n\t\tmessage: cleanText(build?.message || build?.error || evidence?.buildMessage, 1000),\n\t\tdurationMs: Number(build?.durationMs ?? build?.duration_ms) || undefined,\n\t\tstaleEvidence: build?.staleEvidence === true || evidence?.staleBuildEvidence === true,\n\t\trecordedAt: eventDate(build || evidence || {})\n\t};\n}\n\nfunction collectRouteProbes(evidence: Record<string, any> | undefined): AIQaRouteProbe[] {\n\tconst probes: AIQaRouteProbe[] = [];\n\tconst rows = [\n\t\t...asArray<any>(evidence?.routeProbes),\n\t\t...asArray<any>(evidence?.route_probes),\n\t\t...asArray<any>(evidence?.routes),\n\t\t...asArray<any>(evidence?.browserRoutes),\n\t\t...asArray<any>(evidence?.browser_routes),\n\t\t...asArray<any>(evidence?.workflowProbes),\n\t\t...asArray<any>(evidence?.workflow_probes)\n\t];\n\tconst directProbe = plainObject(evidence?.routeProbe || evidence?.route_probe || evidence?.workflowProbe || evidence?.workflow_probe);\n\tif (Object.keys(directProbe).length) {\n\t\trows.push(directProbe);\n\t}\n\tfor (const entry of rows) {\n\t\tprobes.push({\n\t\t\troute: cleanText(entry.route || entry.path || entry.url, 500) || '/',\n\t\t\tstatus: entry.status || statusFromBoolean(entry.passed),\n\t\t\tscreenshot: cleanText(entry.screenshot || entry.screenshotPath, 500),\n\t\t\tcaption: cleanText(entry.caption || entry.message, 1000),\n\t\t\tshellOnly: entry.shellOnly === true,\n\t\t\tauthenticated: entry.authenticated === true,\n\t\t\tconsoleErrors: asArray<string>(entry.consoleErrors),\n\t\t\tnetworkErrors: asArray<string>(entry.networkErrors),\n\t\t\tmessage: cleanText(entry.message || entry.error, 1000),\n\t\t\trecordedAt: eventDate(entry)\n\t\t});\n\t}\n\tconst screenshots = asArray<any>(evidence?.screenshots || evidence?.qaScreenshots || evidence?.browserScreenshots);\n\tfor (const screenshot of screenshots.slice(0, 20)) {\n\t\tif (typeof screenshot === 'string') {\n\t\t\tprobes.push({ route: '/', status: 'pass', screenshot, caption: 'Historical browser screenshot recorded.' });\n\t\t} else if (screenshot.route || screenshot.path || screenshot.url || screenshot.screenshot || screenshot.file) {\n\t\t\tprobes.push({\n\t\t\t\troute: cleanText(screenshot.route || screenshot.url || screenshot.path, 500) || '/',\n\t\t\t\tstatus: screenshot.status || statusFromBoolean(screenshot.passed, 'pass'),\n\t\t\t\tscreenshot: cleanText(screenshot.screenshot || screenshot.screenshotPath || screenshot.file || screenshot.path, 500),\n\t\t\t\tcaption: cleanText(screenshot.caption || screenshot.message, 1000),\n\t\t\t\tshellOnly: screenshot.shellOnly === true,\n\t\t\t\tauthenticated: screenshot.authenticated === true,\n\t\t\t\trecordedAt: eventDate(screenshot)\n\t\t\t});\n\t\t}\n\t}\n\treturn probes;\n}\n\nfunction collectBusinessAssertions(evidence: Record<string, any> | undefined): AIQaBusinessAssertion[] {\n\tconst assertions: AIQaBusinessAssertion[] = [];\n\tconst rows = [\n\t\t...asArray<any>(evidence?.businessAssertions),\n\t\t...asArray<any>(evidence?.business_assertions),\n\t\t...asArray<any>(evidence?.workflowAssertions),\n\t\t...asArray<any>(evidence?.workflow_assertions),\n\t\t...asArray<any>(evidence?.assertions),\n\t\t...asArray<any>(evidence?.qaRows),\n\t\t...asArray<any>(evidence?.qa_rows),\n\t\t...asArray<any>(evidence?.rows),\n\t\t...asArray<any>(evidence?.supportQaAssertions),\n\t\t...asArray<any>(evidence?.support_qa_assertions),\n\t\t...asArray<any>(evidence?.aiQaBusinessAssertions),\n\t\t...asArray<any>(evidence?.ai_qa_business_assertions),\n\t\t...objectList(evidence?.supportQaBusinessAssertion),\n\t\t...objectList(evidence?.support_qa_business_assertion),\n\t\t...objectList(evidence?.aiQaBusinessAssertion),\n\t\t...objectList(evidence?.aiqaBusinessAssertion),\n\t\t...objectList(evidence?.ai_qa_business_assertion),\n\t\t...objectList(evidence?.aiqa_business_assertion)\n\t];\n\tfor (const entry of rows) {\n\t\tassertions.push({\n\t\t\tassertion: cleanText(entry.assertion || entry.name || entry.label || entry.workflow || entry.expected, 1000) || 'business assertion',\n\t\t\tstatus: entry.status || entry.outcome || entry.result || statusFromBoolean(entry.passed),\n\t\t\tworkflow: cleanText(entry.workflow || entry.workflowName || entry.workflow_name, 400),\n\t\t\troute: cleanText(entry.route || entry.url, 500),\n\t\t\taction: cleanText(entry.action || entry.action_under_test || entry.actionUnderTest, 500),\n\t\t\texpected: cleanText(entry.expected || entry.expected_business_state_change || entry.expectedBusinessStateChange, 1000),\n\t\t\tobserved: cleanText(entry.observed || entry.actual || entry.after || entry.after_state || entry.afterState, 1000),\n\t\t\tdataProof: cleanText(entry.dataProof || entry.data_proof || entry.domProof || entry.dom_proof || entry.proof || entry.summary, 1400),\n\t\t\tmongoDelta: plainObject(entry.mongoDelta || entry.mongo_delta),\n\t\t\tartifactPaths: cleanStringList(entry.artifactPaths || entry.artifact_paths || entry.artifacts || entry.screenshots || (entry.screenshot ? [entry.screenshot] : []), 30, 500),\n\t\t\tmessage: cleanText(entry.message || entry.error || entry.reason, 1000),\n\t\t\trecordedAt: eventDate(entry),\n\t\t\tmetadata: {\n\t\t\t\t...plainObject(entry.metadata),\n\t\t\t\t...(entry.acceptanceBlocked === true || entry.acceptance_blocked === true ? { acceptanceBlocked: true } : {}),\n\t\t\t\t...(entry.routeOnly === true || entry.route_only === true ? { routeOnly: true } : {})\n\t\t\t}\n\t\t});\n\t}\n\tif (!assertions.length && evidence?.qaRunOutcome === 'business_assertion_passed') {\n\t\tassertions.push({\n\t\t\tassertion: cleanText(evidence.aiRunOutcomeReason || evidence.reason || 'Historical business assertion passed.', 1000),\n\t\t\tstatus: 'pass',\n\t\t\tdataProof: cleanText(evidence.aiRunOutcomeReason || evidence.reason, 1400)\n\t\t});\n\t}\n\tif (!assertions.length && evidence?.qaRunOutcome === 'business_assertion_failed') {\n\t\tassertions.push({\n\t\t\tassertion: cleanText(evidence.aiRunOutcomeReason || evidence.reason || 'Historical business assertion failed.', 1000),\n\t\t\tstatus: 'fail',\n\t\t\tobserved: cleanText(evidence.aiRunOutcomeReason || evidence.reason, 1000)\n\t\t});\n\t}\n\treturn assertions;\n}\n\nfunction buildQaFromEvidence(evidence: Record<string, any> | undefined, now?: Date | string): AIQaRun {\n\treturn buildAIQaRun({\n\t\tinfraChecks: collectInfraChecks(evidence),\n\t\tcompile: collectCompileResult(evidence),\n\t\trouteProbes: collectRouteProbes(evidence),\n\t\tbusinessAssertions: collectBusinessAssertions(evidence),\n\t\tartifacts: collectArtifacts(evidence),\n\t\tnow\n\t});\n}\n\nfunction isoNow(value?: Date | string): string {\n\tif (value instanceof Date) {\n\t\treturn value.toISOString();\n\t}\n\tif (value) {\n\t\tconst parsed = new Date(value);\n\t\tif (!Number.isNaN(parsed.getTime())) {\n\t\t\treturn parsed.toISOString();\n\t\t}\n\t}\n\treturn new Date().toISOString();\n}\n\nfunction normalizeMatchText(value: any): string {\n\treturn cleanText(value, 3000)\n\t\t.toLowerCase()\n\t\t.replace(/[^a-z0-9]+/g, ' ')\n\t\t.replace(/\\s+/g, ' ')\n\t\t.trim();\n}\n\nfunction importantTokens(value: any): Set<string> {\n\tconst stopWords = new Set([\n\t\t'the', 'and', 'that', 'with', 'from', 'after', 'before', 'when', 'then', 'this', 'must',\n\t\t'should', 'will', 'only', 'into', 'have', 'has', 'are', 'was', 'were', 'been'\n\t]);\n\treturn new Set(normalizeMatchText(value).split(' ')\n\t\t.filter((token) => token.length >= 4 && !stopWords.has(token)));\n}\n\nfunction businessAssertionPassed(assertion: AIQaBusinessAssertion): boolean {\n\treturn /^(pass|passed|success|ok|done)$/i.test(cleanText(assertion.status, 40));\n}\n\nfunction supportAssertionMatchesDiagnosisProof(assertion: AIQaBusinessAssertion, proofPlan: Record<string, any>): boolean {\n\tconst metadata = assertion.metadata || {};\n\tif (metadata.diagnosisProofPlanMatched === true || metadata.proofPlanMatched === true || metadata.supportDiagnosisProof === true) {\n\t\treturn true;\n\t}\n\tconst requiredBusinessAssertion = proofPlan.business_assertion || proofPlan.businessAssertion;\n\tconst proofParts = [\n\t\trequiredBusinessAssertion,\n\t\tproofPlan.after,\n\t\tproofPlan.data_assertion || proofPlan.dataAssertion,\n\t\tproofPlan.artifact_expectation || proofPlan.artifactExpectation\n\t].map((part) => normalizeMatchText(part)).filter((part) => part.length >= 16);\n\tif (!proofParts.length) {\n\t\treturn true;\n\t}\n\tconst assertionText = normalizeMatchText([\n\t\tassertion.assertion,\n\t\tassertion.workflow,\n\t\tassertion.action,\n\t\tassertion.expected,\n\t\tassertion.observed,\n\t\tassertion.dataProof,\n\t\tassertion.message\n\t].filter(Boolean).join(' '));\n\tif (proofParts.some((part) => assertionText.includes(part))) {\n\t\treturn true;\n\t}\n\tconst proofTokens = importantTokens([\n\t\trequiredBusinessAssertion,\n\t\tproofPlan.after,\n\t\tproofPlan.data_assertion || proofPlan.dataAssertion\n\t].filter(Boolean).join(' '));\n\tconst assertionTokens = importantTokens(assertionText);\n\tif (!proofTokens.size) {\n\t\treturn true;\n\t}\n\tlet overlap = 0;\n\tfor (const token of proofTokens) {\n\t\tif (assertionTokens.has(token)) {\n\t\t\toverlap += 1;\n\t\t}\n\t}\n\treturn overlap >= Math.min(4, Math.max(3, Math.ceil(proofTokens.size * 0.45)));\n}\n\nfunction supportDiagnosisProofGateResult(diagnosisGate: Record<string, any>, now?: Date | string): AIRunGateResult {\n\tconst proofPlan = diagnosisGate.proof_plan || diagnosisGate.proofPlan || {};\n\treturn {\n\t\tkey: 'support_diagnosis_business_proof',\n\t\tlabel: 'Diagnosis proof plan',\n\t\tstatus: 'blocked',\n\t\treason: 'Support business assertion did not map to the diagnosis proof_plan. Route proof or generic workflow proof cannot accept the ticket.',\n\t\tevidenceRefs: [],\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\tissueClass: cleanText(diagnosisGate.issue_class || diagnosisGate.issueClass, 120),\n\t\t\trequiredBusinessAssertion: cleanText(proofPlan.business_assertion || proofPlan.businessAssertion, 1000),\n\t\t\trequiredAfter: cleanText(proofPlan.after, 1000),\n\t\t\trequiredDataAssertion: cleanText(proofPlan.data_assertion || proofPlan.dataAssertion, 1000)\n\t\t}\n\t};\n}\n\nconst SUPPORT_ROOT_CAUSE_ENTRY_REQUIRED_FIELDS = [\n\t'issue_case',\n\t'issue_class',\n\t'accepted_hypothesis',\n\t'rejected_alternatives',\n\t'failing_path',\n\t'owner_files',\n\t'proof_plan',\n\t'evidence'\n];\n\nconst SUPPORT_ROOT_CAUSE_ENTRY_ISSUE_CLASSES = [\n\t'no_op_submit',\n\t'missing_wrong_data',\n\t'filter_query_mismatch',\n\t'invoice_pdf_export',\n\t'upload_import',\n\t'route_auth_hydration',\n\t'slow_query_performance'\n];\n\nfunction supportRootCauseEntryContractGate(contract: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\treturn undefined;\n\t}\n\tconst requiredOutput = plainObject(contract.required_output || contract.requiredOutput);\n\tconst ownerPolicy = plainObject(contract.owner_file_policy || contract.ownerFilePolicy);\n\tconst businessProofPolicy = plainObject(contract.business_proof_policy || contract.businessProofPolicy);\n\tconst failurePolicy = plainObject(contract.failure_policy || contract.failurePolicy);\n\tconst probes = asArray<Record<string, any>>(contract.issue_class_probes || contract.issueClassProbes);\n\tconst requiredFields = cleanStringList(requiredOutput.required_fields || requiredOutput.requiredFields, 30, 160);\n\tconst issueClasses = probes.map((probe) => cleanText(probe.issue_class || probe.issueClass, 120)).filter(Boolean);\n\tconst missingRequiredFields = SUPPORT_ROOT_CAUSE_ENTRY_REQUIRED_FIELDS.filter((field) => !requiredFields.includes(field));\n\tconst missingIssueClasses = SUPPORT_ROOT_CAUSE_ENTRY_ISSUE_CLASSES.filter((issueClass) => !issueClasses.includes(issueClass));\n\tconst blockers: string[] = [];\n\tif (!cleanText(contract.contract_id || contract.contractId, 160)) {\n\t\tblockers.push('Root-cause entry contract is missing contract_id.');\n\t}\n\tif (cleanText(requiredOutput.object_key || requiredOutput.objectKey, 120) !== 'support_diagnosis_gate') {\n\t\tblockers.push('Root-cause entry contract must require support_diagnosis_gate output.');\n\t}\n\tif (missingRequiredFields.length) {\n\t\tblockers.push(`Root-cause entry contract missing required output fields: ${missingRequiredFields.join(', ')}.`);\n\t}\n\tconst ownerFileMax = Number(ownerPolicy.max_files || ownerPolicy.maxFiles || 0);\n\tif (!Number.isFinite(ownerFileMax) || ownerFileMax <= 0 || ownerFileMax > 12) {\n\t\tblockers.push('Root-cause entry contract must cap owner_files to a small exact file set.');\n\t}\n\tif (ownerPolicy.edits_outside_owner_files_require_revised_diagnosis !== true && ownerPolicy.editsOutsideOwnerFilesRequireRevisedDiagnosis !== true) {\n\t\tblockers.push('Root-cause entry contract must require revised diagnosis before edits outside owner_files.');\n\t}\n\tif (businessProofPolicy.requires_aiqa_business_assertion !== true && businessProofPolicy.requiresAiqaBusinessAssertion !== true) {\n\t\tblockers.push('Root-cause entry contract must require AIQaBusinessAssertion business proof.');\n\t}\n\tif (businessProofPolicy.route_load_screenshot_scorecard_model_claim_not_acceptance !== true && businessProofPolicy.routeLoadScreenshotScorecardModelClaimNotAcceptance !== true) {\n\t\tblockers.push('Root-cause entry contract must reject route-load/screenshot/scorecard/model-claim acceptance.');\n\t}\n\tif (failurePolicy.repeated_failure_without_new_evidence_parks_run !== true && failurePolicy.repeatedFailureWithoutNewEvidenceParksRun !== true) {\n\t\tblockers.push('Root-cause entry contract must park repeated failures without new evidence.');\n\t}\n\tif (missingIssueClasses.length) {\n\t\tblockers.push(`Root-cause entry contract missing issue-class probes: ${missingIssueClasses.join(', ')}.`);\n\t}\n\tconst status: AIRunGateResult['status'] = blockers.length ? 'fail' : 'pass';\n\treturn {\n\t\tkey: 'support_root_cause_entry_contract',\n\t\tlabel: 'Root-cause entry contract',\n\t\tstatus,\n\t\treason: blockers.length\n\t\t\t? blockers.join(' ')\n\t\t\t: 'Support run has a structured root-cause-first entry contract with issue-class probes, owner-file policy, and business-proof policy.',\n\t\tevidenceRefs: cleanStringList(businessProofPolicy.required_artifacts || businessProofPolicy.requiredArtifacts, 20, 500),\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\tcontractId: cleanText(contract.contract_id || contract.contractId, 160),\n\t\t\tversion: cleanText(contract.version, 120),\n\t\t\tstatus: cleanText(contract.status, 120),\n\t\t\trequiredOutputKey: cleanText(requiredOutput.object_key || requiredOutput.objectKey, 120),\n\t\t\trequiredFields,\n\t\t\tmissingRequiredFields,\n\t\t\townerFileMax,\n\t\t\trequiresRevisedDiagnosisForOutOfScopeEdits: ownerPolicy.edits_outside_owner_files_require_revised_diagnosis === true || ownerPolicy.editsOutsideOwnerFilesRequireRevisedDiagnosis === true,\n\t\t\trequiresBusinessAssertion: businessProofPolicy.requires_aiqa_business_assertion === true || businessProofPolicy.requiresAiqaBusinessAssertion === true,\n\t\t\trouteOnlyAcceptanceRejected: businessProofPolicy.route_load_screenshot_scorecard_model_claim_not_acceptance === true || businessProofPolicy.routeLoadScreenshotScorecardModelClaimNotAcceptance === true,\n\t\t\tissueClassProbeCount: issueClasses.length,\n\t\t\tissueClasses,\n\t\t\tmissingIssueClasses\n\t\t}\n\t};\n}\n\nfunction applySupportDiagnosisProofGate(qa: AIQaRun, diagnosisGate: Record<string, any>, now?: Date | string): AIQaRun {\n\tconst proofPlan = diagnosisGate.proof_plan || diagnosisGate.proofPlan || {};\n\tconst requiredBusinessAssertion = cleanText(proofPlan.business_assertion || proofPlan.businessAssertion, 1000);\n\tconst requiredAfter = cleanText(proofPlan.after, 1000);\n\tif (!Object.keys(proofPlan).length || (!requiredBusinessAssertion && !requiredAfter)) {\n\t\treturn qa;\n\t}\n\tconst passedAssertions = qa.businessAssertions.filter(businessAssertionPassed);\n\tif (!passedAssertions.length) {\n\t\treturn qa;\n\t}\n\tif (passedAssertions.some((assertion) => supportAssertionMatchesDiagnosisProof(assertion, proofPlan))) {\n\t\treturn qa;\n\t}\n\tconst gate = supportDiagnosisProofGateResult(diagnosisGate, now);\n\treturn {\n\t\t...qa,\n\t\toutcome: qa.routeProbes.some((probe) => /^(pass|passed|success|ok|done)$/i.test(cleanText(probe.status, 40)))\n\t\t\t? 'route_only_pass'\n\t\t\t: 'incomplete',\n\t\tgateResults: [\n\t\t\t...qa.gateResults.filter((existing) => !(existing.key === 'qa_business_assertion' && existing.status === 'pass')),\n\t\t\tgate\n\t\t]\n\t};\n}\n\nconst SUPPORT_PRODUCT_REPAIR_STEP_TYPES = new Set([\n\t'build_repair',\n\t'owner_scoped_repair',\n\t'product_repair',\n\t'code_repair'\n]);\n\nconst SUPPORT_PRODUCT_REPAIR_ACTIONS = new Set([\n\t'run_owner_scoped_repair',\n\t'run_targeted_product_repair',\n\t'allow_product_repair'\n]);\n\nfunction supportSourceEditFiles(value: any): string[] {\n\treturn cleanStringList(value, 80, 500)\n\t\t.filter((filePath) => {\n\t\t\tconst normalized = filePath.replace(/\\\\/g, '/').toLowerCase();\n\t\t\tif (!normalized || /(^|\\/)(qa-artifacts|runner-evidence|logs?|tmp|dist|node_modules)(\\/|$)/.test(normalized)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn /\\.(?:ts|tsx|js|jsx|html|scss|css|json|mjs|cjs|vue|svelte|md)$/i.test(normalized);\n\t\t});\n}\n\nfunction supportRepairActivityFromRecord(\n\tvalue: any,\n\tsource: string,\n\tindex: number\n): { changedFiles: string[]; activityRef?: string } | undefined {\n\tconst record = plainObject(value);\n\tif (!Object.keys(record).length) {\n\t\treturn undefined;\n\t}\n\tconst stepType = cleanText(record.stepType || record.step_type || record.type, 120);\n\tconst action = cleanText(record.action || record.primaryAction || record.primary_action || record.allowedDispatchAction || record.allowed_dispatch_action, 120);\n\tconst lane = cleanText(record.lane || record.phase || record.category, 120).toLowerCase();\n\tconst changedFiles = supportSourceEditFiles(\n\t\trecord.changedFiles\n\t\t|| record.changed_files\n\t\t|| record.modifiedFiles\n\t\t|| record.modified_files\n\t\t|| record.editedFiles\n\t\t|| record.edited_files\n\t\t|| record.files\n\t);\n\tconst explicitProductRepair = SUPPORT_PRODUCT_REPAIR_STEP_TYPES.has(stepType)\n\t\t|| SUPPORT_PRODUCT_REPAIR_ACTIONS.has(action)\n\t\t|| (lane === 'build' && changedFiles.length > 0);\n\tif (!explicitProductRepair) {\n\t\treturn undefined;\n\t}\n\tconst activityRef = cleanText(\n\t\trecord.microtaskId\n\t\t|| record.microtask_id\n\t\t|| record.taskId\n\t\t|| record.task_id\n\t\t|| record.jobId\n\t\t|| record.job_id\n\t\t|| record._id\n\t\t|| record.id\n\t\t|| `${source}:${index}`,\n\t\t240\n\t);\n\treturn { changedFiles, activityRef };\n}\n\nfunction supportProductRepairEvidence(input: SupportAIRunAdapterInput, evidence: Record<string, any>): {\n\tattempted: boolean;\n\tchangedFiles: string[];\n\tactivityRefs: string[];\n\tactivityCount: number;\n} {\n\tconst job = input.job || {};\n\tconst records = [\n\t\t...asArray<any>(job.supportV5StepHistory),\n\t\t...asArray<any>(job.support_v5_step_history),\n\t\t...asArray<any>(job.stepHistory),\n\t\t...asArray<any>(job.step_history),\n\t\t...asArray<any>(evidence.supportV5StepHistory),\n\t\t...asArray<any>(evidence.support_v5_step_history),\n\t\t...asArray<any>(evidence.stepHistory),\n\t\t...asArray<any>(evidence.step_history),\n\t\t...asArray<any>(input.taskEvents),\n\t\t...asArray<any>(input.aiJobs),\n\t\t...asArray<any>(input.buildPlans)\n\t];\n\tconst activityRefs: string[] = [];\n\tconst changedFiles: string[] = [];\n\tlet activityCount = 0;\n\trecords.forEach((record, index) => {\n\t\tconst activity = supportRepairActivityFromRecord(record, 'support_repair_activity', index);\n\t\tif (!activity) {\n\t\t\treturn;\n\t\t}\n\t\tactivityCount += 1;\n\t\tif (activity.activityRef) {\n\t\t\tactivityRefs.push(activity.activityRef);\n\t\t}\n\t\tchangedFiles.push(...activity.changedFiles);\n\t});\n\tconst directChangedFiles = supportSourceEditFiles([\n\t\t...asArray<any>(job.changedFiles),\n\t\t...asArray<any>(job.changed_files),\n\t\t...asArray<any>(job.modifiedFiles),\n\t\t...asArray<any>(job.modified_files),\n\t\t...asArray<any>(job.editedFiles),\n\t\t...asArray<any>(job.edited_files),\n\t\t...asArray<any>(evidence.changedFiles),\n\t\t...asArray<any>(evidence.changed_files),\n\t\t...asArray<any>(evidence.modifiedFiles),\n\t\t...asArray<any>(evidence.modified_files),\n\t\t...asArray<any>(evidence.editedFiles),\n\t\t...asArray<any>(evidence.edited_files),\n\t\t...asArray<any>(input.commits).flatMap((commit) => asArray<any>(commit.changedFiles || commit.changed_files || commit.files))\n\t]);\n\tif (directChangedFiles.length) {\n\t\tactivityCount += 1;\n\t\tactivityRefs.push('changed_files');\n\t\tchangedFiles.push(...directChangedFiles);\n\t}\n\tconst uniqueChangedFiles = Array.from(new Set(changedFiles.map((filePath) => cleanText(filePath, 500)).filter(Boolean))).slice(0, 80);\n\treturn {\n\t\tattempted: activityCount > 0,\n\t\tchangedFiles: uniqueChangedFiles,\n\t\tactivityRefs: Array.from(new Set(activityRefs.map((ref) => cleanText(ref, 240)).filter(Boolean))).slice(0, 40),\n\t\tactivityCount\n\t};\n}\n\nfunction supportDiagnosisBeforeRepairGate(\n\tdiagnosisGate: Record<string, any>,\n\trepairEvidence: ReturnType<typeof supportProductRepairEvidence>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!repairEvidence.attempted) {\n\t\treturn undefined;\n\t}\n\tconst validation = validateResolveIOSupportDiagnosisGate(diagnosisGate);\n\tconst status: AIRunGateResult['status'] = validation.valid ? 'pass' : 'blocked';\n\treturn {\n\t\tkey: 'support_diagnosis_before_repair',\n\t\tlabel: 'Support diagnosis before repair',\n\t\tstatus,\n\t\treason: validation.valid\n\t\t\t? 'Support product repair has a valid root-cause diagnosis gate and owner-file scope.'\n\t\t\t: 'Support product repair is blocked until a valid SupportDiagnosisGate records reproduction/classification, accepted hypothesis, rejected alternatives, owner_files, and before/action/after proof.',\n\t\tevidenceRefs: repairEvidence.changedFiles,\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\trepairAttempted: true,\n\t\t\tactivityCount: repairEvidence.activityCount,\n\t\t\tactivityRefs: repairEvidence.activityRefs,\n\t\t\tchangedFiles: repairEvidence.changedFiles,\n\t\t\tdiagnosisValid: validation.valid,\n\t\t\tdiagnosisStatus: validation.status,\n\t\t\tblockers: validation.blockers,\n\t\t\townerFiles: validation.normalized?.owner_files || [],\n\t\t\tissueClass: validation.normalized?.issue_class,\n\t\t\tproductRepairAllowed: validation.valid,\n\t\t\tallowedDispatchAction: validation.valid ? 'run_owner_scoped_repair' : 'run_read_only_diagnosis',\n\t\t\trequiredEvidence: validation.valid\n\t\t\t\t? ['AIQaBusinessAssertion mapped to diagnosis proof_plan before acceptance']\n\t\t\t\t: ['support_diagnosis_gate JSON', 'reproduction or blocked-reproduction reason', 'accepted_hypothesis with evidence', 'owner_files', 'proof_plan before/action/after']\n\t\t}\n\t};\n}\n\nfunction supportOwnerFileScopeGate(\n\tdiagnosisGate: Record<string, any>,\n\trepairEvidence: ReturnType<typeof supportProductRepairEvidence>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!repairEvidence.attempted) {\n\t\treturn undefined;\n\t}\n\tconst validation = validateResolveIOSupportDiagnosisGate(diagnosisGate);\n\tif (!validation.valid || !validation.normalized) {\n\t\treturn undefined;\n\t}\n\tconst outsideOwnerFiles = changedFilesOutsideResolveIOSupportDiagnosisOwnerFiles(\n\t\tvalidation.normalized,\n\t\trepairEvidence.changedFiles,\n\t\t{ allowTests: true }\n\t);\n\tconst status: AIRunGateResult['status'] = outsideOwnerFiles.length ? 'blocked' : 'pass';\n\treturn {\n\t\tkey: 'support_owner_file_scope',\n\t\tlabel: 'Support owner-file scope',\n\t\tstatus,\n\t\treason: outsideOwnerFiles.length\n\t\t\t? `Support repair changed files outside diagnosis owner_files; revise diagnosis with new evidence before broadening edits: ${outsideOwnerFiles.join(', ')}`\n\t\t\t: 'Support repair stayed within diagnosis owner_files; test-only changes are allowed as supporting evidence.',\n\t\tevidenceRefs: outsideOwnerFiles.length ? outsideOwnerFiles : repairEvidence.changedFiles,\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\trepairAttempted: true,\n\t\t\tdiagnosisValid: true,\n\t\t\tissueClass: validation.normalized.issue_class,\n\t\t\townerFiles: validation.normalized.owner_files,\n\t\t\tchangedFiles: repairEvidence.changedFiles,\n\t\t\toutsideOwnerFiles,\n\t\t\tallowedTestFilesOutsideOwnerScope: true,\n\t\t\tproductRepairAllowed: outsideOwnerFiles.length === 0,\n\t\t\tallowedDispatchAction: outsideOwnerFiles.length ? 'run_read_only_diagnosis' : 'run_business_proof_qa',\n\t\t\trequiredEvidence: outsideOwnerFiles.length\n\t\t\t\t? ['revised SupportDiagnosisGate with evidence for each new owner file', 'updated failing_path and proof_plan matching broadened scope']\n\t\t\t\t: ['compile/unit proof', 'AIQaBusinessAssertion mapped to diagnosis proof_plan']\n\t\t}\n\t};\n}\n\nfunction evidenceObject(...values: any[]): Record<string, any> {\n\tfor (const value of values) {\n\t\tif (value && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn {};\n}\n\nfunction mergeEvidenceRecords(...values: any[]): Record<string, any> {\n\tconst merged: Record<string, any> = {};\n\tfor (const value of values) {\n\t\tconst source = plainObject(value);\n\t\tfor (const [key, entry] of Object.entries(source)) {\n\t\t\tif (entry === undefined || entry === null || entry === '') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (Array.isArray(entry)) {\n\t\t\t\tmerged[key] = [...asArray(merged[key]), ...entry];\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (plainObject(entry) === entry && plainObject(merged[key]) === merged[key]) {\n\t\t\t\tmerged[key] = { ...merged[key], ...entry };\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tmerged[key] = entry;\n\t\t}\n\t}\n\treturn merged;\n}\n\nfunction buildSupportQaEvidence(input: SupportAIRunAdapterInput): Record<string, any> {\n\tconst job = input.job || {};\n\tconst ticket = input.ticket || {};\n\tconst inputQaEvidence = plainObject(input.qaEvidence);\n\tconst qaCursor = plainObject(job.supportQaValidationCursor || job.support_qa_validation_cursor);\n\tconst autonomousDecision = plainObject(job.supportV5AutonomousDecision || job.support_v5_autonomous_decision);\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst preflightGate = supportPreflightGateObject(ticket, job, {\n\t\t...plainObject(input.qaEvidence),\n\t\tsupportV5AutonomousDecision: autonomousDecision\n\t});\n\tconst businessProofReadiness = plainObject(\n\t\tinputQaEvidence.businessProofReadiness\n\t\t|| inputQaEvidence.business_proof_readiness\n\t\t|| inputQaEvidence.supportV5AutonomousDecision?.businessProofReadiness\n\t\t|| inputQaEvidence.supportV5AutonomousDecision?.business_proof_readiness\n\t\t|| inputQaEvidence.support_v5_autonomous_decision?.businessProofReadiness\n\t\t|| inputQaEvidence.support_v5_autonomous_decision?.business_proof_readiness\n\t\t|| job.businessProofReadiness\n\t\t|| job.business_proof_readiness\n\t\t|| autonomousDecision.businessProofReadiness\n\t\t|| autonomousDecision.business_proof_readiness\n\t);\n\tconst customerReplyPolicy = plainObject(\n\t\tautonomousDecision.customerReplyPolicy\n\t\t|| autonomousDecision.customer_reply_policy\n\t\t|| job.customerReplyPolicy\n\t\t|| job.customer_reply_policy\n\t);\n\tconst customerReplyReadiness = plainObject(\n\t\tautonomousDecision.customerReplyReadiness\n\t\t|| autonomousDecision.customer_reply_readiness\n\t\t|| customerReplyPolicy.readinessContract\n\t\t|| customerReplyPolicy.readiness_contract\n\t\t|| job.customerReplyReadiness\n\t\t|| job.customer_reply_readiness\n\t);\n\tconst managerRecoveryExecutionProof = plainObject(\n\t\tjob.managerRecoveryExecutionProof\n\t\t|| job.manager_recovery_execution_proof\n\t\t|| job.supportManagerRecoveryExecutionProof\n\t\t|| job.support_manager_recovery_execution_proof\n\t\t|| autonomousDecision.recoveryExecutionProof\n\t\t|| autonomousDecision.recovery_execution_proof\n\t\t|| ticketManager.last_recovery_execution_proof\n\t\t|| ticketManager.recovery_execution_proof\n\t);\n\tconst humanReviewPacket = plainObject(\n\t\tautonomousDecision.humanReviewPacket\n\t\t|| autonomousDecision.human_review_packet\n\t\t|| customerReplyPolicy.humanReviewPacket\n\t\t|| customerReplyPolicy.human_review_packet\n\t\t|| job.humanReviewPacket\n\t\t|| job.human_review_packet\n\t);\n\tconst evidence = mergeEvidenceRecords(\n\t\tqaCursor,\n\t\tjob.qaEvidence,\n\t\tjob.qa_evidence,\n\t\tticket.qaEvidence,\n\t\tticket.qa_evidence,\n\t\tinputQaEvidence\n\t);\n\tevidence.supportQaAssertions = [\n\t\t...asArray(job.supportQaAssertions),\n\t\t...asArray(job.support_qa_assertions),\n\t\t...asArray(evidence.supportQaAssertions)\n\t];\n\tevidence.aiQaBusinessAssertions = [\n\t\t...asArray(job.aiQaBusinessAssertions),\n\t\t...asArray(job.ai_qa_business_assertions),\n\t\t...objectList(job.aiQaBusinessAssertion),\n\t\t...objectList(job.aiqaBusinessAssertion),\n\t\t...objectList(job.ai_qa_business_assertion),\n\t\t...objectList(job.aiqa_business_assertion),\n\t\t...objectList(job.supportQaBusinessAssertion),\n\t\t...objectList(job.support_qa_business_assertion),\n\t\t...asArray(evidence.aiQaBusinessAssertions)\n\t];\n\tevidence.runnerEvidenceArtifacts = [\n\t\t...asArray(job.runnerEvidenceArtifacts),\n\t\t...asArray(job.runner_evidence_artifacts),\n\t\t...asArray(evidence.runnerEvidenceArtifacts)\n\t];\n\tevidence.supportQaArtifacts = [\n\t\t...asArray(job.supportQaArtifacts),\n\t\t...asArray(job.support_qa_artifacts),\n\t\t...asArray(job.qa_artifacts),\n\t\t...asArray(evidence.supportQaArtifacts)\n\t];\n\tif (Object.keys(businessProofReadiness).length) {\n\t\tevidence.businessProofReadiness = businessProofReadiness;\n\t}\n\tif (Object.keys(customerReplyPolicy).length) {\n\t\tevidence.customerReplyPolicy = {\n\t\t\t...customerReplyPolicy,\n\t\t\t...(Object.keys(humanReviewPacket).length ? { humanReviewPacket } : {})\n\t\t};\n\t}\n\telse if (Object.keys(humanReviewPacket).length) {\n\t\tevidence.customerReplyPolicy = { humanReviewPacket };\n\t}\n\tif (Object.keys(customerReplyReadiness).length) {\n\t\tevidence.customerReplyReadiness = customerReplyReadiness;\n\t}\n\tif (Object.keys(managerRecoveryExecutionProof).length) {\n\t\tevidence.managerRecoveryExecutionProof = managerRecoveryExecutionProof;\n\t}\n\tconst autonomyApproval = supportAutonomyApprovalObject(ticket, job, evidence);\n\tconst productRepairDispatchGuard = supportProductRepairDispatchGuardObject(ticket, job, evidence);\n\tconst humanDecisionRequest = supportHumanDecisionRequestObject(ticket, job, evidence);\n\tconst managerContinuation = supportManagerContinuationObject(ticket, job, evidence);\n\tconst prReadinessContract = supportPrReadinessContractObject(ticket, job, evidence);\n\tconst prReviewContract = supportPrReviewContractObject(ticket, job, evidence);\n\tconst prCreationResult = supportPrCreationResultObject(ticket, job, evidence);\n\tif (Object.keys(autonomyApproval).length) {\n\t\tevidence.supportV5AutonomyApproval = autonomyApproval;\n\t}\n\tif (Object.keys(productRepairDispatchGuard).length) {\n\t\tevidence.supportProductRepairDispatchGuard = productRepairDispatchGuard;\n\t}\n\tif (Object.keys(humanDecisionRequest).length) {\n\t\tevidence.supportHumanDecisionRequest = humanDecisionRequest;\n\t}\n\tif (Object.keys(managerContinuation).length) {\n\t\tevidence.supportManagerContinuation = managerContinuation;\n\t}\n\tif (Object.keys(prReadinessContract).length) {\n\t\tevidence.supportPrReadinessContract = prReadinessContract;\n\t}\n\tif (Object.keys(prReviewContract).length) {\n\t\tevidence.supportPrReviewContract = prReviewContract;\n\t}\n\tif (Object.keys(prCreationResult).length) {\n\t\tevidence.supportPrCreationResult = prCreationResult;\n\t}\n\tif (Object.keys(preflightGate).length) {\n\t\tevidence.supportV5PreflightGate = preflightGate;\n\t\tapplySupportPreflightGateToQaEvidence(evidence, preflightGate);\n\t}\n\treturn evidence;\n}\n\nfunction supportPreflightGateObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst autonomousDecision = plainObject(\n\t\tjob.supportV5AutonomousDecision\n\t\t|| job.support_v5_autonomous_decision\n\t\t|| evidence.supportV5AutonomousDecision\n\t\t|| evidence.support_v5_autonomous_decision\n\t\t|| ticket.supportV5AutonomousDecision\n\t\t|| ticket.support_v5_autonomous_decision\n\t);\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\treturn evidenceObject(\n\t\tjob.supportV5PreflightGate,\n\t\tjob.support_v5_preflight_gate,\n\t\tjob.preflightGate,\n\t\tjob.preflight_gate,\n\t\tevidence.supportV5PreflightGate,\n\t\tevidence.support_v5_preflight_gate,\n\t\tevidence.preflightGate,\n\t\tevidence.preflight_gate,\n\t\tautonomousDecision.preflightGate,\n\t\tautonomousDecision.preflight_gate,\n\t\tautonomousDecision.rootCauseReadiness?.preflightGate,\n\t\tautonomousDecision.root_cause_readiness?.preflight_gate,\n\t\tticket.supportV5PreflightGate,\n\t\tticket.support_v5_preflight_gate,\n\t\tticketManager.supportV5PreflightGate,\n\t\tticketManager.support_v5_preflight_gate,\n\t\tticketManager.preflightGate,\n\t\tticketManager.preflight_gate\n\t);\n}\n\nfunction supportPreflightStatus(value: any): string {\n\treturn cleanText(value, 120).toLowerCase();\n}\n\nfunction supportPreflightFailedChecks(preflightGate: Record<string, any>): Record<string, any>[] {\n\tconst failed = [\n\t\t...asArray<Record<string, any>>(preflightGate.failedChecks || preflightGate.failed_checks),\n\t\t...asArray<Record<string, any>>(preflightGate.checks).filter((check) => {\n\t\t\tconst status = supportPreflightStatus(check.status || check.state || check.outcome);\n\t\t\treturn /fail|failed|blocked|missing|error/.test(status);\n\t\t})\n\t];\n\tconst seen = new Set<string>();\n\treturn failed.filter((check) => {\n\t\tconst key = `${cleanText(check.name || check.check || check.key, 160)}:${cleanText(check.summary || check.message || check.error || check.reason, 500)}`;\n\t\tif (seen.has(key)) {\n\t\t\treturn false;\n\t\t}\n\t\tseen.add(key);\n\t\treturn true;\n\t});\n}\n\nfunction supportPreflightArtifactPaths(preflightGate: Record<string, any>, checks: Record<string, any>[]): string[] {\n\treturn Array.from(new Set([\n\t\t...cleanStringList(preflightGate.artifactPaths || preflightGate.artifact_paths, 60, 500),\n\t\t...checks.flatMap((check) => cleanStringList(check.artifactPaths || check.artifact_paths || check.artifacts, 20, 500)),\n\t\t...checks.map((check) => cleanText(check.artifactPath || check.artifact_path || check.path || check.file, 500)).filter(Boolean)\n\t])).slice(0, 80);\n}\n\nfunction supportPreflightCheckMessage(check: Record<string, any>): string {\n\treturn cleanText(check.summary || check.message || check.error || check.reason || check.status, 1000);\n}\n\nfunction applySupportPreflightGateToQaEvidence(evidence: Record<string, any>, preflightGate: Record<string, any>): void {\n\tconst status = supportPreflightStatus(preflightGate.status);\n\tconst failureClass = supportPreflightStatus(preflightGate.failureClass || preflightGate.failure_class);\n\tconst failedChecks = supportPreflightFailedChecks(preflightGate);\n\tconst artifactPaths = supportPreflightArtifactPaths(preflightGate, failedChecks);\n\tconst compileResult = plainObject(preflightGate.compileResult || preflightGate.compile_result);\n\tconst compileFailed = status === 'compile_failed'\n\t\t|| failureClass === 'compile'\n\t\t|| cleanText(compileResult.failureClass || compileResult.failure_class, 120).toLowerCase() === 'compile'\n\t\t|| failedChecks.some((check) => {\n\t\t\tconst name = supportPreflightStatus(check.name || check.check || check.key);\n\t\t\tconst checkClass = supportPreflightStatus(check.failureClass || check.failure_class);\n\t\t\treturn name === 'compile' || checkClass === 'compile';\n\t\t});\n\tif (compileFailed) {\n\t\tconst compileCheck = Object.keys(compileResult).length ? compileResult : failedChecks[0] || {};\n\t\tevidence.compile = {\n\t\t\t...plainObject(evidence.compile || evidence.build || evidence.buildResult || evidence.build_result),\n\t\t\tstatus: cleanText(compileCheck.status || preflightGate.status || 'fail', 80) || 'fail',\n\t\t\tcommand: cleanText(compileCheck.command || preflightGate.command || preflightGate.nextCommand || preflightGate.next_command, 500),\n\t\t\tartifactPath: artifactPaths[0] || cleanText(compileCheck.artifactPath || compileCheck.artifact_path || compileCheck.path, 500),\n\t\t\tmessage: supportPreflightCheckMessage(compileCheck) || cleanText(preflightGate.reason || preflightGate.blockers?.[0] || 'Support compile preflight failed before browser QA.', 1000),\n\t\t\tmetadata: {\n\t\t\t\tsource: 'supportV5PreflightGate',\n\t\t\t\tpreflightStatus: status,\n\t\t\t\tpreflightEvidenceHash: cleanText(preflightGate.evidenceHash || preflightGate.evidence_hash, 200),\n\t\t\t\tnextCommand: cleanText(preflightGate.nextCommand || preflightGate.next_command, 180)\n\t\t\t}\n\t\t};\n\t\treturn;\n\t}\n\tconst blocksRepair = preflightGate.blocksProductRepair === true || preflightGate.blocks_product_repair === true || /infra_failed|blocked|missing/.test(status);\n\tconst checks = failedChecks.length\n\t\t? failedChecks\n\t\t: Object.keys(preflightGate).length && (blocksRepair || status === 'passed')\n\t\t\t? [{\n\t\t\t\tname: 'support_preflight',\n\t\t\t\tstatus: status === 'passed' ? 'pass' : 'blocked',\n\t\t\t\tsummary: cleanStringList(preflightGate.blockers, 4, 500).join('; ') || cleanText(preflightGate.reason || preflightGate.status, 1000),\n\t\t\t\tartifactPaths\n\t\t\t}]\n\t\t\t: [];\n\tif (!checks.length) {\n\t\treturn;\n\t}\n\tevidence.infraChecks = [\n\t\t...asArray(evidence.infraChecks),\n\t\t...checks.map((check) => ({\n\t\t\tname: cleanText(check.name || check.check || check.key, 160) || 'support_preflight',\n\t\t\tstatus: cleanText(check.status || check.state || check.outcome || (status === 'passed' ? 'pass' : 'blocked'), 80),\n\t\t\tmessage: supportPreflightCheckMessage(check) || cleanStringList(preflightGate.blockers, 3, 500).join('; '),\n\t\t\tpath: cleanText(check.path || check.artifactPath || check.artifact_path, 500) || artifactPaths[0],\n\t\t\tmetadata: {\n\t\t\t\tsource: 'supportV5PreflightGate',\n\t\t\t\tpreflightStatus: status,\n\t\t\t\tpreflightFailureClass: failureClass,\n\t\t\t\tpreflightEvidenceHash: cleanText(preflightGate.evidenceHash || preflightGate.evidence_hash, 200),\n\t\t\t\tnextCommand: cleanText(preflightGate.nextCommand || preflightGate.next_command, 180)\n\t\t\t}\n\t\t}))\n\t];\n}\n\nfunction supportPreflightGateResult(\n\tpreflightGate: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!preflightGate || !Object.keys(preflightGate).length) {\n\t\treturn undefined;\n\t}\n\tconst statusText = supportPreflightStatus(preflightGate.status);\n\tconst ready = preflightGate.ready === true;\n\tconst blocksProductRepair = preflightGate.blocksProductRepair === true || preflightGate.blocks_product_repair === true;\n\tconst failedChecks = supportPreflightFailedChecks(preflightGate);\n\tconst artifactPaths = supportPreflightArtifactPaths(preflightGate, failedChecks);\n\tconst gateStatus: AIRunGateResult['status'] = ready || statusText === 'passed'\n\t\t? 'pass'\n\t\t: /compile_failed|infra_failed|fail|failed/.test(statusText)\n\t\t\t? 'fail'\n\t\t\t: blocksProductRepair || /missing|blocked/.test(statusText)\n\t\t\t\t? 'blocked'\n\t\t\t\t: 'warn';\n\tconst blockers = cleanStringList(preflightGate.blockers, 20, 500);\n\treturn {\n\t\tkey: 'support_preflight_gate',\n\t\tlabel: 'Support preflight gate',\n\t\tstatus: gateStatus,\n\t\treason: gateStatus === 'pass'\n\t\t\t? 'Support deterministic preflight passed before product-code repair.'\n\t\t\t: cleanText(blockers.join('; ') || preflightGate.reason || `Support deterministic preflight is ${statusText || 'not ready'} before product-code repair.`, 1200),\n\t\tevidenceRefs: artifactPaths,\n\t\trecordedAt: isoNow(now || preflightGate.recordedAt || preflightGate.recorded_at),\n\t\tmetadata: {\n\t\t\tready,\n\t\t\trequired: preflightGate.required === true,\n\t\t\tstatus: statusText,\n\t\t\tfailureClass: cleanText(preflightGate.failureClass || preflightGate.failure_class, 120),\n\t\t\tnextCommand: cleanText(preflightGate.nextCommand || preflightGate.next_command, 180),\n\t\t\tblocksProductRepair,\n\t\t\tblocksModelRepair: preflightGate.blocksModelRepair === true || preflightGate.blocks_model_repair === true,\n\t\t\tfailedChecks: failedChecks.map((check) => cleanText(check.name || check.check || check.key, 160)).filter(Boolean),\n\t\t\trequiredEvidence: cleanStringList(preflightGate.requiredEvidence || preflightGate.required_evidence, 20, 500),\n\t\t\tevidenceHash: cleanText(preflightGate.evidenceHash || preflightGate.evidence_hash, 200)\n\t\t}\n\t};\n}\n\nfunction supportBusinessProofReadinessGate(\n\treadiness: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!readiness || !Object.keys(readiness).length) {\n\t\treturn undefined;\n\t}\n\tconst ready = readiness.ready === true;\n\tconst readinessStatus = cleanText(readiness.status, 120).toLowerCase();\n\tconst blockers = cleanStringList(readiness.blockers, 20, 500);\n\tconst artifactPaths = cleanStringList(readiness.artifactPaths || readiness.artifact_paths, 40, 500);\n\tconst proofFingerprint = cleanText(readiness.proofFingerprint || readiness.proof_fingerprint, 160);\n\tconst artifactFingerprint = cleanText(readiness.artifactFingerprint || readiness.artifact_fingerprint, 160);\n\tconst proofFreshness = cleanText(readiness.proofFreshness || readiness.proof_freshness, 120);\n\tconst status: AIRunGateResult['status'] = ready\n\t\t? 'pass'\n\t\t: /fail|failed/.test(readinessStatus)\n\t\t\t? 'fail'\n\t\t\t: /missing|route_only|blocked|weak|stale|incomplete/.test(readinessStatus)\n\t\t\t\t? 'blocked'\n\t\t\t\t: 'warn';\n\treturn {\n\t\tkey: 'support_business_proof_readiness',\n\t\tlabel: 'Support business proof readiness',\n\t\tstatus,\n\t\treason: cleanText(readiness.reason || blockers.join('; ') || readinessStatus || 'Support business proof readiness recorded.', 1200),\n\t\tevidenceRefs: artifactPaths,\n\t\trecordedAt: isoNow(now || readiness.recordedAt || readiness.recorded_at),\n\t\tmetadata: {\n\t\t\tready,\n\t\t\tstatus: readinessStatus,\n\t\t\tblockers,\n\t\t\trequiredEvidence: cleanStringList(readiness.requiredEvidence || readiness.required_evidence, 20, 500),\n\t\t\tproofFingerprint,\n\t\t\tartifactFingerprint,\n\t\t\tproofFreshness\n\t\t}\n\t};\n}\n\nfunction supportCustomerReplyPolicyGate(\n\tpolicy: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!policy || !Object.keys(policy).length) {\n\t\treturn undefined;\n\t}\n\tconst action = cleanText(policy.action, 120);\n\tconst safety = cleanText(policy.safety, 120);\n\tconst reason = cleanText(policy.reason, 1200);\n\tconst canDraft = policy.canDraftCustomerReply === true || policy.can_draft_customer_reply === true;\n\tconst canSend = policy.canSendCustomerReply === true || policy.can_send_customer_reply === true;\n\tconst reviewPacket = plainObject(policy.humanReviewPacket || policy.human_review_packet);\n\tconst draftBasis = plainObject(policy.draftBasis || policy.draft_basis);\n\tconst clarificationValidation = validateResolveIOSupportClarificationContract(policy.clarificationContract || policy.clarification_contract || {});\n\tconst clarificationContract = clarificationValidation.normalized;\n\tconst reviewType = cleanText(reviewPacket.reviewType || reviewPacket.review_type, 160);\n\tconst evidenceRefs = cleanStringList(reviewPacket.evidenceRefs || reviewPacket.evidence_refs, 40, 500);\n\tconst blockers = cleanStringList(policy.blockers || reviewPacket.blockers, 20, 500);\n\tconst gateStatus: AIRunGateResult['status'] = canSend\n\t\t? 'blocked'\n\t\t: action === 'draft_resolution_reply' && canDraft\n\t\t\t? 'warn'\n\t\t\t: action === 'ask_clarification' && canDraft\n\t\t\t\t? (clarificationValidation.valid ? 'warn' : 'blocked')\n\t\t\t\t: 'blocked';\n\tconst mergedBlockers = Array.from(new Set([\n\t\t...blockers,\n\t\t...(action === 'ask_clarification' ? clarificationValidation.blockers : [])\n\t]));\n\treturn {\n\t\tkey: 'support_customer_reply_policy',\n\t\tlabel: 'Support customer reply policy',\n\t\tstatus: gateStatus,\n\t\treason: reason || mergedBlockers.join('; ') || action || 'Support customer reply policy recorded.',\n\t\tevidenceRefs,\n\t\trecordedAt: isoNow(now || policy.recordedAt || policy.recorded_at || reviewPacket.createdAt || reviewPacket.created_at),\n\t\tmetadata: {\n\t\t\taction,\n\t\t\tsafety,\n\t\t\tcanDraftCustomerReply: canDraft,\n\t\t\tcanSendCustomerReply: canSend,\n\t\t\tconfidenceLevel: cleanText(policy.confidenceLevel || policy.confidence_level, 120),\n\t\t\tissueClass: cleanText(draftBasis.issueClass || draftBasis.issue_class, 120),\n\t\t\tissueClassProbePlanId: cleanText(draftBasis.issueClassProbePlanId || draftBasis.issue_class_probe_plan_id, 180),\n\t\t\tissueClassProbePlanStatus: cleanText(draftBasis.issueClassProbePlanStatus || draftBasis.issue_class_probe_plan_status, 120),\n\t\t\treviewType,\n\t\t\tprimaryAction: cleanText(reviewPacket.primaryAction || reviewPacket.primary_action, 160),\n\t\t\trequiresHumanApproval: reviewPacket.requiresHumanApproval !== false && reviewPacket.requires_human_approval !== false,\n\t\t\tquestionPresent: !!cleanText(policy.clarificationQuestion || policy.clarification_question || reviewPacket.question, 1000),\n\t\t\tclarificationContractStatus: cleanText(clarificationContract.status, 120),\n\t\t\tclarificationMissingField: cleanText(clarificationContract.missingField, 120),\n\t\t\tclarificationOneQuestionOnly: clarificationContract.oneQuestionOnly === true,\n\t\t\tclarificationParksTicket: clarificationContract.parksTicketUntilCustomerReply === true,\n\t\t\tblockers: mergedBlockers\n\t\t}\n\t};\n}\n\nfunction supportCustomerReplyReadinessGate(\n\tcontract: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\treturn undefined;\n\t}\n\tconst validation = validateResolveIOSupportCustomerReplyReadinessContract(contract);\n\tconst normalized = validation.normalized;\n\tconst status = cleanText(normalized.status, 120);\n\tconst gateStatus: AIRunGateResult['status'] = normalized.canSendCustomerReply\n\t\t? 'blocked'\n\t\t: validation.valid && (status === 'draft_ready' || status === 'clarification_required')\n\t\t\t? 'warn'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'support_customer_reply_readiness',\n\t\tlabel: 'Support customer reply readiness',\n\t\tstatus: gateStatus,\n\t\treason: normalized.reason || validation.blockers.join('; ') || status || 'Support customer reply readiness recorded.',\n\t\tevidenceRefs: normalized.evidenceRefs,\n\t\trecordedAt: isoNow(now || normalized.createdAt),\n\t\tmetadata: {\n\t\t\tcontractId: normalized.contractId,\n\t\t\tstatus,\n\t\t\tpolicyAction: normalized.policyAction,\n\t\t\treviewType: normalized.reviewType,\n\t\t\tprimaryCommand: normalized.primaryCommand,\n\t\t\tcanDraftCustomerReply: normalized.canDraftCustomerReply,\n\t\t\tcanSendCustomerReply: normalized.canSendCustomerReply,\n\t\t\trequiresHumanApproval: normalized.requiresHumanApproval,\n\t\t\tproofBacked: normalized.proofBacked,\n\t\t\tbusinessProofReady: normalized.businessProofReady,\n\t\t\treleaseReady: normalized.releaseReady,\n\t\t\tdiagnosisReady: normalized.diagnosisReady,\n\t\t\tissueClassProbePlanReady: normalized.issueClassProbePlanReady,\n\t\t\tclarificationRequired: normalized.clarificationRequired,\n\t\t\tblockers: Array.from(new Set([\n\t\t\t\t...normalized.blockers,\n\t\t\t\t...validation.blockers\n\t\t\t])),\n\t\t\trequiredEvidence: normalized.requiredEvidence,\n\t\t\tnextCommands: normalized.nextCommands,\n\t\t\tforbiddenActions: normalized.forbiddenActions\n\t\t}\n\t};\n}\n\nfunction supportProofBackedCustomerReplySendObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketReplyPolicy = plainObject(ticketAutomation.customer_reply_policy || ticketAutomation.customerReplyPolicy);\n\tconst jobReplyPolicy = plainObject(job.customerReplyPolicy || job.customer_reply_policy);\n\treturn evidenceObject(\n\t\tevidence.proofBackedCustomerReply,\n\t\tevidence.proof_backed_customer_reply,\n\t\tevidence.customerReplySendContract,\n\t\tevidence.customer_reply_send_contract,\n\t\tevidence.supportProofBackedCustomerReplySendContract,\n\t\tevidence.support_proof_backed_customer_reply_send_contract,\n\t\tjob.proofBackedCustomerReply,\n\t\tjob.proof_backed_customer_reply,\n\t\tjob.customerReplySendContract,\n\t\tjob.customer_reply_send_contract,\n\t\tjob.supportProofBackedCustomerReplySendContract,\n\t\tjob.support_proof_backed_customer_reply_send_contract,\n\t\tjobReplyPolicy.last_proof_backed_send_contract,\n\t\tjobReplyPolicy.lastProofBackedSendContract,\n\t\tjobReplyPolicy.last_manual_send,\n\t\tjobReplyPolicy.lastManualSend,\n\t\tticketReplyPolicy.last_proof_backed_send_contract,\n\t\tticketReplyPolicy.lastProofBackedSendContract,\n\t\tticketReplyPolicy.last_manual_send,\n\t\tticketReplyPolicy.lastManualSend\n\t);\n}\n\nfunction supportCustomerReplySendGuardObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketReplyPolicy = plainObject(ticketAutomation.customer_reply_policy || ticketAutomation.customerReplyPolicy);\n\tconst jobReplyPolicy = plainObject(job.customerReplyPolicy || job.customer_reply_policy);\n\tconst evidenceReplyPolicy = plainObject(evidence.customerReplyPolicy || evidence.customer_reply_policy);\n\tconst sendContract = supportProofBackedCustomerReplySendObject(ticket, job, evidence);\n\treturn evidenceObject(\n\t\tevidence.customerReplySendGuard,\n\t\tevidence.customer_reply_send_guard,\n\t\tevidence.supportCustomerReplySendGuard,\n\t\tevidence.support_customer_reply_send_guard,\n\t\tevidenceReplyPolicy.last_send_guard,\n\t\tevidenceReplyPolicy.lastSendGuard,\n\t\tevidenceReplyPolicy.last_blocked_send_guard,\n\t\tevidenceReplyPolicy.lastBlockedSendGuard,\n\t\tjob.customerReplySendGuard,\n\t\tjob.customer_reply_send_guard,\n\t\tjob.supportCustomerReplySendGuard,\n\t\tjob.support_customer_reply_send_guard,\n\t\tjobReplyPolicy.last_send_guard,\n\t\tjobReplyPolicy.lastSendGuard,\n\t\tjobReplyPolicy.last_blocked_send_guard,\n\t\tjobReplyPolicy.lastBlockedSendGuard,\n\t\tticketReplyPolicy.last_send_guard,\n\t\tticketReplyPolicy.lastSendGuard,\n\t\tticketReplyPolicy.last_blocked_send_guard,\n\t\tticketReplyPolicy.lastBlockedSendGuard,\n\t\tsendContract.send_guard,\n\t\tsendContract.sendGuard\n\t);\n}\n\nfunction supportProofBackedCustomerReplySendGate(\n\tsendContract: Record<string, any>,\n\tsendGuard: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif ((!sendContract || !Object.keys(sendContract).length) && (!sendGuard || !Object.keys(sendGuard).length)) {\n\t\treturn undefined;\n\t}\n\tconst contract = plainObject(sendContract.send_contract || sendContract.sendContract || sendContract);\n\tconst guard = plainObject(sendGuard.send_guard || sendGuard.sendGuard || sendGuard || contract.send_guard || contract.sendGuard);\n\tconst statusText = cleanText(contract.status || guard.status, 160).toLowerCase();\n\tconst sentAfterManualApproval = /sent_after_manual_approval|manual_send_complete|sent/.test(statusText);\n\tconst guardAllowed = guard.allowed === true || /ready_for_manual_send|allowed/.test(cleanText(guard.status, 160));\n\tconst directSendAllowed = guard.direct_send_allowed === true || guard.directSendAllowed === true || contract.direct_send_allowed === true || contract.directSendAllowed === true;\n\tconst requiresHumanApproval = guard.requires_human_approval !== false\n\t\t&& guard.requiresHumanApproval !== false\n\t\t&& contract.requires_human_approval !== false\n\t\t&& contract.requiresHumanApproval !== false;\n\tconst proofBacked = guard.proof_backed === true || guard.proofBacked === true || contract.proof_backed === true || contract.proofBacked === true;\n\tconst businessProofReady = guard.business_proof_ready === true || guard.businessProofReady === true || contract.business_proof_ready === true || contract.businessProofReady === true;\n\tconst releaseReady = guard.release_ready === true || guard.releaseReady === true || contract.release_ready === true || contract.releaseReady === true;\n\tconst diagnosisReady = guard.diagnosis_ready === true || guard.diagnosisReady === true || contract.diagnosis_ready === true || contract.diagnosisReady === true;\n\tconst probePlanReady = guard.issue_class_probe_plan_ready === true || guard.issueClassProbePlanReady === true || contract.issue_class_probe_plan_ready === true || contract.issueClassProbePlanReady === true;\n\tconst pullRequestUrl = cleanText(contract.pull_request_url || contract.pullRequestUrl || guard.pull_request_url || guard.pullRequestUrl, 500);\n\tconst blockers = Array.from(new Set([\n\t\t...cleanStringList(guard.blockers, 40, 500),\n\t\t...cleanStringList(contract.blockers, 40, 500),\n\t\tdirectSendAllowed ? 'Direct customer send is not allowed; proof-backed replies require manual review/send.' : '',\n\t\trequiresHumanApproval ? '' : 'Proof-backed customer reply must require human approval.',\n\t\t(sentAfterManualApproval || guardAllowed) && !proofBacked ? 'Customer reply is not proof-backed.' : '',\n\t\t(sentAfterManualApproval || guardAllowed) && !businessProofReady ? 'AIQaBusinessAssertion business proof is not ready.' : '',\n\t\t(sentAfterManualApproval || guardAllowed) && !releaseReady ? 'Release or hotfix proof is not ready.' : '',\n\t\t(sentAfterManualApproval || guardAllowed) && !diagnosisReady ? 'Root-cause diagnosis is not ready.' : '',\n\t\t(sentAfterManualApproval || guardAllowed) && !probePlanReady ? 'Issue-class probe plan is not ready.' : '',\n\t\t(sentAfterManualApproval || guardAllowed) && !pullRequestUrl ? 'Proof-backed customer reply is missing the current PR reference.' : ''\n\t].filter(Boolean)));\n\tconst status: AIRunGateResult['status'] = sentAfterManualApproval && blockers.length === 0\n\t\t? 'pass'\n\t\t: guardAllowed && blockers.length === 0\n\t\t\t? 'warn'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'support_proof_backed_customer_reply_send',\n\t\tlabel: 'Support proof-backed customer reply send',\n\t\tstatus,\n\t\treason: status === 'pass'\n\t\t\t? 'Proof-backed customer reply was sent after manual approval with PR, business proof, release, diagnosis, and issue-class probe evidence.'\n\t\t\t: status === 'warn'\n\t\t\t\t? 'Proof-backed customer reply is ready for manual review/send; automatic direct send remains blocked.'\n\t\t\t\t: blockers.join('; ') || cleanText(guard.policy_reason || contract.reason || 'Proof-backed customer reply send is blocked.', 1200),\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...asArray<any>(contract.evidence_refs || contract.evidenceRefs),\n\t\t\t...asArray<any>(guard.evidence_refs || guard.evidenceRefs),\n\t\t\t...asArray<any>(contract.required_evidence || contract.requiredEvidence),\n\t\t\tpullRequestUrl\n\t\t], 80, 500),\n\t\trecordedAt: isoNow(now || contract.sent_at || contract.sentAt || contract.checked_at || contract.checkedAt || guard.checked_at || guard.checkedAt),\n\t\tmetadata: {\n\t\t\tcontractId: cleanText(contract.contract_id || contract.contractId, 180),\n\t\t\tstatus: cleanText(contract.status || guard.status, 160),\n\t\t\tguardStatus: cleanText(guard.status, 160),\n\t\t\tallowed: guardAllowed,\n\t\t\tsentAfterManualApproval,\n\t\t\tdirectSendAllowed,\n\t\t\tmanualSendAfterReviewAllowed: guard.manual_send_after_review_allowed === true || guard.manualSendAfterReviewAllowed === true || sentAfterManualApproval,\n\t\t\trequiresHumanApproval,\n\t\t\tproofBacked,\n\t\t\tbusinessProofReady,\n\t\t\treleaseReady,\n\t\t\tdiagnosisReady,\n\t\t\tissueClassProbePlanReady: probePlanReady,\n\t\t\tconfidenceLevel: cleanText(guard.confidence_level || guard.confidenceLevel || contract.confidence_level || contract.confidenceLevel, 120),\n\t\t\tnextAction: cleanText(guard.next_action || guard.nextAction, 160),\n\t\t\tpullRequestUrl,\n\t\t\tjobId: cleanText(contract.job_id || contract.jobId || guard.job_id || guard.jobId, 180),\n\t\t\treadinessContractId: cleanText(contract.readiness_contract_id || contract.readinessContractId || guard.readiness_contract_id || guard.readinessContractId, 180),\n\t\t\treadinessStatus: cleanText(contract.readiness_status || contract.readinessStatus || guard.readiness_status || guard.readinessStatus, 160),\n\t\t\tmessageHash: cleanText(contract.message_hash || contract.messageHash, 180),\n\t\t\trecipients: cleanStringList(contract.recipients, 20, 240),\n\t\t\trequiredEvidence: cleanStringList(contract.required_evidence || contract.requiredEvidence || guard.required_evidence || guard.requiredEvidence, 40, 500),\n\t\t\tblockers\n\t\t}\n\t};\n}\n\nfunction supportAutonomyDecisionObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\treturn mergeEvidenceRecords(\n\t\tticket.supportV5AutonomousDecision,\n\t\tticket.support_v5_autonomous_decision,\n\t\tjob.supportV5AutonomousDecision,\n\t\tjob.support_v5_autonomous_decision,\n\t\tevidence.supportV5AutonomousDecision,\n\t\tevidence.support_v5_autonomous_decision\n\t);\n}\n\nfunction supportAutonomyApprovalObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst runnerConsole = plainObject(ticketAutomation.runner_console || ticketAutomation.runnerConsole);\n\tconst autonomousDecision = supportAutonomyDecisionObject(ticket, job, evidence);\n\treturn evidenceObject(\n\t\tjob.supportV5AutonomyApproval,\n\t\tjob.support_v5_autonomy_approval,\n\t\tjob.autonomyApproval,\n\t\tjob.autonomy_approval,\n\t\tevidence.supportV5AutonomyApproval,\n\t\tevidence.support_v5_autonomy_approval,\n\t\tevidence.autonomyApproval,\n\t\tevidence.autonomy_approval,\n\t\tautonomousDecision.autonomyApproval,\n\t\tautonomousDecision.autonomy_approval,\n\t\tticket.supportV5AutonomyApproval,\n\t\tticket.support_v5_autonomy_approval,\n\t\tticket.autonomyApproval,\n\t\tticket.autonomy_approval,\n\t\trunnerConsole.autonomy_approval,\n\t\trunnerConsole.autonomyApproval,\n\t\tticketManager.autonomy_approval,\n\t\tticketManager.autonomyApproval\n\t);\n}\n\nfunction supportProductRepairDispatchGuardObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst runnerConsole = plainObject(ticketAutomation.runner_console || ticketAutomation.runnerConsole);\n\tconst autonomousDecision = supportAutonomyDecisionObject(ticket, job, evidence);\n\tconst recovery = plainObject(autonomousDecision.managerRecovery || autonomousDecision.manager_recovery);\n\tconst directive = plainObject(recovery.directive);\n\treturn evidenceObject(\n\t\tjob.supportProductRepairDispatchGuard,\n\t\tjob.support_product_repair_dispatch_guard,\n\t\tjob.productRepairDispatchGuard,\n\t\tjob.product_repair_dispatch_guard,\n\t\tevidence.supportProductRepairDispatchGuard,\n\t\tevidence.support_product_repair_dispatch_guard,\n\t\tevidence.productRepairDispatchGuard,\n\t\tevidence.product_repair_dispatch_guard,\n\t\tautonomousDecision.productRepairDispatchGuard,\n\t\tautonomousDecision.product_repair_dispatch_guard,\n\t\trecovery.productRepairDispatchGuard,\n\t\trecovery.product_repair_dispatch_guard,\n\t\tdirective.productRepairDispatchGuard,\n\t\tdirective.product_repair_dispatch_guard,\n\t\tticket.supportProductRepairDispatchGuard,\n\t\tticket.support_product_repair_dispatch_guard,\n\t\tticket.productRepairDispatchGuard,\n\t\tticket.product_repair_dispatch_guard,\n\t\trunnerConsole.last_product_repair_dispatch_guard,\n\t\trunnerConsole.lastProductRepairDispatchGuard,\n\t\trunnerConsole.product_repair_dispatch_guard,\n\t\trunnerConsole.productRepairDispatchGuard,\n\t\tticketManager.last_product_repair_dispatch_guard,\n\t\tticketManager.lastProductRepairDispatchGuard,\n\t\tticketManager.product_repair_dispatch_guard,\n\t\tticketManager.productRepairDispatchGuard\n\t);\n}\n\nfunction supportAutoloopApprovalBlockObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst runnerConsole = plainObject(ticketAutomation.runner_console || ticketAutomation.runnerConsole);\n\tconst autoloop = plainObject(ticketAutomation.autoloop || ticket.autoloop);\n\treturn evidenceObject(\n\t\tjob.supportAutoloopApprovalBlock,\n\t\tjob.support_autoloop_approval_block,\n\t\tjob.autoloopApprovalBlock,\n\t\tjob.autoloop_approval_block,\n\t\tevidence.supportAutoloopApprovalBlock,\n\t\tevidence.support_autoloop_approval_block,\n\t\tevidence.autoloopApprovalBlock,\n\t\tevidence.autoloop_approval_block,\n\t\tticket.supportAutoloopApprovalBlock,\n\t\tticket.support_autoloop_approval_block,\n\t\tticket.autoloopApprovalBlock,\n\t\tticket.autoloop_approval_block,\n\t\tautoloop.last_approval_block,\n\t\tautoloop.lastApprovalBlock,\n\t\tautoloop.approval_block,\n\t\tautoloop.approvalBlock,\n\t\trunnerConsole.last_autoloop_approval_block,\n\t\trunnerConsole.lastAutoloopApprovalBlock,\n\t\tticketManager.last_autoloop_approval_block,\n\t\tticketManager.lastAutoloopApprovalBlock\n\t);\n}\n\nfunction supportAutoloopNoProgressObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst runnerConsole = plainObject(ticketAutomation.runner_console || ticketAutomation.runnerConsole);\n\tconst autoloop = plainObject(ticketAutomation.autoloop || ticket.autoloop);\n\tconst explicit = evidenceObject(\n\t\tjob.supportAutoloopNoProgress,\n\t\tjob.support_autoloop_no_progress,\n\t\tjob.autoloopNoProgress,\n\t\tjob.autoloop_no_progress,\n\t\tevidence.supportAutoloopNoProgress,\n\t\tevidence.support_autoloop_no_progress,\n\t\tevidence.autoloopNoProgress,\n\t\tevidence.autoloop_no_progress,\n\t\tticket.supportAutoloopNoProgress,\n\t\tticket.support_autoloop_no_progress,\n\t\tticket.autoloopNoProgress,\n\t\tticket.autoloop_no_progress,\n\t\tautoloop.last_no_progress_block,\n\t\tautoloop.lastNoProgressBlock,\n\t\tautoloop.no_progress_block,\n\t\tautoloop.noProgressBlock,\n\t\trunnerConsole.last_autoloop_no_progress,\n\t\trunnerConsole.lastAutoloopNoProgress,\n\t\tticketManager.last_autoloop_no_progress,\n\t\tticketManager.lastAutoloopNoProgress\n\t);\n\tconst history = asArray<Record<string, any>>(explicit.history || autoloop.history)\n\t\t.map((entry) => plainObject(entry))\n\t\t.filter((entry) => Object.keys(entry).length > 0)\n\t\t.slice(-12);\n\tif (Object.keys(explicit).length) {\n\t\treturn {\n\t\t\tsource: 'support_autoloop_no_progress',\n\t\t\t...explicit,\n\t\t\tstatus: explicit.status || autoloop.status,\n\t\t\trun_id: explicit.run_id || explicit.runId || autoloop.run_id || autoloop.runId,\n\t\t\thandoff_required: explicit.handoff_required ?? explicit.handoffRequired ?? autoloop.handoff_required ?? autoloop.handoffRequired,\n\t\t\tno_progress_streak: explicit.no_progress_streak ?? explicit.noProgressStreak ?? autoloop.no_progress_streak ?? autoloop.noProgressStreak,\n\t\t\tlast_progress_signal: explicit.last_progress_signal ?? explicit.lastProgressSignal ?? autoloop.last_progress_signal ?? autoloop.lastProgressSignal,\n\t\t\tlast_progress_reasons: explicit.last_progress_reasons || explicit.lastProgressReasons || autoloop.last_progress_reasons || autoloop.lastProgressReasons,\n\t\t\tlast_evidence_changed: explicit.last_evidence_changed ?? explicit.lastEvidenceChanged ?? explicit.evidence_changed ?? explicit.evidenceChanged,\n\t\t\tlast_evidence_reasons: explicit.last_evidence_reasons || explicit.lastEvidenceReasons || explicit.evidence_reasons || explicit.evidenceReasons,\n\t\t\tlast_strict_gate_reason: explicit.last_strict_gate_reason || explicit.lastStrictGateReason || autoloop.last_strict_gate_reason || autoloop.lastStrictGateReason,\n\t\t\tlast_error: explicit.last_error || explicit.lastError || autoloop.last_error || autoloop.lastError,\n\t\t\tlast_continuation_decision: explicit.last_continuation_decision || explicit.lastContinuationDecision || autoloop.last_continuation_decision || autoloop.lastContinuationDecision,\n\t\t\tlast_continuation_dispatch: explicit.last_continuation_dispatch || explicit.lastContinuationDispatch || autoloop.last_continuation_dispatch || autoloop.lastContinuationDispatch,\n\t\t\thistory,\n\t\t\tlatest_history: plainObject(explicit.latest_history || explicit.latestHistory || history[history.length - 1]),\n\t\t\tcost: explicit.cost || autoloop.cost,\n\t\t\trecorded_at: explicit.recorded_at || explicit.recordedAt || autoloop.updated_at || autoloop.updatedAt || autoloop.last_iteration_at || autoloop.lastIterationAt\n\t\t};\n\t}\n\tconst latestHistory = plainObject(history[history.length - 1]);\n\tconst noProgressStreak = Math.max(0, Number(autoloop.no_progress_streak || autoloop.noProgressStreak || 0) || 0);\n\tconst lastProgressSignal = booleanFlag(autoloop.last_progress_signal ?? autoloop.lastProgressSignal ?? latestHistory.progress_signal ?? latestHistory.progressSignal);\n\tconst latestEvidenceChanged = booleanFlag(autoloop.last_evidence_changed ?? autoloop.lastEvidenceChanged ?? latestHistory.evidence_changed ?? latestHistory.evidenceChanged);\n\tconst lastError = cleanText(autoloop.last_error || autoloop.lastError || latestHistory.error, 2000);\n\tconst noProgressError = /no[-_\\s]?progress|no new diff|no new .*evidence|without progress|retry blocked|same failure/i.test(lastError);\n\tif (\n\t\tnoProgressStreak <= 0\n\t\t&& lastProgressSignal !== false\n\t\t&& latestEvidenceChanged !== false\n\t\t&& !noProgressError\n\t) {\n\t\treturn {};\n\t}\n\treturn {\n\t\tsource: 'support_autoloop_no_progress',\n\t\tstatus: cleanText(autoloop.status, 120),\n\t\trun_id: autoloop.run_id || autoloop.runId,\n\t\thandoff_required: autoloop.handoff_required === true || autoloop.handoffRequired === true,\n\t\tno_progress_streak: noProgressStreak,\n\t\tlast_progress_signal: lastProgressSignal,\n\t\tlast_progress_reasons: autoloop.last_progress_reasons || autoloop.lastProgressReasons || latestHistory.progress_reasons || latestHistory.progressReasons,\n\t\tlast_evidence_changed: latestEvidenceChanged,\n\t\tlast_evidence_reasons: autoloop.last_evidence_reasons || autoloop.lastEvidenceReasons || latestHistory.evidence_reasons || latestHistory.evidenceReasons,\n\t\tlast_strict_gate_reason: autoloop.last_strict_gate_reason || autoloop.lastStrictGateReason || latestHistory.strict_gate_reason || latestHistory.strictGateReason,\n\t\tlast_error: lastError,\n\t\tlast_continuation_decision: autoloop.last_continuation_decision || autoloop.lastContinuationDecision || latestHistory.continuation_decision || latestHistory.continuationDecision,\n\t\tlast_continuation_dispatch: autoloop.last_continuation_dispatch || autoloop.lastContinuationDispatch,\n\t\thistory,\n\t\tlatest_history: latestHistory,\n\t\tcost: autoloop.cost,\n\t\trecorded_at: autoloop.updated_at || autoloop.updatedAt || autoloop.last_iteration_at || autoloop.lastIterationAt\n\t};\n}\n\nfunction supportHumanDecisionRequestObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst runnerConsole = plainObject(ticketAutomation.runner_console || ticketAutomation.runnerConsole);\n\tconst autonomousDecision = supportAutonomyDecisionObject(ticket, job, evidence);\n\tconst recovery = plainObject(autonomousDecision.managerRecovery || autonomousDecision.manager_recovery);\n\tconst autoloopApprovalBlock = supportAutoloopApprovalBlockObject(ticket, job, evidence);\n\treturn evidenceObject(\n\t\tjob.supportHumanDecisionRequest,\n\t\tjob.support_human_decision_request,\n\t\tjob.humanDecisionRequest,\n\t\tjob.human_decision_request,\n\t\tevidence.supportHumanDecisionRequest,\n\t\tevidence.support_human_decision_request,\n\t\tevidence.humanDecisionRequest,\n\t\tevidence.human_decision_request,\n\t\tautonomousDecision.humanDecisionRequest,\n\t\tautonomousDecision.human_decision_request,\n\t\trecovery.humanDecisionRequest,\n\t\trecovery.human_decision_request,\n\t\tticket.supportHumanDecisionRequest,\n\t\tticket.support_human_decision_request,\n\t\tticket.humanDecisionRequest,\n\t\tticket.human_decision_request,\n\t\trunnerConsole.last_human_decision_request,\n\t\trunnerConsole.lastHumanDecisionRequest,\n\t\trunnerConsole.human_decision_request,\n\t\trunnerConsole.humanDecisionRequest,\n\t\tticketManager.last_human_decision_request,\n\t\tticketManager.lastHumanDecisionRequest,\n\t\tticketManager.human_decision_request,\n\t\tticketManager.humanDecisionRequest,\n\t\tautoloopApprovalBlock.human_decision_request,\n\t\tautoloopApprovalBlock.humanDecisionRequest\n\t);\n}\n\nfunction supportPostApprovalAutostartObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst runnerConsole = plainObject(ticketAutomation.runner_console || ticketAutomation.runnerConsole);\n\tconst autonomousDecision = supportAutonomyDecisionObject(ticket, job, evidence);\n\tconst autonomyApproval = supportAutonomyApprovalObject(ticket, job, evidence);\n\tconst contract = evidenceObject(\n\t\tjob.supportPostApprovalAutostartContract,\n\t\tjob.support_post_approval_autostart_contract,\n\t\tjob.postApprovalAutostartContract,\n\t\tjob.post_approval_autostart_contract,\n\t\tevidence.supportPostApprovalAutostartContract,\n\t\tevidence.support_post_approval_autostart_contract,\n\t\tevidence.postApprovalAutostartContract,\n\t\tevidence.post_approval_autostart_contract,\n\t\tautonomousDecision.postApprovalAutostartContract,\n\t\tautonomousDecision.post_approval_autostart_contract,\n\t\tautonomyApproval.postApprovalAutostartContract,\n\t\tautonomyApproval.post_approval_autostart_contract,\n\t\tticket.supportPostApprovalAutostartContract,\n\t\tticket.support_post_approval_autostart_contract,\n\t\tticket.postApprovalAutostartContract,\n\t\tticket.post_approval_autostart_contract,\n\t\trunnerConsole.last_post_approval_autostart_contract,\n\t\trunnerConsole.lastPostApprovalAutostartContract,\n\t\trunnerConsole.post_approval_autostart_contract,\n\t\trunnerConsole.postApprovalAutostartContract,\n\t\tticketManager.last_post_approval_autostart_contract,\n\t\tticketManager.lastPostApprovalAutostartContract,\n\t\tticketManager.post_approval_autostart_contract,\n\t\tticketManager.postApprovalAutostartContract\n\t);\n\tconst record = evidenceObject(\n\t\tjob.supportPostApprovalAutostart,\n\t\tjob.support_post_approval_autostart,\n\t\tjob.postApprovalAutostart,\n\t\tjob.post_approval_autostart,\n\t\tevidence.supportPostApprovalAutostart,\n\t\tevidence.support_post_approval_autostart,\n\t\tevidence.postApprovalAutostart,\n\t\tevidence.post_approval_autostart,\n\t\tautonomousDecision.postApprovalAutostart,\n\t\tautonomousDecision.post_approval_autostart,\n\t\tautonomyApproval.postApprovalAutostart,\n\t\tautonomyApproval.post_approval_autostart,\n\t\tticket.supportPostApprovalAutostart,\n\t\tticket.support_post_approval_autostart,\n\t\tticket.postApprovalAutostart,\n\t\tticket.post_approval_autostart,\n\t\trunnerConsole.last_post_approval_autostart,\n\t\trunnerConsole.lastPostApprovalAutostart,\n\t\trunnerConsole.post_approval_autostart,\n\t\trunnerConsole.postApprovalAutostart,\n\t\tticketManager.last_post_approval_autostart,\n\t\tticketManager.lastPostApprovalAutostart,\n\t\tticketManager.post_approval_autostart,\n\t\tticketManager.postApprovalAutostart\n\t);\n\tif (!Object.keys(contract).length && !Object.keys(record).length) {\n\t\treturn {};\n\t}\n\treturn {\n\t\tsource: 'support_post_approval_autostart',\n\t\tcontract,\n\t\trecord,\n\t\tstatus: record.status || contract.status,\n\t\tnext_action: record.next_action || record.nextAction,\n\t\trecorded_at: record.recorded_at || record.recordedAt || contract.recorded_at || contract.recordedAt\n\t};\n}\n\nfunction supportPostApprovalResumeAttemptObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst runnerConsole = plainObject(ticketAutomation.runner_console || ticketAutomation.runnerConsole);\n\tconst record = evidenceObject(\n\t\tjob.supportPostApprovalResumeAttempt,\n\t\tjob.support_post_approval_resume_attempt,\n\t\tjob.postApprovalResumeAttempt,\n\t\tjob.post_approval_resume_attempt,\n\t\tevidence.supportPostApprovalResumeAttempt,\n\t\tevidence.support_post_approval_resume_attempt,\n\t\tevidence.postApprovalResumeAttempt,\n\t\tevidence.post_approval_resume_attempt,\n\t\tticket.supportPostApprovalResumeAttempt,\n\t\tticket.support_post_approval_resume_attempt,\n\t\tticket.postApprovalResumeAttempt,\n\t\tticket.post_approval_resume_attempt,\n\t\trunnerConsole.last_post_approval_resume_attempt,\n\t\trunnerConsole.lastPostApprovalResumeAttempt,\n\t\tticketManager.last_post_approval_resume_attempt,\n\t\tticketManager.lastPostApprovalResumeAttempt\n\t);\n\tif (!Object.keys(record).length) {\n\t\treturn {};\n\t}\n\treturn {\n\t\tsource: 'support_post_approval_resume_attempt',\n\t\trecord,\n\t\tstatus: record.status,\n\t\tnext_action: record.next_action || record.nextAction,\n\t\trecorded_at: record.recorded_at || record.recordedAt\n\t};\n}\n\nfunction supportIntakeRevisionContractObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst runnerConsole = plainObject(ticketAutomation.runner_console || ticketAutomation.runnerConsole);\n\treturn evidenceObject(\n\t\tjob.supportIntakeRevisionContract,\n\t\tjob.support_intake_revision_contract,\n\t\tjob.intakeRevisionContract,\n\t\tjob.intake_revision_contract,\n\t\tevidence.supportIntakeRevisionContract,\n\t\tevidence.support_intake_revision_contract,\n\t\tevidence.intakeRevisionContract,\n\t\tevidence.intake_revision_contract,\n\t\tticket.supportIntakeRevisionContract,\n\t\tticket.support_intake_revision_contract,\n\t\tticket.intakeRevisionContract,\n\t\tticket.intake_revision_contract,\n\t\trunnerConsole.last_intake_revision_contract,\n\t\trunnerConsole.lastIntakeRevisionContract,\n\t\trunnerConsole.intake_revision_contract,\n\t\trunnerConsole.intakeRevisionContract,\n\t\tticketManager.last_intake_revision_contract,\n\t\tticketManager.lastIntakeRevisionContract,\n\t\tticketManager.intake_revision_contract,\n\t\tticketManager.intakeRevisionContract\n\t);\n}\n\nfunction supportManagerContinuationObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst runnerConsole = plainObject(ticketAutomation.runner_console || ticketAutomation.runnerConsole);\n\tconst autonomousDecision = supportAutonomyDecisionObject(ticket, job, evidence);\n\tconst recovery = plainObject(autonomousDecision.managerRecovery || autonomousDecision.manager_recovery);\n\tconst directive = plainObject(recovery.directive);\n\tconst continuationContract = evidenceObject(\n\t\tjob.supportManagerContinuationContract,\n\t\tjob.support_manager_continuation_contract,\n\t\tjob.continuationContract,\n\t\tjob.continuation_contract,\n\t\tevidence.supportManagerContinuationContract,\n\t\tevidence.support_manager_continuation_contract,\n\t\tevidence.continuationContract,\n\t\tevidence.continuation_contract,\n\t\tautonomousDecision.continuationContract,\n\t\tautonomousDecision.continuation_contract,\n\t\trecovery.continuationContract,\n\t\trecovery.continuation_contract,\n\t\tdirective.continuationContract,\n\t\tdirective.continuation_contract,\n\t\tticketManager.last_continuation_contract,\n\t\tticketManager.lastContinuationContract,\n\t\trunnerConsole.last_continuation_contract,\n\t\trunnerConsole.lastContinuationContract\n\t);\n\tconst operatorGuidanceResponse = evidenceObject(\n\t\tjob.operatorGuidanceResponse,\n\t\tjob.operator_guidance_response,\n\t\tjob.supportOperatorGuidanceResponse,\n\t\tjob.support_operator_guidance_response,\n\t\tevidence.operatorGuidanceResponse,\n\t\tevidence.operator_guidance_response,\n\t\trecovery.operatorGuidanceResponse,\n\t\trecovery.operator_guidance_response,\n\t\tticketManager.last_operator_guidance_response,\n\t\tticketManager.lastOperatorGuidanceResponse,\n\t\trunnerConsole.last_operator_guidance_response,\n\t\trunnerConsole.lastOperatorGuidanceResponse\n\t);\n\tconst resumeUnblockContract = evidenceObject(\n\t\tcontinuationContract.resume_unblock_contract,\n\t\tcontinuationContract.resumeUnblockContract,\n\t\toperatorGuidanceResponse.resume_unblock_contract,\n\t\toperatorGuidanceResponse.resumeUnblockContract,\n\t\trecovery.resume_unblock_contract,\n\t\trecovery.resumeUnblockContract\n\t);\n\tconst resumeUnblockResponse = evidenceObject(\n\t\toperatorGuidanceResponse.resume_unblock_response,\n\t\toperatorGuidanceResponse.resumeUnblockResponse,\n\t\trecovery.resume_unblock_response,\n\t\trecovery.resumeUnblockResponse\n\t);\n\tconst resumeDispatch = evidenceObject(\n\t\tjob.operatorGuidanceResumeDispatch,\n\t\tjob.operator_guidance_resume_dispatch,\n\t\tevidence.operatorGuidanceResumeDispatch,\n\t\tevidence.operator_guidance_resume_dispatch,\n\t\trecovery.operatorGuidanceResumeDispatch,\n\t\trecovery.operator_guidance_resume_dispatch,\n\t\tticketManager.last_operator_guidance_resume_dispatch,\n\t\tticketManager.lastOperatorGuidanceResumeDispatch,\n\t\trunnerConsole.last_operator_guidance_resume_dispatch,\n\t\trunnerConsole.lastOperatorGuidanceResumeDispatch\n\t);\n\tif (!Object.keys(continuationContract).length && !Object.keys(operatorGuidanceResponse).length && !Object.keys(resumeUnblockContract).length && !Object.keys(resumeDispatch).length) {\n\t\treturn {};\n\t}\n\treturn {\n\t\tsource: 'support_manager_continuation',\n\t\tcontinuation_contract: continuationContract,\n\t\toperator_guidance_response: operatorGuidanceResponse,\n\t\tresume_unblock_contract: resumeUnblockContract,\n\t\tresume_unblock_response: resumeUnblockResponse,\n\t\tresume_dispatch: resumeDispatch,\n\t\tmanager_status: cleanText(ticketManager.status || runnerConsole.manager_status || runnerConsole.managerStatus, 120),\n\t\trecorded_at: operatorGuidanceResponse.recorded_at || operatorGuidanceResponse.recordedAt || resumeDispatch.created_at || resumeDispatch.createdAt || continuationContract.recorded_at || continuationContract.recordedAt\n\t};\n}\n\nfunction supportApprovalExplicitlyApprovesOverLimit(approval: Record<string, any>): boolean {\n\treturn approval.approve_over_max_hours === true\n\t\t|| approval.approveOverMaxHours === true\n\t\t|| approval.approve_over_six_hours === true\n\t\t|| approval.approveOverSixHours === true\n\t\t|| approval.over_limit_approved === true\n\t\t|| approval.overLimitApproved === true\n\t\t|| approval.over_max_auto_hours_approved === true\n\t\t|| approval.overMaxAutoHoursApproved === true\n\t\t|| approval.operator_approved_over_limit === true\n\t\t|| approval.operatorApprovedOverLimit === true;\n}\n\nfunction sameSupportApprovalFileSet(left: string[], right: string[]): boolean {\n\tconst normalizedLeft = Array.from(new Set(left.map((entry) => entry.trim()).filter(Boolean))).sort();\n\tconst normalizedRight = Array.from(new Set(right.map((entry) => entry.trim()).filter(Boolean))).sort();\n\treturn normalizedLeft.length === normalizedRight.length\n\t\t&& normalizedLeft.every((entry, index) => entry === normalizedRight[index]);\n}\n\nfunction supportApprovalOwnerFilesDiffer(approval: Record<string, any>): boolean {\n\tconst currentOwnerFiles = cleanStringList(\n\t\tapproval.current_owner_files\n\t\t|| approval.currentOwnerFiles\n\t\t|| approval.owner_files\n\t\t|| approval.ownerFiles,\n\t\t80,\n\t\t500\n\t);\n\tconst approvedOwnerFiles = cleanStringList(\n\t\tapproval.approved_owner_files\n\t\t|| approval.approvedOwnerFiles,\n\t\t80,\n\t\t500\n\t);\n\tif (!currentOwnerFiles.length || !approvedOwnerFiles.length) {\n\t\treturn false;\n\t}\n\treturn !sameSupportApprovalFileSet(currentOwnerFiles, approvedOwnerFiles);\n}\n\nfunction supportAutonomyApprovalGate(approval: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!approval || !Object.keys(approval).length) {\n\t\treturn undefined;\n\t}\n\tconst approved = approval.approved === true;\n\tconst statusText = cleanText(approval.status, 120).toLowerCase();\n\tconst decisionKind = cleanText(approval.decision_kind || approval.decisionKind || approval.approval_kind || approval.approvalKind, 120);\n\tconst approvalAction = cleanText(approval.approval_action || approval.approvalAction, 120);\n\tconst blockers = cleanStringList(approval.blockers, 40, 500);\n\tconst estimatedHours = numberValue(approval.estimated_hours ?? approval.estimatedHours);\n\tconst maxAutoHours = numberValue(approval.max_auto_hours_without_approval ?? approval.maxAutoHoursWithoutApproval) || 6;\n\tconst overLimitExplicitlyApproved = supportApprovalExplicitlyApprovesOverLimit(approval);\n\tconst bugNotBug = cleanText(approval.bug_not_bug || approval.bugNotBug, 80);\n\tconst bugNotBugKnown = approval.bug_not_bug_known === true\n\t\t|| approval.bugNotBugKnown === true\n\t\t|| bugNotBug === 'bug'\n\t\t|| bugNotBug === 'not_bug'\n\t\t|| bugNotBug === 'not bug';\n\tconst bugNotBugApproved = approval.bug_not_bug_classification_approved === true || approval.bugNotBugClassificationApproved === true;\n\tconst approvedOwnerFileSetChanged = supportApprovalOwnerFilesDiffer(approval);\n\tconst ownerFiles = cleanStringList(approval.owner_files || approval.ownerFiles, 60, 500);\n\tconst approvedOwnerFiles = cleanStringList(approval.approved_owner_files || approval.approvedOwnerFiles, 60, 500);\n\tconst currentOwnerFiles = cleanStringList(approval.current_owner_files || approval.currentOwnerFiles || approval.owner_files || approval.ownerFiles, 60, 500);\n\tconst approvedOwnerFileSet = new Set(approvedOwnerFiles);\n\tconst currentOwnerFileSet = new Set(currentOwnerFiles);\n\tconst computedOwnerFilesAdded = currentOwnerFiles.filter((entry) => !approvedOwnerFileSet.has(entry));\n\tconst computedOwnerFilesRemoved = approvedOwnerFiles.filter((entry) => !currentOwnerFileSet.has(entry));\n\tconst ownerFilesChangedSinceApproval = approval.owner_files_changed_since_approval === true\n\t\t|| approval.ownerFilesChangedSinceApproval === true\n\t\t|| approvedOwnerFileSetChanged\n\t\t|| computedOwnerFilesAdded.length > 0\n\t\t|| computedOwnerFilesRemoved.length > 0;\n\tconst scopeFingerprint = cleanText(approval.scope_fingerprint || approval.scopeFingerprint, 180);\n\tconst previousScopeFingerprint = cleanText(approval.previous_scope_fingerprint || approval.previousScopeFingerprint, 180);\n\tconst diagnosisScopeFingerprint = cleanText(approval.diagnosis_scope_fingerprint || approval.diagnosisScopeFingerprint, 180);\n\tconst previousDiagnosisScopeFingerprint = cleanText(approval.previous_diagnosis_scope_fingerprint || approval.previousDiagnosisScopeFingerprint, 180);\n\tconst diagnosisScopeChangedSinceApproval = approval.diagnosis_scope_changed_since_approval === true\n\t\t|| approval.diagnosisScopeChangedSinceApproval === true\n\t\t|| (!!diagnosisScopeFingerprint && !!previousDiagnosisScopeFingerprint && diagnosisScopeFingerprint !== previousDiagnosisScopeFingerprint);\n\tconst aggregateScopeFingerprintChanged = approval.scope_changed_since_approval === true\n\t\t|| approval.scopeChangedSinceApproval === true\n\t\t|| (!!scopeFingerprint && !!previousScopeFingerprint && scopeFingerprint !== previousScopeFingerprint);\n\tconst explicitScopeReapprovalRequired = approval.requires_scope_reapproval === true || approval.requiresScopeReapproval === true;\n\tconst intakeChangedSinceApproval = approval.intake_edited_after_approval === true || approval.intakeEditedAfterApproval === true;\n\tconst scopeChangedSinceApproval = explicitScopeReapprovalRequired\n\t\t|| (aggregateScopeFingerprintChanged && (ownerFilesChangedSinceApproval || diagnosisScopeChangedSinceApproval || intakeChangedSinceApproval));\n\tconst boundedAutopilotApproval = approval.after_approval_autopilot_until_a_grade === true\n\t\t|| approval.afterApprovalAutopilotUntilAGrade === true\n\t\t|| approval.autopilot_after_approval_until_a_grade === true\n\t\t|| approval.le_six_hour_scope_can_autofix_after_approval === true\n\t\t|| approval.leSixHourScopeCanAutofixAfterApproval === true\n\t\t|| estimatedHours !== undefined\n\t\t|| !!bugNotBug\n\t\t|| cleanStringList(approval.owner_files || approval.ownerFiles, 20, 500).length > 0;\n\tif (approval.requires_over_limit_approval === true || approval.requiresOverLimitApproval === true) {\n\t\tblockers.push('Estimated work is over the automatic hour ceiling and requires operator approval.');\n\t}\n\tif (explicitScopeReapprovalRequired || scopeChangedSinceApproval) {\n\t\tblockers.push('The approved support scope changed and requires on-the-fly reapproval.');\n\t}\n\tif (approval.requires_owner_file_reapproval === true || approval.requiresOwnerFileReapproval === true) {\n\t\tblockers.push('The owner-file set changed after approval and requires reapproval.');\n\t}\n\tif (approval.requires_intake_reapproval === true || approval.requiresIntakeReapproval === true) {\n\t\tblockers.push('The support intake/classification changed after approval and requires reapproval.');\n\t}\n\tif (approval.requires_diagnosis_scope_reapproval === true || approval.requiresDiagnosisScopeReapproval === true || diagnosisScopeChangedSinceApproval) {\n\t\tblockers.push('The accepted diagnosis/proof scope changed after approval and requires reapproval.');\n\t}\n\tif (approval.requires_classification_approval === true || approval.requiresClassificationApproval === true) {\n\t\tblockers.push('Bug/not-bug classification must be approved before product-code repair.');\n\t}\n\tif (approval.requires_estimate_hours === true || approval.requiresEstimateHours === true) {\n\t\tblockers.push('Estimated hours must be recorded before product-code repair.');\n\t}\n\tif (approved && boundedAutopilotApproval && bugNotBugKnown !== true) {\n\t\tblockers.push('Bug/not-bug classification must be set before approved support autopilot can repair product code.');\n\t}\n\tif (approved && boundedAutopilotApproval && bugNotBugApproved !== true) {\n\t\tblockers.push('Bug/not-bug classification must be approved before approved support autopilot can repair product code.');\n\t}\n\tif (approved && boundedAutopilotApproval && estimatedHours === undefined) {\n\t\tblockers.push('Estimated hours must be recorded before approved support autopilot can repair product code.');\n\t}\n\tif (approved && estimatedHours !== undefined && estimatedHours > maxAutoHours && overLimitExplicitlyApproved !== true) {\n\t\tblockers.push(`Estimated work is ${estimatedHours} hours, above the ${maxAutoHours}-hour autonomy ceiling, and needs explicit over-limit operator approval.`);\n\t}\n\tif (approved && approvedOwnerFileSetChanged) {\n\t\tblockers.push('Current owner files differ from approved owner files and require on-the-fly reapproval.');\n\t}\n\tconst uniqueBlockers = Array.from(new Set(blockers));\n\tconst autopilotCompletionContract = plainObject(approval.autopilot_completion_contract || approval.autopilotCompletionContract);\n\tconst status: AIRunGateResult['status'] = approved && uniqueBlockers.length === 0 ? 'pass' : 'blocked';\n\tconst reason = approved\n\t\t? 'Support autonomy is approved for bounded product-code repair until A-grade QA/business proof is reached.'\n\t\t: cleanText(uniqueBlockers.join(' ') || approval.reason || approval.approval_question || approval.approvalQuestion || statusText || 'Support autonomy approval is required before product-code repair.', 1200);\n\treturn {\n\t\tkey: 'support_autonomy_approval',\n\t\tlabel: 'Support autonomy approval',\n\t\tstatus,\n\t\treason: status === 'pass' ? reason : cleanText(uniqueBlockers.join(' ') || reason, 1200),\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...asArray<any>(approval.required_completion_evidence || approval.requiredCompletionEvidence),\n\t\t\t...asArray<any>(approval.owner_files || approval.ownerFiles),\n\t\t\t...asArray<any>(approval.approved_owner_files || approval.approvedOwnerFiles)\n\t\t], 60, 500),\n\t\trecordedAt: isoNow(now || approval.approved_at || approval.approvedAt || approval.created_at || approval.createdAt || approval.recorded_at || approval.recordedAt),\n\t\tmetadata: {\n\t\t\tcontractId: cleanText(approval.contract_id || approval.contractId, 180),\n\t\t\tstatus: statusText,\n\t\t\tapproved,\n\t\t\tapprovedAt: cleanText(approval.approved_at || approval.approvedAt, 80),\n\t\t\tapprovedBy: cleanText(approval.approved_by || approval.approvedBy, 160),\n\t\t\tdecisionKind,\n\t\t\tapprovalAction,\n\t\t\tapprovalLabel: cleanText(approval.approval_label || approval.approvalLabel, 160),\n\t\t\tpreferredChoiceId: cleanText(approval.preferred_choice_id || approval.preferredChoiceId, 120),\n\t\t\tcanApproveFromConsole: approval.can_approve_from_console !== false && approval.canApproveFromConsole !== false,\n\t\t\testimatedHours,\n\t\t\testimatedHoursKnown: estimatedHours !== undefined,\n\t\t\tmaxAutoHoursWithoutApproval: maxAutoHours,\n\t\t\toverMaxAutoHours: approval.over_max_auto_hours === true || approval.overMaxAutoHours === true,\n\t\t\tapproveOverMaxHours: approval.approve_over_max_hours === true || approval.approveOverMaxHours === true,\n\t\t\tapproveOverSixHours: approval.approve_over_six_hours === true || approval.approveOverSixHours === true,\n\t\t\texplicitOverLimitApproval: overLimitExplicitlyApproved,\n\t\t\tbugNotBug,\n\t\t\tbugNotBugKnown,\n\t\t\tbugNotBugClassificationApproved: bugNotBugApproved,\n\t\t\trequiresOverLimitApproval: approval.requires_over_limit_approval === true || approval.requiresOverLimitApproval === true,\n\t\t\trequiresScopeReapproval: explicitScopeReapprovalRequired || scopeChangedSinceApproval,\n\t\t\trequiresOwnerFileReapproval: approval.requires_owner_file_reapproval === true || approval.requiresOwnerFileReapproval === true,\n\t\t\trequiresIntakeReapproval: approval.requires_intake_reapproval === true || approval.requiresIntakeReapproval === true,\n\t\t\trequiresDiagnosisScopeReapproval: approval.requires_diagnosis_scope_reapproval === true || approval.requiresDiagnosisScopeReapproval === true,\n\t\t\trequiresClassificationApproval: approval.requires_classification_approval === true || approval.requiresClassificationApproval === true,\n\t\t\trequiresEstimateHours: approval.requires_estimate_hours === true || approval.requiresEstimateHours === true,\n\t\t\tchangeApprovalMode: cleanText(approval.change_approval_mode || approval.changeApprovalMode, 120),\n\t\t\toverSixHourRequiresExplicitOperatorApproval: approval.over_six_hour_requires_explicit_operator_approval === true || approval.overSixHourRequiresExplicitOperatorApproval === true,\n\t\t\tleSixHourScopeCanAutofixAfterApproval: approval.le_six_hour_scope_can_autofix_after_approval === true || approval.leSixHourScopeCanAutofixAfterApproval === true,\n\t\t\tafterApprovalAutopilotUntilAGrade: approval.after_approval_autopilot_until_a_grade === true || approval.afterApprovalAutopilotUntilAGrade === true || approval.autopilot_after_approval_until_a_grade === true,\n\t\t\ttargetGrade: cleanText(approval.target_grade || approval.targetGrade || 'A', 20),\n\t\t\tautopilotCompletionStatus: cleanText(autopilotCompletionContract.status, 120),\n\t\t\tterminalTarget: cleanText(autopilotCompletionContract.required_terminal_state || autopilotCompletionContract.requiredTerminalState, 800),\n\t\t\tstopOrParkConditions: cleanStringList(autopilotCompletionContract.stop_or_park_conditions || autopilotCompletionContract.stopOrParkConditions, 20, 500),\n\t\t\tqaScreenshotsRequired: approval.qa_screenshots_required === true || approval.qaScreenshotsRequired === true,\n\t\t\tbeforeActionAfterBusinessProofRequired: approval.before_action_after_business_proof_required === true || approval.beforeActionAfterBusinessProofRequired === true,\n\t\t\taiqaBusinessAssertionRequired: approval.aiqa_business_assertion_required === true || approval.aiqaBusinessAssertionRequired === true,\n\t\t\tscopeFingerprint,\n\t\t\tpreviousScopeFingerprint,\n\t\t\tscopeChangedSinceApproval,\n\t\t\townerFilesChangedSinceApproval,\n\t\t\townerFileFingerprint: cleanText(approval.owner_file_fingerprint || approval.ownerFileFingerprint, 180),\n\t\t\tapprovedOwnerFileFingerprint: cleanText(approval.approved_owner_file_fingerprint || approval.approvedOwnerFileFingerprint, 180),\n\t\t\townerFilesAddedSinceApproval: cleanStringList(approval.owner_files_added_since_approval || approval.ownerFilesAddedSinceApproval, 40, 500).length\n\t\t\t\t? cleanStringList(approval.owner_files_added_since_approval || approval.ownerFilesAddedSinceApproval, 40, 500)\n\t\t\t\t: computedOwnerFilesAdded,\n\t\t\townerFilesRemovedSinceApproval: cleanStringList(approval.owner_files_removed_since_approval || approval.ownerFilesRemovedSinceApproval, 40, 500).length\n\t\t\t\t? cleanStringList(approval.owner_files_removed_since_approval || approval.ownerFilesRemovedSinceApproval, 40, 500)\n\t\t\t\t: computedOwnerFilesRemoved,\n\t\t\tdiagnosisScopeFingerprint,\n\t\t\tpreviousDiagnosisScopeFingerprint,\n\t\t\tdiagnosisScopeIncluded: approval.diagnosis_scope_included === true || approval.diagnosisScopeIncluded === true || !!diagnosisScopeFingerprint,\n\t\t\tdiagnosisScopeValid: approval.diagnosis_scope_valid === true || approval.diagnosisScopeValid === true,\n\t\t\tdiagnosisScopeChangedSinceApproval,\n\t\t\tdiagnosisScopeFields: cleanStringList(approval.diagnosis_scope_fields || approval.diagnosisScopeFields, 40, 160),\n\t\t\tdiagnosisScopeBlockers: cleanStringList(approval.diagnosis_scope_blockers || approval.diagnosisScopeBlockers, 40, 500),\n\t\t\tapprovedOwnerFileSetChanged,\n\t\t\tboundedAutopilotApproval,\n\t\t\tautopilotApprovalBoundaryValid: status === 'pass',\n\t\t\townerFiles,\n\t\t\tapprovedOwnerFiles,\n\t\t\tcurrentOwnerFiles,\n\t\t\trequiredCompletionEvidence: cleanStringList(approval.required_completion_evidence || approval.requiredCompletionEvidence, 30, 500),\n\t\t\tforbiddenWithoutReapproval: cleanStringList(approval.forbidden_without_reapproval || approval.forbiddenWithoutReapproval, 30, 500),\n\t\t\tblockers: uniqueBlockers\n\t\t}\n\t};\n}\n\nfunction supportProductRepairDispatchGuardGate(guard: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!guard || !Object.keys(guard).length) {\n\t\treturn undefined;\n\t}\n\tconst statusText = cleanText(guard.status, 120).toLowerCase();\n\tconst allowed = guard.allowed === true || statusText === 'allowed';\n\tconst blockers = cleanStringList(guard.blockers, 40, 500);\n\tif (guard.requires_owner_file_reapproval === true || guard.requiresOwnerFileReapproval === true) {\n\t\tblockers.push('Product repair dispatch is blocked until owner-file scope is reapproved.');\n\t}\n\tif (guard.requires_scope_reapproval === true || guard.requiresScopeReapproval === true) {\n\t\tblockers.push('Product repair dispatch is blocked until changed support scope is reapproved.');\n\t}\n\tif (guard.requires_over_limit_approval === true || guard.requiresOverLimitApproval === true) {\n\t\tblockers.push('Product repair dispatch is blocked until over-limit autonomy is approved.');\n\t}\n\tif (guard.requires_diagnosis_scope_reapproval === true || guard.requiresDiagnosisScopeReapproval === true) {\n\t\tblockers.push('Product repair dispatch is blocked until changed diagnosis scope is reapproved.');\n\t}\n\tconst continuationContract = plainObject(\n\t\tguard.continuation_contract\n\t\t|| guard.continuationContract\n\t\t|| guard.autopilot_completion_contract\n\t\t|| guard.autopilotCompletionContract\n\t);\n\tconst status: AIRunGateResult['status'] = allowed ? 'pass' : 'blocked';\n\treturn {\n\t\tkey: 'support_product_repair_dispatch_guard',\n\t\tlabel: 'Support product-repair dispatch guard',\n\t\tstatus,\n\t\treason: allowed\n\t\t\t? cleanText(guard.reason || 'Approved support autonomy allows owner-scoped product-code repair.', 1200)\n\t\t\t: cleanText(blockers.join(' ') || guard.reason || 'Support product-code repair dispatch is blocked until autonomy approval is current.', 1200),\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...asArray<any>(guard.owner_files || guard.ownerFiles),\n\t\t\t...asArray<any>(guard.approved_owner_files || guard.approvedOwnerFiles),\n\t\t\t...asArray<any>(guard.required_completion_evidence || guard.requiredCompletionEvidence)\n\t\t], 60, 500),\n\t\trecordedAt: isoNow(now || guard.recorded_at || guard.recordedAt || guard.created_at || guard.createdAt),\n\t\tmetadata: {\n\t\t\tguard: cleanText(guard.guard, 160),\n\t\t\tstatus: statusText,\n\t\t\tallowed,\n\t\t\taction: cleanText(guard.action, 160),\n\t\t\teditsProductCode: guard.edits_product_code === true || guard.editsProductCode === true,\n\t\t\tcanEditProductCode: guard.can_edit_product_code === true || guard.canEditProductCode === true,\n\t\t\tautoContinueAfterApproval: guard.auto_continue_after_approval === true || guard.autoContinueAfterApproval === true,\n\t\t\tnextAction: cleanText(guard.next_action || guard.nextAction, 160),\n\t\t\tapprovalContractId: cleanText(guard.approval_contract_id || guard.approvalContractId, 180),\n\t\t\tcontinuationContractStatus: cleanText(continuationContract.status, 120),\n\t\t\tcontinuationContractMode: cleanText(continuationContract.mode, 160),\n\t\t\tterminalTarget: cleanText(\n\t\t\t\tguard.terminal_target\n\t\t\t\t|| guard.terminalTarget\n\t\t\t\t|| continuationContract.required_terminal_state\n\t\t\t\t|| continuationContract.requiredTerminalState,\n\t\t\t\t800\n\t\t\t),\n\t\t\tnextProofPhases: cleanStringList(guard.next_proof_phases || guard.nextProofPhases, 20, 240),\n\t\t\tallowedAutoActions: cleanStringList(guard.allowed_auto_actions || guard.allowedAutoActions, 20, 240),\n\t\t\tforbiddenActions: cleanStringList(guard.forbidden_actions || guard.forbiddenActions, 30, 500),\n\t\t\tscopeFingerprint: cleanText(guard.scope_fingerprint || guard.scopeFingerprint, 180),\n\t\t\townerFiles: cleanStringList(guard.owner_files || guard.ownerFiles, 60, 500),\n\t\t\tapprovedOwnerFiles: cleanStringList(guard.approved_owner_files || guard.approvedOwnerFiles, 60, 500),\n\t\t\tcurrentOwnerFiles: cleanStringList(guard.current_owner_files || guard.currentOwnerFiles, 60, 500),\n\t\t\townerFileFingerprint: cleanText(guard.owner_file_fingerprint || guard.ownerFileFingerprint, 180),\n\t\t\tapprovedOwnerFileFingerprint: cleanText(guard.approved_owner_file_fingerprint || guard.approvedOwnerFileFingerprint, 180),\n\t\t\townerFilesChangedSinceApproval: guard.owner_files_changed_since_approval === true || guard.ownerFilesChangedSinceApproval === true,\n\t\t\townerFilesAddedSinceApproval: cleanStringList(guard.owner_files_added_since_approval || guard.ownerFilesAddedSinceApproval, 40, 500),\n\t\t\townerFilesRemovedSinceApproval: cleanStringList(guard.owner_files_removed_since_approval || guard.ownerFilesRemovedSinceApproval, 40, 500),\n\t\t\trequiresOwnerFileReapproval: guard.requires_owner_file_reapproval === true || guard.requiresOwnerFileReapproval === true,\n\t\t\trequiresScopeReapproval: guard.requires_scope_reapproval === true || guard.requiresScopeReapproval === true,\n\t\t\trequiresOverLimitApproval: guard.requires_over_limit_approval === true || guard.requiresOverLimitApproval === true,\n\t\t\trequiresDiagnosisScopeReapproval: guard.requires_diagnosis_scope_reapproval === true || guard.requiresDiagnosisScopeReapproval === true,\n\t\t\trequiredCompletionEvidence: cleanStringList(guard.required_completion_evidence || guard.requiredCompletionEvidence, 30, 500),\n\t\t\tblockers: Array.from(new Set(blockers))\n\t\t}\n\t\t};\n\t}\n\nfunction supportAutoloopApprovalBlockGate(block: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!block || !Object.keys(block).length) {\n\t\treturn undefined;\n\t}\n\tconst statusText = cleanText(block.status, 160).toLowerCase();\n\tconst action = cleanText(block.action || block.next_action || block.nextAction, 160);\n\tconst nextAction = cleanText(block.next_action || block.nextAction || action, 160);\n\tconst decisionKind = cleanText(block.decision_kind || block.decisionKind, 160);\n\tconst humanDecisionRequest = plainObject(block.human_decision_request || block.humanDecisionRequest);\n\tconst productRepairDispatchGuard = plainObject(block.product_repair_dispatch_guard || block.productRepairDispatchGuard);\n\tconst approvalContractId = cleanText(block.approval_contract_id || block.approvalContractId, 180);\n\tconst blockers = cleanStringList(block.blockers, 40, 500);\n\tif (block.requires_over_limit_approval === true || block.requiresOverLimitApproval === true) {\n\t\tblockers.push('Autoloop is parked until explicit over-limit approval is recorded.');\n\t}\n\tif (block.requires_scope_reapproval === true || block.requiresScopeReapproval === true) {\n\t\tblockers.push('Autoloop is parked until the revised support scope is approved.');\n\t}\n\tif (block.requires_owner_file_reapproval === true || block.requiresOwnerFileReapproval === true) {\n\t\tblockers.push('Autoloop is parked until the changed owner-file set is reapproved.');\n\t}\n\tif (block.requires_diagnosis_scope_reapproval === true || block.requiresDiagnosisScopeReapproval === true) {\n\t\tblockers.push('Autoloop is parked until the changed diagnosis/proof scope is reapproved.');\n\t}\n\tif (block.requires_repair_intent_reapproval === true || block.requiresRepairIntentReapproval === true) {\n\t\tblockers.push('Autoloop is parked until the changed planned implementation intent is reapproved.');\n\t}\n\tif (block.requires_repair_intent === true || block.requiresRepairIntent === true) {\n\t\tblockers.push('Autoloop is parked until planned implementation intent is defined.');\n\t}\n\tif (block.requires_classification_approval === true || block.requiresClassificationApproval === true) {\n\t\tblockers.push('Autoloop is parked until bug/not-bug classification is approved.');\n\t}\n\tif (block.requires_estimate_hours === true || block.requiresEstimateHours === true) {\n\t\tblockers.push('Autoloop is parked until estimated hours are recorded.');\n\t}\n\tif (block.requires_elapsed_reapproval === true || block.requiresElapsedReapproval === true) {\n\t\tblockers.push('Autoloop is parked because elapsed runtime exceeded the approved wall-clock boundary.');\n\t}\n\tconst uniqueBlockers = Array.from(new Set(blockers));\n\tconst resolved = /resolved|approved|complete|completed|dismissed/.test(statusText);\n\tconst blocked = !resolved && (/blocked|approval|required|waiting|pending|parked/.test(statusText) || !!nextAction || uniqueBlockers.length > 0);\n\tconst gateStatus: AIRunGateResult['status'] = blocked ? 'blocked' : 'warn';\n\treturn {\n\t\tkey: 'support_autoloop_approval_block',\n\t\tlabel: 'Support autoloop approval block',\n\t\tstatus: gateStatus,\n\t\treason: cleanText(\n\t\t\tblock.reason\n\t\t\t|| uniqueBlockers.join(' ')\n\t\t\t|| (blocked ? 'Support autoloop is parked until a specific approval or scope revision is recorded.' : 'Support autoloop approval block was recorded.'),\n\t\t\t1200\n\t\t),\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...asArray<any>(block.required_completion_evidence || block.requiredCompletionEvidence),\n\t\t\t...asArray<any>(productRepairDispatchGuard.owner_files || productRepairDispatchGuard.ownerFiles),\n\t\t\t...asArray<any>(productRepairDispatchGuard.approved_owner_files || productRepairDispatchGuard.approvedOwnerFiles)\n\t\t], 60, 500),\n\t\trecordedAt: isoNow(now || block.created_at || block.createdAt || block.recorded_at || block.recordedAt),\n\t\tmetadata: {\n\t\t\trecordId: cleanText(block.record_id || block.recordId, 180),\n\t\t\tstatus: statusText,\n\t\t\taction,\n\t\t\tnextAction,\n\t\t\tapprovalContractId,\n\t\t\tscopeFingerprint: cleanText(block.scope_fingerprint || block.scopeFingerprint, 180),\n\t\t\tdiagnosisScopeFingerprint: cleanText(block.diagnosis_scope_fingerprint || block.diagnosisScopeFingerprint, 180),\n\t\t\trepairIntentScopeFingerprint: cleanText(block.repair_intent_scope_fingerprint || block.repairIntentScopeFingerprint, 180),\n\t\t\tdecisionKind,\n\t\t\trequiresOverLimitApproval: block.requires_over_limit_approval === true || block.requiresOverLimitApproval === true,\n\t\t\trequiresScopeReapproval: block.requires_scope_reapproval === true || block.requiresScopeReapproval === true,\n\t\t\trequiresOwnerFileReapproval: block.requires_owner_file_reapproval === true || block.requiresOwnerFileReapproval === true,\n\t\t\trequiresDiagnosisScopeReapproval: block.requires_diagnosis_scope_reapproval === true || block.requiresDiagnosisScopeReapproval === true,\n\t\t\trequiresRepairIntentReapproval: block.requires_repair_intent_reapproval === true || block.requiresRepairIntentReapproval === true,\n\t\t\trequiresRepairIntent: block.requires_repair_intent === true || block.requiresRepairIntent === true,\n\t\t\trequiresClassificationApproval: block.requires_classification_approval === true || block.requiresClassificationApproval === true,\n\t\t\trequiresEstimateHours: block.requires_estimate_hours === true || block.requiresEstimateHours === true,\n\t\t\trequiresElapsedReapproval: block.requires_elapsed_reapproval === true || block.requiresElapsedReapproval === true,\n\t\t\telapsedRuntimeMs: numberValue(block.elapsed_runtime_ms ?? block.elapsedRuntimeMs),\n\t\t\telapsedRuntimeHours: numberValue(block.elapsed_runtime_hours ?? block.elapsedRuntimeHours),\n\t\t\tmaxApprovedRuntimeMs: numberValue(block.max_approved_runtime_ms ?? block.maxApprovedRuntimeMs),\n\t\t\tmaxApprovedRuntimeHours: numberValue(block.max_approved_runtime_hours ?? block.maxApprovedRuntimeHours),\n\t\t\tmaxWallClockMs: numberValue(block.max_wall_clock_ms ?? block.maxWallClockMs),\n\t\t\tmaxWallClockHours: numberValue(block.max_wall_clock_hours ?? block.maxWallClockHours),\n\t\t\tonTheFlyScopeChangeApprovalRequired: block.on_the_fly_scope_change_approval_required === true || block.onTheFlyScopeChangeApprovalRequired === true,\n\t\t\ttargetGrade: cleanText(block.target_grade || block.targetGrade || 'A', 20),\n\t\t\trequiredTerminalState: cleanText(block.required_terminal_state || block.requiredTerminalState, 800),\n\t\t\thumanDecisionRequestId: cleanText(humanDecisionRequest.request_id || humanDecisionRequest.requestId, 180),\n\t\t\thumanDecisionPreferredChoiceId: cleanText(humanDecisionRequest.preferred_choice_id || humanDecisionRequest.preferredChoiceId, 160),\n\t\t\thumanDecisionApprovalAction: cleanText(humanDecisionRequest.approval_action || humanDecisionRequest.approvalAction, 160),\n\t\t\tproductRepairDispatchGuardStatus: cleanText(productRepairDispatchGuard.status, 120),\n\t\t\tproductRepairDispatchNextAction: cleanText(productRepairDispatchGuard.next_action || productRepairDispatchGuard.nextAction, 160),\n\t\t\tblockers: uniqueBlockers\n\t\t}\n\t};\n}\n\nfunction downgradeStaleSupportRepairIntentApprovalBlock(\n\tgate: AIRunGateResult | undefined,\n\tautonomyApprovalGate: AIRunGateResult | undefined,\n\tproductRepairDispatchGate: AIRunGateResult | undefined\n): AIRunGateResult | undefined {\n\tif (!gate || gate.status !== 'blocked') {\n\t\treturn gate;\n\t}\n\tconst metadata = plainObject(gate.metadata);\n\tconst blockers = cleanStringList(metadata.blockers, 20, 500);\n\tconst onlyRepairIntentBlocker = metadata.requiresRepairIntent === true\n\t\t&& metadata.requiresRepairIntentReapproval !== true\n\t\t&& metadata.requiresOverLimitApproval !== true\n\t\t&& metadata.requiresScopeReapproval !== true\n\t\t&& metadata.requiresOwnerFileReapproval !== true\n\t\t&& metadata.requiresDiagnosisScopeReapproval !== true\n\t\t&& metadata.requiresClassificationApproval !== true\n\t\t&& metadata.requiresEstimateHours !== true\n\t\t&& metadata.requiresElapsedReapproval !== true\n\t\t&& (blockers.length === 0 || blockers.every((blocker) => /planned implementation intent|repair_intent_required/i.test(blocker)));\n\tif (!onlyRepairIntentBlocker || autonomyApprovalGate?.status !== 'pass' || productRepairDispatchGate?.status !== 'pass') {\n\t\treturn gate;\n\t}\n\tconst reason = 'Stale repair-intent-only approval block downgraded because bounded autonomy and product-repair dispatch are already approved; continue to QA/business proof.';\n\treturn {\n\t\t...gate,\n\t\tstatus: 'warn',\n\t\treason,\n\t\tmetadata: {\n\t\t\t...metadata,\n\t\t\tstaleRepairIntentOnlyBlockDowngraded: true,\n\t\t\tblockers,\n\t\t\tdowngradeReason: reason\n\t\t}\n\t};\n}\n\nfunction supportAutoloopNoProgressGate(record: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!record || !Object.keys(record).length) {\n\t\treturn undefined;\n\t}\n\tconst history = asArray<Record<string, any>>(record.history)\n\t\t.map((entry) => plainObject(entry))\n\t\t.filter((entry) => Object.keys(entry).length > 0)\n\t\t.slice(-12);\n\tconst latestHistory = plainObject(record.latest_history || record.latestHistory || history[history.length - 1]);\n\tconst statusText = cleanText(record.status || latestHistory.status, 120).toLowerCase();\n\tconst noProgressStreak = Math.max(0, Number(record.no_progress_streak ?? record.noProgressStreak ?? latestHistory.no_progress_streak ?? latestHistory.noProgressStreak ?? 0) || 0);\n\tconst lastProgressSignal = booleanFlag(record.last_progress_signal ?? record.lastProgressSignal ?? latestHistory.progress_signal ?? latestHistory.progressSignal);\n\tconst evidenceChanged = booleanFlag(\n\t\trecord.last_evidence_changed\n\t\t?? record.lastEvidenceChanged\n\t\t?? record.evidence_changed\n\t\t?? record.evidenceChanged\n\t\t?? latestHistory.evidence_changed\n\t\t?? latestHistory.evidenceChanged\n\t);\n\tconst handoffRequired = record.handoff_required === true || record.handoffRequired === true;\n\tconst lastError = cleanText(record.last_error || record.lastError || latestHistory.error, 2000);\n\tconst continuationDecision = plainObject(record.last_continuation_decision || record.lastContinuationDecision || latestHistory.continuation_decision || latestHistory.continuationDecision);\n\tconst continuationDispatch = plainObject(record.last_continuation_dispatch || record.lastContinuationDispatch || latestHistory.continuation_dispatch || latestHistory.continuationDispatch);\n\tconst continuationAction = cleanText(continuationDecision.action || continuationDispatch.action, 160);\n\tconst noProgressError = /no[-_\\s]?progress|no new diff|no new .*evidence|without progress|retry blocked|same failure/i.test(lastError);\n\tconst stoppedOrParked = handoffRequired\n\t\t|| /stopped|stop|park|parked|handoff|blocked/.test(statusText)\n\t\t|| /park|handoff|blocked|manual/.test(continuationAction);\n\tconst hasNoProgressEvidence = noProgressStreak > 0\n\t\t|| lastProgressSignal === false\n\t\t|| evidenceChanged === false\n\t\t|| noProgressError;\n\tif (!hasNoProgressEvidence) {\n\t\treturn undefined;\n\t}\n\tconst blocked = stoppedOrParked && hasNoProgressEvidence;\n\tconst strictGateReason = cleanText(record.last_strict_gate_reason || record.lastStrictGateReason || latestHistory.strict_gate_reason || latestHistory.strictGateReason, 500);\n\tconst diffFingerprint = cleanText(record.diff_fingerprint || record.diffFingerprint || latestHistory.diff_fingerprint || latestHistory.diffFingerprint, 180);\n\tconst failingCheckFingerprint = cleanText(record.failing_check_fingerprint || record.failingCheckFingerprint || latestHistory.failing_check_fingerprint || latestHistory.failingCheckFingerprint, 180);\n\tconst progressReasons = cleanStringList(record.last_progress_reasons || record.lastProgressReasons || latestHistory.progress_reasons || latestHistory.progressReasons, 20, 240);\n\tconst evidenceReasons = cleanStringList(record.last_evidence_reasons || record.lastEvidenceReasons || latestHistory.evidence_reasons || latestHistory.evidenceReasons, 20, 240);\n\tconst blockers = [\n\t\t...(noProgressStreak > 0 ? [`no_progress_streak=${noProgressStreak}`] : []),\n\t\t...(lastProgressSignal === false ? ['last_progress_signal=false'] : []),\n\t\t...(evidenceChanged === false ? ['evidence_changed=false'] : []),\n\t\t...(strictGateReason ? [`strict_gate=${strictGateReason}`] : []),\n\t\t...(lastError ? [`last_error=${lastError}`] : [])\n\t];\n\treturn {\n\t\tkey: 'support_autoloop_no_progress',\n\t\tlabel: 'Support autoloop no-progress guard',\n\t\tstatus: blocked ? 'blocked' : 'warn',\n\t\treason: cleanText(\n\t\t\trecord.reason\n\t\t\t|| (blocked\n\t\t\t\t? 'Support autoloop parked because no new diff/check/PR evidence was recorded before another repair loop.'\n\t\t\t\t: 'Support autoloop recorded no-progress evidence; require new material proof before another broad repair loop.'),\n\t\t\t1200\n\t\t),\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...progressReasons,\n\t\t\t...evidenceReasons,\n\t\t\tdiffFingerprint ? `diff_fingerprint=${diffFingerprint}` : '',\n\t\t\tfailingCheckFingerprint ? `failing_check_fingerprint=${failingCheckFingerprint}` : '',\n\t\t\tstrictGateReason ? `strict_gate=${strictGateReason}` : '',\n\t\t\tcontinuationAction ? `continuation_action=${continuationAction}` : ''\n\t\t], 60, 500),\n\t\trecordedAt: isoNow(now || record.recorded_at || record.recordedAt || latestHistory.finished_at || latestHistory.finishedAt),\n\t\tmetadata: {\n\t\t\trunId: cleanText(record.run_id || record.runId || latestHistory.run_id || latestHistory.runId, 180),\n\t\t\tstatus: statusText,\n\t\t\tnoProgressStreak,\n\t\t\tlastProgressSignal,\n\t\t\tevidenceChanged,\n\t\t\thandoffRequired,\n\t\t\tlastError,\n\t\t\tstrictGateReason,\n\t\t\tdiffFingerprint,\n\t\t\tfailingCheckFingerprint,\n\t\t\tcontinuationAction,\n\t\t\tcontinuationReason: cleanText(continuationDecision.reason || continuationDispatch.reason, 1000),\n\t\t\tcontinuationStatus: cleanText(continuationDispatch.status || continuationDecision.status, 120),\n\t\t\tprogressReasons,\n\t\t\tevidenceReasons,\n\t\t\trequiresNewEvidence: true,\n\t\t\tproductRepairAllowed: false,\n\t\t\tnextAction: 'collect_new_evidence_or_revise_diagnosis',\n\t\t\trequiredEvidence: [\n\t\t\t\t'new diff/check/PR evidence, changed failing-check fingerprint, or a revised SupportDiagnosisGate with fresh proof',\n\t\t\t\t'AIQaBusinessAssertion before/action/after proof when the ticket issue is fixed'\n\t\t\t],\n\t\t\tforbiddenActions: [\n\t\t\t\t'Do not start another product-code/model repair loop until new evidence changes the blocker fingerprint.',\n\t\t\t\t'Do not treat route-load proof or scorecard-only proof as accepted support completion.'\n\t\t\t],\n\t\t\tblockers\n\t\t}\n\t};\n}\n\nfunction supportHumanDecisionRequestGate(request: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!request || !Object.keys(request).length) {\n\t\treturn undefined;\n\t}\n\tconst statusText = cleanText(request.status, 120).toLowerCase();\n\tconst required = request.required === true || /required|open|pending|waiting/.test(statusText);\n\tconst resolved = /resolved|answered|approved|dismissed|complete/.test(statusText);\n\tconst evidence = plainObject(request.evidence);\n\tconst choices = asArray<Record<string, any>>(request.choices);\n\tconst gateStatus: AIRunGateResult['status'] = required && !resolved ? 'blocked' : 'warn';\n\treturn {\n\t\tkey: 'support_human_decision_request',\n\t\tlabel: 'Support human decision request',\n\t\tstatus: gateStatus,\n\t\treason: cleanText(request.reason || request.question || (gateStatus === 'blocked' ? 'Support run is waiting on an operator decision.' : 'Support human decision request was recorded.'), 1200),\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...asArray<any>(evidence.required_artifacts || evidence.requiredArtifacts),\n\t\t\t...asArray<any>(evidence.recent_artifact_paths || evidence.recentArtifactPaths),\n\t\t\t...asArray<any>(evidence.changed_files || evidence.changedFiles)\n\t\t], 60, 500),\n\t\trecordedAt: isoNow(now || request.created_at || request.createdAt || request.recorded_at || request.recordedAt),\n\t\tmetadata: {\n\t\t\trequestId: cleanText(request.request_id || request.requestId, 180),\n\t\t\trequired,\n\t\t\tstatus: statusText,\n\t\t\tdecisionKind: cleanText(request.decision_kind || request.decisionKind, 120),\n\t\t\tapprovalAction: cleanText(request.approval_action || request.approvalAction, 120),\n\t\t\tcanApproveFromConsole: request.can_approve_from_console === true || request.canApproveFromConsole === true,\n\t\t\tpreferredChoiceId: cleanText(request.preferred_choice_id || request.preferredChoiceId, 120),\n\t\t\tchoiceCount: choices.length,\n\t\t\tchoices: choices.slice(0, 6).map((choice) => ({\n\t\t\t\tchoiceId: cleanText(choice.choice_id || choice.choiceId, 120),\n\t\t\t\taction: cleanText(choice.action, 120),\n\t\t\t\tlabel: cleanText(choice.label, 160),\n\t\t\t\tsafety: cleanText(choice.safety, 80),\n\t\t\t\tdisabled: choice.disabled === true\n\t\t\t})).filter((choice) => choice.choiceId || choice.action),\n\t\t\tfailureClass: cleanText(evidence.failure_class || evidence.failureClass, 120),\n\t\t\tblockerFingerprint: cleanText(evidence.blocker_fingerprint || evidence.blockerFingerprint, 180),\n\t\t\tevidenceHash: cleanText(evidence.evidence_hash || evidence.evidenceHash, 180),\n\t\t\tdispatchAction: cleanText(evidence.dispatch_action || evidence.dispatchAction, 120),\n\t\t\trequiresOverLimitApproval: evidence.requires_over_limit_approval === true || evidence.requiresOverLimitApproval === true,\n\t\t\trequiresScopeReapproval: evidence.requires_scope_reapproval === true || evidence.requiresScopeReapproval === true,\n\t\t\trequiresIntakeReapproval: evidence.requires_intake_reapproval === true || evidence.requiresIntakeReapproval === true,\n\t\t\trequiresDiagnosisScopeReapproval: evidence.requires_diagnosis_scope_reapproval === true || evidence.requiresDiagnosisScopeReapproval === true,\n\t\t\trequiresClassificationApproval: evidence.requires_classification_approval === true || evidence.requiresClassificationApproval === true,\n\t\t\trequiresEstimateHours: evidence.requires_estimate_hours === true || evidence.requiresEstimateHours === true\n\t\t}\n\t};\n}\n\nfunction supportPostApprovalAutostartGate(packet: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!packet || !Object.keys(packet).length) {\n\t\treturn undefined;\n\t}\n\tconst contract = plainObject(packet.contract || packet.post_approval_autostart_contract || packet.postApprovalAutostartContract);\n\tconst record = plainObject(packet.record || packet.post_approval_autostart || packet.postApprovalAutostart);\n\tif (!Object.keys(contract).length && !Object.keys(record).length) {\n\t\treturn undefined;\n\t}\n\tconst result = plainObject(record.result);\n\tconst statusText = cleanText(record.status || packet.status || contract.status, 120).toLowerCase();\n\tconst contractStatus = cleanText(contract.status, 120).toLowerCase();\n\tconst resultStatus = cleanText(record.result_status || record.resultStatus || result.status, 120).toLowerCase();\n\tconst nextAction = cleanText(record.next_action || record.nextAction || packet.next_action || packet.nextAction, 160);\n\tconst error = cleanText(record.error || result.error, 1000);\n\tconst runId = cleanText(record.run_id || record.runId || result.run_id || result.runId, 180);\n\tconst resumeContract = plainObject(record.resume_contract || record.resumeContract || record.post_approval_resume_contract || record.postApprovalResumeContract);\n\tconst failureClass = cleanText(record.failure_class || record.failureClass, 120);\n\tconst blockerFingerprint = cleanText(record.blocker_fingerprint || record.blockerFingerprint, 180);\n\tconst blockerReason = cleanText(record.blocker_reason || record.blockerReason, 1200);\n\tconst scopeFingerprint = cleanText(\n\t\trecord.scope_fingerprint\n\t\t|| record.scopeFingerprint\n\t\t|| contract.scope_fingerprint\n\t\t|| contract.scopeFingerprint\n\t\t|| resumeContract.scope_fingerprint\n\t\t|| resumeContract.scopeFingerprint,\n\t\t180\n\t);\n\tconst approvalBoundaryValid = record.approval_boundary_valid === true\n\t\t|| record.approvalBoundaryValid === true;\n\tconst canRetryWithoutReapproval = record.can_retry_without_reapproval === true\n\t\t|| record.canRetryWithoutReapproval === true;\n\tconst safeRetryAction = cleanText(record.safe_retry_action || record.safeRetryAction || resumeContract.action, 160);\n\tconst blockers = cleanStringList([\n\t\t...asArray<any>(contract.blockers),\n\t\t...asArray<any>(record.blockers),\n\t\t...asArray<any>(result.blockers),\n\t\tblockerReason,\n\t\terror,\n\t\tcontractStatus === 'ready' && !Object.keys(record).length ? 'Autostart contract is ready but no dispatch result was recorded.' : ''\n\t], 40, 500);\n\tconst started = /^(started|already_running|running)$/.test(statusText)\n\t\t|| /^(started|already_running|running)$/.test(resultStatus)\n\t\t|| record.can_continue_without_codex_monitor === true\n\t\t|| record.canContinueWithoutCodexMonitor === true;\n\tconst skipped = statusText === 'skipped' || contractStatus === 'skipped';\n\tconst blocked = !started && (\n\t\t/blocked|failed|fail|error/.test(statusText)\n\t\t|| /blocked|failed|fail|error|busy/.test(resultStatus)\n\t\t|| nextAction === 'resolve_autostart_blocker'\n\t\t|| !!error\n\t\t|| (contractStatus === 'ready' && !Object.keys(record).length)\n\t);\n\tconst gateStatus: AIRunGateResult['status'] = started\n\t\t? 'pass'\n\t\t: blocked\n\t\t\t? 'blocked'\n\t\t\t: skipped\n\t\t\t\t? 'warn'\n\t\t\t\t: 'warn';\n\tconst options = plainObject(contract.options);\n\tconst reason = started\n\t\t? 'Approved support autonomy autostart dispatched the auto-improve loop; no parallel Codex monitor is required.'\n\t\t: blocked\n\t\t\t? cleanText(blockers.join(' ') || contract.reason || result.message || 'Approved support autonomy did not autostart and needs a concrete blocker resolved.', 1200)\n\t\t\t: skipped\n\t\t\t\t? cleanText(contract.reason || 'Approved support autonomy autostart was skipped by request; manual start is required when ready.', 1200)\n\t\t\t\t: cleanText(contract.reason || result.message || 'Approved support autonomy autostart result is recorded but not dispatch-ready.', 1200);\n\treturn {\n\t\tkey: 'support_post_approval_autostart',\n\t\tlabel: 'Support post-approval autostart',\n\t\tstatus: gateStatus,\n\t\treason,\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...asArray<any>(contract.required_terminal_evidence || contract.requiredTerminalEvidence),\n\t\t\t...asArray<any>(record.artifact_paths || record.artifactPaths),\n\t\t\t...asArray<any>(result.artifact_paths || result.artifactPaths)\n\t\t], 60, 500),\n\t\trecordedAt: isoNow(now || record.recorded_at || record.recordedAt || contract.recorded_at || contract.recordedAt),\n\t\tmetadata: {\n\t\t\tsource: cleanText(packet.source, 120),\n\t\t\tstatus: statusText || contractStatus,\n\t\t\tcontractStatus,\n\t\t\tresultStatus,\n\t\t\tfailureClass,\n\t\t\tblockerFingerprint,\n\t\t\tblockerReason,\n\t\t\tapprovalBoundaryValid,\n\t\t\tcanRetryWithoutReapproval,\n\t\t\tsafeRetryAction,\n\t\t\tresumeContract,\n\t\t\tpostApprovalResumeContract: resumeContract,\n\t\t\tstarted,\n\t\t\tskipped,\n\t\t\tblocked,\n\t\t\tnextAction,\n\t\t\trunId,\n\t\t\tactiveTicketId: cleanText(result.active_ticket_id || result.activeTicketId, 180),\n\t\t\tactiveRunId: cleanText(result.active_run_id || result.activeRunId, 180),\n\t\t\terror,\n\t\t\tcontractId: cleanText(contract.contract_id || contract.contractId || record.contract_id || record.contractId, 180),\n\t\t\trecordId: cleanText(record.record_id || record.recordId, 180),\n\t\t\tapprovalContractId: cleanText(contract.approval_contract_id || contract.approvalContractId || record.approval_contract_id || record.approvalContractId, 180),\n\t\t\tscopeFingerprint,\n\t\t\tmethod: cleanText(record.method || contract.method, 180),\n\t\t\tautoStartEnabled: contract.auto_start_enabled === true || contract.autoStartEnabled === true || record.auto_start_enabled === true || record.autoStartEnabled === true,\n\t\t\tcanContinueWithoutCodexMonitor: record.can_continue_without_codex_monitor === true || record.canContinueWithoutCodexMonitor === true,\n\t\t\tblocksManualCodexMonitoring: record.blocks_manual_codex_monitoring === true || record.blocksManualCodexMonitoring === true,\n\t\t\tterminalTarget: cleanText(contract.terminal_target || contract.terminalTarget, 800),\n\t\t\ttargetGrade: cleanText(contract.target_grade || contract.targetGrade, 20),\n\t\t\tmaxIterations: Number(options.max_iterations || options.maxIterations || 0),\n\t\t\titerationTimeoutMs: Number(options.iteration_timeout_ms || options.iterationTimeoutMs || 0),\n\t\t\tautoCreatePr: options.auto_create_pr === true || options.autoCreatePr === true,\n\t\t\tforceNewJob: options.force_new_job === true || options.forceNewJob === true,\n\t\t\tforceRestart: options.force_restart === true || options.forceRestart === true,\n\t\t\tbudgetSoftUsd: Number(options.budget_soft_usd || options.budgetSoftUsd || 0),\n\t\t\tbudgetHardUsd: Number(options.budget_hard_usd || options.budgetHardUsd || 0),\n\t\t\texecutionTier: cleanText(options.execution_tier || options.executionTier, 120),\n\t\t\trequiredTerminalEvidence: cleanStringList(contract.required_terminal_evidence || contract.requiredTerminalEvidence, 30, 500),\n\t\t\tallowedAutoActions: cleanStringList(contract.allowed_auto_actions || contract.allowedAutoActions, 30, 240),\n\t\t\tforbiddenWithoutReapproval: cleanStringList(contract.forbidden_without_reapproval || contract.forbiddenWithoutReapproval, 30, 500),\n\t\t\tblockers\n\t\t}\n\t};\n}\n\nfunction supportPostApprovalResumeAttemptGate(packet: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!packet || !Object.keys(packet).length) {\n\t\treturn undefined;\n\t}\n\tconst record = plainObject(packet.record || packet.post_approval_resume_attempt || packet.postApprovalResumeAttempt);\n\tif (!Object.keys(record).length) {\n\t\treturn undefined;\n\t}\n\tconst result = plainObject(record.result);\n\tconst resumeContract = plainObject(record.resume_contract || record.resumeContract || record.post_approval_resume_contract || record.postApprovalResumeContract);\n\tconst startGuard = plainObject(record.start_guard || record.startGuard || result.autoloop_start_guard || result.autoloopStartGuard);\n\tconst statusText = cleanText(record.status || packet.status || result.status, 120).toLowerCase();\n\tconst resultStatus = cleanText(record.result_status || record.resultStatus || result.status, 120).toLowerCase();\n\tconst nextAction = cleanText(record.next_action || record.nextAction || packet.next_action || packet.nextAction, 160);\n\tconst failureClass = cleanText(record.failure_class || record.failureClass, 120);\n\tconst blockerFingerprint = cleanText(record.blocker_fingerprint || record.blockerFingerprint, 180);\n\tconst blockerReason = cleanText(record.blocker_reason || record.blockerReason, 1200);\n\tconst runId = cleanText(record.run_id || record.runId || result.run_id || result.runId, 180);\n\tconst error = cleanText(record.error || result.error, 1000);\n\tconst started = /^(started|already_running|running)$/.test(statusText)\n\t\t|| /^(started|already_running|running)$/.test(resultStatus)\n\t\t|| record.can_continue_without_codex_monitor === true\n\t\t|| record.canContinueWithoutCodexMonitor === true;\n\tconst blocked = !started && (\n\t\t/blocked|failed|fail|error|busy/.test(statusText)\n\t\t|| /blocked|failed|fail|error|busy/.test(resultStatus)\n\t\t|| !!failureClass\n\t\t|| !!blockerReason\n\t\t|| !!error\n\t\t|| startGuard.allowed === false\n\t);\n\tconst gateStatus: AIRunGateResult['status'] = started\n\t\t? 'pass'\n\t\t: blocked\n\t\t\t? 'blocked'\n\t\t\t: 'warn';\n\tconst blockers = cleanStringList([\n\t\t...asArray<any>(record.blockers),\n\t\tblockerReason,\n\t\terror,\n\t\tstartGuard.reason,\n\t\tresult.reason\n\t], 40, 500);\n\tconst reason = started\n\t\t? 'Approved support auto-improve loop resume started under the recorded approval/scope contract.'\n\t\t: blocked\n\t\t\t? cleanText(blockers.join(' ') || 'Approved support auto-improve loop resume did not start and needs a fresh blocker review before another retry.', 1200)\n\t\t\t: 'Approved support auto-improve loop resume attempt was recorded but has no terminal start result.';\n\treturn {\n\t\tkey: 'support_post_approval_resume_attempt',\n\t\tlabel: 'Support post-approval resume attempt',\n\t\tstatus: gateStatus,\n\t\treason,\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...asArray<any>(record.artifact_paths || record.artifactPaths),\n\t\t\t...asArray<any>(result.artifact_paths || result.artifactPaths)\n\t\t], 60, 500),\n\t\trecordedAt: isoNow(now || record.recorded_at || record.recordedAt),\n\t\tmetadata: {\n\t\t\tsource: cleanText(packet.source, 120),\n\t\t\tstatus: statusText,\n\t\t\tresultStatus,\n\t\t\tfailureClass,\n\t\t\tblockerFingerprint,\n\t\t\tblockerReason,\n\t\t\tstarted,\n\t\t\tblocked,\n\t\t\tnextAction,\n\t\t\trunId,\n\t\t\tactiveTicketId: cleanText(record.active_ticket_id || record.activeTicketId || result.active_ticket_id || result.activeTicketId, 180),\n\t\t\tactiveRunId: cleanText(record.active_run_id || record.activeRunId || result.active_run_id || result.activeRunId, 180),\n\t\t\tactiveJobId: cleanText(record.active_job_id || record.activeJobId || result.active_job_id || result.activeJobId, 180),\n\t\t\terror,\n\t\t\tattemptId: cleanText(record.attempt_id || record.attemptId, 180),\n\t\t\tcontractId: cleanText(record.contract_id || record.contractId || resumeContract.contract_id || resumeContract.contractId, 180),\n\t\t\tapprovalContractId: cleanText(record.approval_contract_id || record.approvalContractId || resumeContract.approval_contract_id || resumeContract.approvalContractId, 180),\n\t\t\tscopeFingerprint: cleanText(record.scope_fingerprint || record.scopeFingerprint || resumeContract.scope_fingerprint || resumeContract.scopeFingerprint, 180),\n\t\t\tresumeContract,\n\t\t\tpostApprovalResumeContract: resumeContract,\n\t\t\tstartGuard,\n\t\t\tstartGuardStatus: cleanText(record.start_guard_status || record.startGuardStatus || startGuard.status, 120),\n\t\t\tcanContinueWithoutCodexMonitor: record.can_continue_without_codex_monitor === true || record.canContinueWithoutCodexMonitor === true,\n\t\t\tproductRepairAllowed: record.product_repair_allowed === true || record.productRepairAllowed === true,\n\t\t\tcanSendCustomerReply: record.can_send_customer_reply === true || record.canSendCustomerReply === true,\n\t\t\tblockers\n\t\t}\n\t};\n}\n\nfunction supportIntakeRevisionContractGate(contract: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\treturn undefined;\n\t}\n\tconst statusText = cleanText(contract.status, 120).toLowerCase();\n\tconst changedFields = asArray<Record<string, any>>(contract.changed_fields || contract.changedFields)\n\t\t.map((entry) => ({\n\t\t\tfield: cleanText(entry.field, 120),\n\t\t\tprevious: cleanText(entry.previous, 500),\n\t\t\tnext: cleanText(entry.next, 500)\n\t\t}))\n\t\t.filter((entry) => entry.field);\n\tconst changedFieldNames = cleanStringList(contract.changed_field_names || contract.changedFieldNames, 40, 120).length\n\t\t? cleanStringList(contract.changed_field_names || contract.changedFieldNames, 40, 120)\n\t\t: changedFields.map((entry) => entry.field);\n\tconst requiresReapproval = contract.requires_reapproval === true\n\t\t|| contract.requiresReapproval === true\n\t\t|| /approval_required|reapproval_required|waiting_for_operator/.test(statusText);\n\tconst blocksProductRepair = contract.blocks_product_repair === true\n\t\t|| contract.blocksProductRepair === true\n\t\t|| requiresReapproval;\n\tconst blocksAutoRetry = contract.blocks_auto_retry === true\n\t\t|| contract.blocksAutoRetry === true\n\t\t|| requiresReapproval;\n\tconst gateStatus: AIRunGateResult['status'] = blocksProductRepair\n\t\t? 'blocked'\n\t\t: changedFieldNames.length\n\t\t\t? 'warn'\n\t\t\t: 'pass';\n\tconst reason = gateStatus === 'blocked'\n\t\t? cleanText(contract.reason || 'Support intake/classification changed after approval; product repair is parked until the revised scope is approved.', 1200)\n\t\t: changedFieldNames.length\n\t\t\t? cleanText(contract.reason || 'Support intake/classification edit was recorded without requiring reapproval.', 1200)\n\t\t\t: cleanText(contract.reason || 'Support intake revision contract is recorded.', 1200);\n\treturn {\n\t\tkey: 'support_intake_revision_contract',\n\t\tlabel: 'Support intake revision contract',\n\t\tstatus: gateStatus,\n\t\treason,\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...changedFieldNames,\n\t\t\tcontract.previous_autonomy_contract_id || contract.previousAutonomyContractId,\n\t\t\tcontract.previous_scope_fingerprint || contract.previousScopeFingerprint,\n\t\t\tcontract.next_scope_fingerprint || contract.nextScopeFingerprint\n\t\t], 80, 500),\n\t\trecordedAt: isoNow(now || contract.updated_at || contract.updatedAt || contract.recorded_at || contract.recordedAt),\n\t\tmetadata: {\n\t\t\tcontractId: cleanText(contract.contract_id || contract.contractId, 180),\n\t\t\tstatus: statusText,\n\t\t\trequiresReapproval,\n\t\t\tblocksProductRepair,\n\t\t\tblocksAutoRetry,\n\t\t\trequiredOperatorAction: cleanText(contract.required_operator_action || contract.requiredOperatorAction, 160),\n\t\t\tpreviousAutonomyContractId: cleanText(contract.previous_autonomy_contract_id || contract.previousAutonomyContractId, 180),\n\t\t\tpreviousScopeFingerprint: cleanText(contract.previous_scope_fingerprint || contract.previousScopeFingerprint, 180),\n\t\t\tnextScopeFingerprint: cleanText(contract.next_scope_fingerprint || contract.nextScopeFingerprint, 180),\n\t\t\tintakeScopeFingerprint: cleanText(contract.intake_scope_fingerprint || contract.intakeScopeFingerprint, 180),\n\t\t\tchangedFieldNames,\n\t\t\tchangedFields,\n\t\t\tapprovalImpactingEditFields: cleanStringList(contract.approval_impacting_edit_fields || contract.approvalImpactingEditFields, 40, 120),\n\t\t\tupdatedBy: cleanText(contract.updated_by || contract.updatedBy, 160),\n\t\t\tblockers: cleanStringList(contract.blockers, 40, 500)\n\t\t}\n\t};\n}\n\nfunction supportManagerContinuationGate(packet: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!packet || !Object.keys(packet).length) {\n\t\treturn undefined;\n\t}\n\tconst continuationContract = plainObject(packet.continuation_contract || packet.continuationContract);\n\tconst operatorGuidanceResponse = plainObject(packet.operator_guidance_response || packet.operatorGuidanceResponse);\n\tconst resumeUnblockContract = plainObject(packet.resume_unblock_contract || packet.resumeUnblockContract);\n\tconst resumeUnblockResponse = plainObject(packet.resume_unblock_response || packet.resumeUnblockResponse);\n\tconst resumeDispatch = plainObject(packet.resume_dispatch || packet.resumeDispatch);\n\tconst responseStatus = cleanText(operatorGuidanceResponse.status, 120).toLowerCase();\n\tconst dispatchStatus = cleanText(resumeDispatch.status || resumeDispatch.result?.status, 120).toLowerCase();\n\tconst continuationStatus = cleanText(continuationContract.status, 120).toLowerCase();\n\tconst operatorAccepted = operatorGuidanceResponse.accepted === true || responseStatus === 'accepted' || responseStatus === 'consumed';\n\tconst operatorConsumed = operatorGuidanceResponse.consumed === true || responseStatus === 'consumed' || !!cleanText(operatorGuidanceResponse.consumed_at || operatorGuidanceResponse.consumedAt, 120);\n\tconst unblockContractPresent = Object.keys(resumeUnblockContract).length > 0;\n\tconst dispatchQueued = /queued|scheduled|started|running|complete|completed|success|succeeded/.test(dispatchStatus);\n\tconst canRunWithoutCodexMonitor = operatorGuidanceResponse.can_run_without_codex_monitor === true\n\t\t|| operatorGuidanceResponse.canRunWithoutCodexMonitor === true\n\t\t|| continuationContract.can_run_without_codex_monitor === true\n\t\t|| continuationContract.canRunWithoutCodexMonitor === true;\n\tconst action = cleanText(\n\t\tresumeUnblockContract.action\n\t\t|| operatorGuidanceResponse.submit_action\n\t\t|| operatorGuidanceResponse.submitAction\n\t\t|| operatorGuidanceResponse.requested_action\n\t\t|| operatorGuidanceResponse.requestedAction\n\t\t|| continuationContract.action\n\t\t|| continuationContract.next_action\n\t\t|| continuationContract.nextAction,\n\t\t180\n\t);\n\tconst blockers = cleanStringList([\n\t\t...asArray<any>(packet.blockers),\n\t\t...asArray<any>(continuationContract.blockers),\n\t\t...asArray<any>(operatorGuidanceResponse.blockers),\n\t\t...asArray<any>(resumeUnblockContract.blockers),\n\t\tObject.keys(operatorGuidanceResponse).length && !operatorAccepted ? 'Operator guidance response is not accepted.' : '',\n\t\toperatorAccepted && !unblockContractPresent ? 'Accepted operator guidance is missing a resume_unblock_contract.' : '',\n\t\tdispatchStatus && /fail|failed|error|rejected|blocked/.test(dispatchStatus) ? 'Operator guidance resume dispatch failed or is blocked.' : ''\n\t], 40, 500);\n\tconst status: AIRunGateResult['status'] = blockers.length\n\t\t? 'blocked'\n\t\t: dispatchQueued || (operatorAccepted && unblockContractPresent)\n\t\t\t? 'pass'\n\t\t\t: 'warn';\n\tconst artifactPaths = cleanStringList([\n\t\t...asArray<any>(resumeUnblockResponse.artifact_paths || resumeUnblockResponse.artifactPaths),\n\t\t...asArray<any>(operatorGuidanceResponse.artifact_paths || operatorGuidanceResponse.artifactPaths),\n\t\t...asArray<any>(continuationContract.artifact_paths || continuationContract.artifactPaths)\n\t], 60, 500);\n\tconst requiredStateTransition = cleanText(\n\t\tresumeUnblockContract.required_state_transition\n\t\t|| resumeUnblockContract.requiredStateTransition\n\t\t|| continuationContract.required_state_transition\n\t\t|| continuationContract.requiredStateTransition\n\t\t|| continuationContract.expected_state_transition\n\t\t|| continuationContract.expectedStateTransition,\n\t\t1000\n\t);\n\treturn {\n\t\tkey: 'support_manager_continuation',\n\t\tlabel: 'Support manager continuation',\n\t\tstatus,\n\t\treason: status === 'pass'\n\t\t\t? 'Support manager has a structured continuation/unblock path that can resume without a parallel Codex monitor.'\n\t\t\t: cleanText(blockers.join(' ') || continuationContract.reason || operatorGuidanceResponse.reason || 'Support manager continuation state is recorded but not yet dispatch-ready.', 1200),\n\t\tevidenceRefs: artifactPaths,\n\t\trecordedAt: isoNow(now || packet.recorded_at || packet.recordedAt),\n\t\tmetadata: {\n\t\t\tsource: cleanText(packet.source, 160),\n\t\t\tmanagerStatus: cleanText(packet.manager_status || packet.managerStatus, 120),\n\t\t\tcontinuationContractId: cleanText(continuationContract.contract_id || continuationContract.contractId, 180),\n\t\t\tcontinuationStatus,\n\t\t\taction,\n\t\t\trequiredStateTransition,\n\t\t\toperatorGuidanceResponseId: cleanText(operatorGuidanceResponse.response_id || operatorGuidanceResponse.responseId, 180),\n\t\t\toperatorGuidanceId: cleanText(operatorGuidanceResponse.guidance_id || operatorGuidanceResponse.guidanceId, 180),\n\t\t\toperatorGuidanceAccepted: operatorAccepted,\n\t\t\toperatorGuidanceConsumed: operatorConsumed,\n\t\t\tresponseStatus,\n\t\t\tresumeUnblockContractId: cleanText(resumeUnblockContract.contract_id || resumeUnblockContract.contractId, 180),\n\t\t\tresumeUnblockAction: cleanText(resumeUnblockContract.action, 180),\n\t\t\tresumeDispatchStatus: dispatchStatus,\n\t\t\tresumeDispatchJobId: cleanText(resumeDispatch.job_id || resumeDispatch.jobId || resumeDispatch.result?.job_id || resumeDispatch.result?.jobId, 180),\n\t\t\tcanRunWithoutCodexMonitor,\n\t\t\tsafeToAutoRunAfterInput: operatorGuidanceResponse.safe_to_autorun_after_input === true || operatorGuidanceResponse.safeToAutorunAfterInput === true,\n\t\t\tblocksProductRepairUntilChangedEvidence: resumeUnblockContract.blocks_product_repair_until_changed_evidence === true || resumeUnblockContract.blocksProductRepairUntilChangedEvidence === true,\n\t\t\tproofRequiredBeforeContinuation: resumeUnblockContract.proof_required_before_continuation === true || resumeUnblockContract.proofRequiredBeforeContinuation === true,\n\t\t\tallowedAfterInput: cleanStringList(resumeUnblockContract.allowed_after_input || resumeUnblockContract.allowedAfterInput, 20, 240),\n\t\t\tmaterialEvidenceClaimed: resumeUnblockResponse.material_evidence_claimed === true || resumeUnblockResponse.materialEvidenceClaimed === true,\n\t\t\tmaterialEvidenceSignals: cleanStringList(resumeUnblockResponse.material_evidence_signals || resumeUnblockResponse.materialEvidenceSignals, 20, 240),\n\t\t\tartifactPaths,\n\t\t\tblockers\n\t\t}\n\t};\n}\n\nfunction supportPrReadinessContractObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst runnerConsole = plainObject(ticketAutomation.runner_console || ticketAutomation.runnerConsole);\n\tconst autonomousDecision = supportAutonomyDecisionObject(ticket, job, evidence);\n\tconst recovery = plainObject(autonomousDecision.managerRecovery || autonomousDecision.manager_recovery);\n\treturn evidenceObject(\n\t\tevidence.supportPrReadinessContract,\n\t\tevidence.support_pr_readiness_contract,\n\t\tevidence.prReadinessContract,\n\t\tevidence.pr_readiness_contract,\n\t\tautonomousDecision.prReadinessContract,\n\t\tautonomousDecision.pr_readiness_contract,\n\t\trecovery.prReadinessContract,\n\t\trecovery.pr_readiness_contract,\n\t\tjob.supportPrReadinessContract,\n\t\tjob.support_pr_readiness_contract,\n\t\tjob.prReadinessContract,\n\t\tjob.pr_readiness_contract,\n\t\tticket.supportPrReadinessContract,\n\t\tticket.support_pr_readiness_contract,\n\t\tticket.prReadinessContract,\n\t\tticket.pr_readiness_contract,\n\t\trunnerConsole.last_pr_readiness_contract,\n\t\trunnerConsole.lastPrReadinessContract,\n\t\trunnerConsole.pr_readiness_contract,\n\t\trunnerConsole.prReadinessContract,\n\t\tticketManager.last_pr_readiness_contract,\n\t\tticketManager.lastPrReadinessContract,\n\t\tticketManager.pr_readiness_contract,\n\t\tticketManager.prReadinessContract\n\t);\n}\n\nfunction supportPrReadinessContractGate(contract: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\treturn undefined;\n\t}\n\tconst statusText = cleanText(contract.status, 120).toLowerCase();\n\tconst ready = contract.ready === true || statusText === 'ready';\n\tconst blockers = cleanStringList(contract.blockers, 50, 500);\n\tconst businessProofArtifacts = cleanStringList(contract.business_proof_artifacts || contract.businessProofArtifacts, 80, 500);\n\tconst modifiedFiles = cleanStringList(contract.modified_files || contract.modifiedFiles, 120, 500);\n\tconst pullRequestUrl = cleanText(contract.pull_request_url || contract.pullRequestUrl, 500);\n\tconst status: AIRunGateResult['status'] = ready ? 'pass' : 'blocked';\n\treturn {\n\t\tkey: 'support_pr_readiness_contract',\n\t\tlabel: 'Support PR readiness contract',\n\t\tstatus,\n\t\treason: ready\n\t\t\t? cleanText(contract.reason || 'Business proof is ready and PR packaging can run without merge/release/customer send.', 1200)\n\t\t\t: cleanText(blockers.join(' ') || contract.reason || 'PR creation is blocked until support business proof and PR readiness evidence pass.', 1200),\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...businessProofArtifacts,\n\t\t\t...modifiedFiles\n\t\t], 120, 500),\n\t\trecordedAt: isoNow(now || contract.created_at || contract.createdAt || contract.recorded_at || contract.recordedAt),\n\t\tmetadata: {\n\t\t\tcontractId: cleanText(contract.contract_id || contract.contractId, 180),\n\t\t\tstatus: statusText,\n\t\t\tready,\n\t\t\taction: cleanText(contract.action, 120),\n\t\t\tdispatchAction: cleanText(contract.dispatch_action || contract.dispatchAction, 120),\n\t\t\tmethod: cleanText(contract.method, 180),\n\t\t\tbusinessProofReady: contract.business_proof_ready === true || contract.businessProofReady === true,\n\t\t\tdiagnosisValid: contract.diagnosis_valid === true || contract.diagnosisValid === true,\n\t\t\tjobPhase: cleanText(contract.job_phase || contract.jobPhase, 120),\n\t\t\tjobId: cleanText(contract.job_id || contract.jobId, 180),\n\t\t\tpullRequestUrl,\n\t\t\tpullRequestStatus: cleanText(contract.pull_request_status || contract.pullRequestStatus, 120),\n\t\t\tprFailureStatus: cleanText(contract.pr_failure_status || contract.prFailureStatus, 120),\n\t\t\tconfidenceBlocksPr: contract.confidence_blocks_pr === true || contract.confidenceBlocksPr === true,\n\t\t\tpassedBusinessAssertionCount: numberValue(contract.passed_business_assertion_count ?? contract.passedBusinessAssertionCount) || 0,\n\t\t\tbusinessProofArtifacts,\n\t\t\tmodifiedFiles,\n\t\t\trequiredEvidence: cleanStringList(contract.required_evidence || contract.requiredEvidence, 40, 500),\n\t\t\tforbiddenActions: cleanStringList(contract.forbidden_actions || contract.forbiddenActions, 40, 500),\n\t\t\tnextActionAfterPr: cleanText(contract.next_action_after_pr || contract.nextActionAfterPr, 160),\n\t\t\ttargetGrade: cleanText(contract.target_grade || contract.targetGrade || 'A', 20),\n\t\t\tmergeBlockedUntilHumanApproval: contract.merge_blocked_until_human_approval === true || contract.mergeBlockedUntilHumanApproval === true,\n\t\t\tcustomerReplyBlockedUntilReleaseGate: contract.customer_reply_blocked_until_release_gate === true || contract.customerReplyBlockedUntilReleaseGate === true,\n\t\t\treleaseBlockedUntilPrReview: contract.release_blocked_until_pr_review === true || contract.releaseBlockedUntilPrReview === true,\n\t\t\tblockers\n\t\t}\n\t};\n}\n\nfunction supportPrReviewContractObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst runnerConsole = plainObject(ticketAutomation.runner_console || ticketAutomation.runnerConsole);\n\tconst autonomousDecision = supportAutonomyDecisionObject(ticket, job, evidence);\n\tconst recovery = plainObject(autonomousDecision.managerRecovery || autonomousDecision.manager_recovery);\n\tconst autopilotProgress = plainObject(autonomousDecision.autopilot_completion_progress || autonomousDecision.autopilotCompletionProgress);\n\treturn evidenceObject(\n\t\tjob.supportPrReviewContract,\n\t\tjob.support_pr_review_contract,\n\t\tjob.prReviewContract,\n\t\tjob.pr_review_contract,\n\t\tevidence.supportPrReviewContract,\n\t\tevidence.support_pr_review_contract,\n\t\tevidence.prReviewContract,\n\t\tevidence.pr_review_contract,\n\t\tautonomousDecision.prReviewContract,\n\t\tautonomousDecision.pr_review_contract,\n\t\trecovery.prReviewContract,\n\t\trecovery.pr_review_contract,\n\t\tautopilotProgress.prReviewContract,\n\t\tautopilotProgress.pr_review_contract,\n\t\tticket.supportPrReviewContract,\n\t\tticket.support_pr_review_contract,\n\t\tticket.prReviewContract,\n\t\tticket.pr_review_contract,\n\t\trunnerConsole.last_pr_review_contract,\n\t\trunnerConsole.lastPrReviewContract,\n\t\trunnerConsole.pr_review_contract,\n\t\trunnerConsole.prReviewContract,\n\t\tticketManager.last_pr_review_contract,\n\t\tticketManager.lastPrReviewContract,\n\t\tticketManager.pr_review_contract,\n\t\tticketManager.prReviewContract\n\t);\n}\n\nfunction supportGradeMeetsA(value: any): boolean {\n\treturn /^(A\\+|A|A-)$/i.test(cleanText(value, 20));\n}\n\nfunction supportPrReviewContractGate(contract: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\treturn undefined;\n\t}\n\tconst grades = plainObject(contract.grades);\n\tconst executionGrade = cleanText(contract.execution_grade || contract.executionGrade || grades.execution || grades.execution_grade || grades.executionGrade, 20).toUpperCase();\n\tconst artifactsGrade = cleanText(contract.artifacts_grade || contract.artifactsGrade || grades.artifacts || grades.artifacts_grade || grades.artifactsGrade, 20).toUpperCase();\n\tconst pullRequestGrade = cleanText(contract.pull_request_grade || contract.pullRequestGrade || grades.pull_request || grades.pullRequest || grades.pr || grades.pr_grade, 20).toUpperCase();\n\tconst strictGatePassed = contract.strict_gate_passed === true\n\t\t|| contract.strictGatePassed === true\n\t\t|| contract.passes_strict_gate === true\n\t\t|| contract.passesStrictGate === true;\n\tconst statusText = cleanText(contract.status, 120).toLowerCase();\n\tconst ready = contract.ready === true\n\t\t|| strictGatePassed === true\n\t\t|| (statusText === 'passed' && supportGradeMeetsA(executionGrade) && supportGradeMeetsA(artifactsGrade) && supportGradeMeetsA(pullRequestGrade));\n\tconst blockers = cleanStringList(contract.blockers, 50, 500);\n\tconst evidenceRefs = cleanStringList(contract.evidence_refs || contract.evidenceRefs || contract.artifacts || contract.artifact_paths || contract.artifactPaths, 100, 500);\n\tconst continuationContract = plainObject(contract.continuation_contract || contract.continuationContract);\n\tconst status: AIRunGateResult['status'] = ready ? 'pass' : 'blocked';\n\treturn {\n\t\tkey: 'support_pr_review_contract',\n\t\tlabel: 'Support A-grade PR review',\n\t\tstatus,\n\t\treason: ready\n\t\t\t? cleanText(contract.reason || `Strict A-grade PR review passed (execution=${executionGrade || '-'}, artifacts=${artifactsGrade || '-'}, pull_request=${pullRequestGrade || '-'}).`, 1200)\n\t\t\t: cleanText(blockers.join(' ') || contract.reason || 'A-grade PR review is blocked until strict execution, artifact, pull_request, AIQa, before/action/after, and screenshot/trace evidence pass.', 1200),\n\t\tevidenceRefs,\n\t\trecordedAt: isoNow(now || contract.created_at || contract.createdAt || contract.recorded_at || contract.recordedAt),\n\t\tmetadata: {\n\t\t\tcontractId: cleanText(contract.contract_id || contract.contractId, 180),\n\t\t\tstatus: statusText,\n\t\t\tready,\n\t\t\tstrictGatePassed,\n\t\t\tstrictGateReason: cleanText(contract.strict_gate_reason || contract.strictGateReason || contract.reason, 500),\n\t\t\texecutionGrade,\n\t\t\tartifactsGrade,\n\t\t\tpullRequestGrade,\n\t\t\ttargetGrade: cleanText(contract.target_grade || contract.targetGrade || 'A', 20),\n\t\t\tpullRequestUrl: cleanText(contract.pull_request_url || contract.pullRequestUrl, 500),\n\t\t\tpullRequestStatus: cleanText(contract.pull_request_status || contract.pullRequestStatus, 120),\n\t\t\tfailureClass: cleanText(contract.failure_class || contract.failureClass || continuationContract.failure_class || continuationContract.failureClass, 120),\n\t\t\tblockerFingerprint: cleanText(contract.blocker_fingerprint || contract.blockerFingerprint || continuationContract.blocker_fingerprint || continuationContract.blockerFingerprint, 180),\n\t\t\tevidenceHash: cleanText(contract.evidence_hash || contract.evidenceHash || continuationContract.evidence_hash || continuationContract.evidenceHash, 180),\n\t\t\tcontinuationContract: Object.keys(continuationContract).length ? {\n\t\t\t\tcontractId: cleanText(continuationContract.contract_id || continuationContract.contractId, 180),\n\t\t\t\tstatus: cleanText(continuationContract.status, 120),\n\t\t\t\taction: cleanText(continuationContract.action, 160),\n\t\t\t\tfailureClass: cleanText(continuationContract.failure_class || continuationContract.failureClass, 120),\n\t\t\t\tblockerFingerprint: cleanText(continuationContract.blocker_fingerprint || continuationContract.blockerFingerprint, 180),\n\t\t\t\tevidenceHash: cleanText(continuationContract.evidence_hash || continuationContract.evidenceHash, 180),\n\t\t\t\treason: cleanText(continuationContract.reason, 1000),\n\t\t\t\trequiredEvidence: cleanStringList(continuationContract.required_evidence || continuationContract.requiredEvidence, 40, 500),\n\t\t\t\tresetEvidenceRequired: cleanStringList(continuationContract.reset_evidence_required || continuationContract.resetEvidenceRequired, 40, 500),\n\t\t\t\tstopConditions: cleanStringList(continuationContract.stop_conditions || continuationContract.stopConditions, 40, 500),\n\t\t\t\tcanRunWithoutCodexMonitor: continuationContract.can_run_without_codex_monitor === true || continuationContract.canRunWithoutCodexMonitor === true,\n\t\t\t\tproductRepairAllowed: continuationContract.product_repair_allowed === true || continuationContract.productRepairAllowed === true,\n\t\t\t\treleaseCustomerSideEffectsAllowed: continuationContract.release_customer_side_effects_allowed === true || continuationContract.releaseCustomerSideEffectsAllowed === true\n\t\t\t} : undefined,\n\t\t\trequiredEvidence: cleanStringList(contract.required_evidence || contract.requiredEvidence, 40, 500),\n\t\t\tforbiddenActions: cleanStringList(contract.forbidden_actions || contract.forbiddenActions, 40, 500),\n\t\t\tnextAction: cleanText(contract.next_action || contract.nextAction, 160),\n\t\t\tblockers,\n\t\t\tevidenceRefs\n\t\t}\n\t};\n}\n\nfunction supportPrCreationResultObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst codex = plainObject(ticketAutomation.codex);\n\tconst release = plainObject(ticketAutomation.release);\n\tconst pushMaster = plainObject(release.push_master || release.pushMaster);\n\tconst qaValidation = plainObject(ticketAutomation.qa_validation || ticketAutomation.qaValidation);\n\tconst prReadinessContract = supportPrReadinessContractObject(ticket, job, evidence);\n\tconst pullRequestUrl = cleanText(\n\t\tevidence.pullRequestUrl\n\t\t|| evidence.pull_request_url\n\t\t|| job.pullRequestUrl\n\t\t|| job.pull_request_url\n\t\t|| prReadinessContract.pull_request_url\n\t\t|| prReadinessContract.pullRequestUrl\n\t\t|| codex.pull_request_url\n\t\t|| codex.pullRequestUrl\n\t\t|| pushMaster.pull_request_url\n\t\t|| pushMaster.pullRequestUrl\n\t\t|| qaValidation.pull_request_url\n\t\t|| qaValidation.pullRequestUrl,\n\t\t500\n\t);\n\tconst pullRequestStatus = cleanText(\n\t\tevidence.pullRequestStatus\n\t\t|| evidence.pull_request_status\n\t\t|| job.pullRequestStatus\n\t\t|| job.pull_request_status\n\t\t|| prReadinessContract.pull_request_status\n\t\t|| prReadinessContract.pullRequestStatus\n\t\t|| codex.pull_request_status\n\t\t|| codex.pullRequestStatus,\n\t\t120\n\t);\n\tconst prFailureStatus = cleanText(\n\t\tevidence.prFailureStatus\n\t\t|| evidence.pr_failure_status\n\t\t|| prReadinessContract.pr_failure_status\n\t\t|| prReadinessContract.prFailureStatus,\n\t\t120\n\t);\n\tconst error = cleanText(\n\t\tevidence.pullRequestError\n\t\t|| evidence.pull_request_error\n\t\t|| job.pullRequestError\n\t\t|| job.pull_request_error\n\t\t|| codex.error\n\t\t|| pushMaster.notes,\n\t\t1200\n\t);\n\tconst status = cleanText(\n\t\tevidence.prCreationStatus\n\t\t|| evidence.pr_creation_status\n\t\t|| evidence.status\n\t\t|| codex.status\n\t\t|| pullRequestStatus\n\t\t|| prFailureStatus\n\t\t|| (pullRequestUrl ? 'created' : ''),\n\t\t120\n\t);\n\tif (!pullRequestUrl && !pullRequestStatus && !prFailureStatus && !error && !status) {\n\t\treturn {};\n\t}\n\treturn {\n\t\tsource: 'support_pr_creation_result',\n\t\tstatus,\n\t\tpull_request_url: pullRequestUrl,\n\t\tpull_request_status: pullRequestStatus,\n\t\tpr_failure_status: prFailureStatus,\n\t\terror,\n\t\tjob_id: cleanText(job._id || job.id || job.jobId || prReadinessContract.job_id || prReadinessContract.jobId || codex.job_id || codex.jobId, 180),\n\t\tmethod: cleanText(prReadinessContract.method || evidence.method || 'createSupportTicketCodexPullRequestManual', 180),\n\t\tpr_readiness_contract_id: cleanText(prReadinessContract.contract_id || prReadinessContract.contractId, 180),\n\t\trelease_push_master_status: cleanText(pushMaster.status, 120),\n\t\trelease_push_master_notes: cleanText(pushMaster.notes, 1000),\n\t\tmodified_files: cleanStringList(\n\t\t\tevidence.modifiedFiles\n\t\t\t|| evidence.modified_files\n\t\t\t|| job.modifiedFiles\n\t\t\t|| job.modified_files\n\t\t\t|| codex.modified_files\n\t\t\t|| codex.modifiedFiles\n\t\t\t|| prReadinessContract.modified_files\n\t\t\t|| prReadinessContract.modifiedFiles,\n\t\t\t120,\n\t\t\t500\n\t\t),\n\t\tbusiness_proof_ready: prReadinessContract.business_proof_ready === true || prReadinessContract.businessProofReady === true,\n\t\tdiagnosis_valid: prReadinessContract.diagnosis_valid === true || prReadinessContract.diagnosisValid === true,\n\t\tmerge_blocked_until_human_approval: prReadinessContract.merge_blocked_until_human_approval === true || prReadinessContract.mergeBlockedUntilHumanApproval === true,\n\t\tcustomer_reply_blocked_until_release_gate: prReadinessContract.customer_reply_blocked_until_release_gate === true || prReadinessContract.customerReplyBlockedUntilReleaseGate === true,\n\t\trelease_blocked_until_pr_review: prReadinessContract.release_blocked_until_pr_review === true || prReadinessContract.releaseBlockedUntilPrReview === true\n\t};\n}\n\nfunction supportPrCreationResultGate(result: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!result || !Object.keys(result).length) {\n\t\treturn undefined;\n\t}\n\tconst statusText = cleanText(result.status, 120).toLowerCase();\n\tconst pullRequestStatus = cleanText(result.pull_request_status || result.pullRequestStatus, 120).toLowerCase();\n\tconst prFailureStatus = cleanText(result.pr_failure_status || result.prFailureStatus, 120).toLowerCase();\n\tconst pullRequestUrl = cleanText(result.pull_request_url || result.pullRequestUrl, 500);\n\tconst error = cleanText(result.error || result.message || result.reason, 1200);\n\tconst blocked = /blocked|manual|pending_manual|dependency|release_safety/.test(statusText)\n\t\t|| /blocked|manual|pending_manual|dependency|release_safety/.test(pullRequestStatus)\n\t\t|| !!prFailureStatus;\n\tconst failed = /fail|failed|error/.test(statusText)\n\t\t|| /fail|failed|error/.test(pullRequestStatus)\n\t\t|| /fail|failed|error/.test(prFailureStatus);\n\tconst created = !!pullRequestUrl && !blocked && !failed;\n\tconst status: AIRunGateResult['status'] = created\n\t\t? 'pass'\n\t\t: failed\n\t\t\t? 'fail'\n\t\t\t: blocked\n\t\t\t\t? 'blocked'\n\t\t\t\t: 'warn';\n\tconst reason = created\n\t\t? `Support PR was created: ${pullRequestUrl}`\n\t\t: failed\n\t\t\t? cleanText(error || 'Support PR creation failed.', 1200)\n\t\t\t: blocked\n\t\t\t\t? cleanText(error || result.release_push_master_notes || 'Support PR creation is blocked pending manual/platform repair.', 1200)\n\t\t\t\t: 'Support PR creation has non-terminal or incomplete status.';\n\treturn {\n\t\tkey: 'support_pr_creation_result',\n\t\tlabel: 'Support PR creation result',\n\t\tstatus,\n\t\treason,\n\t\tevidenceRefs: cleanStringList([\n\t\t\tpullRequestUrl,\n\t\t\t...asArray<any>(result.modified_files || result.modifiedFiles)\n\t\t], 120, 500),\n\t\trecordedAt: isoNow(now || result.created_at || result.createdAt || result.updated_at || result.updatedAt),\n\t\tmetadata: {\n\t\t\tstatus: statusText,\n\t\t\tpullRequestUrl,\n\t\t\tpullRequestStatus,\n\t\t\tprFailureStatus,\n\t\t\terror,\n\t\t\tjobId: cleanText(result.job_id || result.jobId, 180),\n\t\t\tmethod: cleanText(result.method, 180),\n\t\t\tprReadinessContractId: cleanText(result.pr_readiness_contract_id || result.prReadinessContractId, 180),\n\t\t\treleasePushMasterStatus: cleanText(result.release_push_master_status || result.releasePushMasterStatus, 120),\n\t\t\treleasePushMasterNotes: cleanText(result.release_push_master_notes || result.releasePushMasterNotes, 1000),\n\t\t\tmodifiedFiles: cleanStringList(result.modified_files || result.modifiedFiles, 120, 500),\n\t\t\tbusinessProofReady: result.business_proof_ready === true || result.businessProofReady === true,\n\t\t\tdiagnosisValid: result.diagnosis_valid === true || result.diagnosisValid === true,\n\t\t\tmergeBlockedUntilHumanApproval: result.merge_blocked_until_human_approval === true || result.mergeBlockedUntilHumanApproval === true,\n\t\t\tcustomerReplyBlockedUntilReleaseGate: result.customer_reply_blocked_until_release_gate === true || result.customerReplyBlockedUntilReleaseGate === true,\n\t\t\treleaseBlockedUntilPrReview: result.release_blocked_until_pr_review === true || result.releaseBlockedUntilPrReview === true,\n\t\t\tnextAction: created\n\t\t\t\t? 'review_a_grade_pr_and_release_gate'\n\t\t\t\t: failed || blocked\n\t\t\t\t\t? 'repair_pr_creation_blocker'\n\t\t\t\t\t: 'check_pr_creation_status'\n\t\t}\n\t};\n}\n\nfunction supportArtifactListHasScreenshotOrTrace(paths: string[]): boolean {\n\treturn paths.some((artifact) => /\\.(?:png|jpe?g|webp|gif|mp4|webm|zip)$/i.test(artifact)\n\t\t|| /\\b(?:trace|video|screenshot|screen-capture|playwright-report|test-results)\\b/i.test(artifact));\n}\n\nfunction supportStatusIn(value: any, statuses: string[]): boolean {\n\tconst normalized = cleanText(value, 120).toLowerCase();\n\treturn !!normalized && statuses.includes(normalized);\n}\n\nfunction sameSupportEvidenceRef(left: any, right: any): boolean {\n\tconst normalizedLeft = cleanText(left, 500).toLowerCase();\n\tconst normalizedRight = cleanText(right, 500).toLowerCase();\n\treturn !!normalizedLeft && !!normalizedRight && normalizedLeft === normalizedRight;\n}\n\nfunction supportEvidenceRefMatchesCurrent(current: string, candidate: any): boolean {\n\tconst normalizedCandidate = cleanText(candidate, 500);\n\treturn !normalizedCandidate || sameSupportEvidenceRef(current, normalizedCandidate);\n}\n\nfunction supportEvidenceRefPresent(candidate: any): boolean {\n\treturn !!cleanText(candidate, 500);\n}\n\nfunction supportReleaseCustomerAcceptanceObject(\n\tticket: Record<string, any>,\n\tjob: Record<string, any>,\n\tevidence: Record<string, any>,\n\tprReadinessContract: Record<string, any>\n): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst jobAutomation = plainObject(job.automation);\n\tconst evidenceRelease = plainObject(evidence.release || evidence.releaseEvidence || evidence.release_evidence);\n\tconst release = {\n\t\t...plainObject(ticketAutomation.release),\n\t\t...plainObject(jobAutomation.release),\n\t\t...evidenceRelease\n\t};\n\tconst pushMaster = plainObject(release.push_master || release.pushMaster);\n\tconst deployProduction = plainObject(release.deploy_production || release.deployProduction || release.production);\n\tconst hotfixEvidenceState = plainObject(release.hotfix_evidence || release.hotfixEvidence);\n\tconst currentHotfix = plainObject(hotfixEvidenceState.current);\n\tconst hotfixEvidence = plainObject(\n\t\thotfixEvidenceState.normalized\n\t\t|| currentHotfix.evidence\n\t\t|| currentHotfix.normalized\n\t\t|| hotfixEvidenceState.current_evidence\n\t\t|| hotfixEvidenceState.currentEvidence\n\t);\n\tconst customerReplyPolicy = plainObject(\n\t\tticketAutomation.customer_reply_policy\n\t\t|| ticketAutomation.customerReplyPolicy\n\t\t|| job.customerReplyPolicy\n\t\t|| job.customer_reply_policy\n\t\t|| evidence.customerReplyPolicy\n\t\t|| evidence.customer_reply_policy\n\t);\n\tconst lastSendGuard = plainObject(customerReplyPolicy.last_send_guard || customerReplyPolicy.lastSendGuard);\n\tconst lastManualSend = plainObject(customerReplyPolicy.last_manual_send || customerReplyPolicy.lastManualSend);\n\tconst proofBackedSendContract = plainObject(customerReplyPolicy.last_proof_backed_send_contract || customerReplyPolicy.lastProofBackedSendContract);\n\tconst customerReplyReadiness = plainObject(\n\t\tevidence.customerReplyReadiness\n\t\t|| evidence.customer_reply_readiness\n\t\t|| customerReplyPolicy.readinessContract\n\t\t|| customerReplyPolicy.readiness_contract\n\t\t|| job.customerReplyReadiness\n\t\t|| job.customer_reply_readiness\n\t);\n\tconst pullRequestUrl = cleanText(\n\t\tprReadinessContract.pull_request_url\n\t\t|| prReadinessContract.pullRequestUrl\n\t\t|| evidence.pull_request_url\n\t\t|| evidence.pullRequestUrl\n\t\t|| job.pullRequestUrl\n\t\t|| job.pull_request_url,\n\t\t500\n\t);\n\tconst releasePullRequestUrl = cleanText(\n\t\tpushMaster.pull_request_url\n\t\t|| pushMaster.pullRequestUrl\n\t\t|| release.pull_request_url\n\t\t|| release.pullRequestUrl,\n\t\t500\n\t);\n\tconst deployPullRequestUrl = cleanText(\n\t\tdeployProduction.last_deploy_pull_request_url\n\t\t|| deployProduction.lastDeployPullRequestUrl\n\t\t|| deployProduction.pull_request_url\n\t\t|| deployProduction.pullRequestUrl,\n\t\t500\n\t);\n\tconst replyPullRequestUrl = cleanText(\n\t\tproofBackedSendContract.pull_request_url\n\t\t|| proofBackedSendContract.pullRequestUrl\n\t\t|| proofBackedSendContract.pr_url\n\t\t|| proofBackedSendContract.prUrl\n\t\t|| lastManualSend.pull_request_url\n\t\t|| lastManualSend.pullRequestUrl\n\t\t|| lastManualSend.pr_url\n\t\t|| lastManualSend.prUrl\n\t\t|| lastSendGuard.pull_request_url\n\t\t|| lastSendGuard.pullRequestUrl\n\t\t|| lastSendGuard.pr_url\n\t\t|| lastSendGuard.prUrl\n\t\t|| customerReplyReadiness.pull_request_url\n\t\t|| customerReplyReadiness.pullRequestUrl\n\t\t|| customerReplyReadiness.pr_url\n\t\t|| customerReplyReadiness.prUrl,\n\t\t500\n\t);\n\tconst prReady = prReadinessContract.ready === true || cleanText(prReadinessContract.status, 120).toLowerCase() === 'ready';\n\tconst requiresFinalAcceptance = prReady && !!pullRequestUrl;\n\tif (!requiresFinalAcceptance) {\n\t\treturn {};\n\t}\n\tconst pushMasterStatus = cleanText(pushMaster.status, 120).toLowerCase();\n\tconst deployProductionStatus = cleanText(deployProduction.status, 120).toLowerCase();\n\tconst hotfixReleaseGateStatus = cleanText(\n\t\thotfixEvidence.releaseGateStatus\n\t\t|| hotfixEvidence.release_gate_status\n\t\t|| hotfixEvidenceState.releaseGateStatus\n\t\t|| hotfixEvidenceState.release_gate_status\n\t\t|| hotfixEvidenceState.status,\n\t\t120\n\t).toLowerCase();\n\tconst pushMasterComplete = supportStatusIn(pushMasterStatus, ['completed', 'complete', 'merged', 'success', 'succeeded']);\n\tconst productionDeployComplete = supportStatusIn(deployProductionStatus, ['completed', 'complete', 'deployed', 'success', 'succeeded', 'not_required', 'skipped']);\n\tconst productionDeployNotRequired = deployProduction.deploy_not_required === true\n\t\t|| deployProduction.deployNotRequired === true\n\t\t|| deployProduction.not_required === true\n\t\t|| deployProduction.notRequired === true;\n\tconst hotfixReleaseGatePassed = supportStatusIn(hotfixReleaseGateStatus, ['pass', 'passed', 'success', 'succeeded', 'completed', 'complete']);\n\tconst releasePrMatchesCurrent = supportEvidenceRefMatchesCurrent(pullRequestUrl, releasePullRequestUrl);\n\tconst deployPrMatchesCurrent = supportEvidenceRefMatchesCurrent(pullRequestUrl, deployPullRequestUrl);\n\tconst replyPrReferencePresent = supportEvidenceRefPresent(replyPullRequestUrl);\n\tconst replyPrMatchesCurrent = replyPrReferencePresent && sameSupportEvidenceRef(pullRequestUrl, replyPullRequestUrl);\n\tconst releaseReady = (pushMasterComplete || hotfixReleaseGatePassed)\n\t\t&& (productionDeployComplete || productionDeployNotRequired || hotfixReleaseGatePassed)\n\t\t&& releasePrMatchesCurrent\n\t\t&& deployPrMatchesCurrent;\n\tconst proofBackedSendStatus = cleanText(proofBackedSendContract.status || lastManualSend.status, 120).toLowerCase();\n\tconst proofBackedSendRecorded = supportStatusIn(proofBackedSendStatus, ['sent_after_manual_approval', 'sent', 'sent_after_review', 'completed', 'complete'])\n\t\t&& (proofBackedSendContract.proof_backed === true || proofBackedSendContract.proofBacked === true || lastManualSend.proof_backed === true || lastManualSend.proofBacked === true);\n\tconst sendGuardReady = (lastSendGuard.allowed === true || lastSendGuard.manual_send_after_review_allowed === true || lastSendGuard.manualSendAfterReviewAllowed === true)\n\t\t&& supportStatusIn(lastSendGuard.status, ['ready_for_manual_send', 'ready', 'pass', 'passed']);\n\tconst readinessStatus = cleanText(customerReplyReadiness.status, 120).toLowerCase();\n\tconst replyDraftReady = readinessStatus === 'draft_ready'\n\t\t&& (customerReplyReadiness.canDraftCustomerReply === true || customerReplyReadiness.can_draft_customer_reply === true)\n\t\t&& customerReplyReadiness.canSendCustomerReply !== true\n\t\t&& customerReplyReadiness.can_send_customer_reply !== true\n\t\t&& (customerReplyReadiness.proofBacked === true || customerReplyReadiness.proof_backed === true)\n\t\t&& (customerReplyReadiness.businessProofReady === true || customerReplyReadiness.business_proof_ready === true)\n\t\t&& (customerReplyReadiness.releaseReady === true || customerReplyReadiness.release_ready === true || releaseReady)\n\t\t&& (customerReplyReadiness.diagnosisReady === true || customerReplyReadiness.diagnosis_ready === true);\n\tconst customerReplyReady = (proofBackedSendRecorded || sendGuardReady || replyDraftReady) && replyPrMatchesCurrent;\n\tconst staleEvidenceBlockers = [\n\t\treleasePrMatchesCurrent ? '' : 'Push-to-master evidence belongs to a different PR than the proof-backed support run.',\n\t\tdeployPrMatchesCurrent ? '' : 'Production deploy evidence belongs to a different PR than the proof-backed support run.',\n\t\treplyPrReferencePresent ? '' : 'Proof-backed customer reply evidence is missing the current PR reference.',\n\t\treplyPrReferencePresent && !replyPrMatchesCurrent ? 'Proof-backed customer reply evidence belongs to a different PR than the proof-backed support run.' : ''\n\t].filter(Boolean);\n\treturn {\n\t\tsource: 'support_release_customer_acceptance',\n\t\trequired: true,\n\t\tpull_request_url: pullRequestUrl,\n\t\trelease_pull_request_url: releasePullRequestUrl,\n\t\tdeploy_pull_request_url: deployPullRequestUrl,\n\t\treply_pull_request_url: replyPullRequestUrl,\n\t\tpr_ready: prReady,\n\t\tpush_master_status: pushMasterStatus,\n\t\tdeploy_production_status: deployProductionStatus,\n\t\thotfix_release_gate_status: hotfixReleaseGateStatus,\n\t\trelease_pr_matches_current: releasePrMatchesCurrent,\n\t\tdeploy_pr_matches_current: deployPrMatchesCurrent,\n\t\treply_pr_reference_present: replyPrReferencePresent,\n\t\treply_pr_matches_current: replyPrMatchesCurrent,\n\t\tstale_evidence_blockers: staleEvidenceBlockers,\n\t\tpush_master_complete: pushMasterComplete,\n\t\tproduction_deploy_complete: productionDeployComplete,\n\t\tproduction_deploy_not_required: productionDeployNotRequired,\n\t\thotfix_release_gate_passed: hotfixReleaseGatePassed,\n\t\trelease_ready: releaseReady,\n\t\tcustomer_reply_ready: customerReplyReady,\n\t\tcustomer_reply_readiness_status: readinessStatus,\n\t\tproof_backed_send_status: proofBackedSendStatus,\n\t\tproof_backed_send_recorded: proofBackedSendRecorded,\n\t\tsend_guard_ready: sendGuardReady,\n\t\treply_draft_ready: replyDraftReady,\n\t\tcustomer_reply_requires_human_approval: customerReplyReadiness.requiresHumanApproval !== false && customerReplyReadiness.requires_human_approval !== false,\n\t\tnext_action: releaseReady\n\t\t\t? (customerReplyReady ? 'no_action_required' : 'draft_or_review_proof_backed_customer_reply')\n\t\t\t: 'review_a_grade_pr_and_release_gate',\n\t\tevidence_refs: cleanStringList([\n\t\t\tpullRequestUrl,\n\t\t\tpushMaster.pull_request_url || pushMaster.pullRequestUrl,\n\t\t\tdeployProduction.last_deploy_pull_request_url || deployProduction.lastDeployPullRequestUrl,\n\t\t\t...asArray<any>(customerReplyReadiness.evidenceRefs || customerReplyReadiness.evidence_refs),\n\t\t\t...asArray<any>(proofBackedSendContract.evidence_refs || proofBackedSendContract.evidenceRefs)\n\t\t], 80, 500)\n\t};\n}\n\nfunction supportReleaseCustomerAcceptanceGate(contract: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\treturn undefined;\n\t}\n\tconst releaseReady = contract.release_ready === true || contract.releaseReady === true;\n\tconst customerReplyReady = contract.customer_reply_ready === true || contract.customerReplyReady === true;\n\tconst blockers = [\n\t\treleaseReady ? '' : 'Release/hotfix evidence is not ready after A-grade support PR proof.',\n\t\tcustomerReplyReady ? '' : 'Proof-backed customer reply is not sent or draft-ready for human review.',\n\t\t...cleanStringList(contract.stale_evidence_blockers || contract.staleEvidenceBlockers, 10, 500)\n\t].filter(Boolean);\n\tconst status: AIRunGateResult['status'] = blockers.length ? 'blocked' : 'pass';\n\treturn {\n\t\tkey: 'support_release_customer_acceptance',\n\t\tlabel: 'Support release/customer acceptance',\n\t\tstatus,\n\t\treason: status === 'pass'\n\t\t\t? 'A-grade PR proof, release/hotfix evidence, and proof-backed customer reply readiness are complete.'\n\t\t\t: blockers.join(' '),\n\t\tevidenceRefs: cleanStringList(contract.evidence_refs || contract.evidenceRefs, 80, 500),\n\t\trecordedAt: isoNow(now || contract.recorded_at || contract.recordedAt),\n\t\tmetadata: {\n\t\t\trequired: contract.required === true,\n\t\t\tpullRequestUrl: cleanText(contract.pull_request_url || contract.pullRequestUrl, 500),\n\t\t\treleasePullRequestUrl: cleanText(contract.release_pull_request_url || contract.releasePullRequestUrl, 500),\n\t\t\tdeployPullRequestUrl: cleanText(contract.deploy_pull_request_url || contract.deployPullRequestUrl, 500),\n\t\t\treplyPullRequestUrl: cleanText(contract.reply_pull_request_url || contract.replyPullRequestUrl, 500),\n\t\t\tprReady: contract.pr_ready === true || contract.prReady === true,\n\t\t\tpushMasterStatus: cleanText(contract.push_master_status || contract.pushMasterStatus, 120),\n\t\t\tdeployProductionStatus: cleanText(contract.deploy_production_status || contract.deployProductionStatus, 120),\n\t\t\thotfixReleaseGateStatus: cleanText(contract.hotfix_release_gate_status || contract.hotfixReleaseGateStatus, 120),\n\t\t\treleasePrMatchesCurrent: contract.release_pr_matches_current === true || contract.releasePrMatchesCurrent === true,\n\t\t\tdeployPrMatchesCurrent: contract.deploy_pr_matches_current === true || contract.deployPrMatchesCurrent === true,\n\t\t\treplyPrReferencePresent: contract.reply_pr_reference_present === true || contract.replyPrReferencePresent === true,\n\t\t\treplyPrMatchesCurrent: contract.reply_pr_matches_current === true || contract.replyPrMatchesCurrent === true,\n\t\t\tpushMasterComplete: contract.push_master_complete === true || contract.pushMasterComplete === true,\n\t\t\tproductionDeployComplete: contract.production_deploy_complete === true || contract.productionDeployComplete === true,\n\t\t\tproductionDeployNotRequired: contract.production_deploy_not_required === true || contract.productionDeployNotRequired === true,\n\t\t\thotfixReleaseGatePassed: contract.hotfix_release_gate_passed === true || contract.hotfixReleaseGatePassed === true,\n\t\t\treleaseReady,\n\t\t\tcustomerReplyReady,\n\t\t\tcustomerReplyReadinessStatus: cleanText(contract.customer_reply_readiness_status || contract.customerReplyReadinessStatus, 120),\n\t\t\tproofBackedSendStatus: cleanText(contract.proof_backed_send_status || contract.proofBackedSendStatus, 120),\n\t\t\tproofBackedSendRecorded: contract.proof_backed_send_recorded === true || contract.proofBackedSendRecorded === true,\n\t\t\tsendGuardReady: contract.send_guard_ready === true || contract.sendGuardReady === true,\n\t\t\treplyDraftReady: contract.reply_draft_ready === true || contract.replyDraftReady === true,\n\t\t\tcustomerReplyRequiresHumanApproval: contract.customer_reply_requires_human_approval !== false && contract.customerReplyRequiresHumanApproval !== false,\n\t\t\tnextAction: cleanText(contract.next_action || contract.nextAction, 160),\n\t\t\tblockers\n\t\t}\n\t};\n}\n\nfunction supportAutopilotCompletionContractGate(\n\tapproval: Record<string, any>,\n\tprReadinessContract: Record<string, any>,\n\tprReviewContract: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult | undefined {\n\tif (!approval || !Object.keys(approval).length) {\n\t\treturn undefined;\n\t}\n\tconst completionContract = plainObject(approval.autopilot_completion_contract || approval.autopilotCompletionContract);\n\tconst requiresCompletion = approval.after_approval_autopilot_until_a_grade === true\n\t\t|| approval.afterApprovalAutopilotUntilAGrade === true\n\t\t|| approval.autopilot_after_approval_until_a_grade === true\n\t\t|| Object.keys(completionContract).length > 0;\n\tif (!requiresCompletion) {\n\t\treturn undefined;\n\t}\n\tconst prReady = prReadinessContract.ready === true || cleanText(prReadinessContract.status, 120).toLowerCase() === 'ready';\n\tconst businessProofReady = prReadinessContract.business_proof_ready === true || prReadinessContract.businessProofReady === true;\n\tconst pullRequestUrl = cleanText(prReadinessContract.pull_request_url || prReadinessContract.pullRequestUrl, 500);\n\tconst prReviewGate = supportPrReviewContractGate(prReviewContract, now);\n\tconst prReviewReady = prReviewGate?.status === 'pass';\n\tconst businessProofArtifacts = cleanStringList(prReadinessContract.business_proof_artifacts || prReadinessContract.businessProofArtifacts, 80, 500);\n\tconst modifiedFiles = cleanStringList(prReadinessContract.modified_files || prReadinessContract.modifiedFiles, 120, 500);\n\tconst requiredCompletionEvidence = cleanStringList(\n\t\tapproval.required_completion_evidence\n\t\t|| approval.requiredCompletionEvidence\n\t\t|| completionContract.required_evidence\n\t\t|| completionContract.requiredEvidence,\n\t\t50,\n\t\t500\n\t);\n\tconst missing: string[] = [];\n\tif (businessProofReady !== true) {\n\t\tmissing.push('AIQaBusinessAssertion before/action/after business proof is not ready.');\n\t}\n\tif (approval.qa_screenshots_required === true || approval.qaScreenshotsRequired === true) {\n\t\tif (!supportArtifactListHasScreenshotOrTrace(businessProofArtifacts)) {\n\t\t\tmissing.push('QA screenshot or trace artifact is missing.');\n\t\t}\n\t}\n\tif (!modifiedFiles.length) {\n\t\tmissing.push('Changed-file or diff evidence is missing.');\n\t}\n\tif (!prReady) {\n\t\tmissing.push('PR readiness contract is not ready.');\n\t}\n\tif (prReady && !pullRequestUrl) {\n\t\tmissing.push('A-grade PR has not been created yet.');\n\t}\n\tif (prReady && pullRequestUrl && !prReviewReady) {\n\t\tmissing.push('A-grade execution/artifacts/pull_request review has not passed yet.');\n\t}\n\tconst nextAction = businessProofReady !== true\n\t\t? 'run_business_proof_qa'\n\t\t: prReady && !pullRequestUrl\n\t\t\t? 'create_pr'\n\t\t\t: prReady && pullRequestUrl && !prReviewReady\n\t\t\t\t? 'run_a_grade_pr_review'\n\t\t\t: !prReady\n\t\t\t\t? 'continue_owner_scoped_repair'\n\t\t\t\t: 'review_a_grade_pr_and_release_gate';\n\tconst status: AIRunGateResult['status'] = missing.length ? 'blocked' : 'pass';\n\treturn {\n\t\tkey: 'support_autopilot_completion_contract',\n\t\tlabel: 'Support approved-autopilot completion',\n\t\tstatus,\n\t\treason: missing.length\n\t\t\t? missing.join(' ')\n\t\t\t: 'Approved support autopilot reached A-grade PR proof; merge, release, deploy, and customer reply remain separately gated.',\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...businessProofArtifacts,\n\t\t\t...modifiedFiles,\n\t\t\tpullRequestUrl,\n\t\t\t...(prReviewGate?.evidenceRefs || []),\n\t\t\t...requiredCompletionEvidence\n\t\t], 140, 500),\n\t\trecordedAt: isoNow(now || prReadinessContract.created_at || prReadinessContract.createdAt || approval.approved_at || approval.approvedAt),\n\t\tmetadata: {\n\t\t\tmode: cleanText(completionContract.mode || 'approved_scope_to_a_grade_pr', 160),\n\t\t\tstatus: status === 'pass' ? 'complete' : 'incomplete',\n\t\t\tapproved: approval.approved === true,\n\t\t\tcontractId: cleanText(approval.contract_id || approval.contractId, 180),\n\t\t\tprReadinessContractId: cleanText(prReadinessContract.contract_id || prReadinessContract.contractId, 180),\n\t\t\tprReviewContractId: cleanText(prReviewGate?.metadata?.contractId, 180),\n\t\t\tnextAction,\n\t\t\ttargetGrade: cleanText(approval.target_grade || approval.targetGrade || prReadinessContract.target_grade || prReadinessContract.targetGrade || 'A', 20),\n\t\t\tbusinessProofReady,\n\t\t\tprReady,\n\t\t\tpullRequestUrl,\n\t\t\tpullRequestStatus: cleanText(prReadinessContract.pull_request_status || prReadinessContract.pullRequestStatus, 120),\n\t\t\tprReviewReady,\n\t\t\tprReviewStatus: cleanText(prReviewGate?.metadata?.status, 120),\n\t\t\tprReviewStrictGatePassed: prReviewGate?.metadata?.strictGatePassed === true,\n\t\t\tprReviewStrictGateReason: cleanText(prReviewGate?.metadata?.strictGateReason, 500),\n\t\t\tprReviewExecutionGrade: cleanText(prReviewGate?.metadata?.executionGrade, 20),\n\t\t\tprReviewArtifactsGrade: cleanText(prReviewGate?.metadata?.artifactsGrade, 20),\n\t\t\tprReviewPullRequestGrade: cleanText(prReviewGate?.metadata?.pullRequestGrade, 20),\n\t\t\tqaScreenshotsRequired: approval.qa_screenshots_required === true || approval.qaScreenshotsRequired === true,\n\t\t\tbeforeActionAfterBusinessProofRequired: approval.before_action_after_business_proof_required === true || approval.beforeActionAfterBusinessProofRequired === true,\n\t\t\taiqaBusinessAssertionRequired: approval.aiqa_business_assertion_required === true || approval.aiqaBusinessAssertionRequired === true,\n\t\t\thasScreenshotOrTrace: supportArtifactListHasScreenshotOrTrace(businessProofArtifacts),\n\t\t\tbusinessProofArtifacts,\n\t\t\tmodifiedFiles,\n\t\t\trequiredCompletionEvidence,\n\t\t\tmissingCompletionEvidence: missing,\n\t\t\tforbiddenActions: cleanStringList(completionContract.forbidden_actions || completionContract.forbiddenActions, 30, 500),\n\t\t\tmergeBlockedUntilHumanApproval: prReadinessContract.merge_blocked_until_human_approval === true || prReadinessContract.mergeBlockedUntilHumanApproval === true,\n\t\t\tcustomerReplyBlockedUntilReleaseGate: prReadinessContract.customer_reply_blocked_until_release_gate === true || prReadinessContract.customerReplyBlockedUntilReleaseGate === true,\n\t\t\treleaseBlockedUntilPrReview: prReadinessContract.release_blocked_until_pr_review === true || prReadinessContract.releaseBlockedUntilPrReview === true\n\t\t}\n\t};\n}\n\nfunction supportNextActionContractObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst autonomousDecision = plainObject(\n\t\tjob.supportV5AutonomousDecision\n\t\t|| job.support_v5_autonomous_decision\n\t\t|| evidence.supportV5AutonomousDecision\n\t\t|| evidence.support_v5_autonomous_decision\n\t\t|| ticket.supportV5AutonomousDecision\n\t\t|| ticket.support_v5_autonomous_decision\n\t);\n\treturn evidenceObject(\n\t\tautonomousDecision.nextActionContract,\n\t\tautonomousDecision.next_action_contract,\n\t\tjob.supportV5NextActionContract,\n\t\tjob.support_v5_next_action_contract,\n\t\tjob.nextActionContract,\n\t\tjob.next_action_contract,\n\t\tevidence.supportV5NextActionContract,\n\t\tevidence.support_v5_next_action_contract,\n\t\tevidence.nextActionContract,\n\t\tevidence.next_action_contract,\n\t\tticket.supportV5NextActionContract,\n\t\tticket.support_v5_next_action_contract,\n\t\tticket.nextActionContract,\n\t\tticket.next_action_contract,\n\t\tticketManager.nextActionContract,\n\t\tticketManager.next_action_contract\n\t);\n}\n\nfunction supportNextActionContractRequired(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): boolean {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst workflowMarkers = [\n\t\tjob.supportWorkflowMode,\n\t\tjob.workflowMode,\n\t\tjob.workflow_mode,\n\t\tjob.supportWorkflowVersion,\n\t\tjob.support_workflow_version,\n\t\tticket.supportWorkflowMode,\n\t\tticket.workflowMode,\n\t\tticket.workflow_mode\n\t].map((value) => cleanText(value, 80).toLowerCase());\n\treturn workflowMarkers.some((value) => value === 'support_v5' || value === 'v5')\n\t\t|| !!job.supportV5SupervisorState\n\t\t|| !!job.supportV5MicrotaskLedger\n\t\t|| !!job.supportV5StepHistory\n\t\t|| !!job.supportV5DiagnosisGate\n\t\t|| !!job.supportV5DiagnosisEvidencePack\n\t\t|| !!job.support_v5_supervisor_state\n\t\t|| !!job.support_v5_microtask_ledger\n\t\t|| !!job.support_v5_step_history\n\t\t|| !!job.support_v5_diagnosis_gate\n\t\t|| !!job.support_v5_diagnosis_evidence_pack\n\t\t|| !!job.supportRootCauseEntryContract\n\t\t|| !!job.support_root_cause_entry_contract\n\t\t|| !!evidence.supportV5AutonomousDecision\n\t\t|| !!evidence.support_v5_autonomous_decision\n\t\t|| !!evidence.rootCauseReadiness\n\t\t|| !!evidence.root_cause_readiness\n\t\t|| !!ticketManager.root_cause_entry_contract\n\t\t|| !!ticketManager.rootCauseEntryContract\n\t\t|| !!ticketManager.last_watchdog_decision;\n}\n\nfunction supportNextActionContractMetadata(contract: Record<string, any>): Record<string, any> {\n\tconst decisionBasis = plainObject(contract.decisionBasis || contract.decision_basis);\n\tconst costRisk = plainObject(contract.costRisk || contract.cost_risk);\n\tconst source = {\n\t\tcontractId: cleanText(contract.contractId || contract.contract_id, 200),\n\t\taction: cleanText(contract.action, 160),\n\t\tlabel: cleanText(contract.label, 300),\n\t\tprimaryCommand: cleanText(contract.primaryCommand || contract.primary_command, 240),\n\t\tlane: cleanText(contract.lane, 120),\n\t\tstepType: cleanText(contract.stepType || contract.step_type, 120),\n\t\tsafeToAutoRun: booleanFlag(contract.safeToAutoRun ?? contract.safe_to_auto_run),\n\t\trequiresHumanApproval: booleanFlag(contract.requiresHumanApproval ?? contract.requires_human_approval),\n\t\tcanRunWithoutCodexMonitor: booleanFlag(contract.canRunWithoutCodexMonitor ?? contract.can_run_without_codex_monitor),\n\t\tcodexFallbackRequired: booleanFlag(contract.codexFallbackRequired ?? contract.codex_fallback_required),\n\t\tcodexFallbackReason: cleanText(contract.codexFallbackReason || contract.codex_fallback_reason, 1000),\n\t\trootCauseFirstSatisfied: booleanFlag(contract.rootCauseFirstSatisfied ?? contract.root_cause_first_satisfied),\n\t\tpreconditions: cleanStringList(contract.preconditions, 40, 500),\n\t\texpectedStateTransition: cleanText(contract.expectedStateTransition || contract.expected_state_transition, 1000),\n\t\tsuccessEvidence: cleanStringList(contract.successEvidence || contract.success_evidence, 40, 500),\n\t\tstopConditions: cleanStringList(contract.stopConditions || contract.stop_conditions, 40, 500),\n\t\tforbiddenActions: cleanStringList(contract.forbiddenActions || contract.forbidden_actions, 40, 500),\n\t\townerFiles: cleanStringList(contract.ownerFiles || contract.owner_files || decisionBasis.ownerFiles || decisionBasis.owner_files, 40, 500),\n\t\tblockers: cleanStringList(contract.blockers, 40, 500),\n\t\tnextCommands: cleanStringList(contract.nextCommands || contract.next_commands, 40, 500),\n\t\tcostRisk: {\n\t\t\tlevel: cleanText(costRisk.level || contract.costRiskLevel || contract.cost_risk_level, 80),\n\t\t\testimatedUsd: numberValue(costRisk.estimatedUsd ?? costRisk.estimated_usd ?? contract.estimatedUsd ?? contract.estimated_usd),\n\t\t\treason: cleanText(costRisk.reason, 800)\n\t\t},\n\t\tdiagnosisValid: booleanFlag(decisionBasis.diagnosisValid ?? decisionBasis.diagnosis_valid),\n\t\townerFilesReady: booleanFlag(decisionBasis.ownerFilesReady ?? decisionBasis.owner_files_ready),\n\t\tproofPlanReady: booleanFlag(decisionBasis.proofPlanReady ?? decisionBasis.proof_plan_ready),\n\t\tproofMatrixReady: booleanFlag(decisionBasis.proofMatrixReady ?? decisionBasis.proof_matrix_ready),\n\t\tproofMatrixId: cleanText(decisionBasis.proofMatrixId || decisionBasis.proof_matrix_id, 200),\n\t\townerScopedRepairContractReady: booleanFlag(decisionBasis.ownerScopedRepairContractReady ?? decisionBasis.owner_scoped_repair_contract_ready),\n\t\townerScopedRepairContractId: cleanText(decisionBasis.ownerScopedRepairContractId || decisionBasis.owner_scoped_repair_contract_id, 200),\n\t\tbusinessProofReady: booleanFlag(decisionBasis.businessProofReady ?? decisionBasis.business_proof_ready),\n\t\tevidenceFreshnessStatus: cleanText(decisionBasis.evidenceFreshnessStatus || decisionBasis.evidence_freshness_status, 120),\n\t\tevidenceStrength: cleanText(decisionBasis.evidenceStrength || decisionBasis.evidence_strength, 120),\n\t\tfailureClass: cleanText(decisionBasis.failureClass || decisionBasis.failure_class, 120),\n\t\tblockerFingerprint: cleanText(decisionBasis.blockerFingerprint || decisionBasis.blocker_fingerprint, 200),\n\t\tevidenceHash: cleanText(decisionBasis.evidenceHash || decisionBasis.evidence_hash, 200),\n\t\tsameFailureCount: numberValue(decisionBasis.sameFailureCount ?? decisionBasis.same_failure_count),\n\t\tpreflightReady: booleanFlag(decisionBasis.preflightReady ?? decisionBasis.preflight_ready),\n\t\tpreflightStatus: cleanText(decisionBasis.preflightStatus || decisionBasis.preflight_status, 120),\n\t\tpreflightFailureClass: cleanText(decisionBasis.preflightFailureClass || decisionBasis.preflight_failure_class, 120),\n\t\tpreflightEvidenceHash: cleanText(decisionBasis.preflightEvidenceHash || decisionBasis.preflight_evidence_hash, 200),\n\t\thotfixCommitRequired: booleanFlag(decisionBasis.hotfixCommitRequired ?? decisionBasis.hotfix_commit_required ?? contract.hotfixCommitRequired ?? contract.hotfix_commit_required),\n\t\tliveHotfixBlockedUntilCommit: booleanFlag(decisionBasis.liveHotfixBlockedUntilCommit ?? decisionBasis.live_hotfix_blocked_until_commit ?? contract.liveHotfixBlockedUntilCommit ?? contract.live_hotfix_blocked_until_commit),\n\t\tevidenceProbeContractReady: booleanFlag(decisionBasis.evidenceProbeContractReady ?? decisionBasis.evidence_probe_contract_ready),\n\t\tevidenceProbeContractId: cleanText(decisionBasis.evidenceProbeContractId || decisionBasis.evidence_probe_contract_id, 200),\n\t\tautonomyMode: cleanText(decisionBasis.autonomyMode || decisionBasis.autonomy_mode, 120),\n\t\tautonomyCanAutoDispatch: booleanFlag(decisionBasis.autonomyCanAutoDispatch ?? decisionBasis.autonomy_can_auto_dispatch),\n\t\tautonomyReason: cleanText(decisionBasis.autonomyReason || decisionBasis.autonomy_reason, 1000),\n\t\tautonomyExpectedValueScore: numberValue(decisionBasis.autonomyExpectedValueScore ?? decisionBasis.autonomy_expected_value_score),\n\t\tautonomyExpectedValuePositive: booleanFlag(decisionBasis.autonomyExpectedValuePositive ?? decisionBasis.autonomy_expected_value_positive),\n\t\tautonomyProjectedSpendUsd: numberValue(decisionBasis.autonomyProjectedSpendUsd ?? decisionBasis.autonomy_projected_spend_usd)\n\t};\n\treturn source;\n}\n\nfunction supportNextActionContractGate(contract: Record<string, any>, now?: Date | string, required = false): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\tif (!required) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst blocker = 'Support V5 run is missing a validated next-action contract, so the manager cannot prove one safe primary action without external Codex monitoring.';\n\t\treturn {\n\t\t\tkey: 'support_next_action_contract',\n\t\t\tlabel: 'Support next-action contract',\n\t\t\tstatus: 'blocked',\n\t\t\treason: blocker,\n\t\t\tevidenceRefs: [],\n\t\t\trecordedAt: isoNow(now),\n\t\t\tmetadata: {\n\t\t\t\trequired: true,\n\t\t\t\tmissingContract: true,\n\t\t\t\tsafeToAutoRun: false,\n\t\t\t\tcanRunWithoutCodexMonitor: false,\n\t\t\t\tcodexFallbackRequired: true,\n\t\t\t\tcodexFallbackReason: 'missing_support_next_action_contract',\n\t\t\t\tblockers: [blocker],\n\t\t\t\tmissingSafetyFlags: ['safeToAutoRun', 'canRunWithoutCodexMonitor', 'codexFallbackRequired']\n\t\t\t}\n\t\t};\n\t}\n\tconst metadata = supportNextActionContractMetadata(contract);\n\tconst blockers = cleanStringList(metadata.blockers, 40, 500);\n\tif (metadata.safeToAutoRun === false) {\n\t\tblockers.push('Next action contract marks the action unsafe for autonomous run.');\n\t}\n\tif (metadata.canRunWithoutCodexMonitor === false) {\n\t\tblockers.push('Next action requires Codex fallback/monitoring instead of manager-only execution.');\n\t}\n\tif (metadata.codexFallbackRequired === true) {\n\t\tblockers.push(metadata.codexFallbackReason || 'Next action contract requires Codex fallback.');\n\t}\n\tif (metadata.requiresHumanApproval === true) {\n\t\tblockers.push('Next action contract requires human approval.');\n\t}\n\tif (metadata.liveHotfixBlockedUntilCommit === true) {\n\t\tblockers.push('Live hotfix is blocked until the manager records and pushes the GitHub commit proof.');\n\t}\n\tconst missingSafetyFlags = [\n\t\tmetadata.safeToAutoRun === undefined ? 'safeToAutoRun' : '',\n\t\tmetadata.canRunWithoutCodexMonitor === undefined ? 'canRunWithoutCodexMonitor' : '',\n\t\tmetadata.codexFallbackRequired === undefined ? 'codexFallbackRequired' : ''\n\t].filter(Boolean);\n\tconst status: AIRunGateResult['status'] = blockers.length\n\t\t? 'blocked'\n\t\t: missingSafetyFlags.length\n\t\t\t? 'warn'\n\t\t\t: 'pass';\n\tconst actionLabel = metadata.label || metadata.action || metadata.primaryCommand || 'support next action';\n\treturn {\n\t\tkey: 'support_next_action_contract',\n\t\tlabel: 'Support next-action contract',\n\t\tstatus,\n\t\treason: blockers.length\n\t\t\t? blockers.join(' ')\n\t\t\t: missingSafetyFlags.length\n\t\t\t\t? `Support next-action contract is present for ${actionLabel}, but missing explicit safety flags: ${missingSafetyFlags.join(', ')}.`\n\t\t\t\t: `Support next-action contract allows ${actionLabel} without Codex monitoring.`,\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...metadata.successEvidence,\n\t\t\t...metadata.preconditions,\n\t\t\t...metadata.stopConditions\n\t\t], 40, 500),\n\t\trecordedAt: isoNow(now || contract.createdAt || contract.created_at || contract.recordedAt || contract.recorded_at),\n\t\tmetadata: {\n\t\t\t...metadata,\n\t\t\tblockers,\n\t\t\tmissingSafetyFlags\n\t\t}\n\t};\n}\n\nfunction supportEvidenceProbeContractObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst autonomousDecision = plainObject(\n\t\tjob.supportV5AutonomousDecision\n\t\t|| job.support_v5_autonomous_decision\n\t\t|| evidence.supportV5AutonomousDecision\n\t\t|| evidence.support_v5_autonomous_decision\n\t\t|| ticket.supportV5AutonomousDecision\n\t\t|| ticket.support_v5_autonomous_decision\n\t);\n\treturn evidenceObject(\n\t\tautonomousDecision.evidenceProbeContract,\n\t\tautonomousDecision.evidence_probe_contract,\n\t\tjob.supportV5EvidenceProbeContract,\n\t\tjob.support_v5_evidence_probe_contract,\n\t\tjob.evidenceProbeContract,\n\t\tjob.evidence_probe_contract,\n\t\tevidence.supportV5EvidenceProbeContract,\n\t\tevidence.support_v5_evidence_probe_contract,\n\t\tevidence.evidenceProbeContract,\n\t\tevidence.evidence_probe_contract,\n\t\tticket.supportV5EvidenceProbeContract,\n\t\tticket.support_v5_evidence_probe_contract,\n\t\tticket.evidenceProbeContract,\n\t\tticket.evidence_probe_contract,\n\t\tticketManager.evidenceProbeContract,\n\t\tticketManager.evidence_probe_contract\n\t);\n}\n\nfunction supportEvidenceProbeContractMetadata(contract: Record<string, any>): Record<string, any> {\n\tconst validation = validateResolveIOSupportEvidenceProbeContract(contract);\n\tconst normalized = plainObject(validation.normalized);\n\treturn {\n\t\tcontractId: cleanText(normalized.contractId || contract.contractId || contract.contract_id, 200),\n\t\tstatus: cleanText(normalized.status || contract.status, 120),\n\t\tprobeType: cleanText(normalized.probeType || contract.probeType || contract.probe_type, 120),\n\t\tevidenceOnly: normalized.evidenceOnly === true || contract.evidenceOnly === true || contract.evidence_only === true,\n\t\tproductRepairAllowed: normalized.productRepairAllowed === true || contract.productRepairAllowed === true || contract.product_repair_allowed === true,\n\t\tcanRunWithoutCodexMonitor: normalized.canRunWithoutCodexMonitor === true || contract.canRunWithoutCodexMonitor === true || contract.can_run_without_codex_monitor === true,\n\t\tissueClass: cleanText(normalized.issueClass || contract.issueClass || contract.issue_class, 120),\n\t\tplanId: cleanText(normalized.planId || contract.planId || contract.plan_id, 200),\n\t\tactiveRoute: cleanText(normalized.activeRoute || contract.activeRoute || contract.active_route, 500),\n\t\tactionUnderTest: cleanText(normalized.actionUnderTest || contract.actionUnderTest || contract.action_under_test, 1000),\n\t\texpectedBusinessProof: cleanText(normalized.expectedBusinessProof || contract.expectedBusinessProof || contract.expected_business_proof, 1400),\n\t\tstartingFailureClass: cleanText(normalized.startingFailureClass || contract.startingFailureClass || contract.starting_failure_class, 120),\n\t\tstartingBlockerFingerprint: cleanText(normalized.startingBlockerFingerprint || contract.startingBlockerFingerprint || contract.starting_blocker_fingerprint, 200),\n\t\tstartingEvidenceHash: cleanText(normalized.startingEvidenceHash || contract.startingEvidenceHash || contract.starting_evidence_hash, 200),\n\t\tsameFailureCount: numberValue(normalized.sameFailureCount ?? contract.sameFailureCount ?? contract.same_failure_count),\n\t\tpingPongCount: numberValue(normalized.pingPongCount ?? contract.pingPongCount ?? contract.ping_pong_count),\n\t\trequiredNewSignals: cleanStringList(normalized.requiredNewSignals || contract.requiredNewSignals || contract.required_new_signals, 30, 500),\n\t\trequiredArtifacts: cleanStringList(normalized.requiredArtifacts || contract.requiredArtifacts || contract.required_artifacts, 30, 500),\n\t\tacceptableEvidence: cleanStringList(normalized.acceptableEvidence || contract.acceptableEvidence || contract.acceptable_evidence, 30, 500),\n\t\tnextCommands: cleanStringList(normalized.nextCommands || contract.nextCommands || contract.next_commands, 20, 300),\n\t\tforbiddenActions: cleanStringList(normalized.forbiddenActions || contract.forbiddenActions || contract.forbidden_actions, 20, 500),\n\t\tblockers: validation.blockers,\n\t\tvalidationValid: validation.valid,\n\t\tvalidationStatus: validation.status\n\t};\n}\n\nfunction supportEvidenceProbeContractGate(contract: Record<string, any>, now?: Date | string, required = false): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\tif (!required) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst blocker = 'Support repeated-failure recovery is missing an evidence probe contract, so the manager cannot prove bounded evidence-only recovery.';\n\t\treturn {\n\t\t\tkey: 'support_evidence_probe_contract',\n\t\t\tlabel: 'Support evidence probe contract',\n\t\t\tstatus: 'blocked',\n\t\t\treason: blocker,\n\t\t\tevidenceRefs: [],\n\t\t\trecordedAt: isoNow(now),\n\t\t\tmetadata: {\n\t\t\t\trequired: true,\n\t\t\t\tmissingContract: true,\n\t\t\t\tevidenceOnly: false,\n\t\t\t\tproductRepairAllowed: false,\n\t\t\t\tcanRunWithoutCodexMonitor: false,\n\t\t\t\tblockers: [blocker]\n\t\t\t}\n\t\t};\n\t}\n\tconst metadata = supportEvidenceProbeContractMetadata(contract);\n\tconst blockers = cleanStringList(metadata.blockers, 40, 500);\n\tif (metadata.evidenceOnly !== true) {\n\t\tblockers.push('Evidence probe contract must be evidence-only.');\n\t}\n\tif (metadata.productRepairAllowed === true) {\n\t\tblockers.push('Evidence probe contract must not allow product repair.');\n\t}\n\tif (metadata.canRunWithoutCodexMonitor !== true) {\n\t\tblockers.push('Evidence probe contract is not ready for manager-only execution.');\n\t}\n\tconst status: AIRunGateResult['status'] = blockers.length ? 'blocked' : 'pass';\n\treturn {\n\t\tkey: 'support_evidence_probe_contract',\n\t\tlabel: 'Support evidence probe contract',\n\t\tstatus,\n\t\treason: blockers.length\n\t\t\t? blockers.join(' ')\n\t\t\t: `Support evidence probe contract allows bounded ${metadata.probeType || 'evidence'} collection without product-code repair.`,\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...metadata.requiredNewSignals,\n\t\t\t...metadata.requiredArtifacts,\n\t\t\t...metadata.acceptableEvidence\n\t\t], 40, 500),\n\t\trecordedAt: isoNow(now || contract.createdAt || contract.created_at || contract.recordedAt || contract.recorded_at),\n\t\tmetadata: {\n\t\t\t...metadata,\n\t\t\tblockers\n\t\t}\n\t};\n}\n\nfunction supportManagerExecutionPacketObject(\n\tticket: Record<string, any>,\n\tjob: Record<string, any>,\n\tevidence: Record<string, any>,\n\tnextActionContract: Record<string, any>\n): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst autonomousDecision = plainObject(\n\t\tjob.supportV5AutonomousDecision\n\t\t|| job.support_v5_autonomous_decision\n\t\t|| evidence.supportV5AutonomousDecision\n\t\t|| evidence.support_v5_autonomous_decision\n\t\t|| ticket.supportV5AutonomousDecision\n\t\t|| ticket.support_v5_autonomous_decision\n\t);\n\tconst explicitPacket = evidenceObject(\n\t\tautonomousDecision.managerExecutionPacket,\n\t\tautonomousDecision.manager_execution_packet,\n\t\tjob.supportV5ManagerExecutionPacket,\n\t\tjob.support_v5_manager_execution_packet,\n\t\tjob.managerExecutionPacket,\n\t\tjob.manager_execution_packet,\n\t\tevidence.supportV5ManagerExecutionPacket,\n\t\tevidence.support_v5_manager_execution_packet,\n\t\tevidence.managerExecutionPacket,\n\t\tevidence.manager_execution_packet,\n\t\tticket.supportV5ManagerExecutionPacket,\n\t\tticket.support_v5_manager_execution_packet,\n\t\tticket.managerExecutionPacket,\n\t\tticket.manager_execution_packet,\n\t\tticketManager.managerExecutionPacket,\n\t\tticketManager.manager_execution_packet\n\t);\n\tif (Object.keys(explicitPacket).length) {\n\t\treturn explicitPacket;\n\t}\n\tif (nextActionContract && Object.keys(nextActionContract).length) {\n\t\ttry {\n\t\t\treturn buildResolveIOSupportManagerExecutionPacket(nextActionContract as any) as Record<string, any>;\n\t\t}\n\t\tcatch {\n\t\t\treturn {};\n\t\t}\n\t}\n\treturn {};\n}\n\nfunction supportManagerExecutionPacketMetadata(packet: Record<string, any>): Record<string, any> {\n\tconst validation = plainObject(packet.validation);\n\tconst validationBlockers = cleanStringList(validation.blockers, 40, 500);\n\tconst directBlockers = cleanStringList(packet.blockers, 40, 500);\n\tconst proofReset = plainObject(packet.proofResetContract || packet.proof_reset_contract);\n\treturn {\n\t\tpacketId: cleanText(packet.packetId || packet.packet_id, 200),\n\t\tstatus: cleanText(packet.status, 120),\n\t\taction: cleanText(packet.action, 160),\n\t\tlabel: cleanText(packet.label, 300),\n\t\tprimaryCommand: cleanText(packet.primaryCommand || packet.primary_command, 240),\n\t\tlane: cleanText(packet.lane, 120),\n\t\tstepType: cleanText(packet.stepType || packet.step_type, 120),\n\t\texecuteNow: booleanFlag(packet.executeNow ?? packet.execute_now),\n\t\tcanRunWithoutCodexMonitor: booleanFlag(packet.canRunWithoutCodexMonitor ?? packet.can_run_without_codex_monitor),\n\t\tcodexFallbackRequired: booleanFlag(packet.codexFallbackRequired ?? packet.codex_fallback_required),\n\t\tretryScope: cleanText(packet.retryScope || packet.retry_scope, 120),\n\t\tmaxAttemptsBeforeFreshEvidence: numberValue(packet.maxAttemptsBeforeFreshEvidence ?? packet.max_attempts_before_fresh_evidence),\n\t\tcostRisk: cleanText(packet.costRisk || packet.cost_risk, 120),\n\t\tproofRequiredBeforeContinuation: cleanStringList(packet.proofRequiredBeforeContinuation || packet.proof_required_before_continuation, 40, 500),\n\t\texpectedStateTransition: cleanText(packet.expectedStateTransition || packet.expected_state_transition, 1000),\n\t\tstopConditions: cleanStringList(packet.stopConditions || packet.stop_conditions, 40, 500),\n\t\tforbiddenActions: cleanStringList(packet.forbiddenActions || packet.forbidden_actions, 40, 500),\n\t\townerFiles: cleanStringList(packet.ownerFiles || packet.owner_files, 40, 500),\n\t\tnextCommands: cleanStringList(packet.nextCommands || packet.next_commands, 40, 500),\n\t\tproofResetContract: Object.keys(proofReset).length ? {\n\t\t\tcontractId: cleanText(proofReset.contractId || proofReset.contract_id, 200),\n\t\t\tstatus: cleanText(proofReset.status, 120),\n\t\t\taction: cleanText(proofReset.action, 160),\n\t\t\tretryScope: cleanText(proofReset.retryScope || proofReset.retry_scope, 120),\n\t\t\tmaxAttemptsBeforeFreshEvidence: numberValue(proofReset.maxAttemptsBeforeFreshEvidence ?? proofReset.max_attempts_before_fresh_evidence),\n\t\t\tstartingFailureClass: cleanText(proofReset.startingFailureClass || proofReset.starting_failure_class, 120),\n\t\t\tstartingBlockerFingerprint: cleanText(proofReset.startingBlockerFingerprint || proofReset.starting_blocker_fingerprint, 200),\n\t\t\tstartingEvidenceHash: cleanText(proofReset.startingEvidenceHash || proofReset.starting_evidence_hash, 200),\n\t\t\trequiredResetEvidence: cleanStringList(proofReset.requiredResetEvidence || proofReset.required_reset_evidence, 40, 500),\n\t\t\tproofRequiredBeforeContinuation: cleanStringList(proofReset.proofRequiredBeforeContinuation || proofReset.proof_required_before_continuation, 40, 500),\n\t\t\tstopConditions: cleanStringList(proofReset.stopConditions || proofReset.stop_conditions, 40, 500),\n\t\t\tcanRunWithoutCodexMonitor: booleanFlag(proofReset.canRunWithoutCodexMonitor ?? proofReset.can_run_without_codex_monitor),\n\t\t\tsourceNextActionContractId: cleanText(proofReset.sourceNextActionContractId || proofReset.source_next_action_contract_id, 200),\n\t\t\tcreatedAt: cleanText(proofReset.createdAt || proofReset.created_at, 120)\n\t\t} : undefined,\n\t\tblockers: Array.from(new Set([...directBlockers, ...validationBlockers])).slice(0, 40),\n\t\tvalidation: {\n\t\t\tvalid: booleanFlag(validation.valid),\n\t\t\tstatus: cleanText(validation.status, 120),\n\t\t\tblockers: validationBlockers,\n\t\t\twarnings: cleanStringList(validation.warnings, 40, 500)\n\t\t},\n\t\tcreatedAt: cleanText(packet.createdAt || packet.created_at, 120)\n\t};\n}\n\nfunction supportManagerExecutionPacketGate(\n\tpacket: Record<string, any>,\n\tnow?: Date | string,\n\trequired = false\n): AIRunGateResult | undefined {\n\tif (!packet || !Object.keys(packet).length) {\n\t\tif (!required) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst blocker = 'Support V5 run is missing a manager execution packet, so the console cannot prove the next action can execute without side Codex monitoring.';\n\t\treturn {\n\t\t\tkey: 'support_manager_execution_packet',\n\t\t\tlabel: 'Support manager execution packet',\n\t\t\tstatus: 'blocked',\n\t\t\treason: blocker,\n\t\t\tevidenceRefs: [],\n\t\t\trecordedAt: isoNow(now),\n\t\t\tmetadata: {\n\t\t\t\trequired: true,\n\t\t\t\tmissingPacket: true,\n\t\t\t\texecuteNow: false,\n\t\t\t\tcanRunWithoutCodexMonitor: false,\n\t\t\t\tcodexFallbackRequired: true,\n\t\t\t\tblockers: [blocker],\n\t\t\t\tvalidation: {\n\t\t\t\t\tvalid: false,\n\t\t\t\t\tstatus: 'blocked',\n\t\t\t\t\tblockers: [blocker],\n\t\t\t\t\twarnings: []\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n\tconst metadata = supportManagerExecutionPacketMetadata(packet);\n\tconst blockers = cleanStringList(metadata.blockers, 40, 500);\n\tif (metadata.validation.valid !== true) {\n\t\tblockers.push('Manager execution packet is missing validated next-action contract proof.');\n\t}\n\tif (metadata.codexFallbackRequired === true) {\n\t\tblockers.push('Manager execution packet still requires Codex fallback.');\n\t}\n\tif (metadata.canRunWithoutCodexMonitor === false) {\n\t\tblockers.push('Manager execution packet does not prove Codex-monitor independence.');\n\t}\n\tconst status: AIRunGateResult['status'] = blockers.length\n\t\t? 'blocked'\n\t\t: metadata.status === 'auto_ready' && metadata.executeNow === true\n\t\t\t? 'pass'\n\t\t\t: metadata.status === 'manual_required'\n\t\t\t\t? 'warn'\n\t\t\t\t: 'blocked';\n\tconst actionLabel = metadata.label || metadata.action || metadata.primaryCommand || 'support manager action';\n\treturn {\n\t\tkey: 'support_manager_execution_packet',\n\t\tlabel: 'Support manager execution packet',\n\t\tstatus,\n\t\treason: status === 'pass'\n\t\t\t? `Support manager execution packet allows ${actionLabel} without side Codex monitoring.`\n\t\t\t: status === 'warn'\n\t\t\t\t? `Support manager execution packet for ${actionLabel} requires a human decision before execution.`\n\t\t\t\t: (blockers.join(' ') || `Support manager execution packet for ${actionLabel} is not auto-ready.`),\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...metadata.proofRequiredBeforeContinuation,\n\t\t\tmetadata.expectedStateTransition,\n\t\t\t...metadata.stopConditions\n\t\t], 40, 500),\n\t\trecordedAt: isoNow(now || metadata.createdAt),\n\t\tmetadata: {\n\t\t\t...metadata,\n\t\t\tblockers\n\t\t}\n\t};\n}\n\nfunction supportDiagnosisEvidencePackObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\treturn evidenceObject(\n\t\tevidence.supportV5DiagnosisEvidencePack,\n\t\tevidence.support_v5_diagnosis_evidence_pack,\n\t\tevidence.diagnosisEvidencePack,\n\t\tevidence.diagnosis_evidence_pack,\n\t\tjob.supportV5DiagnosisEvidencePack,\n\t\tjob.support_v5_diagnosis_evidence_pack,\n\t\tjob.diagnosisEvidencePack,\n\t\tjob.diagnosis_evidence_pack,\n\t\tticket.supportV5DiagnosisEvidencePack,\n\t\tticket.support_v5_diagnosis_evidence_pack,\n\t\tticket.diagnosisEvidencePack,\n\t\tticket.diagnosis_evidence_pack,\n\t\tticketManager.diagnosisEvidencePack,\n\t\tticketManager.diagnosis_evidence_pack\n\t);\n}\n\nfunction supportIssueClassProbePlanObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst autonomousDecision = plainObject(\n\t\tjob.supportV5AutonomousDecision\n\t\t|| job.support_v5_autonomous_decision\n\t\t|| evidence.supportV5AutonomousDecision\n\t\t|| evidence.support_v5_autonomous_decision\n\t\t|| ticket.supportV5AutonomousDecision\n\t\t|| ticket.support_v5_autonomous_decision\n\t);\n\treturn evidenceObject(\n\t\tautonomousDecision.issueClassProbePlan,\n\t\tautonomousDecision.issue_class_probe_plan,\n\t\tjob.supportV5IssueClassProbePlan,\n\t\tjob.support_v5_issue_class_probe_plan,\n\t\tjob.issueClassProbePlan,\n\t\tjob.issue_class_probe_plan,\n\t\tevidence.supportV5IssueClassProbePlan,\n\t\tevidence.support_v5_issue_class_probe_plan,\n\t\tevidence.issueClassProbePlan,\n\t\tevidence.issue_class_probe_plan,\n\t\tticket.supportV5IssueClassProbePlan,\n\t\tticket.support_v5_issue_class_probe_plan,\n\t\tticket.issueClassProbePlan,\n\t\tticket.issue_class_probe_plan,\n\t\tticketManager.issueClassProbePlan,\n\t\tticketManager.issue_class_probe_plan\n\t);\n}\n\nfunction supportSimilarFixHintsObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\treturn evidenceObject(\n\t\tjob.supportRootCauseSimilarFixHints,\n\t\tjob.support_root_cause_similar_fix_hints,\n\t\tjob.similarFixHints,\n\t\tjob.similar_fix_hints,\n\t\tevidence.supportRootCauseSimilarFixHints,\n\t\tevidence.support_root_cause_similar_fix_hints,\n\t\tevidence.similarFixHints,\n\t\tevidence.similar_fix_hints,\n\t\tticket.supportRootCauseSimilarFixHints,\n\t\tticket.support_root_cause_similar_fix_hints,\n\t\tticketManager.rootCauseSimilarFixHints,\n\t\tticketManager.root_cause_similar_fix_hints\n\t);\n}\n\nfunction supportSimilarFixHintContractObject(ticket: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManager = plainObject(ticketAutomation.manager || ticket.manager);\n\treturn evidenceObject(\n\t\tjob.supportRootCauseSimilarFixHintContract,\n\t\tjob.support_root_cause_similar_fix_hint_contract,\n\t\tjob.similarFixHintContract,\n\t\tjob.similar_fix_hint_contract,\n\t\tevidence.supportRootCauseSimilarFixHintContract,\n\t\tevidence.support_root_cause_similar_fix_hint_contract,\n\t\tevidence.similarFixHintContract,\n\t\tevidence.similar_fix_hint_contract,\n\t\tticket.supportRootCauseSimilarFixHintContract,\n\t\tticket.support_root_cause_similar_fix_hint_contract,\n\t\tticketManager.rootCauseSimilarFixHintContract,\n\t\tticketManager.root_cause_similar_fix_hint_contract\n\t);\n}\n\nfunction supportSimilarFixHintContractGate(contract: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\treturn undefined;\n\t}\n\tconst usagePolicy = plainObject(contract.usage_policy || contract.usagePolicy);\n\tconst rankedHints = asArray<any>(contract.ranked_hints || contract.rankedHints);\n\tconst ownerFileHints = cleanStringList(contract.owner_file_hints || contract.ownerFileHints, 30, 500);\n\tconst similarHintsAreNotProof = usagePolicy.similar_hints_are_not_proof === true || usagePolicy.similarHintsAreNotProof === true;\n\tconst ownerFilesRequireCurrentEvidence = usagePolicy.owner_files_require_current_ticket_evidence === true\n\t\t|| usagePolicy.ownerFilesRequireCurrentTicketEvidence === true;\n\tconst acceptedHypothesisCurrent = usagePolicy.accepted_hypothesis_must_be_current_ticket_specific === true\n\t\t|| usagePolicy.acceptedHypothesisMustBeCurrentTicketSpecific === true;\n\tconst requiredModelActions = cleanStringList(contract.required_model_actions || contract.requiredModelActions, 20, 500);\n\tconst blockers = [\n\t\t!similarHintsAreNotProof ? 'Similar-fix hints must be advisory only and cannot be proof.' : '',\n\t\t!ownerFilesRequireCurrentEvidence ? 'Owner-file hints from similar fixes require current-ticket evidence before use.' : '',\n\t\t!acceptedHypothesisCurrent ? 'Accepted hypothesis must remain current-ticket specific.' : '',\n\t\t!requiredModelActions.length ? 'Similar-fix hint contract must include required model actions.' : ''\n\t].filter(Boolean);\n\tconst status: AIRunGateResult['status'] = blockers.length ? 'warn' : 'pass';\n\treturn {\n\t\tkey: 'support_similar_fix_hint_contract',\n\t\tlabel: 'Support similar-fix hint contract',\n\t\tstatus,\n\t\treason: blockers.join('; ') || 'Similar accepted fixes are available as advisory hints only; fresh SupportDiagnosisGate evidence is still required.',\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...ownerFileHints,\n\t\t\t...rankedHints.flatMap((hint) => cleanStringList((hint || {}).owner_files || (hint || {}).ownerFiles, 8, 500)),\n\t\t\t...rankedHints.map((hint) => (hint || {}).commit_sha || (hint || {}).commitSha)\n\t\t], 60, 500),\n\t\trecordedAt: isoNow(now || contract.created_at || contract.createdAt),\n\t\tmetadata: {\n\t\t\tcontractId: cleanText(contract.contract_id || contract.contractId, 200),\n\t\t\tversion: cleanText(contract.version, 120),\n\t\t\tstatus: cleanText(contract.status, 120),\n\t\t\tsource: cleanText(contract.source, 160),\n\t\t\tcandidateCount: numberValue(contract.candidate_count ?? contract.candidateCount),\n\t\t\thintCount: numberValue(contract.hint_count ?? contract.hintCount ?? rankedHints.length),\n\t\t\trankedHintCount: rankedHints.length,\n\t\t\townerFileHints,\n\t\t\tsimilarHintsAreNotProof,\n\t\t\townerFilesRequireCurrentEvidence,\n\t\t\tacceptedHypothesisCurrent,\n\t\t\tmustRecordRejectedHintsOrAlternatives: usagePolicy.must_record_rejected_hints_or_alternatives === true\n\t\t\t\t|| usagePolicy.mustRecordRejectedHintsOrAlternatives === true,\n\t\t\tadvisoryOnly: similarHintsAreNotProof && ownerFilesRequireCurrentEvidence && acceptedHypothesisCurrent,\n\t\t\trequiredModelActions,\n\t\t\tblockers\n\t\t}\n\t};\n}\n\nfunction supportDiagnosisEvidencePackGate(pack: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!pack || !Object.keys(pack).length) {\n\t\treturn undefined;\n\t}\n\tconst statusText = cleanText(pack.status, 120);\n\tconst diagnosisValid = pack.diagnosisValid === true || pack.diagnosis_valid === true;\n\tconst validationBlockers = cleanStringList(pack.validationBlockers || pack.validation_blockers, 40, 500);\n\tconst similarSelection = plainObject(pack.similarCaseSelection || pack.similar_case_selection);\n\tconst rankedHints = asArray<any>(similarSelection.ranked);\n\tconst gateStatus: AIRunGateResult['status'] = diagnosisValid || statusText === 'diagnosis_ready'\n\t\t? 'pass'\n\t\t: statusText === 'blocked'\n\t\t\t? 'blocked'\n\t\t\t: 'warn';\n\treturn {\n\t\tkey: 'support_diagnosis_evidence_pack',\n\t\tlabel: 'Support diagnosis evidence pack',\n\t\tstatus: gateStatus,\n\t\treason: gateStatus === 'pass'\n\t\t\t? 'Support diagnosis evidence pack has a valid root-cause diagnosis and advisory similar-fix context.'\n\t\t\t: validationBlockers.join('; ') || 'Support diagnosis evidence pack requires read-only root-cause evidence before repair.',\n\t\tevidenceRefs: cleanStringList(pack.requiredEvidence || pack.required_evidence, 30, 500),\n\t\trecordedAt: isoNow(now || pack.generatedAt || pack.generated_at),\n\t\tmetadata: {\n\t\t\tpackId: cleanText(pack.packId || pack.pack_id, 180),\n\t\t\tstatus: statusText,\n\t\t\treadOnly: pack.readOnly !== false && pack.read_only !== false,\n\t\t\tsourceEditsAllowed: pack.sourceEditsAllowed === true || pack.source_edits_allowed === true,\n\t\t\trootCauseFirstRequired: pack.rootCauseFirstRequired !== false && pack.root_cause_first_required !== false,\n\t\t\trequiredOutputKey: cleanText(pack.requiredOutputKey || pack.required_output_key, 120),\n\t\t\trequiredFields: cleanStringList(pack.requiredFields || pack.required_fields, 20, 160),\n\t\t\tforbiddenActions: cleanStringList(pack.forbiddenActions || pack.forbidden_actions, 20, 500),\n\t\t\tdiagnosisValid,\n\t\t\tdiagnosisStatus: cleanText(pack.diagnosisStatus || pack.diagnosis_status, 120),\n\t\t\tvalidationBlockers,\n\t\t\tissueClassHint: cleanText(pack.issueClassHint || pack.issue_class_hint, 120),\n\t\t\townerFileHints: cleanStringList(pack.ownerFileHints || pack.owner_file_hints, 20, 500),\n\t\t\tsimilarHintCount: rankedHints.length,\n\t\t\tsimilarHintsAdvisoryOnly: true,\n\t\t\tissueClassProbeCount: asArray(pack.issueClassProbeCatalog || pack.issue_class_probe_catalog).length\n\t\t}\n\t};\n}\n\nfunction supportDiagnosisProofMatrixGate(matrixSource: Record<string, any>, now?: Date | string, required = false): AIRunGateResult | undefined {\n\tif (!matrixSource || !Object.keys(matrixSource).length) {\n\t\tif (!required) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn {\n\t\t\tkey: 'support_diagnosis_proof_matrix',\n\t\t\tlabel: 'Support diagnosis proof matrix',\n\t\t\tstatus: 'blocked',\n\t\t\treason: 'Support diagnosis proof matrix is required before owner-scoped product repair.',\n\t\t\tevidenceRefs: [],\n\t\t\trecordedAt: isoNow(now),\n\t\t\tmetadata: {\n\t\t\t\tstatus: 'missing',\n\t\t\t\tblockers: ['Support diagnosis proof matrix is missing.']\n\t\t\t}\n\t\t};\n\t}\n\tconst statusText = cleanText(matrixSource.status, 120);\n\tconst blockers = cleanStringList(matrixSource.blockers, 40, 500);\n\tconst ownerFileCoverage = asArray<Record<string, any>>(matrixSource.ownerFileCoverage || matrixSource.owner_file_coverage);\n\tconst uncoveredOwnerFiles = ownerFileCoverage\n\t\t.filter((entry) => entry.covered !== true)\n\t\t.map((entry) => cleanText(entry.ownerFile || entry.owner_file, 500))\n\t\t.filter(Boolean);\n\tconst reproductionEvidence = asArray<Record<string, any>>(matrixSource.reproductionEvidence || matrixSource.reproduction_evidence);\n\tconst rootCauseEvidence = asArray<Record<string, any>>(matrixSource.rootCauseEvidence || matrixSource.root_cause_evidence);\n\tconst businessProofArtifacts = cleanStringList(matrixSource.businessProofArtifacts || matrixSource.business_proof_artifacts, 30, 500);\n\tconst gateStatus: AIRunGateResult['status'] = statusText === 'ready' && !blockers.length && !uncoveredOwnerFiles.length\n\t\t? 'pass'\n\t\t: required\n\t\t\t? 'blocked'\n\t\t\t: 'warn';\n\treturn {\n\t\tkey: 'support_diagnosis_proof_matrix',\n\t\tlabel: 'Support diagnosis proof matrix',\n\t\tstatus: gateStatus,\n\t\treason: gateStatus === 'pass'\n\t\t\t? 'Support diagnosis proof matrix ties reproduction, root-cause evidence, owner files, and business proof artifacts together.'\n\t\t\t: (blockers.join('; ') || (uncoveredOwnerFiles.length ? `Owner files lack proof matrix coverage: ${uncoveredOwnerFiles.join(', ')}` : 'Support diagnosis proof matrix is incomplete.')),\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...reproductionEvidence.map((entry) => entry.artifactPath || entry.artifact_path || entry.evidenceId || entry.evidence_id),\n\t\t\t...rootCauseEvidence.map((entry) => entry.artifactPath || entry.artifact_path || entry.evidenceId || entry.evidence_id),\n\t\t\t...businessProofArtifacts\n\t\t], 60, 500),\n\t\trecordedAt: isoNow(now || matrixSource.generatedAt || matrixSource.generated_at),\n\t\tmetadata: {\n\t\t\tmatrixId: cleanText(matrixSource.matrixId || matrixSource.matrix_id, 180),\n\t\t\tstatus: statusText,\n\t\t\tissueClass: cleanText(matrixSource.issueClass || matrixSource.issue_class, 120),\n\t\t\townerFiles: cleanStringList(matrixSource.ownerFiles || matrixSource.owner_files, 40, 500),\n\t\t\townerFileCoverage: ownerFileCoverage.map((entry) => ({\n\t\t\t\townerFile: cleanText(entry.ownerFile || entry.owner_file, 500),\n\t\t\t\tcovered: entry.covered === true,\n\t\t\t\tevidenceIds: cleanStringList(entry.evidenceIds || entry.evidence_ids, 20, 180),\n\t\t\t\tfailingPathFields: cleanStringList(entry.failingPathFields || entry.failing_path_fields, 10, 120)\n\t\t\t})),\n\t\t\tuncoveredOwnerFiles,\n\t\t\treproductionEvidenceCount: reproductionEvidence.length,\n\t\t\trootCauseEvidenceCount: rootCauseEvidence.length,\n\t\t\tbusinessProofArtifacts,\n\t\t\tblockers\n\t\t}\n\t};\n}\n\nfunction supportOwnerScopedRepairContractGate(contract: Record<string, any>, now?: Date | string, required = false): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\tif (!required) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn {\n\t\t\tkey: 'support_owner_scoped_repair_contract',\n\t\t\tlabel: 'Support owner-scoped repair contract',\n\t\t\tstatus: 'blocked',\n\t\t\treason: 'Owner-scoped repair contract is required before product-code repair.',\n\t\t\tevidenceRefs: [],\n\t\t\trecordedAt: isoNow(now),\n\t\t\tmetadata: {\n\t\t\t\tstatus: 'missing',\n\t\t\t\tblockers: ['Support owner-scoped repair contract is missing.']\n\t\t\t}\n\t\t};\n\t}\n\tconst statusText = cleanText(contract.status, 120);\n\tconst blockers = cleanStringList(contract.blockers, 40, 500);\n\tconst patchUnits = asArray<Record<string, any>>(contract.patchUnits || contract.patch_units);\n\tconst outsideOwnerFiles = cleanStringList(contract.outsideOwnerFiles || contract.outside_owner_files, 40, 500);\n\tconst gateStatus: AIRunGateResult['status'] = statusText === 'ready' && !blockers.length && !outsideOwnerFiles.length && contract.sourceEditsAllowed !== false\n\t\t? 'pass'\n\t\t: required\n\t\t\t? 'blocked'\n\t\t\t: 'warn';\n\tconst requiredEvidenceAfterRepair = cleanStringList(contract.requiredEvidenceAfterRepair || contract.required_evidence_after_repair, 30, 500);\n\treturn {\n\t\tkey: 'support_owner_scoped_repair_contract',\n\t\tlabel: 'Support owner-scoped repair contract',\n\t\tstatus: gateStatus,\n\t\treason: gateStatus === 'pass'\n\t\t\t? 'Owner-scoped repair contract allows product-code edits only inside diagnosed owner files and requires compile plus business proof handoff.'\n\t\t\t: (blockers.join('; ') || (outsideOwnerFiles.length ? `Repair contract has out-of-scope files: ${outsideOwnerFiles.join(', ')}` : 'Owner-scoped repair contract is not ready.')),\n\t\tevidenceRefs: cleanStringList([\n\t\t\tcontract.proofMatrixId || contract.proof_matrix_id,\n\t\t\t...requiredEvidenceAfterRepair\n\t\t], 40, 500),\n\t\trecordedAt: isoNow(now || contract.createdAt || contract.created_at),\n\t\tmetadata: {\n\t\t\tcontractId: cleanText(contract.contractId || contract.contract_id, 180),\n\t\t\tstatus: statusText,\n\t\t\tsourceEditsAllowed: contract.sourceEditsAllowed === true || contract.source_edits_allowed === true,\n\t\t\tcanRunWithoutCodexMonitor: contract.canRunWithoutCodexMonitor === true || contract.can_run_without_codex_monitor === true,\n\t\t\tissueClass: cleanText(contract.issueClass || contract.issue_class, 120),\n\t\t\townerFiles: cleanStringList(contract.ownerFiles || contract.owner_files, 40, 500),\n\t\t\tproofMatrixId: cleanText(contract.proofMatrixId || contract.proof_matrix_id, 180),\n\t\t\tchangedFiles: cleanStringList(contract.changedFiles || contract.changed_files, 60, 500),\n\t\t\toutsideOwnerFiles,\n\t\t\tpatchUnitCount: patchUnits.length,\n\t\t\tpatchUnits: patchUnits.map((unit) => ({\n\t\t\t\townerFile: cleanText(unit.ownerFile || unit.owner_file, 500),\n\t\t\t\tcoverageEvidenceIds: cleanStringList(unit.coverageEvidenceIds || unit.coverage_evidence_ids, 20, 180),\n\t\t\t\tfailingPathFields: cleanStringList(unit.failingPathFields || unit.failing_path_fields, 10, 120)\n\t\t\t})),\n\t\t\trequiredEvidenceBeforeRepair: cleanStringList(contract.requiredEvidenceBeforeRepair || contract.required_evidence_before_repair, 30, 500),\n\t\t\trequiredEvidenceAfterRepair,\n\t\t\tnextCommands: cleanStringList(contract.nextCommands || contract.next_commands, 20, 240),\n\t\t\tforbiddenActions: cleanStringList(contract.forbiddenActions || contract.forbidden_actions, 20, 500),\n\t\t\tblockers\n\t\t}\n\t};\n}\n\nfunction supportIssueClassProbePlanGate(plan: Record<string, any>, diagnosisGate: Record<string, any>, now?: Date | string, required = false): AIRunGateResult | undefined {\n\tif (!plan || !Object.keys(plan).length) {\n\t\tif (!required) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst blocker = 'Support V5 run is missing IssueClassProbePlan, so business proof cannot be accepted from route-only or generic QA.';\n\t\treturn {\n\t\t\tkey: 'support_issue_class_probe_plan',\n\t\t\tlabel: 'Support issue-class probe plan',\n\t\t\tstatus: 'blocked',\n\t\t\treason: blocker,\n\t\t\tevidenceRefs: [],\n\t\t\trecordedAt: isoNow(now),\n\t\t\tmetadata: {\n\t\t\t\trequired: true,\n\t\t\t\tmissingPlan: true,\n\t\t\t\tissueClassProbePlanReady: false,\n\t\t\t\tacceptanceGate: 'aiqa_business_assertion',\n\t\t\t\tblockers: [blocker],\n\t\t\t\tfalsePassBlockers: ['route load only', 'generic clickthrough only', 'scorecard-only pass']\n\t\t\t}\n\t\t};\n\t}\n\tconst validation = validateResolveIOSupportIssueClassProbePlan(plan, diagnosisGate, now);\n\tconst normalized = plainObject(validation.normalized || plan);\n\tconst activeProbe = plainObject(validation.activeProbe || normalized.activeProbe || normalized.active_probe);\n\tconst blockers = cleanStringList(validation.blockers || normalized.blockers, 40, 500);\n\tconst requiredArtifacts = cleanStringList(\n\t\tnormalized.requiredArtifacts\n\t\t|| normalized.required_artifacts\n\t\t|| activeProbe.required_artifacts,\n\t\t30,\n\t\t500\n\t);\n\tconst falsePassBlockers = cleanStringList(\n\t\tnormalized.falsePassBlockers\n\t\t|| normalized.false_pass_blockers\n\t\t|| activeProbe.false_pass_blockers,\n\t\t30,\n\t\t500\n\t);\n\tconst status: AIRunGateResult['status'] = validation.valid ? 'pass' : 'blocked';\n\tconst issueClass = cleanText(normalized.issue_class || normalized.issueClass || activeProbe.issue_class, 120);\n\tconst route = cleanText(activeProbe.route, 500);\n\tconst action = cleanText(activeProbe.action, 1000);\n\treturn {\n\t\tkey: 'support_issue_class_probe_plan',\n\t\tlabel: 'Support issue-class probe plan',\n\t\tstatus,\n\t\treason: validation.valid\n\t\t\t? `Support issue-class probe plan is ready for ${issueClass || 'the diagnosed issue'} and requires AIQaBusinessAssertion proof.`\n\t\t\t: blockers.join('; ') || 'Support issue-class probe plan is incomplete.',\n\t\tevidenceRefs: requiredArtifacts,\n\t\trecordedAt: isoNow(now || normalized.generatedAt || normalized.generated_at),\n\t\tmetadata: {\n\t\t\tplanId: cleanText(normalized.planId || normalized.plan_id, 180),\n\t\t\tstatus: cleanText(validation.status || normalized.status, 120),\n\t\t\tissueClass,\n\t\t\tdiagnosisValid: normalized.diagnosisValid === true || normalized.diagnosis_valid === true,\n\t\t\tissueClassProbePlanReady: validation.valid === true && validation.status === 'ready',\n\t\t\tactiveRoute: route,\n\t\t\taction,\n\t\t\texpectedEvidence: cleanText(activeProbe.expected_evidence || activeProbe.expectedEvidence, 1200),\n\t\t\texpectedBusinessProof: cleanText(activeProbe.expected_business_proof || activeProbe.expectedBusinessProof, 1200),\n\t\t\tacceptanceGate: cleanText(normalized.acceptanceGate || normalized.acceptance_gate || activeProbe.acceptance_gate, 120),\n\t\t\trequiredArtifacts,\n\t\t\tfalsePassBlockers,\n\t\t\tblockers,\n\t\t\tactiveProbe: {\n\t\t\t\tissueClass,\n\t\t\t\troute,\n\t\t\t\taction,\n\t\t\t\tprobeType: cleanText(activeProbe.probe_type || activeProbe.probeType, 120),\n\t\t\t\tfailureClass: cleanText(activeProbe.failure_class || activeProbe.failureClass, 120),\n\t\t\t\tblocksAcceptanceWithoutBusinessAssertion: activeProbe.blocks_acceptance_without_business_assertion === true\n\t\t\t\t\t|| activeProbe.blocksAcceptanceWithoutBusinessAssertion === true\n\t\t\t}\n\t\t}\n\t};\n}\n\nfunction firstNonEmptyText(values: any[], max = 1000): string | undefined {\n\tfor (const value of values) {\n\t\tconst normalized = idText(value, max);\n\t\tif (normalized) {\n\t\t\treturn normalized;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction booleanFlag(value: any): boolean | undefined {\n\tif (value === true || value === false) {\n\t\treturn value;\n\t}\n\tif (typeof value === 'string') {\n\t\tconst normalized = value.trim().toLowerCase();\n\t\tif (/^(true|yes|1|passed|pass|ready|safe)$/.test(normalized)) {\n\t\t\treturn true;\n\t\t}\n\t\tif (/^(false|no|0|failed|fail|blocked|unsafe)$/.test(normalized)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction numberValue(value: any): number | undefined {\n\tconst parsed = Number(value);\n\treturn Number.isFinite(parsed) ? parsed : undefined;\n}\n\nfunction buildAICoderQaEvidence(input: AICoderAIRunAdapterInput): Record<string, any> {\n\tconst app = input.app || {};\n\tconst job = input.job || {};\n\tconst workflowMemory = plainObject(\n\t\tjob.aiCoderV6WorkflowMemory\n\t\t|| job.ai_coder_v6_workflow_memory\n\t\t|| app.aiCoderV6WorkflowMemory\n\t\t|| app.ai_coder_v6_workflow_memory\n\t);\n\tconst evidence = mergeEvidenceRecords(\n\t\tjob.qaEvidence,\n\t\tjob.qa_evidence,\n\t\tapp.qaEvidence,\n\t\tapp.qa_evidence,\n\t\tinput.qaEvidence\n\t);\n\tevidence.workflowQaRows = [\n\t\t...asArray(workflowMemory.workflowQaRows),\n\t\t...asArray(workflowMemory.workflow_qa_rows),\n\t\t...asArray(job.workflowQaRows),\n\t\t...asArray(job.workflow_qa_rows),\n\t\t...asArray(app.workflowQaRows),\n\t\t...asArray(app.workflow_qa_rows),\n\t\t...asArray(evidence.workflowQaRows),\n\t\t...asArray(evidence.workflow_qa_rows)\n\t];\n\tevidence.businessAssertions = [\n\t\t...asArray(job.aiQaBusinessAssertions),\n\t\t...asArray(job.ai_qa_business_assertions),\n\t\t...asArray(job.businessAssertions),\n\t\t...asArray(job.business_assertions),\n\t\t...asArray(app.businessAssertions),\n\t\t...asArray(app.business_assertions),\n\t\t...asArray(evidence.businessAssertions),\n\t\t...asArray(evidence.business_assertions)\n\t];\n\tevidence.routeProbes = [\n\t\t...asArray(job.workflowProbes),\n\t\t...asArray(job.workflow_probes),\n\t\t...asArray(evidence.routeProbes),\n\t\t...asArray(evidence.route_probes)\n\t];\n\tevidence.artifactPaths = [\n\t\t...asArray(workflowMemory.businessProofArtifacts),\n\t\t...asArray(workflowMemory.business_proof_artifacts),\n\t\t...asArray(job.artifactPaths),\n\t\t...asArray(job.artifact_paths),\n\t\t...asArray(app.artifactPaths),\n\t\t...asArray(app.artifact_paths),\n\t\t...asArray(evidence.artifactPaths),\n\t\t...asArray(evidence.artifact_paths)\n\t];\n\tevidence.journeyContract = evidence.journeyContract\n\t\t|| evidence.journey_contract\n\t\t|| job.journeyContract\n\t\t|| job.journey_contract\n\t\t|| app.journeyContract\n\t\t|| app.journey_contract\n\t\t|| workflowMemory.journeyContract\n\t\t|| workflowMemory.journey_contract;\n\tevidence.journeyContractMarkdown = evidence.journeyContractMarkdown\n\t\t|| evidence.journey_contract_markdown\n\t\t|| job.journeyContractMarkdown\n\t\t|| job.journey_contract_markdown\n\t\t|| app.journeyContractMarkdown\n\t\t|| app.journey_contract_markdown;\n\tevidence.journeyContractPath = firstNonEmptyText([\n\t\tevidence.journeyContractPath,\n\t\tevidence.journey_contract_path,\n\t\tworkflowMemory.journeyContractPath,\n\t\tworkflowMemory.journey_contract_path,\n\t\tjob.journeyContractPath,\n\t\tjob.journey_contract_path,\n\t\tapp.journeyContractPath,\n\t\tapp.journey_contract_path\n\t], 500) || 'docs/APP_JOURNEY_CONTRACT.md';\n\tevidence.deployStatus = firstNonEmptyText([\n\t\tevidence.deployStatus,\n\t\tevidence.deploy_status,\n\t\tjob.deployStatus,\n\t\tjob.deploy_status,\n\t\tjob.testDeployStatus,\n\t\tjob.test_deploy_status,\n\t\tapp.deployStatus,\n\t\tapp.deploy_status\n\t], 160);\n\tevidence.publishStatus = firstNonEmptyText([\n\t\tevidence.publishStatus,\n\t\tevidence.publish_status,\n\t\tevidence.pullRequestStatus,\n\t\tevidence.pull_request_status,\n\t\tjob.publishStatus,\n\t\tjob.publish_status,\n\t\tjob.pullRequestStatus,\n\t\tjob.pull_request_status,\n\t\tapp.publishStatus,\n\t\tapp.publish_status\n\t], 160);\n\tevidence.sampleDataStatus = firstNonEmptyText([\n\t\tevidence.sampleDataStatus,\n\t\tevidence.sample_data_status,\n\t\tjob.sampleDataStatus,\n\t\tjob.sample_data_status,\n\t\tapp.sampleDataStatus,\n\t\tapp.sample_data_status\n\t], 160) || statusFromBoolean(evidence.sampleDataReady ?? evidence.hasSampleData ?? job.sampleDataReady ?? app.sampleDataReady);\n\treturn evidence;\n}\n\nfunction normalizeAICoderWorkflowProofReadiness(\n\tvalue: Record<string, any>,\n\tnow?: Date | string\n): ResolveIOAICoderWorkflowProofReadiness | undefined {\n\tif (!value || !Object.keys(value).length) {\n\t\treturn undefined;\n\t}\n\tconst ready = value.ready === true;\n\tconst status = cleanText(value.status, 120) || (ready ? 'ready' : 'blocked');\n\treturn {\n\t\tready,\n\t\tstatus: status as ResolveIOAICoderWorkflowProofReadiness['status'],\n\t\treason: cleanText(value.reason || value.summary || status, 1200),\n\t\tblockers: cleanStringList(value.blockers, 40, 500),\n\t\tjourneyContractValid: value.journeyContractValid === true || value.journey_contract_valid === true,\n\t\tprimaryWorkflowId: cleanText(value.primaryWorkflowId || value.primary_workflow_id, 200),\n\t\tpassedWorkflowRows: cleanStringList(value.passedWorkflowRows || value.passed_workflow_rows, 80, 300),\n\t\tmissingWorkflowRows: cleanStringList(value.missingWorkflowRows || value.missing_workflow_rows, 80, 300),\n\t\tfailedWorkflowRows: cleanStringList(value.failedWorkflowRows || value.failed_workflow_rows, 80, 300),\n\t\tpassedBusinessAssertions: cleanStringList(value.passedBusinessAssertions || value.passed_business_assertions, 80, 500),\n\t\trouteOnly: value.routeOnly === true || value.route_only === true,\n\t\tscorecardOnly: value.scorecardOnly === true || value.scorecard_only === true,\n\t\tsampleDataReady: value.sampleDataReady === true || value.sample_data_ready === true,\n\t\treleaseBlockers: cleanStringList(value.releaseBlockers || value.release_blockers, 40, 500),\n\t\tartifactPaths: cleanStringList(value.artifactPaths || value.artifact_paths, 80, 500),\n\t\tworkflowProofFingerprint: cleanText(value.workflowProofFingerprint || value.workflow_proof_fingerprint, 200),\n\t\tartifactFingerprint: cleanText(value.artifactFingerprint || value.artifact_fingerprint, 200),\n\t\tproofFreshness: cleanText(value.proofFreshness || value.proof_freshness, 80) as ResolveIOAICoderWorkflowProofReadiness['proofFreshness'],\n\t\tnextAction: cleanText(value.nextAction || value.next_action, 1000),\n\t\tevaluatedAt: isoNow(now || value.evaluatedAt || value.evaluated_at || value.recordedAt || value.recorded_at)\n\t};\n}\n\nfunction aicoderJourneyContractValidationFromEvidence(evidence: Record<string, any>): ResolveIOAICoderJourneyContractValidationResult {\n\tconst journeyInput = evidence.journeyContract !== undefined && evidence.journeyContract !== null\n\t\t? evidence.journeyContract\n\t\t: evidence.journeyContractMarkdown;\n\tconst hasJourneyInput = journeyInput !== undefined && journeyInput !== null && cleanText(journeyInput, 100).length > 0;\n\tif (!hasJourneyInput) {\n\t\treturn {\n\t\t\tvalid: false,\n\t\t\tcontract: null,\n\t\t\tissues: [{\n\t\t\t\tcode: 'missing_contract',\n\t\t\t\tpath: cleanText(evidence.journeyContractPath, 500) || 'docs/APP_JOURNEY_CONTRACT.md',\n\t\t\t\tmessage: 'docs/APP_JOURNEY_CONTRACT.md with structured journey_contract JSON is required before AICoder build, workflow QA, wow UI, publish, or acceptance.',\n\t\t\t\tseverity: 'error'\n\t\t\t}],\n\t\t\tworkflowQaRows: [],\n\t\t\tprimaryWorkflowId: ''\n\t\t};\n\t}\n\treturn validateResolveIOAICoderJourneyContract(journeyInput, {\n\t\trequireMarkdownEnvelope: typeof journeyInput === 'string'\n\t});\n}\n\nfunction aicoderJourneyContractGate(\n\tvalidation: ResolveIOAICoderJourneyContractValidationResult,\n\tevidence: Record<string, any>,\n\tnow?: Date | string\n): AIRunGateResult {\n\tconst errorIssues = validation.issues.filter((issue) => issue.severity === 'error');\n\tconst warningIssues = validation.issues.filter((issue) => issue.severity === 'warning');\n\tconst status: AIRunGateResult['status'] = validation.valid\n\t\t? (warningIssues.length ? 'warn' : 'pass')\n\t\t: 'blocked';\n\tconst path = cleanText(evidence.journeyContractPath, 500) || 'docs/APP_JOURNEY_CONTRACT.md';\n\treturn {\n\t\tkey: 'aicoder_journey_contract',\n\t\tlabel: 'AICoder journey contract',\n\t\tstatus,\n\t\treason: validation.valid\n\t\t\t? (warningIssues.length\n\t\t\t\t? `Journey contract is valid with warnings: ${warningIssues.map((issue) => issue.message).slice(0, 3).join(' | ')}`\n\t\t\t\t: 'Journey contract validates first/next/last workflow, data story, completion states, and QA assertions.')\n\t\t\t: (errorIssues.map((issue) => issue.message).slice(0, 5).join(' | ') || 'AICoder Journey Contract is missing or invalid.'),\n\t\tevidenceRefs: [path],\n\t\trecordedAt: isoNow(now),\n\t\tmetadata: {\n\t\t\tpath,\n\t\t\tvalid: validation.valid,\n\t\t\tprimaryWorkflowId: cleanText(validation.primaryWorkflowId, 200),\n\t\t\tworkflowQaRowCount: validation.workflowQaRows.length,\n\t\t\tworkflowQaCoverageTags: cleanStringList(validation.workflowQaRows.flatMap((row: any) => asArray(row.coverageTags || row.coverage_tags)), 80, 120),\n\t\t\tworkflowQaProofKinds: cleanStringList(validation.workflowQaRows.map((row: any) => row.proofKind || row.proof_kind), 80, 120),\n\t\t\terrorCount: errorIssues.length,\n\t\t\twarningCount: warningIssues.length,\n\t\t\tissueCodes: cleanStringList(validation.issues.map((issue) => issue.code), 40, 120),\n\t\t\tissues: validation.issues.slice(0, 20).map((issue) => ({\n\t\t\t\tcode: cleanText(issue.code, 120),\n\t\t\t\tpath: cleanText(issue.path, 500),\n\t\t\t\tseverity: issue.severity,\n\t\t\t\tmessage: cleanText(issue.message, 800)\n\t\t\t})),\n\t\t\tblocksBuildUntilValid: !validation.valid,\n\t\t\tblocksWorkflowQaUntilValid: !validation.valid,\n\t\t\tblocksWowUiUntilWorkflowProof: !validation.valid,\n\t\t\tblocksPublishUntilWorkflowProof: !validation.valid,\n\t\t\tnextAction: validation.valid\n\t\t\t\t? 'Generate workflow QA rows from journey_contract.qa_assertions and execute the north-star workflow.'\n\t\t\t\t: 'Generate or repair docs/APP_JOURNEY_CONTRACT.md before app build, wow UI, publish, or acceptance.'\n\t\t}\n\t};\n}\n\nfunction aicoderWorkflowProofReadinessGate(\n\treadiness: ResolveIOAICoderWorkflowProofReadiness,\n\tnow?: Date | string\n): AIRunGateResult {\n\tconst status: AIRunGateResult['status'] = readiness.ready\n\t\t? 'pass'\n\t\t: readiness.status === 'release_blocked' || readiness.status === 'journey_invalid' || readiness.status === 'sample_data_missing'\n\t\t\t? 'fail'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'aicoder_workflow_proof_readiness',\n\t\tlabel: 'AICoder workflow proof readiness',\n\t\tstatus,\n\t\treason: readiness.reason || readiness.blockers.join('; ') || readiness.status,\n\t\tevidenceRefs: readiness.artifactPaths,\n\t\trecordedAt: isoNow(now || readiness.evaluatedAt),\n\t\tmetadata: {\n\t\t\tready: readiness.ready,\n\t\t\tstatus: readiness.status,\n\t\t\tprimaryWorkflowId: readiness.primaryWorkflowId,\n\t\t\tjourneyContractValid: readiness.journeyContractValid,\n\t\t\tblockers: readiness.blockers,\n\t\t\tpassedWorkflowRows: readiness.passedWorkflowRows,\n\t\t\tmissingWorkflowRows: readiness.missingWorkflowRows,\n\t\t\tfailedWorkflowRows: readiness.failedWorkflowRows,\n\t\t\tpassedBusinessAssertions: readiness.passedBusinessAssertions,\n\t\t\trouteOnly: readiness.routeOnly,\n\t\t\tscorecardOnly: readiness.scorecardOnly,\n\t\t\tsampleDataReady: readiness.sampleDataReady,\n\t\t\treleaseBlockers: readiness.releaseBlockers,\n\t\t\tworkflowProofFingerprint: readiness.workflowProofFingerprint,\n\t\t\tartifactFingerprint: readiness.artifactFingerprint,\n\t\t\tproofFreshness: readiness.proofFreshness,\n\t\t\tnextAction: readiness.nextAction\n\t\t}\n\t};\n}\n\nfunction aicoderWorkflowProofCheckpointObject(app: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst workflowMemory = plainObject(\n\t\tjob.aiCoderV6WorkflowMemory\n\t\t|| job.ai_coder_v6_workflow_memory\n\t\t|| app.aiCoderV6WorkflowMemory\n\t\t|| app.ai_coder_v6_workflow_memory\n\t\t|| evidence.aiCoderV6WorkflowMemory\n\t\t|| evidence.ai_coder_v6_workflow_memory\n\t);\n\tconst continuationDecision = plainObject(\n\t\tjob.aicoderV6ContinuationDecision\n\t\t|| job.aiCoderV6ContinuationDecision\n\t\t|| job.aicoder_v6_continuation_decision\n\t\t|| job.ai_coder_v6_continuation_decision\n\t\t|| app.aicoderV6ContinuationDecision\n\t\t|| app.aiCoderV6ContinuationDecision\n\t\t|| app.aicoder_v6_continuation_decision\n\t\t|| evidence.aicoderV6ContinuationDecision\n\t\t|| evidence.aiCoderV6ContinuationDecision\n\t\t|| evidence.aicoder_v6_continuation_decision\n\t);\n\treturn evidenceObject(\n\t\tcontinuationDecision.workflowProofCheckpoint,\n\t\tcontinuationDecision.workflow_proof_checkpoint,\n\t\tworkflowMemory.workflowProofCheckpoint,\n\t\tworkflowMemory.workflow_proof_checkpoint,\n\t\tjob.workflowProofCheckpoint,\n\t\tjob.workflow_proof_checkpoint,\n\t\tjob.aicoderWorkflowProofCheckpoint,\n\t\tjob.aicoder_workflow_proof_checkpoint,\n\t\tapp.workflowProofCheckpoint,\n\t\tapp.workflow_proof_checkpoint,\n\t\tevidence.workflowProofCheckpoint,\n\t\tevidence.workflow_proof_checkpoint,\n\t\tevidence.aicoderWorkflowProofCheckpoint,\n\t\tevidence.aicoder_workflow_proof_checkpoint\n\t);\n}\n\nfunction aicoderWorkflowProofCheckpointGate(checkpoint: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!checkpoint || !Object.keys(checkpoint).length) {\n\t\treturn undefined;\n\t}\n\tconst blocksProductRepairUntilJourneyContract = booleanFlag(checkpoint.blocksProductRepairUntilJourneyContract ?? checkpoint.blocks_product_repair_until_journey_contract) === true;\n\tconst blocksPublishUntilWorkflowProof = booleanFlag(checkpoint.blocksPublishUntilWorkflowProof ?? checkpoint.blocks_publish_until_workflow_proof) === true;\n\tconst blocksPublishUntilReleaseGate = booleanFlag(checkpoint.blocksPublishUntilReleaseGate ?? checkpoint.blocks_publish_until_release_gate) === true;\n\tconst blocksWowUiUntilWorkflowProof = booleanFlag(checkpoint.blocksWowUiUntilWorkflowProof ?? checkpoint.blocks_wow_ui_until_workflow_proof) === true;\n\tconst statusText = cleanText(checkpoint.status, 120);\n\tconst required = booleanFlag(checkpoint.required) !== false;\n\tconst blockers = cleanStringList(checkpoint.blockers, 40, 500);\n\tif (blocksProductRepairUntilJourneyContract) {\n\t\tblockers.push('Product repair is blocked until the journey contract is valid.');\n\t}\n\tif (blocksPublishUntilWorkflowProof) {\n\t\tblockers.push('Publish is blocked until workflow business proof passes.');\n\t}\n\tif (blocksPublishUntilReleaseGate) {\n\t\tblockers.push('Publish is blocked until release gate evidence passes.');\n\t}\n\tif (blocksWowUiUntilWorkflowProof) {\n\t\tblockers.push('Wow UI polish is blocked until workflow proof exists.');\n\t}\n\tconst gateStatus: AIRunGateResult['status'] = !required || statusText === 'ready_to_continue'\n\t\t? 'pass'\n\t\t: blockers.length\n\t\t\t? 'blocked'\n\t\t\t: 'warn';\n\treturn {\n\t\tkey: 'aicoder_workflow_proof_checkpoint',\n\t\tlabel: 'AICoder workflow proof checkpoint',\n\t\tstatus: gateStatus,\n\t\treason: gateStatus === 'pass'\n\t\t\t? 'AICoder workflow checkpoint allows the next action.'\n\t\t\t: (blockers.join(' ') || cleanText(checkpoint.nextAction || checkpoint.next_action || statusText, 1200) || 'AICoder workflow checkpoint requires more proof before continuing.'),\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...asArray(checkpoint.requiredEvidence || checkpoint.required_evidence),\n\t\t\t...asArray(checkpoint.requiredResetEvidence || checkpoint.required_reset_evidence)\n\t\t], 40, 500),\n\t\trecordedAt: isoNow(now || checkpoint.recordedAt || checkpoint.recorded_at || checkpoint.createdAt || checkpoint.created_at),\n\t\tmetadata: {\n\t\t\trequired,\n\t\t\tstatus: statusText,\n\t\t\treadinessStatus: cleanText(checkpoint.readinessStatus || checkpoint.readiness_status, 120),\n\t\t\tnextGate: cleanText(checkpoint.nextGate || checkpoint.next_gate, 120),\n\t\t\tnextAction: cleanText(checkpoint.nextAction || checkpoint.next_action, 1000),\n\t\t\tstartingFailureClass: cleanText(checkpoint.startingFailureClass || checkpoint.starting_failure_class, 120),\n\t\t\tstartingBlockerFingerprint: cleanText(checkpoint.startingBlockerFingerprint || checkpoint.starting_blocker_fingerprint, 200),\n\t\t\tstartingEvidenceHash: cleanText(checkpoint.startingEvidenceHash || checkpoint.starting_evidence_hash, 200),\n\t\t\tworkflowProofFingerprint: cleanText(checkpoint.workflowProofFingerprint || checkpoint.workflow_proof_fingerprint, 200),\n\t\t\tartifactFingerprint: cleanText(checkpoint.artifactFingerprint || checkpoint.artifact_fingerprint, 200),\n\t\t\trequiredEvidence: cleanStringList(checkpoint.requiredEvidence || checkpoint.required_evidence, 40, 500),\n\t\t\trequiredResetEvidence: cleanStringList(checkpoint.requiredResetEvidence || checkpoint.required_reset_evidence, 40, 500),\n\t\t\tsuccessRequiresWorkflowBusinessProof: booleanFlag(checkpoint.successRequiresWorkflowBusinessProof ?? checkpoint.success_requires_workflow_business_proof) === true,\n\t\t\tblocksProductRepairUntilJourneyContract,\n\t\t\tblocksPublishUntilWorkflowProof,\n\t\t\tblocksPublishUntilReleaseGate,\n\t\t\tblocksWowUiUntilWorkflowProof,\n\t\t\tblockers\n\t\t}\n\t};\n}\n\nfunction aicoderNextActionContractObject(app: Record<string, any>, job: Record<string, any>, evidence: Record<string, any>): Record<string, any> {\n\tconst continuationDecision = plainObject(\n\t\tjob.aicoderV6ContinuationDecision\n\t\t|| job.aiCoderV6ContinuationDecision\n\t\t|| job.aicoder_v6_continuation_decision\n\t\t|| job.ai_coder_v6_continuation_decision\n\t\t|| app.aicoderV6ContinuationDecision\n\t\t|| app.aiCoderV6ContinuationDecision\n\t\t|| app.aicoder_v6_continuation_decision\n\t\t|| evidence.aicoderV6ContinuationDecision\n\t\t|| evidence.aiCoderV6ContinuationDecision\n\t\t|| evidence.aicoder_v6_continuation_decision\n\t);\n\treturn evidenceObject(\n\t\tcontinuationDecision.nextActionContract,\n\t\tcontinuationDecision.next_action_contract,\n\t\tjob.nextActionContract,\n\t\tjob.next_action_contract,\n\t\tjob.aicoderNextActionContract,\n\t\tjob.aicoder_next_action_contract,\n\t\tjob.aiCoderNextActionContract,\n\t\tjob.ai_coder_next_action_contract,\n\t\tapp.nextActionContract,\n\t\tapp.next_action_contract,\n\t\tevidence.nextActionContract,\n\t\tevidence.next_action_contract,\n\t\tevidence.aicoderNextActionContract,\n\t\tevidence.aicoder_next_action_contract\n\t);\n}\n\nfunction aicoderNextActionContractGate(contract: Record<string, any>, now?: Date | string): AIRunGateResult | undefined {\n\tif (!contract || !Object.keys(contract).length) {\n\t\treturn undefined;\n\t}\n\tconst safeToAutoRun = booleanFlag(contract.safeToAutoRun ?? contract.safe_to_auto_run) === true;\n\tconst requiresHumanApproval = booleanFlag(contract.requiresHumanApproval ?? contract.requires_human_approval) === true;\n\tconst canRunWithoutCodexMonitor = booleanFlag(contract.canRunWithoutCodexMonitor ?? contract.can_run_without_codex_monitor) === true;\n\tconst codexFallbackRequired = booleanFlag(contract.codexFallbackRequired ?? contract.codex_fallback_required) === true;\n\tconst sourceBlockers = cleanStringList(contract.blockers, 40, 500);\n\tconst primaryCommand = cleanText(contract.primaryCommand || contract.primary_command, 200);\n\tconst liveHotfixBlockedUntilCommit = booleanFlag(contract.liveHotfixBlockedUntilCommit ?? contract.live_hotfix_blocked_until_commit ?? plainObject(contract.decisionBasis || contract.decision_basis).liveHotfixBlockedUntilCommit ?? plainObject(contract.decisionBasis || contract.decision_basis).live_hotfix_blocked_until_commit) === true;\n\tconst safetyBlockers = Array.from(new Set([\n\t\t...(safeToAutoRun ? [] : ['AICoder next action is not marked safe to auto-run.']),\n\t\t...(canRunWithoutCodexMonitor ? [] : ['AICoder next action requires Codex fallback/monitoring instead of manager-only execution.']),\n\t\t...(codexFallbackRequired ? [cleanText(contract.codexFallbackReason || contract.codex_fallback_reason, 1000) || 'AICoder next action contract requires Codex fallback.'] : []),\n\t\t...(requiresHumanApproval ? ['AICoder next action requires human approval.'] : []),\n\t\t...(liveHotfixBlockedUntilCommit ? ['Live AICoder hotfix is blocked until GitHub commit and push proof is recorded.'] : [])\n\t])).filter(Boolean).slice(0, 40);\n\tconst contractBlockers = safetyBlockers.length\n\t\t? Array.from(new Set([...sourceBlockers, ...safetyBlockers])).slice(0, 40)\n\t\t: [];\n\tconst missingSafetyFlags = [\n\t\tcontract.safeToAutoRun === undefined && contract.safe_to_auto_run === undefined ? 'safeToAutoRun' : '',\n\t\tcontract.canRunWithoutCodexMonitor === undefined && contract.can_run_without_codex_monitor === undefined ? 'canRunWithoutCodexMonitor' : '',\n\t\tcontract.codexFallbackRequired === undefined && contract.codex_fallback_required === undefined ? 'codexFallbackRequired' : ''\n\t].filter(Boolean);\n\tconst gateStatus: AIRunGateResult['status'] = contractBlockers.length\n\t\t? 'blocked'\n\t\t: missingSafetyFlags.length\n\t\t\t? 'warn'\n\t\t\t: 'pass';\n\treturn {\n\t\tkey: 'aicoder_next_action_contract',\n\t\tlabel: 'AICoder next action contract',\n\t\tstatus: gateStatus,\n\t\treason: gateStatus === 'pass'\n\t\t\t? `AICoder can run ${primaryCommand || 'the next action'} without a Codex monitor.`\n\t\t\t: (contractBlockers.join(' ') || cleanText(contract.codexFallbackReason || contract.codex_fallback_reason || contract.expectedStateTransition || contract.expected_state_transition, 1200) || 'AICoder next action is not safe to run unattended.'),\n\t\tevidenceRefs: cleanStringList([\n\t\t\t...asArray(contract.preconditions),\n\t\t\t...asArray(contract.successEvidence || contract.success_evidence),\n\t\t\t...asArray(contract.stopConditions || contract.stop_conditions)\n\t\t], 40, 500),\n\t\trecordedAt: isoNow(now || contract.createdAt || contract.created_at || contract.recordedAt || contract.recorded_at),\n\t\tmetadata: {\n\t\t\tcontractId: cleanText(contract.contractId || contract.contract_id, 200),\n\t\t\taction: cleanText(contract.action, 120),\n\t\t\tlabel: cleanText(contract.label, 200),\n\t\t\tprimaryCommand,\n\t\t\tlane: cleanText(contract.lane, 120),\n\t\t\tstepType: cleanText(contract.stepType || contract.step_type, 120),\n\t\t\tsafeToAutoRun,\n\t\t\trequiresHumanApproval,\n\t\t\tcanRunWithoutCodexMonitor,\n\t\t\tcodexFallbackRequired,\n\t\t\tcodexFallbackReason: cleanText(contract.codexFallbackReason || contract.codex_fallback_reason, 1000),\n\t\t\tcostRisk: cleanText(contract.costRisk || contract.cost_risk, 120),\n\t\t\tworkflowFirstSatisfied: booleanFlag(contract.workflowFirstSatisfied ?? contract.workflow_first_satisfied) === true,\n\t\t\thotfixCommitRequired: booleanFlag(contract.hotfixCommitRequired ?? contract.hotfix_commit_required ?? plainObject(contract.decisionBasis || contract.decision_basis).hotfixCommitRequired ?? plainObject(contract.decisionBasis || contract.decision_basis).hotfix_commit_required) === true,\n\t\t\tliveHotfixBlockedUntilCommit,\n\t\t\tdecisionBasis: plainObject(contract.decisionBasis || contract.decision_basis),\n\t\t\tpreconditions: cleanStringList(contract.preconditions, 40, 500),\n\t\t\texpectedStateTransition: cleanText(contract.expectedStateTransition || contract.expected_state_transition, 1000),\n\t\t\tsuccessEvidence: cleanStringList(contract.successEvidence || contract.success_evidence, 40, 500),\n\t\t\trequiredHotfixCommitProof: cleanStringList(contract.requiredHotfixCommitProof || contract.required_hotfix_commit_proof, 20, 240),\n\t\t\tstopConditions: cleanStringList(contract.stopConditions || contract.stop_conditions, 40, 500),\n\t\t\tforbiddenActions: cleanStringList(contract.forbiddenActions || contract.forbidden_actions, 40, 500),\n\t\t\tnextCommands: cleanStringList(contract.nextCommands || contract.next_commands, 40, 240),\n\t\t\tblockers: contractBlockers,\n\t\t\tcontextBlockers: sourceBlockers,\n\t\t\tsafetyBlockers,\n\t\t\tmissingSafetyFlags,\n\t\t\townerFiles: cleanStringList(contract.ownerFiles || contract.owner_files, 40, 500)\n\t\t}\n\t};\n}\n\nfunction adapterStatusPassed(value: any): boolean {\n\tconst normalized = cleanText(value, 120).toLowerCase();\n\treturn !!normalized && /(pass|passed|success|succeeded|ok|done|complete|completed|ready|saved|published|deployed)/i.test(normalized);\n}\n\nfunction applyAICoderWorkflowProofGate(\n\tqa: AIQaRun,\n\treadiness: ResolveIOAICoderWorkflowProofReadiness,\n\tnow?: Date | string\n): AIQaRun {\n\tif (\n\t\treadiness.ready\n\t\t|| readiness.status === 'release_blocked'\n\t\t|| qa.outcome === 'infra_failed'\n\t\t|| qa.outcome === 'compile_failed'\n\t\t|| qa.outcome === 'route_failed'\n\t\t|| qa.outcome === 'business_assertion_failed'\n\t) {\n\t\treturn qa;\n\t}\n\tconst gate = aicoderWorkflowProofReadinessGate(readiness, now);\n\treturn {\n\t\t...qa,\n\t\toutcome: qa.routeProbes.some((probe) => adapterStatusPassed(probe.status))\n\t\t\t? 'route_only_pass'\n\t\t\t: 'incomplete',\n\t\tgateResults: [\n\t\t\t...qa.gateResults.filter((existing) => !(existing.key === 'qa_business_assertion' && existing.status === 'pass')),\n\t\t\tgate\n\t\t]\n\t};\n}\n\nfunction assistantQualityObject(input: AssistantAIRunAdapterInput): Record<string, any> {\n\tconst conversation = input.conversation || {};\n\tconst latestAssistantMessage = [...asArray<Record<string, any>>(input.messages)]\n\t\t.reverse()\n\t\t.find((message) => /assistant/i.test(cleanText(message.role || message.authorRole || message.type, 80)));\n\treturn plainObject(\n\t\tinput.answerQuality\n\t\t|| conversation.answerQuality\n\t\t|| conversation.answer_quality\n\t\t|| conversation.assistantAnswerQuality\n\t\t|| conversation.assistant_answer_quality\n\t\t|| latestAssistantMessage?.answerQuality\n\t\t|| latestAssistantMessage?.answer_quality\n\t\t|| latestAssistantMessage?.metadata?.answerQuality\n\t\t|| latestAssistantMessage?.metadata?.answer_quality\n\t);\n}\n\nfunction assistantConfidenceLevel(value: any): AssistantAnswerQualityDecision['confidenceLevel'] {\n\tconst normalized = cleanText(value?.level || value?.confidenceLevel || value?.confidence_level || value, 80).toLowerCase();\n\tif (/^high$/.test(normalized)) {\n\t\treturn 'high';\n\t}\n\tif (/^medium$/.test(normalized)) {\n\t\treturn 'medium';\n\t}\n\tif (/^low$/.test(normalized)) {\n\t\treturn 'low';\n\t}\n\treturn 'unknown';\n}\n\nfunction assistantQueryStatus(value: any): AssistantAnswerQualityDecision['queryStatus'] {\n\tconst normalized = cleanText(value?.status || value?.queryStatus || value?.query_status || value, 120).toLowerCase().replace(/[\\s-]+/g, '_');\n\tif (/^(ok|success|answered|data_found|data)$/.test(normalized)) {\n\t\treturn 'ok';\n\t}\n\tif (/^(no_data|no_results|empty|not_found)$/.test(normalized)) {\n\t\treturn 'no_data';\n\t}\n\tif (/^(query_error|mongo_error|error|failed)$/.test(normalized)) {\n\t\treturn 'query_error';\n\t}\n\tif (/^(permission_error|permission_denied|forbidden|unauthorized)$/.test(normalized)) {\n\t\treturn 'permission_error';\n\t}\n\treturn 'unknown';\n}\n\nfunction asObjectList(value: any): Record<string, any>[] {\n\treturn asArray<Record<string, any>>(value).filter((entry) => entry && typeof entry === 'object' && !Array.isArray(entry));\n}\n\nfunction assistantEvidenceRefs(quality: Record<string, any>): string[] {\n\treturn cleanStringList([\n\t\t...asArray(quality.evidenceRefs),\n\t\t...asArray(quality.evidence_refs),\n\t\t...asArray(quality.citationRefs),\n\t\t...asArray(quality.citation_refs),\n\t\t...asArray(quality.artifactPaths),\n\t\t...asArray(quality.artifact_paths),\n\t\t...asObjectList(quality.citations).map((citation) => citation.path || citation.url || citation.id || citation.ref),\n\t\t...asObjectList(quality.evidence).map((entry) => entry.path || entry.url || entry.id || entry.ref)\n\t], 80, 500);\n}\n\nfunction assistantCitationRefs(quality: Record<string, any>): string[] {\n\treturn cleanStringList([\n\t\t...asArray(quality.citationRefs),\n\t\t...asArray(quality.citation_refs),\n\t\t...asObjectList(quality.citations).map((citation) => citation.path || citation.url || citation.id || citation.ref),\n\t\t...asObjectList(quality.evidence).map((entry) => entry.citation || entry.ref || entry.path || entry.url)\n\t], 80, 500);\n}\n\nfunction assistantQueryExecutions(quality: Record<string, any>): Record<string, any>[] {\n\tconst queryExecution = plainObject(quality.queryExecution || quality.query_execution);\n\tconst toolResult = plainObject(quality.toolResult || quality.tool_result);\n\treturn [\n\t\t...asObjectList(quality.queryExecutions),\n\t\t...asObjectList(quality.query_executions),\n\t\t...asObjectList(quality.dataQueries),\n\t\t...asObjectList(quality.data_queries),\n\t\t...asObjectList(quality.toolResults),\n\t\t...asObjectList(quality.tool_results),\n\t\t...asObjectList(quality.mongoReads),\n\t\t...asObjectList(quality.mongo_reads),\n\t\t...asObjectList(quality.mongoAggregations),\n\t\t...asObjectList(quality.mongo_aggregations),\n\t\t...(Object.keys(queryExecution).length ? [queryExecution] : []),\n\t\t...(Object.keys(toolResult).length ? [toolResult] : [])\n\t].filter((entry) => Object.keys(entry).length);\n}\n\nfunction assistantQueryEvidenceRefs(quality: Record<string, any>, executions = assistantQueryExecutions(quality)): string[] {\n\treturn cleanStringList([\n\t\t...asArray(quality.queryEvidenceRefs),\n\t\t...asArray(quality.query_evidence_refs),\n\t\t...asArray(quality.toolResultRefs),\n\t\t...asArray(quality.tool_result_refs),\n\t\t...asArray(quality.queryResultRefs),\n\t\t...asArray(quality.query_result_refs),\n\t\t...executions.map((execution) => {\n\t\t\treturn execution.id\n\t\t\t\t|| execution._id\n\t\t\t\t|| execution.ref\n\t\t\t\t|| execution.toolResultId\n\t\t\t\t|| execution.tool_result_id\n\t\t\t\t|| execution.toolCallId\n\t\t\t\t|| execution.tool_call_id\n\t\t\t\t|| execution.artifactPath\n\t\t\t\t|| execution.artifact_path\n\t\t\t\t|| execution.path\n\t\t\t\t|| execution.url;\n\t\t})\n\t], 80, 500);\n}\n\nfunction assistantNextActions(quality: Record<string, any>): string[] {\n\treturn cleanStringList([\n\t\t...asArray(quality.nextActions),\n\t\t...asArray(quality.next_actions),\n\t\t...asArray(quality.recommendedActions),\n\t\t...asArray(quality.recommended_actions)\n\t], 20, 500);\n}\n\nfunction normalizedIsoDay(value: any): string {\n\tif (!value) {\n\t\treturn '';\n\t}\n\tconst date = value instanceof Date ? value : new Date(value);\n\tif (!Number.isFinite(date.getTime())) {\n\t\treturn cleanText(value, 40).slice(0, 10);\n\t}\n\treturn date.toISOString().slice(0, 10);\n}\n\nfunction assistantDateWindowObject(quality: Record<string, any>): Record<string, any> {\n\tconst dateWindow = plainObject(quality.dateWindow || quality.date_window);\n\tconst nestedWindow = plainObject(quality.verification?.metrics?.window || quality.metrics?.window);\n\treturn Object.keys(dateWindow).length ? dateWindow : nestedWindow;\n}\n\nfunction collectMongoProjectionObjects(value: any, result: Record<string, any>[] = []): Record<string, any>[] {\n\tif (!value || typeof value !== 'object') {\n\t\treturn result;\n\t}\n\tif (Array.isArray(value)) {\n\t\tfor (const entry of value) {\n\t\t\tcollectMongoProjectionObjects(entry, result);\n\t\t}\n\t\treturn result;\n\t}\n\tif (value.projection && typeof value.projection === 'object' && !Array.isArray(value.projection)) {\n\t\tresult.push(value.projection);\n\t}\n\tif (value.options && typeof value.options === 'object' && !Array.isArray(value.options) && value.options.projection) {\n\t\tcollectMongoProjectionObjects({ projection: value.options.projection }, result);\n\t}\n\tif (value.query && typeof value.query === 'object') {\n\t\tcollectMongoProjectionObjects(value.query, result);\n\t}\n\tif (value.mongoQuery && typeof value.mongoQuery === 'object') {\n\t\tcollectMongoProjectionObjects(value.mongoQuery, result);\n\t}\n\tif (value.mongo_query && typeof value.mongo_query === 'object') {\n\t\tcollectMongoProjectionObjects(value.mongo_query, result);\n\t}\n\treturn result;\n}\n\nfunction projectionHasPositionalOperator(projection: Record<string, any>): boolean {\n\treturn Object.keys(projection || {}).some((key) => /\\.(?:\\$|\\$\\[)|\\.\\$$/.test(key));\n}\n\nfunction assistantQueryShapeLegal(quality: Record<string, any>): boolean {\n\tif (quality.legalQueryShape === true || quality.legal_query_shape === true) {\n\t\treturn true;\n\t}\n\tif (quality.legalQueryShape === false || quality.legal_query_shape === false || quality.illegalQueryShape === true || quality.illegal_query_shape === true) {\n\t\treturn false;\n\t}\n\tconst queryShape = plainObject(quality.queryShape || quality.query_shape);\n\tif (queryShape.legal === true || queryShape.status === 'pass') {\n\t\treturn true;\n\t}\n\tif (queryShape.legal === false || queryShape.status === 'fail') {\n\t\treturn false;\n\t}\n\tconst projections = collectMongoProjectionObjects(quality);\n\tif (projections.some(projectionHasPositionalOperator)) {\n\t\treturn false;\n\t}\n\treturn true;\n}\n\nfunction assistantCorrectnessFailed(checks: Array<Record<string, any>>): string[] {\n\treturn checks\n\t\t.filter((check) => {\n\t\t\tconst status = cleanText(check.status || (check.passed === true ? 'pass' : check.passed === false ? 'fail' : ''), 80).toLowerCase();\n\t\t\treturn /^(fail|failed|blocked|incorrect|wrong|error)$/.test(status);\n\t\t})\n\t\t.map((check) => cleanText(check.assertion || check.name || check.case || check.reason || 'assistant correctness check failed', 300))\n\t\t.slice(0, 20);\n}\n\nexport function evaluateAssistantAnswerQuality(input: AssistantAnswerQualityInput = {}): AssistantAnswerQualityDecision {\n\tconst quality = plainObject(input.answerQuality);\n\tconst now = isoNow(input.now);\n\tconst correctnessChecks = asArray<Record<string, any>>(input.correctnessChecks);\n\tconst failedChecks = assistantCorrectnessFailed(correctnessChecks);\n\tconst queryStatus = assistantQueryStatus(quality.queryStatus || quality.query_status || quality.queryResult || quality.query_result);\n\tconst confidenceLevel = assistantConfidenceLevel(quality.confidence || quality.confidenceLevel || quality.confidence_level);\n\tconst evidenceRefs = assistantEvidenceRefs(quality);\n\tconst citationRefs = assistantCitationRefs(quality);\n\tconst queryExecutions = assistantQueryExecutions(quality);\n\tconst queryEvidenceRefs = assistantQueryEvidenceRefs(quality, queryExecutions);\n\tconst nextActions = assistantNextActions(quality);\n\tconst requiresCurrentDate = quality.requiresCurrentDate === true || quality.requires_current_date === true;\n\tconst dateWindowRequired = quality.requiresDateWindow === true\n\t\t|| quality.requires_date_window === true\n\t\t|| quality.dateWindowRequired === true\n\t\t|| quality.date_window_required === true;\n\tconst requiresCitations = quality.requiresCitations !== false && quality.requires_citations !== false;\n\tconst requiresNextAction = quality.requiresNextAction !== false && quality.requires_next_action !== false;\n\tconst dateWindow = assistantDateWindowObject(quality);\n\tconst dateWindowStart = cleanText(dateWindow.startDate || dateWindow.start_date || dateWindow.start, 80);\n\tconst dateWindowEnd = cleanText(dateWindow.endDate || dateWindow.end_date || dateWindow.end, 80);\n\tconst dateWindowPresent = !!dateWindowStart && !!dateWindowEnd;\n\tconst dateBasis = cleanText(\n\t\tquality.currentDateUsed\n\t\t|| quality.current_date_used\n\t\t|| quality.dateBasis\n\t\t|| quality.date_basis\n\t\t|| quality.dateWindow?.basisDate\n\t\t|| quality.date_window?.basis_date,\n\t\t80\n\t);\n\tconst expectedCurrentDate = cleanText(quality.expectedCurrentDate || quality.expected_current_date, 80)\n\t\t|| normalizedIsoDay(input.now);\n\tconst noDataConfirmed = quality.noDataConfirmed === true\n\t\t|| quality.no_data_confirmed === true\n\t\t|| quality.confirmedNoData === true\n\t\t|| quality.confirmed_no_data === true;\n\tconst legalQueryShape = assistantQueryShapeLegal(quality);\n\tconst queryEvidenceRequired = quality.requiresQueryEvidence !== false\n\t\t&& quality.requires_query_evidence !== false\n\t\t&& (queryStatus === 'ok' || queryStatus === 'no_data');\n\tconst queryEvidencePresent = queryExecutions.length > 0 || queryEvidenceRefs.length > 0;\n\tconst blockers: string[] = [];\n\tlet status: AssistantAnswerQualityStatus = 'ready';\n\tlet reason = 'Assistant answer has structured data evidence, legal query shape, citations, confidence, and next action.';\n\tif (!Object.keys(quality).length) {\n\t\tstatus = 'missing_data_source';\n\t\tblockers.push('Assistant answerQuality evidence is missing.');\n\t\treason = 'Assistant answer cannot be accepted without structured answerQuality evidence.';\n\t}\n\telse if (failedChecks.length) {\n\t\tstatus = 'incorrect';\n\t\tblockers.push(...failedChecks);\n\t\treason = 'Assistant correctness checks failed.';\n\t}\n\telse if (queryStatus === 'permission_error') {\n\t\tstatus = 'permission_error';\n\t\tblockers.push('Assistant data query was blocked by permission or authorization.');\n\t\treason = 'Assistant must report permission-error state and avoid claiming no data or success.';\n\t}\n\telse if (queryStatus === 'query_error') {\n\t\tstatus = 'query_error';\n\t\tblockers.push('Assistant data query failed.');\n\t\treason = 'Assistant must report query-error state and avoid claiming no data or success.';\n\t}\n\telse if (!legalQueryShape) {\n\t\tstatus = 'illegal_query_shape';\n\t\tblockers.push('Assistant query shape is illegal or uses an unsafe Mongo projection shape.');\n\t\treason = 'Assistant must use legal Mongo query/projection shapes before answering.';\n\t}\n\telse if (requiresCurrentDate && (!dateBasis || normalizedIsoDay(dateBasis) !== normalizedIsoDay(expectedCurrentDate))) {\n\t\tstatus = 'date_incorrect';\n\t\tblockers.push(`Expected current date ${normalizedIsoDay(expectedCurrentDate) || expectedCurrentDate}, got ${dateBasis || 'missing date basis'}.`);\n\t\treason = 'Assistant answer did not prove it used the actual current date.';\n\t}\n\telse if (dateWindowRequired && !dateWindowPresent) {\n\t\tstatus = 'missing_date_window';\n\t\tblockers.push('Assistant dated answer did not record concrete date-window start and end evidence.');\n\t\treason = 'Assistant dated answers must record the exact query date window used.';\n\t}\n\telse if (queryStatus === 'unknown') {\n\t\tstatus = 'missing_data_source';\n\t\tblockers.push('Assistant answer did not record queryStatus ok/no_data/query_error/permission_error.');\n\t\treason = 'Assistant answer must classify data access result before acceptance.';\n\t}\n\telse if (queryStatus === 'no_data' && !noDataConfirmed) {\n\t\tstatus = 'no_data_unverified';\n\t\tblockers.push('No-data answer was not confirmed by a probe or query evidence.');\n\t\treason = 'Assistant no-data answers require explicit noDataConfirmed evidence.';\n\t}\n\telse if (queryEvidenceRequired && !queryEvidencePresent) {\n\t\tstatus = 'missing_query_proof';\n\t\tblockers.push('Assistant data answer did not record a structured query execution, tool result, or query evidence reference.');\n\t\treason = 'Assistant answers from system data require structured query/tool execution proof before acceptance.';\n\t}\n\telse if (requiresCitations && !citationRefs.length && !evidenceRefs.length) {\n\t\tstatus = 'missing_citations';\n\t\tblockers.push('Assistant answer has no cited evidence or artifact reference.');\n\t\treason = 'Assistant answer must cite system data evidence.';\n\t}\n\telse if (confidenceLevel === 'low' || confidenceLevel === 'unknown') {\n\t\tstatus = 'low_confidence';\n\t\tblockers.push('Assistant answer confidence is low or unknown.');\n\t\treason = 'Assistant answer requires recorded medium/high confidence.';\n\t}\n\telse if (requiresNextAction && !nextActions.length) {\n\t\tstatus = 'missing_next_action';\n\t\tblockers.push('Assistant answer did not record next actions.');\n\t\treason = 'Assistant answer must provide a next action or explicit no-action state.';\n\t}\n\treturn {\n\t\tready: status === 'ready',\n\t\tstatus,\n\t\treason,\n\t\tblockers,\n\t\tqueryStatus,\n\t\tconfidenceLevel,\n\t\tdateBasis: dateBasis || undefined,\n\t\texpectedCurrentDate: expectedCurrentDate || undefined,\n\t\tdateWindowRequired,\n\t\tdateWindowPresent,\n\t\tdateWindow: dateWindowPresent ? {\n\t\t\tstartDate: dateWindowStart,\n\t\t\tendDate: dateWindowEnd,\n\t\t\tmode: cleanText(dateWindow.mode || dateWindow.type, 80) || undefined,\n\t\t\tmonths: typeof dateWindow.months === 'number' ? dateWindow.months : undefined\n\t\t} : undefined,\n\t\tnoDataConfirmed,\n\t\tlegalQueryShape,\n\t\tcitationRefs,\n\t\tqueryEvidenceRequired,\n\t\tqueryEvidencePresent,\n\t\tqueryEvidenceRefs,\n\t\tqueryExecutionCount: queryExecutions.length,\n\t\tnextActions,\n\t\tevidenceRefs,\n\t\tfailedChecks,\n\t\trecordedAt: now\n\t};\n}\n\nfunction assistantAnswerQualityGate(\n\tdecision: AssistantAnswerQualityDecision,\n\tnow?: Date | string\n): AIRunGateResult {\n\tconst status: AIRunGateResult['status'] = decision.ready\n\t\t? 'pass'\n\t\t: /incorrect|date_incorrect|missing_date_window|illegal_query_shape/.test(decision.status)\n\t\t\t? 'fail'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'assistant_answer_quality',\n\t\tlabel: 'Assistant answer quality',\n\t\tstatus,\n\t\treason: decision.reason,\n\t\tevidenceRefs: decision.evidenceRefs.length ? decision.evidenceRefs : decision.citationRefs,\n\t\trecordedAt: isoNow(now || decision.recordedAt),\n\t\tmetadata: {\n\t\t\tready: decision.ready,\n\t\t\tstatus: decision.status,\n\t\t\tqueryStatus: decision.queryStatus,\n\t\t\tconfidenceLevel: decision.confidenceLevel,\n\t\t\tdateBasis: decision.dateBasis,\n\t\t\texpectedCurrentDate: decision.expectedCurrentDate,\n\t\t\tdateWindowRequired: decision.dateWindowRequired,\n\t\t\tdateWindowPresent: decision.dateWindowPresent,\n\t\t\tdateWindow: decision.dateWindow,\n\t\t\tnoDataConfirmed: decision.noDataConfirmed,\n\t\t\tlegalQueryShape: decision.legalQueryShape,\n\t\t\tcitationRefs: decision.citationRefs,\n\t\t\tqueryEvidenceRequired: decision.queryEvidenceRequired,\n\t\t\tqueryEvidencePresent: decision.queryEvidencePresent,\n\t\t\tqueryEvidenceRefs: decision.queryEvidenceRefs,\n\t\t\tqueryExecutionCount: decision.queryExecutionCount,\n\t\t\tnextActions: decision.nextActions,\n\t\t\tblockers: decision.blockers,\n\t\t\tfailedChecks: decision.failedChecks\n\t\t}\n\t};\n}\n\nfunction assistantActionabilityStatus(decision: AssistantAnswerQualityDecision): AssistantAnswerActionabilityStatus {\n\tswitch (decision.status) {\n\t\tcase 'ready':\n\t\t\treturn 'ready_to_answer';\n\t\tcase 'query_error':\n\t\t\treturn 'needs_query_repair';\n\t\tcase 'permission_error':\n\t\t\treturn 'needs_permission';\n\t\tcase 'no_data_unverified':\n\t\t\treturn 'needs_no_data_verification';\n\t\tcase 'date_incorrect':\n\t\tcase 'missing_date_window':\n\t\t\treturn 'needs_date_window_repair';\n\t\tcase 'illegal_query_shape':\n\t\t\treturn 'needs_query_shape_repair';\n\t\tcase 'missing_data_source':\n\t\tcase 'missing_query_proof':\n\t\tcase 'missing_citations':\n\t\t\treturn 'needs_evidence';\n\t\tcase 'low_confidence':\n\t\t\treturn 'needs_confidence_review';\n\t\tcase 'missing_next_action':\n\t\t\treturn 'needs_next_action';\n\t\tcase 'incorrect':\n\t\t\treturn 'incorrect';\n\t\tdefault:\n\t\t\treturn 'blocked';\n\t}\n}\n\nfunction assistantActionabilityCommand(status: AssistantAnswerActionabilityStatus): string {\n\tswitch (status) {\n\t\tcase 'ready_to_answer':\n\t\t\treturn 'answer_from_verified_system_data';\n\t\tcase 'needs_query_repair':\n\t\t\treturn 'repair_assistant_query_and_rerun';\n\t\tcase 'needs_permission':\n\t\t\treturn 'request_assistant_data_permission';\n\t\tcase 'needs_no_data_verification':\n\t\t\treturn 'verify_no_data_with_scoped_probe';\n\t\tcase 'needs_date_window_repair':\n\t\t\treturn 'repair_assistant_date_window_and_rerun';\n\t\tcase 'needs_query_shape_repair':\n\t\t\treturn 'repair_assistant_mongo_query_shape';\n\t\tcase 'needs_confidence_review':\n\t\t\treturn 'review_assistant_confidence_evidence';\n\t\tcase 'needs_next_action':\n\t\t\treturn 'add_assistant_next_action';\n\t\tcase 'incorrect':\n\t\t\treturn 'repair_assistant_answer_from_failed_check';\n\t\tcase 'needs_evidence':\n\t\tcase 'blocked':\n\t\tdefault:\n\t\t\treturn 'collect_assistant_answer_evidence';\n\t}\n}\n\nfunction assistantActionabilityLabel(status: AssistantAnswerActionabilityStatus): string {\n\tswitch (status) {\n\t\tcase 'ready_to_answer':\n\t\t\treturn 'Answer From Verified Data';\n\t\tcase 'needs_query_repair':\n\t\t\treturn 'Repair Query';\n\t\tcase 'needs_permission':\n\t\t\treturn 'Request Data Permission';\n\t\tcase 'needs_no_data_verification':\n\t\t\treturn 'Verify No Data';\n\t\tcase 'needs_date_window_repair':\n\t\t\treturn 'Repair Date Window';\n\t\tcase 'needs_query_shape_repair':\n\t\t\treturn 'Repair Query Shape';\n\t\tcase 'needs_confidence_review':\n\t\t\treturn 'Review Confidence';\n\t\tcase 'needs_next_action':\n\t\t\treturn 'Add Next Action';\n\t\tcase 'incorrect':\n\t\t\treturn 'Repair Incorrect Answer';\n\t\tdefault:\n\t\t\treturn 'Collect Answer Evidence';\n\t}\n}\n\nexport function buildAssistantAnswerActionabilityContract(\n\tdecision: AssistantAnswerQualityDecision,\n\tnow?: Date | string\n): AssistantAnswerActionabilityContract {\n\tconst status = assistantActionabilityStatus(decision);\n\tconst primaryCommand = assistantActionabilityCommand(status);\n\tconst ready = status === 'ready_to_answer';\n\tconst noDataReady = ready && decision.queryStatus === 'no_data' && decision.noDataConfirmed;\n\tconst canAnswerCustomer = ready && (\n\t\tdecision.queryStatus === 'ok'\n\t\t|| noDataReady\n\t\t|| decision.queryEvidenceRequired === false\n\t);\n\tconst canDraftSupportReply = canAnswerCustomer && decision.confidenceLevel === 'high';\n\tconst requiresHumanReview = !canAnswerCustomer || canDraftSupportReply;\n\tconst cheapRepair = /needs_(?:no_data|date_window|query_shape|next_action)|needs_evidence/.test(status);\n\tconst blockers = decision.blockers.length\n\t\t? decision.blockers\n\t\t: (ready ? [] : [decision.reason]);\n\tconst requiredEvidence = Array.from(new Set([\n\t\t...(decision.queryEvidenceRequired ? ['structured query/tool execution proof'] : []),\n\t\t...(decision.dateWindowRequired ? ['concrete date-window start and end'] : []),\n\t\t...(decision.queryStatus === 'no_data' ? ['noDataConfirmed=true from scoped probe or query evidence'] : []),\n\t\t...(decision.legalQueryShape ? [] : ['legal Mongo query/projection shape']),\n\t\t...(decision.citationRefs.length || decision.evidenceRefs.length ? [] : ['citationRefs or evidenceRefs']),\n\t\t...(decision.nextActions.length ? [] : ['one explicit next action or no-action state']),\n\t\t...(decision.confidenceLevel === 'low' || decision.confidenceLevel === 'unknown' ? ['medium/high confidence evidence'] : [])\n\t])).slice(0, 20);\n\treturn {\n\t\tcontractId: `assistant-actionability:${decision.status}:${decision.queryStatus}:${decision.recordedAt}`,\n\t\tstatus,\n\t\tprimaryCommand,\n\t\tlabel: assistantActionabilityLabel(status),\n\t\tcanAnswerCustomer,\n\t\tcanDraftSupportReply,\n\t\tcanSendCustomerReply: false,\n\t\trequiresHumanReview,\n\t\tcanRunWithoutCodexMonitor: ready || cheapRepair,\n\t\tcodexFallbackRequired: !ready && !cheapRepair,\n\t\tcostRisk: ready\n\t\t\t? 'free_or_deterministic'\n\t\t\t: status === 'needs_permission'\n\t\t\t\t? 'manual_blocked'\n\t\t\t\t: (status === 'needs_query_repair' || status === 'incorrect' ? 'small_model_or_qa' : 'free_or_deterministic'),\n\t\tqueryResultClass: decision.queryStatus,\n\t\tconfidenceLevel: decision.confidenceLevel,\n\t\tdecisionBasis: {\n\t\t\tanswerQualityStatus: decision.status,\n\t\t\tqueryStatus: decision.queryStatus,\n\t\t\tqueryEvidencePresent: decision.queryEvidencePresent,\n\t\t\tnoDataConfirmed: decision.noDataConfirmed,\n\t\t\tlegalQueryShape: decision.legalQueryShape,\n\t\t\tdateWindowRequired: decision.dateWindowRequired,\n\t\t\tdateWindowPresent: decision.dateWindowPresent,\n\t\t\tcitationCount: decision.citationRefs.length + decision.evidenceRefs.length,\n\t\t\tnextActionCount: decision.nextActions.length\n\t\t},\n\t\trequiredEvidence,\n\t\tsuccessEvidence: Array.from(new Set([\n\t\t\t...(ready ? ['assistant answer quality gate passed'] : []),\n\t\t\t...(decision.queryEvidenceRefs.length ? decision.queryEvidenceRefs : []),\n\t\t\t...(decision.citationRefs.length ? decision.citationRefs : []),\n\t\t\t...(decision.evidenceRefs.length ? decision.evidenceRefs : [])\n\t\t])).slice(0, 20),\n\t\tblockers,\n\t\tnextActions: decision.nextActions,\n\t\tnextCommands: Array.from(new Set([\n\t\t\tprimaryCommand,\n\t\t\t...(status === 'needs_query_repair' ? ['fix_query_error', 'rerun_assistant_query'] : []),\n\t\t\t...(status === 'needs_no_data_verification' ? ['run_tiny_shape_probe', 'record_no_data_confirmed'] : []),\n\t\t\t...(status === 'needs_date_window_repair' ? ['resolve_current_date', 'record_concrete_date_window', 'rerun_assistant_query'] : []),\n\t\t\t...(status === 'needs_query_shape_repair' ? ['rewrite_illegal_projection', 'rerun_query_shape_validator'] : []),\n\t\t\t...(status === 'needs_permission' ? ['request_permission_or_choose_allowed_route'] : []),\n\t\t\t'record_assistant_actionability_result'\n\t\t])).slice(0, 20),\n\t\tforbiddenActions: Array.from(new Set([\n\t\t\t'Do not answer from keyword or route guesses without verified query evidence.',\n\t\t\t'Do not claim no data when queryStatus is query_error or permission_error.',\n\t\t\t...(decision.queryStatus === 'no_data' && !decision.noDataConfirmed ? ['Do not present no-data answer until noDataConfirmed=true.'] : []),\n\t\t\t...(decision.legalQueryShape ? [] : ['Do not answer from illegal Mongo projection/query shape.']),\n\t\t\t...(decision.dateWindowRequired && !decision.dateWindowPresent ? ['Do not answer dated questions without concrete start/end date evidence.'] : []),\n\t\t\t...(decision.confidenceLevel === 'low' || decision.confidenceLevel === 'unknown' ? ['Do not draft support/customer reply from low or unknown confidence.'] : [])\n\t\t])).slice(0, 20),\n\t\tevidenceRefs: Array.from(new Set([\n\t\t\t...decision.queryEvidenceRefs,\n\t\t\t...decision.citationRefs,\n\t\t\t...decision.evidenceRefs\n\t\t])).slice(0, 40),\n\t\trecordedAt: isoNow(now || decision.recordedAt)\n\t};\n}\n\nfunction assistantAnswerActionabilityGate(\n\tcontract: AssistantAnswerActionabilityContract,\n\tnow?: Date | string\n): AIRunGateResult {\n\tconst status: AIRunGateResult['status'] = contract.status === 'ready_to_answer'\n\t\t? 'pass'\n\t\t: contract.status === 'incorrect' || contract.status === 'needs_query_shape_repair' || contract.status === 'needs_date_window_repair'\n\t\t\t? 'fail'\n\t\t\t: 'blocked';\n\treturn {\n\t\tkey: 'assistant_answer_actionability',\n\t\tlabel: 'Assistant answer actionability',\n\t\tstatus,\n\t\treason: status === 'pass'\n\t\t\t? 'Assistant answer can proceed from verified structured evidence.'\n\t\t\t: (contract.blockers.join(' ') || 'Assistant answer is blocked until actionability evidence is complete.'),\n\t\tevidenceRefs: contract.evidenceRefs,\n\t\trecordedAt: isoNow(now || contract.recordedAt),\n\t\tmetadata: {\n\t\t\tcontractId: contract.contractId,\n\t\t\tstatus: contract.status,\n\t\t\tprimaryCommand: contract.primaryCommand,\n\t\t\tlabel: contract.label,\n\t\t\tcanAnswerCustomer: contract.canAnswerCustomer,\n\t\t\tcanDraftSupportReply: contract.canDraftSupportReply,\n\t\t\tcanSendCustomerReply: contract.canSendCustomerReply,\n\t\t\trequiresHumanReview: contract.requiresHumanReview,\n\t\t\tcanRunWithoutCodexMonitor: contract.canRunWithoutCodexMonitor,\n\t\t\tcodexFallbackRequired: contract.codexFallbackRequired,\n\t\t\tcostRisk: contract.costRisk,\n\t\t\tqueryResultClass: contract.queryResultClass,\n\t\t\tconfidenceLevel: contract.confidenceLevel,\n\t\t\tdecisionBasis: contract.decisionBasis,\n\t\t\trequiredEvidence: contract.requiredEvidence,\n\t\t\tsuccessEvidence: contract.successEvidence,\n\t\t\tblockers: contract.blockers,\n\t\t\tnextActions: contract.nextActions,\n\t\t\tnextCommands: contract.nextCommands,\n\t\t\tforbiddenActions: contract.forbiddenActions\n\t\t}\n\t};\n}\n\nfunction applyAssistantAnswerQualityGate(\n\tqa: AIQaRun,\n\tdecision: AssistantAnswerQualityDecision,\n\tnow?: Date | string\n): AIQaRun {\n\tconst gate = assistantAnswerQualityGate(decision, now);\n\tif (decision.ready) {\n\t\treturn {\n\t\t\t...qa,\n\t\t\tgateResults: [...qa.gateResults, gate]\n\t\t};\n\t}\n\treturn {\n\t\t...qa,\n\t\toutcome: /incorrect|date_incorrect|missing_date_window|illegal_query_shape/.test(decision.status)\n\t\t\t? 'business_assertion_failed'\n\t\t\t: 'incomplete',\n\t\tgateResults: [\n\t\t\t...qa.gateResults.filter((existing) => !(existing.key === 'qa_business_assertion' && existing.status === 'pass')),\n\t\t\tgate\n\t\t]\n\t};\n}\n\nexport function buildSupportAIRunFromEvidence(input: SupportAIRunAdapterInput): AIRun {\n\tconst ticket = input.ticket || {};\n\tconst job = input.job || {};\n\tconst evidence = buildSupportQaEvidence(input);\n\tconst events: AIRunEvent[] = [];\n\tconst gates: AIRunGateResult[] = [];\n\tconst sourceIds: Record<string, string> = {};\n\taddSourceId(sourceIds, 'ticketId', ticket._id || ticket.id || job.ticketId || job.supportTicketId);\n\taddSourceId(sourceIds, 'ticketNumber', ticket.ticketNumber || ticket.number || job.ticketNumber);\n\taddSourceId(sourceIds, 'jobId', job._id || job.id || job.jobId);\n\taddSourceId(sourceIds, 'buildPlanId', job.buildPlanId || ticket.buildPlanId);\n\n\tfor (const event of asArray<Record<string, any>>(input.taskEvents)) {\n\t\tpushEvent(events, {\n\t\t\ttype: event.type === 'human_intervention' ? 'human_intervention' : 'log',\n\t\t\tcategory: cleanText(event.category || event.phase || event.type, 160),\n\t\t\tmessage: cleanText(event.message || event.summary || event.text || event.title, 1800),\n\t\t\trecordedAt: eventDate(event),\n\t\t\tmetadata: {\n\t\t\t\tstatus: event.status,\n\t\t\t\tphase: event.phase,\n\t\t\t\ttaskId: event.taskId || event._id || event.id\n\t\t\t}\n\t\t});\n\t}\n\tfor (const aiJob of asArray<Record<string, any>>(input.aiJobs)) {\n\t\tpushEvent(events, {\n\t\t\ttype: aiJob.model ? 'model_call' : 'log',\n\t\t\tcategory: cleanText(aiJob.category || aiJob.phase || aiJob.runner, 160),\n\t\t\tmessage: cleanText(aiJob.summary || aiJob.promptSummary || aiJob.status || aiJob.phase, 1800),\n\t\t\trecordedAt: eventDate(aiJob),\n\t\t\tmetadata: {\n\t\t\t\tid: aiJob._id || aiJob.id,\n\t\t\t\tmodel: aiJob.model,\n\t\t\t\tstatus: aiJob.status,\n\t\t\t\tphase: aiJob.phase\n\t\t\t}\n\t\t});\n\t}\n\tcollectCommitEvents(asArray<Record<string, any>>(input.commits), events);\n\tcollectHotfixEvidenceEvents([job, ticket, evidence, input.qaEvidence], events, gates, input.now);\n\tconst noBlindLoopGate = supportManagerNoBlindLoopGate(job, evidence, input.now);\n\tif (noBlindLoopGate) {\n\t\tgates.push(noBlindLoopGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'manager_no_blind_loop_policy',\n\t\t\tmessage: noBlindLoopGate.reason,\n\t\t\tartifactPaths: noBlindLoopGate.evidenceRefs,\n\t\t\trecordedAt: noBlindLoopGate.recordedAt,\n\t\t\tmetadata: noBlindLoopGate.metadata\n\t\t});\n\t}\n\tconst businessProofReadiness = plainObject(evidence.businessProofReadiness || evidence.business_proof_readiness);\n\tconst businessProofReadinessGate = supportBusinessProofReadinessGate(businessProofReadiness, input.now);\n\tif (businessProofReadinessGate) {\n\t\tgates.push(businessProofReadinessGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'qa_business_assertion',\n\t\t\tcategory: 'support_business_proof_readiness',\n\t\t\tmessage: businessProofReadinessGate.reason,\n\t\t\tartifactPaths: businessProofReadinessGate.evidenceRefs,\n\t\t\trecordedAt: businessProofReadinessGate.recordedAt,\n\t\t\tmetadata: businessProofReadinessGate.metadata\n\t\t});\n\t}\n\tconst customerReplyPolicy = plainObject(evidence.customerReplyPolicy || evidence.customer_reply_policy);\n\tconst customerReplyPolicyGate = supportCustomerReplyPolicyGate(customerReplyPolicy, input.now);\n\tif (customerReplyPolicyGate) {\n\t\tgates.push(customerReplyPolicyGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'human_intervention',\n\t\t\tcategory: 'support_customer_reply_policy',\n\t\t\tmessage: customerReplyPolicyGate.reason,\n\t\t\tartifactPaths: customerReplyPolicyGate.evidenceRefs,\n\t\t\trecordedAt: customerReplyPolicyGate.recordedAt,\n\t\t\tmetadata: customerReplyPolicyGate.metadata\n\t\t});\n\t}\n\tconst customerReplyReadiness = plainObject(\n\t\tevidence.customerReplyReadiness\n\t\t|| evidence.customer_reply_readiness\n\t\t|| customerReplyPolicy.readinessContract\n\t\t|| customerReplyPolicy.readiness_contract\n\t);\n\tconst customerReplyReadinessGate = supportCustomerReplyReadinessGate(customerReplyReadiness, input.now);\n\tif (customerReplyReadinessGate) {\n\t\tgates.push(customerReplyReadinessGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'human_intervention',\n\t\t\tcategory: 'support_customer_reply_readiness',\n\t\t\tmessage: customerReplyReadinessGate.reason,\n\t\t\tartifactPaths: customerReplyReadinessGate.evidenceRefs,\n\t\t\trecordedAt: customerReplyReadinessGate.recordedAt,\n\t\t\tmetadata: customerReplyReadinessGate.metadata\n\t\t});\n\t}\n\tconst customerReplySendContract = supportProofBackedCustomerReplySendObject(ticket, job, evidence);\n\tconst customerReplySendGuard = supportCustomerReplySendGuardObject(ticket, job, evidence);\n\tconst customerReplySendGate = supportProofBackedCustomerReplySendGate(customerReplySendContract, customerReplySendGuard, input.now);\n\tif (customerReplySendGate) {\n\t\tgates.push(customerReplySendGate);\n\t\tpushEvent(events, {\n\t\t\ttype: customerReplySendGate.status === 'pass' ? 'human_intervention' : 'log',\n\t\t\tcategory: 'support_proof_backed_customer_reply_send',\n\t\t\tmessage: customerReplySendGate.reason,\n\t\t\tartifactPaths: customerReplySendGate.evidenceRefs,\n\t\t\trecordedAt: customerReplySendGate.recordedAt,\n\t\t\tmetadata: customerReplySendGate.metadata\n\t\t});\n\t}\n\tconst autonomyApproval = supportAutonomyApprovalObject(ticket, job, evidence);\n\tconst autonomyApprovalGate = supportAutonomyApprovalGate(autonomyApproval, input.now);\n\tif (autonomyApprovalGate) {\n\t\tgates.push(autonomyApprovalGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'human_intervention',\n\t\t\tcategory: 'support_autonomy_approval',\n\t\t\tmessage: autonomyApprovalGate.reason,\n\t\t\tartifactPaths: autonomyApprovalGate.evidenceRefs,\n\t\t\trecordedAt: autonomyApprovalGate.recordedAt,\n\t\t\tmetadata: autonomyApprovalGate.metadata\n\t\t});\n\t}\n\t\tconst productRepairDispatchGuard = supportProductRepairDispatchGuardObject(ticket, job, evidence);\n\t\tconst productRepairDispatchGate = supportProductRepairDispatchGuardGate(productRepairDispatchGuard, input.now);\n\t\tif (productRepairDispatchGate) {\n\t\t\tgates.push(productRepairDispatchGate);\n\t\t\tpushEvent(events, {\n\t\t\ttype: 'human_intervention',\n\t\t\tcategory: 'support_product_repair_dispatch_guard',\n\t\t\tmessage: productRepairDispatchGate.reason,\n\t\t\tartifactPaths: productRepairDispatchGate.evidenceRefs,\n\t\t\trecordedAt: productRepairDispatchGate.recordedAt,\n\t\t\t\tmetadata: productRepairDispatchGate.metadata\n\t\t\t});\n\t\t}\n\t\tconst autoloopApprovalBlock = supportAutoloopApprovalBlockObject(ticket, job, evidence);\n\t\tconst autoloopApprovalBlockGate = downgradeStaleSupportRepairIntentApprovalBlock(\n\t\t\tsupportAutoloopApprovalBlockGate(autoloopApprovalBlock, input.now),\n\t\t\tautonomyApprovalGate,\n\t\t\tproductRepairDispatchGate\n\t\t);\n\t\tif (autoloopApprovalBlockGate) {\n\t\t\tgates.push(autoloopApprovalBlockGate);\n\t\t\tpushEvent(events, {\n\t\t\t\ttype: 'human_intervention',\n\t\t\t\tcategory: 'support_autoloop_approval_block',\n\t\t\t\tmessage: autoloopApprovalBlockGate.reason,\n\t\t\t\tartifactPaths: autoloopApprovalBlockGate.evidenceRefs,\n\t\t\t\trecordedAt: autoloopApprovalBlockGate.recordedAt,\n\t\t\t\tmetadata: autoloopApprovalBlockGate.metadata\n\t\t\t});\n\t\t}\n\t\tconst autoloopNoProgress = supportAutoloopNoProgressObject(ticket, job, evidence);\n\t\tconst autoloopNoProgressGate = supportAutoloopNoProgressGate(autoloopNoProgress, input.now);\n\t\tif (autoloopNoProgressGate) {\n\t\t\tgates.push(autoloopNoProgressGate);\n\t\t\tpushEvent(events, {\n\t\t\t\ttype: autoloopNoProgressGate.status === 'blocked' ? 'human_intervention' : 'log',\n\t\t\t\tcategory: 'support_autoloop_no_progress',\n\t\t\t\tmessage: autoloopNoProgressGate.reason,\n\t\t\t\tartifactPaths: autoloopNoProgressGate.evidenceRefs,\n\t\t\t\trecordedAt: autoloopNoProgressGate.recordedAt,\n\t\t\t\tmetadata: autoloopNoProgressGate.metadata\n\t\t\t});\n\t\t}\n\t\tconst humanDecisionRequest = supportHumanDecisionRequestObject(ticket, job, evidence);\n\t\tconst humanDecisionRequestGate = supportHumanDecisionRequestGate(humanDecisionRequest, input.now);\n\t\tif (humanDecisionRequestGate) {\n\t\t\tgates.push(humanDecisionRequestGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'human_intervention',\n\t\t\tcategory: 'support_human_decision_request',\n\t\t\tmessage: humanDecisionRequestGate.reason,\n\t\t\tartifactPaths: humanDecisionRequestGate.evidenceRefs,\n\t\t\trecordedAt: humanDecisionRequestGate.recordedAt,\n\t\t\tmetadata: humanDecisionRequestGate.metadata\n\t\t});\n\t}\n\tconst postApprovalAutostart = supportPostApprovalAutostartObject(ticket, job, evidence);\n\tconst postApprovalAutostartGate = supportPostApprovalAutostartGate(postApprovalAutostart, input.now);\n\tif (postApprovalAutostartGate) {\n\t\tgates.push(postApprovalAutostartGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_post_approval_autostart',\n\t\t\tmessage: postApprovalAutostartGate.reason,\n\t\t\tartifactPaths: postApprovalAutostartGate.evidenceRefs,\n\t\t\trecordedAt: postApprovalAutostartGate.recordedAt,\n\t\t\tmetadata: postApprovalAutostartGate.metadata\n\t\t});\n\t}\n\tconst postApprovalResumeAttempt = supportPostApprovalResumeAttemptObject(ticket, job, evidence);\n\tconst postApprovalResumeAttemptGate = supportPostApprovalResumeAttemptGate(postApprovalResumeAttempt, input.now);\n\tif (postApprovalResumeAttemptGate) {\n\t\tgates.push(postApprovalResumeAttemptGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_post_approval_resume_attempt',\n\t\t\tmessage: postApprovalResumeAttemptGate.reason,\n\t\t\tartifactPaths: postApprovalResumeAttemptGate.evidenceRefs,\n\t\t\trecordedAt: postApprovalResumeAttemptGate.recordedAt,\n\t\t\tmetadata: postApprovalResumeAttemptGate.metadata\n\t\t});\n\t}\n\tconst intakeRevisionContract = supportIntakeRevisionContractObject(ticket, job, evidence);\n\tconst intakeRevisionContractGate = supportIntakeRevisionContractGate(intakeRevisionContract, input.now);\n\tif (intakeRevisionContractGate) {\n\t\tgates.push(intakeRevisionContractGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'human_intervention',\n\t\t\tcategory: 'support_intake_revision_contract',\n\t\t\tmessage: intakeRevisionContractGate.reason,\n\t\t\tartifactPaths: intakeRevisionContractGate.evidenceRefs,\n\t\t\trecordedAt: intakeRevisionContractGate.recordedAt,\n\t\t\tmetadata: intakeRevisionContractGate.metadata\n\t\t});\n\t}\n\tconst managerContinuation = supportManagerContinuationObject(ticket, job, evidence);\n\tconst managerContinuationGate = supportManagerContinuationGate(managerContinuation, input.now);\n\tif (managerContinuationGate) {\n\t\tgates.push(managerContinuationGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'human_intervention',\n\t\t\tcategory: 'support_manager_continuation',\n\t\t\tmessage: managerContinuationGate.reason,\n\t\t\tartifactPaths: managerContinuationGate.evidenceRefs,\n\t\t\trecordedAt: managerContinuationGate.recordedAt,\n\t\t\tmetadata: managerContinuationGate.metadata\n\t\t});\n\t}\n\tconst prReadinessContract = supportPrReadinessContractObject(ticket, job, evidence);\n\tconst prReadinessContractGate = supportPrReadinessContractGate(prReadinessContract, input.now);\n\tif (prReadinessContractGate) {\n\t\tgates.push(prReadinessContractGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_pr_readiness_contract',\n\t\t\tmessage: prReadinessContractGate.reason,\n\t\t\tartifactPaths: prReadinessContractGate.evidenceRefs,\n\t\t\trecordedAt: prReadinessContractGate.recordedAt,\n\t\t\tmetadata: prReadinessContractGate.metadata\n\t\t});\n\t}\n\tconst prReviewContract = supportPrReviewContractObject(ticket, job, evidence);\n\tconst prReviewContractGate = supportPrReviewContractGate(prReviewContract, input.now);\n\tif (prReviewContractGate) {\n\t\tgates.push(prReviewContractGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_pr_review_contract',\n\t\t\tmessage: prReviewContractGate.reason,\n\t\t\tartifactPaths: prReviewContractGate.evidenceRefs,\n\t\t\trecordedAt: prReviewContractGate.recordedAt,\n\t\t\tmetadata: prReviewContractGate.metadata\n\t\t});\n\t}\n\tconst prCreationResult = supportPrCreationResultObject(ticket, job, evidence);\n\tconst prCreationResultGate = supportPrCreationResultGate(prCreationResult, input.now);\n\tif (prCreationResultGate) {\n\t\tgates.push(prCreationResultGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_pr_creation_result',\n\t\t\tmessage: prCreationResultGate.reason,\n\t\t\tartifactPaths: prCreationResultGate.evidenceRefs,\n\t\t\trecordedAt: prCreationResultGate.recordedAt,\n\t\t\tmetadata: prCreationResultGate.metadata\n\t\t});\n\t}\n\tconst autopilotCompletionGate = supportAutopilotCompletionContractGate(autonomyApproval, prReadinessContract, prReviewContract, input.now);\n\tif (autopilotCompletionGate) {\n\t\tgates.push(autopilotCompletionGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_autopilot_completion_contract',\n\t\t\tmessage: autopilotCompletionGate.reason,\n\t\t\tartifactPaths: autopilotCompletionGate.evidenceRefs,\n\t\t\trecordedAt: autopilotCompletionGate.recordedAt,\n\t\t\tmetadata: autopilotCompletionGate.metadata\n\t\t});\n\t}\n\tconst releaseCustomerAcceptance = supportReleaseCustomerAcceptanceObject(ticket, job, evidence, prReadinessContract);\n\tconst releaseCustomerAcceptanceGate = supportReleaseCustomerAcceptanceGate(releaseCustomerAcceptance, input.now);\n\tif (releaseCustomerAcceptanceGate) {\n\t\tgates.push(releaseCustomerAcceptanceGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'deploy',\n\t\t\tcategory: 'support_release_customer_acceptance',\n\t\t\tmessage: releaseCustomerAcceptanceGate.reason,\n\t\t\tartifactPaths: releaseCustomerAcceptanceGate.evidenceRefs,\n\t\t\trecordedAt: releaseCustomerAcceptanceGate.recordedAt,\n\t\t\tmetadata: releaseCustomerAcceptanceGate.metadata\n\t\t});\n\t}\n\tconst nextActionContract = supportNextActionContractObject(ticket, job, evidence);\n\tconst nextActionContractRequired = supportNextActionContractRequired(ticket, job, evidence);\n\tconst nextActionContractGate = supportNextActionContractGate(nextActionContract, input.now, nextActionContractRequired);\n\tif (nextActionContractGate) {\n\t\tgates.push(nextActionContractGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_next_action_contract',\n\t\t\tmessage: nextActionContractGate.reason,\n\t\t\tartifactPaths: nextActionContractGate.evidenceRefs,\n\t\t\trecordedAt: nextActionContractGate.recordedAt,\n\t\t\tmetadata: nextActionContractGate.metadata\n\t\t});\n\t}\n\tconst evidenceProbeContract = supportEvidenceProbeContractObject(ticket, job, evidence);\n\tconst evidenceProbeContractRequired = cleanText(nextActionContract.action, 160) === 'collect_new_evidence'\n\t\t|| noBlindLoopGate?.metadata?.requiresNewEvidence === true\n\t\t|| Object.keys(evidenceProbeContract).length > 0;\n\tconst evidenceProbeContractGate = supportEvidenceProbeContractGate(\n\t\tevidenceProbeContract,\n\t\tinput.now,\n\t\tevidenceProbeContractRequired\n\t);\n\tif (evidenceProbeContractGate) {\n\t\tgates.push(evidenceProbeContractGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_evidence_probe_contract',\n\t\t\tmessage: evidenceProbeContractGate.reason,\n\t\t\tartifactPaths: evidenceProbeContractGate.evidenceRefs,\n\t\t\trecordedAt: evidenceProbeContractGate.recordedAt,\n\t\t\tmetadata: evidenceProbeContractGate.metadata\n\t\t});\n\t}\n\tconst managerExecutionPacket = supportManagerExecutionPacketObject(ticket, job, evidence, nextActionContract);\n\tconst managerExecutionPacketGate = supportManagerExecutionPacketGate(managerExecutionPacket, input.now, nextActionContractRequired);\n\tif (managerExecutionPacketGate) {\n\t\tgates.push(managerExecutionPacketGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_manager_execution_packet',\n\t\t\tmessage: managerExecutionPacketGate.reason,\n\t\t\tartifactPaths: managerExecutionPacketGate.evidenceRefs,\n\t\t\trecordedAt: managerExecutionPacketGate.recordedAt,\n\t\t\tmetadata: managerExecutionPacketGate.metadata\n\t\t});\n\t}\n\tconst managerRecoveryExecutionProof = plainObject(evidence.managerRecoveryExecutionProof || evidence.manager_recovery_execution_proof);\n\tconst recoveryExecutionProofGate = managerRecoveryExecutionProofGate(managerRecoveryExecutionProof, input.now);\n\tif (recoveryExecutionProofGate) {\n\t\tgates.push(recoveryExecutionProofGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'manager_recovery_execution_proof',\n\t\t\tmessage: recoveryExecutionProofGate.reason,\n\t\t\tartifactPaths: recoveryExecutionProofGate.evidenceRefs,\n\t\t\trecordedAt: recoveryExecutionProofGate.recordedAt,\n\t\t\tmetadata: recoveryExecutionProofGate.metadata\n\t\t});\n\t}\n\tconst ticketAutomation = plainObject(ticket.automation);\n\tconst ticketManagerState = plainObject(ticketAutomation.manager || ticket.manager);\n\tconst rootCauseEntryContract = evidenceObject(\n\t\tjob.supportRootCauseEntryContract,\n\t\tjob.support_root_cause_entry_contract,\n\t\tjob.rootCauseEntryContract,\n\t\tticket.supportRootCauseEntryContract,\n\t\tticket.rootCauseEntryContract,\n\t\tticketManagerState.root_cause_entry_contract,\n\t\tticketManagerState.rootCauseEntryContract,\n\t\tevidence.rootCauseEntryContract,\n\t\tevidence.root_cause_entry_contract\n\t);\n\tconst rootCauseEntryContractGate = supportRootCauseEntryContractGate(rootCauseEntryContract, input.now);\n\tif (rootCauseEntryContractGate) {\n\t\tgates.push(rootCauseEntryContractGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_root_cause_entry_contract',\n\t\t\tmessage: rootCauseEntryContractGate.reason,\n\t\t\tartifactPaths: rootCauseEntryContractGate.evidenceRefs,\n\t\t\trecordedAt: rootCauseEntryContractGate.recordedAt,\n\t\t\tmetadata: rootCauseEntryContractGate.metadata\n\t\t});\n\t}\n\tconst cost = collectUsageEvents(asArray<Record<string, any>>(input.usageLedger), events);\n\tconst costGate = costObservabilityGate(cost, 'support_ticket', input.now);\n\tgates.push(costGate);\n\tpushEvent(events, {\n\t\ttype: 'usage',\n\t\tcategory: 'cost_observability',\n\t\tmessage: costGate.reason,\n\t\tartifactPaths: costGate.evidenceRefs,\n\t\trecordedAt: costGate.recordedAt,\n\t\tmetadata: costGate.metadata\n\t});\n\tconst preflightGateSource = supportPreflightGateObject(ticket, job, evidence);\n\tconst preflightGate = supportPreflightGateResult(preflightGateSource, input.now);\n\tif (preflightGate) {\n\t\tgates.push(preflightGate);\n\t\tpushEvent(events, {\n\t\t\ttype: preflightGate.metadata?.failureClass === 'compile' || preflightGateSource.status === 'compile_failed' ? 'qa_compile' : 'qa_infra',\n\t\t\tcategory: 'support_preflight_gate',\n\t\t\tmessage: preflightGate.reason,\n\t\t\tartifactPaths: preflightGate.evidenceRefs,\n\t\t\trecordedAt: preflightGate.recordedAt,\n\t\t\tmetadata: preflightGate.metadata\n\t\t});\n\t}\n\n\tconst diagnosisGate = evidenceObject(\n\t\tjob.supportV5DiagnosisGate,\n\t\tjob.support_v5_diagnosis_gate,\n\t\tjob.diagnosisGate,\n\t\tticket.supportV5DiagnosisGate,\n\t\tticket.diagnosisGate,\n\t\tevidence.diagnosisGate,\n\t\tevidence.supportV5DiagnosisGate\n\t);\n\tconst diagnosisEvidencePackSource = supportDiagnosisEvidencePackObject(ticket, job, evidence);\n\tconst similarFixHints = supportSimilarFixHintsObject(ticket, job, evidence);\n\tconst similarFixHintContract = supportSimilarFixHintContractObject(ticket, job, evidence);\n\tconst similarFixHintContractGate = supportSimilarFixHintContractGate(similarFixHintContract, input.now);\n\tif (similarFixHintContractGate) {\n\t\tgates.push(similarFixHintContractGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_similar_fix_hint_contract',\n\t\t\tmessage: similarFixHintContractGate.reason,\n\t\t\tartifactPaths: similarFixHintContractGate.evidenceRefs,\n\t\t\trecordedAt: similarFixHintContractGate.recordedAt,\n\t\t\tmetadata: similarFixHintContractGate.metadata\n\t\t});\n\t}\n\tconst diagnosisEvidencePack = Object.keys(diagnosisEvidencePackSource).length\n\t\t? diagnosisEvidencePackSource\n\t\t: (Object.keys(diagnosisGate).length || Object.keys(similarFixHints).length)\n\t\t\t? buildResolveIOSupportDiagnosisEvidencePack({\n\t\t\t\tdiagnosisGate,\n\t\t\t\tsimilarCaseHints: similarFixHints,\n\t\t\t\tissueClass: diagnosisGate.issue_class || diagnosisGate.issueClass,\n\t\t\t\townerFiles: diagnosisGate.owner_files || diagnosisGate.ownerFiles,\n\t\t\t\ttext: [\n\t\t\t\t\tticket.title,\n\t\t\t\t\tticket.subject,\n\t\t\t\t\tticket.summary,\n\t\t\t\t\tjob.title,\n\t\t\t\t\tjob.summary\n\t\t\t\t].filter(Boolean).join(' '),\n\t\t\t\tnow: input.now\n\t\t\t}) as Record<string, any>\n\t\t\t: {};\n\tconst diagnosisEvidencePackGate = supportDiagnosisEvidencePackGate(diagnosisEvidencePack, input.now);\n\tif (diagnosisEvidencePackGate) {\n\t\tgates.push(diagnosisEvidencePackGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_diagnosis_evidence_pack',\n\t\t\tmessage: diagnosisEvidencePackGate.reason,\n\t\t\tartifactPaths: diagnosisEvidencePackGate.evidenceRefs,\n\t\t\trecordedAt: diagnosisEvidencePackGate.recordedAt,\n\t\t\tmetadata: diagnosisEvidencePackGate.metadata\n\t\t});\n\t}\n\tconst diagnosisProofMatrix = Object.keys(plainObject(diagnosisEvidencePack.proofMatrix || diagnosisEvidencePack.proof_matrix)).length\n\t\t? plainObject(diagnosisEvidencePack.proofMatrix || diagnosisEvidencePack.proof_matrix)\n\t\t: Object.keys(diagnosisGate).length\n\t\t\t? buildResolveIOSupportDiagnosisProofMatrix(diagnosisGate, input.now) as Record<string, any>\n\t\t\t: {};\n\tconst diagnosisProofMatrixGate = supportDiagnosisProofMatrixGate(\n\t\tdiagnosisProofMatrix,\n\t\tinput.now,\n\t\tObject.keys(diagnosisGate).length > 0 || nextActionContractRequired\n\t);\n\tif (diagnosisProofMatrixGate) {\n\t\tgates.push(diagnosisProofMatrixGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_diagnosis_proof_matrix',\n\t\t\tmessage: diagnosisProofMatrixGate.reason,\n\t\t\tartifactPaths: diagnosisProofMatrixGate.evidenceRefs,\n\t\t\trecordedAt: diagnosisProofMatrixGate.recordedAt,\n\t\t\tmetadata: diagnosisProofMatrixGate.metadata\n\t\t});\n\t}\n\tconst issueClassProbePlanSource = supportIssueClassProbePlanObject(ticket, job, evidence);\n\tconst issueClassProbePlan = Object.keys(issueClassProbePlanSource).length\n\t\t? issueClassProbePlanSource\n\t\t: Object.keys(diagnosisGate).length\n\t\t\t? buildResolveIOSupportIssueClassProbePlan(diagnosisGate, input.now) as Record<string, any>\n\t\t\t: {};\n\tconst issueClassProbePlanRequired = nextActionContractRequired || Object.keys(diagnosisGate).length > 0;\n\tconst issueClassProbePlanGate = supportIssueClassProbePlanGate(\n\t\tissueClassProbePlan,\n\t\tdiagnosisGate,\n\t\tinput.now,\n\t\tissueClassProbePlanRequired\n\t);\n\tif (issueClassProbePlanGate) {\n\t\tgates.push(issueClassProbePlanGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_issue_class_probe_plan',\n\t\t\tmessage: issueClassProbePlanGate.reason,\n\t\t\tartifactPaths: issueClassProbePlanGate.evidenceRefs,\n\t\t\trecordedAt: issueClassProbePlanGate.recordedAt,\n\t\t\tmetadata: issueClassProbePlanGate.metadata\n\t\t});\n\t}\n\tconst productRepairEvidence = supportProductRepairEvidence(input, evidence);\n\tconst autonomousDecisionForRepairContract = plainObject(\n\t\tjob.supportV5AutonomousDecision\n\t\t|| job.support_v5_autonomous_decision\n\t\t|| evidence.supportV5AutonomousDecision\n\t\t|| evidence.support_v5_autonomous_decision\n\t\t|| ticket.supportV5AutonomousDecision\n\t\t|| ticket.support_v5_autonomous_decision\n\t);\n\tconst repairGateForRepairContract = plainObject(autonomousDecisionForRepairContract.repairGate || autonomousDecisionForRepairContract.repair_gate);\n\tconst ownerScopedRepairContractSource = evidenceObject(\n\t\tautonomousDecisionForRepairContract.ownerScopedRepairContract,\n\t\tautonomousDecisionForRepairContract.owner_scoped_repair_contract,\n\t\trepairGateForRepairContract.ownerScopedRepairContract,\n\t\trepairGateForRepairContract.owner_scoped_repair_contract,\n\t\tjob.supportV5OwnerScopedRepairContract,\n\t\tjob.support_v5_owner_scoped_repair_contract,\n\t\tjob.ownerScopedRepairContract,\n\t\tjob.owner_scoped_repair_contract,\n\t\tevidence.supportV5OwnerScopedRepairContract,\n\t\tevidence.support_v5_owner_scoped_repair_contract,\n\t\tevidence.ownerScopedRepairContract,\n\t\tevidence.owner_scoped_repair_contract,\n\t\tticket.supportV5OwnerScopedRepairContract,\n\t\tticket.support_v5_owner_scoped_repair_contract,\n\t\tticket.ownerScopedRepairContract,\n\t\tticket.owner_scoped_repair_contract\n\t);\n\tconst ownerScopedRepairContract = Object.keys(ownerScopedRepairContractSource).length\n\t\t? ownerScopedRepairContractSource\n\t\t: Object.keys(diagnosisGate).length\n\t\t\t? buildResolveIOSupportOwnerScopedRepairContract({\n\t\t\t\tdiagnosisGate,\n\t\t\t\tchangedFiles: productRepairEvidence.changedFiles,\n\t\t\t\tallowTestsOutsideOwnerFiles: true,\n\t\t\t\tnow: input.now\n\t\t\t}) as Record<string, any>\n\t\t\t: {};\n\tconst ownerScopedRepairContractGate = supportOwnerScopedRepairContractGate(\n\t\townerScopedRepairContract,\n\t\tinput.now,\n\t\tproductRepairEvidence.attempted || cleanText(nextActionContract.action, 120) === 'run_owner_scoped_repair'\n\t);\n\tif (ownerScopedRepairContractGate) {\n\t\tgates.push(ownerScopedRepairContractGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_owner_scoped_repair_contract',\n\t\t\tmessage: ownerScopedRepairContractGate.reason,\n\t\t\tartifactPaths: ownerScopedRepairContractGate.evidenceRefs,\n\t\t\trecordedAt: ownerScopedRepairContractGate.recordedAt,\n\t\t\tmetadata: ownerScopedRepairContractGate.metadata\n\t\t});\n\t}\n\tconst diagnosisBeforeRepairGate = supportDiagnosisBeforeRepairGate(diagnosisGate, productRepairEvidence, input.now);\n\tif (diagnosisBeforeRepairGate) {\n\t\tgates.push(diagnosisBeforeRepairGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_diagnosis_before_repair',\n\t\t\tmessage: diagnosisBeforeRepairGate.reason,\n\t\t\tartifactPaths: diagnosisBeforeRepairGate.evidenceRefs,\n\t\t\trecordedAt: diagnosisBeforeRepairGate.recordedAt,\n\t\t\tmetadata: diagnosisBeforeRepairGate.metadata\n\t\t});\n\t}\n\tconst ownerFileScopeGate = supportOwnerFileScopeGate(diagnosisGate, productRepairEvidence, input.now);\n\tif (ownerFileScopeGate) {\n\t\tgates.push(ownerFileScopeGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'support_owner_file_scope',\n\t\t\tmessage: ownerFileScopeGate.reason,\n\t\t\tartifactPaths: ownerFileScopeGate.evidenceRefs,\n\t\t\trecordedAt: ownerFileScopeGate.recordedAt,\n\t\t\tmetadata: ownerFileScopeGate.metadata\n\t\t});\n\t}\n\tconst qa = applySupportDiagnosisProofGate(buildQaFromEvidence(evidence, input.now), diagnosisGate, input.now);\n\tconst diagnosisOwnerFiles = asArray<string>(diagnosisGate.owner_files || diagnosisGate.ownerFiles);\n\tconst diagnosisIssueClass = cleanText(diagnosisGate.issue_class || diagnosisGate.issueClass, 120);\n\tif (Object.keys(diagnosisGate).length) {\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'diagnosis_gate',\n\t\t\tmessage: cleanText(diagnosisGate.accepted_hypothesis?.statement || diagnosisGate.acceptedHypothesis?.statement || diagnosisGate.summary || 'Support diagnosis gate recorded.', 1800),\n\t\t\tmetadata: {\n\t\t\t\tstatus: diagnosisGate.status,\n\t\t\t\tissueClass: diagnosisIssueClass,\n\t\t\t\townerFiles: diagnosisOwnerFiles\n\t\t\t}\n\t\t});\n\t}\n\treturn buildAIRun({\n\t\tsource: 'support_ticket',\n\t\tsourceIds,\n\t\ttitle: firstText(ticket, ['title', 'subject', 'summary']) || firstText(job, ['title', 'summary']),\n\t\tstatus: firstText(job, ['status', 'state']) || firstText(ticket, ['status', 'state']),\n\t\tphase: firstText(job, ['phase', 'runnerPhase']),\n\t\tstartedAt: dateValue(job, ['startedAt', 'createdAt']) || dateValue(ticket, ['createdAt']),\n\t\tcompletedAt: dateValue(job, ['completedAt', 'finishedAt', 'updatedAt']),\n\t\tevents,\n\t\tgates,\n\t\tqa,\n\t\tcost,\n\t\tscorecardPassed: evidence.scorecardPassed === true || evidence.scorecardStatus === 'pass',\n\t\tdeployStatus: evidence.deployStatus,\n\t\tpublishStatus: evidence.publishStatus,\n\t\tsampleDataStatus: evidence.sampleDataStatus,\n\t\tmanualHandoff: evidence.manualHandoff === true || job.manualHandoff === true,\n\t\tstopped: evidence.stopped === true || job.stopped === true,\n\t\trejected: evidence.rejected === true,\n\t\texplicitAccepted: evidence.explicitAccepted === true || ticket.accepted === true,\n\t\tterminal: /complete|closed|resolved|done|failed|rejected/i.test(`${job.status || ''} ${ticket.status || ''}`),\n\t\tnow: input.now,\n\t\tmetadata: {\n\t\t\tversionCount: asArray(input.versions).length,\n\t\t\tbuildPlanCount: asArray(input.buildPlans).length,\n\t\t\tcostObservability: costObservabilityMetadata(costGate),\n\t\t\thotfixDurability: hotfixDurabilityMetadata(gates),\n\t\t\tmanagerNoBlindLoopPolicy: managerNoBlindLoopMetadata(noBlindLoopGate),\n\t\t\tautonomyApproval: autonomyApprovalGate ? {\n\t\t\t\tstatus: autonomyApprovalGate.status,\n\t\t\t\tapproved: autonomyApprovalGate.metadata?.approved === true,\n\t\t\t\tcontractId: cleanText(autonomyApprovalGate.metadata?.contractId, 180),\n\t\t\t\tdecisionKind: cleanText(autonomyApprovalGate.metadata?.decisionKind, 120),\n\t\t\t\tapprovalAction: cleanText(autonomyApprovalGate.metadata?.approvalAction, 120),\n\t\t\t\tpreferredChoiceId: cleanText(autonomyApprovalGate.metadata?.preferredChoiceId, 120),\n\t\t\t\tcanApproveFromConsole: autonomyApprovalGate.metadata?.canApproveFromConsole === true,\n\t\t\t\testimatedHours: Number(autonomyApprovalGate.metadata?.estimatedHours || 0),\n\t\t\t\testimatedHoursKnown: autonomyApprovalGate.metadata?.estimatedHoursKnown === true,\n\t\t\t\tmaxAutoHoursWithoutApproval: Number(autonomyApprovalGate.metadata?.maxAutoHoursWithoutApproval || 0),\n\t\t\t\toverMaxAutoHours: autonomyApprovalGate.metadata?.overMaxAutoHours === true,\n\t\t\t\tapproveOverMaxHours: autonomyApprovalGate.metadata?.approveOverMaxHours === true,\n\t\t\t\tapproveOverSixHours: autonomyApprovalGate.metadata?.approveOverSixHours === true,\n\t\t\t\texplicitOverLimitApproval: autonomyApprovalGate.metadata?.explicitOverLimitApproval === true,\n\t\t\t\tbugNotBug: cleanText(autonomyApprovalGate.metadata?.bugNotBug, 80),\n\t\t\t\tbugNotBugKnown: autonomyApprovalGate.metadata?.bugNotBugKnown === true,\n\t\t\t\tbugNotBugClassificationApproved: autonomyApprovalGate.metadata?.bugNotBugClassificationApproved === true,\n\t\t\t\trequiresOverLimitApproval: autonomyApprovalGate.metadata?.requiresOverLimitApproval === true,\n\t\t\t\trequiresScopeReapproval: autonomyApprovalGate.metadata?.requiresScopeReapproval === true,\n\t\t\t\trequiresOwnerFileReapproval: autonomyApprovalGate.metadata?.requiresOwnerFileReapproval === true,\n\t\t\t\trequiresIntakeReapproval: autonomyApprovalGate.metadata?.requiresIntakeReapproval === true,\n\t\t\t\trequiresDiagnosisScopeReapproval: autonomyApprovalGate.metadata?.requiresDiagnosisScopeReapproval === true,\n\t\t\t\trequiresClassificationApproval: autonomyApprovalGate.metadata?.requiresClassificationApproval === true,\n\t\t\t\trequiresEstimateHours: autonomyApprovalGate.metadata?.requiresEstimateHours === true,\n\t\t\t\tchangeApprovalMode: cleanText(autonomyApprovalGate.metadata?.changeApprovalMode, 120),\n\t\t\t\toverSixHourRequiresExplicitOperatorApproval: autonomyApprovalGate.metadata?.overSixHourRequiresExplicitOperatorApproval === true,\n\t\t\t\tleSixHourScopeCanAutofixAfterApproval: autonomyApprovalGate.metadata?.leSixHourScopeCanAutofixAfterApproval === true,\n\t\t\t\tafterApprovalAutopilotUntilAGrade: autonomyApprovalGate.metadata?.afterApprovalAutopilotUntilAGrade === true,\n\t\t\t\ttargetGrade: cleanText(autonomyApprovalGate.metadata?.targetGrade, 20),\n\t\t\t\tautopilotCompletionStatus: cleanText(autonomyApprovalGate.metadata?.autopilotCompletionStatus, 120),\n\t\t\t\tterminalTarget: cleanText(autonomyApprovalGate.metadata?.terminalTarget, 800),\n\t\t\t\tstopOrParkConditions: cleanStringList(autonomyApprovalGate.metadata?.stopOrParkConditions, 20, 500),\n\t\t\t\tqaScreenshotsRequired: autonomyApprovalGate.metadata?.qaScreenshotsRequired === true,\n\t\t\t\tbeforeActionAfterBusinessProofRequired: autonomyApprovalGate.metadata?.beforeActionAfterBusinessProofRequired === true,\n\t\t\t\taiqaBusinessAssertionRequired: autonomyApprovalGate.metadata?.aiqaBusinessAssertionRequired === true,\n\t\t\t\tscopeFingerprint: cleanText(autonomyApprovalGate.metadata?.scopeFingerprint, 180),\n\t\t\t\tpreviousScopeFingerprint: cleanText(autonomyApprovalGate.metadata?.previousScopeFingerprint, 180),\n\t\t\t\tscopeChangedSinceApproval: autonomyApprovalGate.metadata?.scopeChangedSinceApproval === true,\n\t\t\t\townerFilesChangedSinceApproval: autonomyApprovalGate.metadata?.ownerFilesChangedSinceApproval === true,\n\t\t\t\townerFileFingerprint: cleanText(autonomyApprovalGate.metadata?.ownerFileFingerprint, 180),\n\t\t\t\tapprovedOwnerFileFingerprint: cleanText(autonomyApprovalGate.metadata?.approvedOwnerFileFingerprint, 180),\n\t\t\t\tapprovedOwnerFileSetChanged: autonomyApprovalGate.metadata?.approvedOwnerFileSetChanged === true,\n\t\t\t\tdiagnosisScopeFingerprint: cleanText(autonomyApprovalGate.metadata?.diagnosisScopeFingerprint, 180),\n\t\t\t\tpreviousDiagnosisScopeFingerprint: cleanText(autonomyApprovalGate.metadata?.previousDiagnosisScopeFingerprint, 180),\n\t\t\t\tdiagnosisScopeIncluded: autonomyApprovalGate.metadata?.diagnosisScopeIncluded === true,\n\t\t\t\tdiagnosisScopeValid: autonomyApprovalGate.metadata?.diagnosisScopeValid === true,\n\t\t\t\tdiagnosisScopeChangedSinceApproval: autonomyApprovalGate.metadata?.diagnosisScopeChangedSinceApproval === true,\n\t\t\t\tdiagnosisScopeFields: cleanStringList(autonomyApprovalGate.metadata?.diagnosisScopeFields, 40, 160),\n\t\t\t\tdiagnosisScopeBlockers: cleanStringList(autonomyApprovalGate.metadata?.diagnosisScopeBlockers, 40, 500),\n\t\t\t\tboundedAutopilotApproval: autonomyApprovalGate.metadata?.boundedAutopilotApproval === true,\n\t\t\t\tautopilotApprovalBoundaryValid: autonomyApprovalGate.metadata?.autopilotApprovalBoundaryValid === true,\n\t\t\t\townerFilesAddedSinceApproval: cleanStringList(autonomyApprovalGate.metadata?.ownerFilesAddedSinceApproval, 40, 500),\n\t\t\t\townerFilesRemovedSinceApproval: cleanStringList(autonomyApprovalGate.metadata?.ownerFilesRemovedSinceApproval, 40, 500),\n\t\t\t\townerFiles: cleanStringList(autonomyApprovalGate.metadata?.ownerFiles, 60, 500),\n\t\t\t\tapprovedOwnerFiles: cleanStringList(autonomyApprovalGate.metadata?.approvedOwnerFiles, 60, 500),\n\t\t\t\tcurrentOwnerFiles: cleanStringList(autonomyApprovalGate.metadata?.currentOwnerFiles, 60, 500),\n\t\t\t\trequiredCompletionEvidence: cleanStringList(autonomyApprovalGate.metadata?.requiredCompletionEvidence, 30, 500),\n\t\t\t\tforbiddenWithoutReapproval: cleanStringList(autonomyApprovalGate.metadata?.forbiddenWithoutReapproval, 30, 500),\n\t\t\t\tblockers: cleanStringList(autonomyApprovalGate.metadata?.blockers, 40, 500)\n\t\t\t} : undefined,\n\t\t\t\tproductRepairDispatchGuard: productRepairDispatchGate ? {\n\t\t\t\t\tstatus: productRepairDispatchGate.status,\n\t\t\t\t\tallowed: productRepairDispatchGate.metadata?.allowed === true,\n\t\t\t\t\tguardStatus: cleanText(productRepairDispatchGate.metadata?.status, 120),\n\t\t\t\taction: cleanText(productRepairDispatchGate.metadata?.action, 160),\n\t\t\t\tnextAction: cleanText(productRepairDispatchGate.metadata?.nextAction, 160),\n\t\t\t\teditsProductCode: productRepairDispatchGate.metadata?.editsProductCode === true,\n\t\t\t\tcanEditProductCode: productRepairDispatchGate.metadata?.canEditProductCode === true,\n\t\t\t\tautoContinueAfterApproval: productRepairDispatchGate.metadata?.autoContinueAfterApproval === true,\n\t\t\t\tapprovalContractId: cleanText(productRepairDispatchGate.metadata?.approvalContractId, 180),\n\t\t\t\tcontinuationContractStatus: cleanText(productRepairDispatchGate.metadata?.continuationContractStatus, 120),\n\t\t\t\tcontinuationContractMode: cleanText(productRepairDispatchGate.metadata?.continuationContractMode, 160),\n\t\t\t\tterminalTarget: cleanText(productRepairDispatchGate.metadata?.terminalTarget, 800),\n\t\t\t\tnextProofPhases: cleanStringList(productRepairDispatchGate.metadata?.nextProofPhases, 20, 240),\n\t\t\t\tallowedAutoActions: cleanStringList(productRepairDispatchGate.metadata?.allowedAutoActions, 20, 240),\n\t\t\t\tforbiddenActions: cleanStringList(productRepairDispatchGate.metadata?.forbiddenActions, 30, 500),\n\t\t\t\tscopeFingerprint: cleanText(productRepairDispatchGate.metadata?.scopeFingerprint, 180),\n\t\t\t\townerFilesChangedSinceApproval: productRepairDispatchGate.metadata?.ownerFilesChangedSinceApproval === true,\n\t\t\t\townerFileFingerprint: cleanText(productRepairDispatchGate.metadata?.ownerFileFingerprint, 180),\n\t\t\t\tapprovedOwnerFileFingerprint: cleanText(productRepairDispatchGate.metadata?.approvedOwnerFileFingerprint, 180),\n\t\t\t\townerFilesAddedSinceApproval: cleanStringList(productRepairDispatchGate.metadata?.ownerFilesAddedSinceApproval, 40, 500),\n\t\t\t\townerFilesRemovedSinceApproval: cleanStringList(productRepairDispatchGate.metadata?.ownerFilesRemovedSinceApproval, 40, 500),\n\t\t\t\trequiresOverLimitApproval: productRepairDispatchGate.metadata?.requiresOverLimitApproval === true,\n\t\t\t\trequiresScopeReapproval: productRepairDispatchGate.metadata?.requiresScopeReapproval === true,\n\t\t\t\trequiresOwnerFileReapproval: productRepairDispatchGate.metadata?.requiresOwnerFileReapproval === true,\n\t\t\t\trequiresDiagnosisScopeReapproval: productRepairDispatchGate.metadata?.requiresDiagnosisScopeReapproval === true,\n\t\t\t\townerFiles: cleanStringList(productRepairDispatchGate.metadata?.ownerFiles, 60, 500),\n\t\t\t\tapprovedOwnerFiles: cleanStringList(productRepairDispatchGate.metadata?.approvedOwnerFiles, 60, 500),\n\t\t\t\t\tcurrentOwnerFiles: cleanStringList(productRepairDispatchGate.metadata?.currentOwnerFiles, 60, 500),\n\t\t\t\t\tblockers: cleanStringList(productRepairDispatchGate.metadata?.blockers, 40, 500)\n\t\t\t\t} : undefined,\n\t\t\t\tautoloopApprovalBlock: autoloopApprovalBlockGate ? {\n\t\t\t\t\tstatus: autoloopApprovalBlockGate.status,\n\t\t\t\t\trecordId: cleanText(autoloopApprovalBlockGate.metadata?.recordId, 180),\n\t\t\t\t\tblockStatus: cleanText(autoloopApprovalBlockGate.metadata?.status, 160),\n\t\t\t\t\taction: cleanText(autoloopApprovalBlockGate.metadata?.action, 160),\n\t\t\t\t\tnextAction: cleanText(autoloopApprovalBlockGate.metadata?.nextAction, 160),\n\t\t\t\t\tapprovalContractId: cleanText(autoloopApprovalBlockGate.metadata?.approvalContractId, 180),\n\t\t\t\t\tscopeFingerprint: cleanText(autoloopApprovalBlockGate.metadata?.scopeFingerprint, 180),\n\t\t\t\t\tdiagnosisScopeFingerprint: cleanText(autoloopApprovalBlockGate.metadata?.diagnosisScopeFingerprint, 180),\n\t\t\t\t\trepairIntentScopeFingerprint: cleanText(autoloopApprovalBlockGate.metadata?.repairIntentScopeFingerprint, 180),\n\t\t\t\t\tdecisionKind: cleanText(autoloopApprovalBlockGate.metadata?.decisionKind, 160),\n\t\t\t\t\trequiresOverLimitApproval: autoloopApprovalBlockGate.metadata?.requiresOverLimitApproval === true,\n\t\t\t\t\trequiresScopeReapproval: autoloopApprovalBlockGate.metadata?.requiresScopeReapproval === true,\n\t\t\t\t\trequiresOwnerFileReapproval: autoloopApprovalBlockGate.metadata?.requiresOwnerFileReapproval === true,\n\t\t\t\t\trequiresDiagnosisScopeReapproval: autoloopApprovalBlockGate.metadata?.requiresDiagnosisScopeReapproval === true,\n\t\t\t\t\trequiresRepairIntentReapproval: autoloopApprovalBlockGate.metadata?.requiresRepairIntentReapproval === true,\n\t\t\t\t\trequiresRepairIntent: autoloopApprovalBlockGate.metadata?.requiresRepairIntent === true,\n\t\t\t\t\trequiresClassificationApproval: autoloopApprovalBlockGate.metadata?.requiresClassificationApproval === true,\n\t\t\t\t\trequiresEstimateHours: autoloopApprovalBlockGate.metadata?.requiresEstimateHours === true,\n\t\t\t\t\trequiresElapsedReapproval: autoloopApprovalBlockGate.metadata?.requiresElapsedReapproval === true,\n\t\t\t\t\telapsedRuntimeMs: Number(autoloopApprovalBlockGate.metadata?.elapsedRuntimeMs || 0) || 0,\n\t\t\t\t\telapsedRuntimeHours: Number(autoloopApprovalBlockGate.metadata?.elapsedRuntimeHours || 0) || 0,\n\t\t\t\t\tmaxApprovedRuntimeMs: Number(autoloopApprovalBlockGate.metadata?.maxApprovedRuntimeMs || 0) || 0,\n\t\t\t\t\tmaxApprovedRuntimeHours: Number(autoloopApprovalBlockGate.metadata?.maxApprovedRuntimeHours || 0) || 0,\n\t\t\t\t\tmaxWallClockMs: Number(autoloopApprovalBlockGate.metadata?.maxWallClockMs || 0) || 0,\n\t\t\t\t\tmaxWallClockHours: Number(autoloopApprovalBlockGate.metadata?.maxWallClockHours || 0) || 0,\n\t\t\t\t\tonTheFlyScopeChangeApprovalRequired: autoloopApprovalBlockGate.metadata?.onTheFlyScopeChangeApprovalRequired === true,\n\t\t\t\t\ttargetGrade: cleanText(autoloopApprovalBlockGate.metadata?.targetGrade, 20),\n\t\t\t\t\trequiredTerminalState: cleanText(autoloopApprovalBlockGate.metadata?.requiredTerminalState, 800),\n\t\t\t\t\thumanDecisionRequestId: cleanText(autoloopApprovalBlockGate.metadata?.humanDecisionRequestId, 180),\n\t\t\t\t\thumanDecisionPreferredChoiceId: cleanText(autoloopApprovalBlockGate.metadata?.humanDecisionPreferredChoiceId, 160),\n\t\t\t\t\thumanDecisionApprovalAction: cleanText(autoloopApprovalBlockGate.metadata?.humanDecisionApprovalAction, 160),\n\t\t\t\t\tproductRepairDispatchGuardStatus: cleanText(autoloopApprovalBlockGate.metadata?.productRepairDispatchGuardStatus, 120),\n\t\t\t\t\tproductRepairDispatchNextAction: cleanText(autoloopApprovalBlockGate.metadata?.productRepairDispatchNextAction, 160),\n\t\t\t\t\tblockers: cleanStringList(autoloopApprovalBlockGate.metadata?.blockers, 40, 500)\n\t\t\t\t} : undefined,\n\t\t\t\tautoloopNoProgress: autoloopNoProgressGate ? {\n\t\t\t\t\tstatus: autoloopNoProgressGate.status,\n\t\t\t\t\trunId: cleanText(autoloopNoProgressGate.metadata?.runId, 180),\n\t\t\t\t\tnoProgressStreak: Number(autoloopNoProgressGate.metadata?.noProgressStreak || 0),\n\t\t\t\t\tlastProgressSignal: autoloopNoProgressGate.metadata?.lastProgressSignal === true,\n\t\t\t\t\tevidenceChanged: autoloopNoProgressGate.metadata?.evidenceChanged === true,\n\t\t\t\t\thandoffRequired: autoloopNoProgressGate.metadata?.handoffRequired === true,\n\t\t\t\t\trequiresNewEvidence: autoloopNoProgressGate.metadata?.requiresNewEvidence === true,\n\t\t\t\t\tproductRepairAllowed: autoloopNoProgressGate.metadata?.productRepairAllowed === true,\n\t\t\t\t\tnextAction: cleanText(autoloopNoProgressGate.metadata?.nextAction, 160),\n\t\t\t\t\tstrictGateReason: cleanText(autoloopNoProgressGate.metadata?.strictGateReason, 500),\n\t\t\t\t\tdiffFingerprint: cleanText(autoloopNoProgressGate.metadata?.diffFingerprint, 180),\n\t\t\t\t\tfailingCheckFingerprint: cleanText(autoloopNoProgressGate.metadata?.failingCheckFingerprint, 180),\n\t\t\t\t\tcontinuationAction: cleanText(autoloopNoProgressGate.metadata?.continuationAction, 160),\n\t\t\t\t\tcontinuationReason: cleanText(autoloopNoProgressGate.metadata?.continuationReason, 1000),\n\t\t\t\t\tprogressReasons: cleanStringList(autoloopNoProgressGate.metadata?.progressReasons, 20, 240),\n\t\t\t\t\tevidenceReasons: cleanStringList(autoloopNoProgressGate.metadata?.evidenceReasons, 20, 240),\n\t\t\t\t\trequiredEvidence: cleanStringList(autoloopNoProgressGate.metadata?.requiredEvidence, 20, 500),\n\t\t\t\t\tforbiddenActions: cleanStringList(autoloopNoProgressGate.metadata?.forbiddenActions, 20, 500),\n\t\t\t\t\tblockers: cleanStringList(autoloopNoProgressGate.metadata?.blockers, 40, 500)\n\t\t\t\t} : undefined,\n\t\t\t\thumanDecisionRequest: humanDecisionRequestGate ? {\n\t\t\t\t\tstatus: humanDecisionRequestGate.status,\n\t\t\t\t\trequired: humanDecisionRequestGate.metadata?.required === true,\n\t\t\t\trequestId: cleanText(humanDecisionRequestGate.metadata?.requestId, 180),\n\t\t\t\tdecisionKind: cleanText(humanDecisionRequestGate.metadata?.decisionKind, 120),\n\t\t\t\tapprovalAction: cleanText(humanDecisionRequestGate.metadata?.approvalAction, 120),\n\t\t\t\tpreferredChoiceId: cleanText(humanDecisionRequestGate.metadata?.preferredChoiceId, 120),\n\t\t\t\tcanApproveFromConsole: humanDecisionRequestGate.metadata?.canApproveFromConsole === true,\n\t\t\t\tchoiceCount: Number(humanDecisionRequestGate.metadata?.choiceCount || 0),\n\t\t\t\trequiresOverLimitApproval: humanDecisionRequestGate.metadata?.requiresOverLimitApproval === true,\n\t\t\t\trequiresScopeReapproval: humanDecisionRequestGate.metadata?.requiresScopeReapproval === true,\n\t\t\t\trequiresIntakeReapproval: humanDecisionRequestGate.metadata?.requiresIntakeReapproval === true,\n\t\t\t\trequiresDiagnosisScopeReapproval: humanDecisionRequestGate.metadata?.requiresDiagnosisScopeReapproval === true,\n\t\t\t\trequiresClassificationApproval: humanDecisionRequestGate.metadata?.requiresClassificationApproval === true,\n\t\t\t\trequiresEstimateHours: humanDecisionRequestGate.metadata?.requiresEstimateHours === true\n\t\t\t} : undefined,\n\t\t\tpostApprovalAutostart: postApprovalAutostartGate ? {\n\t\t\t\tgateStatus: postApprovalAutostartGate.status,\n\t\t\t\tstatus: cleanText(postApprovalAutostartGate.metadata?.status, 120),\n\t\t\t\tcontractStatus: cleanText(postApprovalAutostartGate.metadata?.contractStatus, 120),\n\t\t\t\tresultStatus: cleanText(postApprovalAutostartGate.metadata?.resultStatus, 120),\n\t\t\t\tfailureClass: cleanText(postApprovalAutostartGate.metadata?.failureClass, 120),\n\t\t\t\tblockerFingerprint: cleanText(postApprovalAutostartGate.metadata?.blockerFingerprint, 180),\n\t\t\t\tblockerReason: cleanText(postApprovalAutostartGate.metadata?.blockerReason, 1200),\n\t\t\t\tapprovalBoundaryValid: postApprovalAutostartGate.metadata?.approvalBoundaryValid === true,\n\t\t\t\tcanRetryWithoutReapproval: postApprovalAutostartGate.metadata?.canRetryWithoutReapproval === true,\n\t\t\t\tsafeRetryAction: cleanText(postApprovalAutostartGate.metadata?.safeRetryAction, 160),\n\t\t\t\tresumeContract: plainObject(postApprovalAutostartGate.metadata?.resumeContract),\n\t\t\t\tpostApprovalResumeContract: plainObject(postApprovalAutostartGate.metadata?.postApprovalResumeContract),\n\t\t\t\tstarted: postApprovalAutostartGate.metadata?.started === true,\n\t\t\t\tskipped: postApprovalAutostartGate.metadata?.skipped === true,\n\t\t\t\tblocked: postApprovalAutostartGate.metadata?.blocked === true,\n\t\t\t\tnextAction: cleanText(postApprovalAutostartGate.metadata?.nextAction, 160),\n\t\t\t\trunId: cleanText(postApprovalAutostartGate.metadata?.runId, 180),\n\t\t\t\tactiveTicketId: cleanText(postApprovalAutostartGate.metadata?.activeTicketId, 180),\n\t\t\t\tactiveRunId: cleanText(postApprovalAutostartGate.metadata?.activeRunId, 180),\n\t\t\t\terror: cleanText(postApprovalAutostartGate.metadata?.error, 1000),\n\t\t\t\tcontractId: cleanText(postApprovalAutostartGate.metadata?.contractId, 180),\n\t\t\t\trecordId: cleanText(postApprovalAutostartGate.metadata?.recordId, 180),\n\t\t\t\tapprovalContractId: cleanText(postApprovalAutostartGate.metadata?.approvalContractId, 180),\n\t\t\t\tscopeFingerprint: cleanText(postApprovalAutostartGate.metadata?.scopeFingerprint, 180),\n\t\t\t\tmethod: cleanText(postApprovalAutostartGate.metadata?.method, 180),\n\t\t\t\tautoStartEnabled: postApprovalAutostartGate.metadata?.autoStartEnabled === true,\n\t\t\t\tcanContinueWithoutCodexMonitor: postApprovalAutostartGate.metadata?.canContinueWithoutCodexMonitor === true,\n\t\t\t\tblocksManualCodexMonitoring: postApprovalAutostartGate.metadata?.blocksManualCodexMonitoring === true,\n\t\t\t\tterminalTarget: cleanText(postApprovalAutostartGate.metadata?.terminalTarget, 800),\n\t\t\t\ttargetGrade: cleanText(postApprovalAutostartGate.metadata?.targetGrade, 20),\n\t\t\t\tmaxIterations: Number(postApprovalAutostartGate.metadata?.maxIterations || 0),\n\t\t\t\titerationTimeoutMs: Number(postApprovalAutostartGate.metadata?.iterationTimeoutMs || 0),\n\t\t\t\tautoCreatePr: postApprovalAutostartGate.metadata?.autoCreatePr === true,\n\t\t\t\tforceNewJob: postApprovalAutostartGate.metadata?.forceNewJob === true,\n\t\t\t\tforceRestart: postApprovalAutostartGate.metadata?.forceRestart === true,\n\t\t\t\tbudgetSoftUsd: Number(postApprovalAutostartGate.metadata?.budgetSoftUsd || 0),\n\t\t\t\tbudgetHardUsd: Number(postApprovalAutostartGate.metadata?.budgetHardUsd || 0),\n\t\t\t\texecutionTier: cleanText(postApprovalAutostartGate.metadata?.executionTier, 120),\n\t\t\t\trequiredTerminalEvidence: cleanStringList(postApprovalAutostartGate.metadata?.requiredTerminalEvidence, 30, 500),\n\t\t\t\tallowedAutoActions: cleanStringList(postApprovalAutostartGate.metadata?.allowedAutoActions, 30, 240),\n\t\t\t\tforbiddenWithoutReapproval: cleanStringList(postApprovalAutostartGate.metadata?.forbiddenWithoutReapproval, 30, 500),\n\t\t\t\tblockers: cleanStringList(postApprovalAutostartGate.metadata?.blockers, 40, 500)\n\t\t\t} : undefined,\n\t\t\tpostApprovalResumeAttempt: postApprovalResumeAttemptGate ? {\n\t\t\t\tgateStatus: postApprovalResumeAttemptGate.status,\n\t\t\t\tstatus: cleanText(postApprovalResumeAttemptGate.metadata?.status, 120),\n\t\t\t\tresultStatus: cleanText(postApprovalResumeAttemptGate.metadata?.resultStatus, 120),\n\t\t\t\tfailureClass: cleanText(postApprovalResumeAttemptGate.metadata?.failureClass, 120),\n\t\t\t\tblockerFingerprint: cleanText(postApprovalResumeAttemptGate.metadata?.blockerFingerprint, 180),\n\t\t\t\tblockerReason: cleanText(postApprovalResumeAttemptGate.metadata?.blockerReason, 1200),\n\t\t\t\tstarted: postApprovalResumeAttemptGate.metadata?.started === true,\n\t\t\t\tblocked: postApprovalResumeAttemptGate.metadata?.blocked === true,\n\t\t\t\tnextAction: cleanText(postApprovalResumeAttemptGate.metadata?.nextAction, 160),\n\t\t\t\trunId: cleanText(postApprovalResumeAttemptGate.metadata?.runId, 180),\n\t\t\t\tactiveTicketId: cleanText(postApprovalResumeAttemptGate.metadata?.activeTicketId, 180),\n\t\t\t\tactiveRunId: cleanText(postApprovalResumeAttemptGate.metadata?.activeRunId, 180),\n\t\t\t\tactiveJobId: cleanText(postApprovalResumeAttemptGate.metadata?.activeJobId, 180),\n\t\t\t\terror: cleanText(postApprovalResumeAttemptGate.metadata?.error, 1000),\n\t\t\t\tattemptId: cleanText(postApprovalResumeAttemptGate.metadata?.attemptId, 180),\n\t\t\t\tcontractId: cleanText(postApprovalResumeAttemptGate.metadata?.contractId, 180),\n\t\t\t\tapprovalContractId: cleanText(postApprovalResumeAttemptGate.metadata?.approvalContractId, 180),\n\t\t\t\tscopeFingerprint: cleanText(postApprovalResumeAttemptGate.metadata?.scopeFingerprint, 180),\n\t\t\t\tresumeContract: plainObject(postApprovalResumeAttemptGate.metadata?.resumeContract),\n\t\t\t\tpostApprovalResumeContract: plainObject(postApprovalResumeAttemptGate.metadata?.postApprovalResumeContract),\n\t\t\t\tstartGuardStatus: cleanText(postApprovalResumeAttemptGate.metadata?.startGuardStatus, 120),\n\t\t\t\tcanContinueWithoutCodexMonitor: postApprovalResumeAttemptGate.metadata?.canContinueWithoutCodexMonitor === true,\n\t\t\t\tproductRepairAllowed: postApprovalResumeAttemptGate.metadata?.productRepairAllowed === true,\n\t\t\t\tcanSendCustomerReply: postApprovalResumeAttemptGate.metadata?.canSendCustomerReply === true,\n\t\t\t\tblockers: cleanStringList(postApprovalResumeAttemptGate.metadata?.blockers, 40, 500)\n\t\t\t} : undefined,\n\t\t\tintakeRevisionContract: intakeRevisionContractGate ? {\n\t\t\t\tstatus: intakeRevisionContractGate.status,\n\t\t\t\tcontractStatus: cleanText(intakeRevisionContractGate.metadata?.status, 120),\n\t\t\t\tcontractId: cleanText(intakeRevisionContractGate.metadata?.contractId, 180),\n\t\t\t\trequiresReapproval: intakeRevisionContractGate.metadata?.requiresReapproval === true,\n\t\t\t\tblocksProductRepair: intakeRevisionContractGate.metadata?.blocksProductRepair === true,\n\t\t\t\tblocksAutoRetry: intakeRevisionContractGate.metadata?.blocksAutoRetry === true,\n\t\t\t\trequiredOperatorAction: cleanText(intakeRevisionContractGate.metadata?.requiredOperatorAction, 160),\n\t\t\t\tpreviousAutonomyContractId: cleanText(intakeRevisionContractGate.metadata?.previousAutonomyContractId, 180),\n\t\t\t\tpreviousScopeFingerprint: cleanText(intakeRevisionContractGate.metadata?.previousScopeFingerprint, 180),\n\t\t\t\tnextScopeFingerprint: cleanText(intakeRevisionContractGate.metadata?.nextScopeFingerprint, 180),\n\t\t\t\tintakeScopeFingerprint: cleanText(intakeRevisionContractGate.metadata?.intakeScopeFingerprint, 180),\n\t\t\t\tchangedFieldNames: cleanStringList(intakeRevisionContractGate.metadata?.changedFieldNames, 40, 120),\n\t\t\t\tchangedFields: asArray<Record<string, any>>(intakeRevisionContractGate.metadata?.changedFields).map((entry) => ({\n\t\t\t\t\tfield: cleanText(entry.field, 120),\n\t\t\t\t\tprevious: cleanText(entry.previous, 500),\n\t\t\t\t\tnext: cleanText(entry.next, 500)\n\t\t\t\t})).filter((entry) => entry.field),\n\t\t\t\tapprovalImpactingEditFields: cleanStringList(intakeRevisionContractGate.metadata?.approvalImpactingEditFields, 40, 120),\n\t\t\t\tupdatedBy: cleanText(intakeRevisionContractGate.metadata?.updatedBy, 160),\n\t\t\t\tblockers: cleanStringList(intakeRevisionContractGate.metadata?.blockers, 40, 500)\n\t\t\t} : undefined,\n\t\t\tmanagerContinuation: managerContinuationGate ? {\n\t\t\t\tstatus: managerContinuationGate.status,\n\t\t\t\tmanagerStatus: cleanText(managerContinuationGate.metadata?.managerStatus, 120),\n\t\t\t\tcontinuationContractId: cleanText(managerContinuationGate.metadata?.continuationContractId, 180),\n\t\t\t\tcontinuationStatus: cleanText(managerContinuationGate.metadata?.continuationStatus, 120),\n\t\t\t\taction: cleanText(managerContinuationGate.metadata?.action, 180),\n\t\t\t\trequiredStateTransition: cleanText(managerContinuationGate.metadata?.requiredStateTransition, 1000),\n\t\t\t\toperatorGuidanceResponseId: cleanText(managerContinuationGate.metadata?.operatorGuidanceResponseId, 180),\n\t\t\t\toperatorGuidanceAccepted: managerContinuationGate.metadata?.operatorGuidanceAccepted === true,\n\t\t\t\toperatorGuidanceConsumed: managerContinuationGate.metadata?.operatorGuidanceConsumed === true,\n\t\t\t\tresumeUnblockContractId: cleanText(managerContinuationGate.metadata?.resumeUnblockContractId, 180),\n\t\t\t\tresumeUnblockAction: cleanText(managerContinuationGate.metadata?.resumeUnblockAction, 180),\n\t\t\t\tresumeDispatchStatus: cleanText(managerContinuationGate.metadata?.resumeDispatchStatus, 120),\n\t\t\t\tresumeDispatchJobId: cleanText(managerContinuationGate.metadata?.resumeDispatchJobId, 180),\n\t\t\t\tcanRunWithoutCodexMonitor: managerContinuationGate.metadata?.canRunWithoutCodexMonitor === true,\n\t\t\t\tsafeToAutoRunAfterInput: managerContinuationGate.metadata?.safeToAutoRunAfterInput === true,\n\t\t\t\tblocksProductRepairUntilChangedEvidence: managerContinuationGate.metadata?.blocksProductRepairUntilChangedEvidence === true,\n\t\t\t\tproofRequiredBeforeContinuation: managerContinuationGate.metadata?.proofRequiredBeforeContinuation === true,\n\t\t\t\tallowedAfterInput: cleanStringList(managerContinuationGate.metadata?.allowedAfterInput, 20, 240),\n\t\t\t\tmaterialEvidenceClaimed: managerContinuationGate.metadata?.materialEvidenceClaimed === true,\n\t\t\t\tmaterialEvidenceSignals: cleanStringList(managerContinuationGate.metadata?.materialEvidenceSignals, 20, 240),\n\t\t\t\tartifactPaths: cleanStringList(managerContinuationGate.metadata?.artifactPaths, 60, 500),\n\t\t\t\tblockers: cleanStringList(managerContinuationGate.metadata?.blockers, 40, 500)\n\t\t\t} : undefined,\n\t\t\tprReadinessContract: prReadinessContractGate ? {\n\t\t\t\tstatus: prReadinessContractGate.status,\n\t\t\t\tready: prReadinessContractGate.metadata?.ready === true,\n\t\t\t\tcontractId: cleanText(prReadinessContractGate.metadata?.contractId, 180),\n\t\t\t\taction: cleanText(prReadinessContractGate.metadata?.action, 120),\n\t\t\t\tdispatchAction: cleanText(prReadinessContractGate.metadata?.dispatchAction, 120),\n\t\t\t\tmethod: cleanText(prReadinessContractGate.metadata?.method, 180),\n\t\t\t\tbusinessProofReady: prReadinessContractGate.metadata?.businessProofReady === true,\n\t\t\t\tdiagnosisValid: prReadinessContractGate.metadata?.diagnosisValid === true,\n\t\t\t\tpullRequestUrl: cleanText(prReadinessContractGate.metadata?.pullRequestUrl, 500),\n\t\t\t\tpullRequestStatus: cleanText(prReadinessContractGate.metadata?.pullRequestStatus, 120),\n\t\t\t\tprFailureStatus: cleanText(prReadinessContractGate.metadata?.prFailureStatus, 120),\n\t\t\t\tpassedBusinessAssertionCount: Number(prReadinessContractGate.metadata?.passedBusinessAssertionCount || 0),\n\t\t\t\ttargetGrade: cleanText(prReadinessContractGate.metadata?.targetGrade, 20),\n\t\t\t\tmergeBlockedUntilHumanApproval: prReadinessContractGate.metadata?.mergeBlockedUntilHumanApproval === true,\n\t\t\t\tcustomerReplyBlockedUntilReleaseGate: prReadinessContractGate.metadata?.customerReplyBlockedUntilReleaseGate === true,\n\t\t\t\treleaseBlockedUntilPrReview: prReadinessContractGate.metadata?.releaseBlockedUntilPrReview === true,\n\t\t\t\tbusinessProofArtifacts: cleanStringList(prReadinessContractGate.metadata?.businessProofArtifacts, 80, 500),\n\t\t\t\tmodifiedFiles: cleanStringList(prReadinessContractGate.metadata?.modifiedFiles, 120, 500),\n\t\t\t\trequiredEvidence: cleanStringList(prReadinessContractGate.metadata?.requiredEvidence, 40, 500),\n\t\t\t\tblockers: cleanStringList(prReadinessContractGate.metadata?.blockers, 50, 500)\n\t\t\t} : undefined,\n\t\t\tprReviewContract: prReviewContractGate ? {\n\t\t\t\tstatus: prReviewContractGate.status,\n\t\t\t\tready: prReviewContractGate.metadata?.ready === true,\n\t\t\t\tcontractId: cleanText(prReviewContractGate.metadata?.contractId, 180),\n\t\t\t\tstrictGatePassed: prReviewContractGate.metadata?.strictGatePassed === true,\n\t\t\t\tstrictGateReason: cleanText(prReviewContractGate.metadata?.strictGateReason, 500),\n\t\t\t\texecutionGrade: cleanText(prReviewContractGate.metadata?.executionGrade, 20),\n\t\t\t\tartifactsGrade: cleanText(prReviewContractGate.metadata?.artifactsGrade, 20),\n\t\t\t\tpullRequestGrade: cleanText(prReviewContractGate.metadata?.pullRequestGrade, 20),\n\t\t\t\ttargetGrade: cleanText(prReviewContractGate.metadata?.targetGrade, 20),\n\t\t\t\tpullRequestUrl: cleanText(prReviewContractGate.metadata?.pullRequestUrl, 500),\n\t\t\t\tpullRequestStatus: cleanText(prReviewContractGate.metadata?.pullRequestStatus, 120),\n\t\t\t\tfailureClass: cleanText(prReviewContractGate.metadata?.failureClass, 120),\n\t\t\t\tblockerFingerprint: cleanText(prReviewContractGate.metadata?.blockerFingerprint, 180),\n\t\t\t\tevidenceHash: cleanText(prReviewContractGate.metadata?.evidenceHash, 180),\n\t\t\t\tcontinuationContract: prReviewContractGate.metadata?.continuationContract,\n\t\t\t\tnextAction: cleanText(prReviewContractGate.metadata?.nextAction, 160),\n\t\t\t\trequiredEvidence: cleanStringList(prReviewContractGate.metadata?.requiredEvidence, 40, 500),\n\t\t\t\tevidenceRefs: cleanStringList(prReviewContractGate.metadata?.evidenceRefs, 80, 500),\n\t\t\t\tblockers: cleanStringList(prReviewContractGate.metadata?.blockers, 50, 500)\n\t\t\t} : undefined,\n\t\t\tprCreationResult: prCreationResultGate ? {\n\t\t\t\tstatus: prCreationResultGate.status,\n\t\t\t\tresultStatus: cleanText(prCreationResultGate.metadata?.status, 120),\n\t\t\t\tpullRequestUrl: cleanText(prCreationResultGate.metadata?.pullRequestUrl, 500),\n\t\t\t\tpullRequestStatus: cleanText(prCreationResultGate.metadata?.pullRequestStatus, 120),\n\t\t\t\tprFailureStatus: cleanText(prCreationResultGate.metadata?.prFailureStatus, 120),\n\t\t\t\terror: cleanText(prCreationResultGate.metadata?.error, 1000),\n\t\t\t\tjobId: cleanText(prCreationResultGate.metadata?.jobId, 180),\n\t\t\t\tmethod: cleanText(prCreationResultGate.metadata?.method, 180),\n\t\t\t\tprReadinessContractId: cleanText(prCreationResultGate.metadata?.prReadinessContractId, 180),\n\t\t\t\treleasePushMasterStatus: cleanText(prCreationResultGate.metadata?.releasePushMasterStatus, 120),\n\t\t\t\tmodifiedFiles: cleanStringList(prCreationResultGate.metadata?.modifiedFiles, 120, 500),\n\t\t\t\tbusinessProofReady: prCreationResultGate.metadata?.businessProofReady === true,\n\t\t\t\tdiagnosisValid: prCreationResultGate.metadata?.diagnosisValid === true,\n\t\t\t\tmergeBlockedUntilHumanApproval: prCreationResultGate.metadata?.mergeBlockedUntilHumanApproval === true,\n\t\t\t\tcustomerReplyBlockedUntilReleaseGate: prCreationResultGate.metadata?.customerReplyBlockedUntilReleaseGate === true,\n\t\t\t\treleaseBlockedUntilPrReview: prCreationResultGate.metadata?.releaseBlockedUntilPrReview === true,\n\t\t\t\tnextAction: cleanText(prCreationResultGate.metadata?.nextAction, 160)\n\t\t\t} : undefined,\n\t\t\tautopilotCompletion: autopilotCompletionGate ? {\n\t\t\t\tstatus: autopilotCompletionGate.status,\n\t\t\t\tcompletionStatus: cleanText(autopilotCompletionGate.metadata?.status, 120),\n\t\t\t\tnextAction: cleanText(autopilotCompletionGate.metadata?.nextAction, 160),\n\t\t\t\ttargetGrade: cleanText(autopilotCompletionGate.metadata?.targetGrade, 20),\n\t\t\t\tbusinessProofReady: autopilotCompletionGate.metadata?.businessProofReady === true,\n\t\t\t\tprReady: autopilotCompletionGate.metadata?.prReady === true,\n\t\t\t\tpullRequestUrl: cleanText(autopilotCompletionGate.metadata?.pullRequestUrl, 500),\n\t\t\t\tpullRequestStatus: cleanText(autopilotCompletionGate.metadata?.pullRequestStatus, 120),\n\t\t\t\tprReviewReady: autopilotCompletionGate.metadata?.prReviewReady === true,\n\t\t\t\tprReviewStatus: cleanText(autopilotCompletionGate.metadata?.prReviewStatus, 120),\n\t\t\t\tprReviewContractId: cleanText(autopilotCompletionGate.metadata?.prReviewContractId, 180),\n\t\t\t\tprReviewStrictGatePassed: autopilotCompletionGate.metadata?.prReviewStrictGatePassed === true,\n\t\t\t\tprReviewStrictGateReason: cleanText(autopilotCompletionGate.metadata?.prReviewStrictGateReason, 500),\n\t\t\t\tprReviewExecutionGrade: cleanText(autopilotCompletionGate.metadata?.prReviewExecutionGrade, 20),\n\t\t\t\tprReviewArtifactsGrade: cleanText(autopilotCompletionGate.metadata?.prReviewArtifactsGrade, 20),\n\t\t\t\tprReviewPullRequestGrade: cleanText(autopilotCompletionGate.metadata?.prReviewPullRequestGrade, 20),\n\t\t\t\tqaScreenshotsRequired: autopilotCompletionGate.metadata?.qaScreenshotsRequired === true,\n\t\t\t\tbeforeActionAfterBusinessProofRequired: autopilotCompletionGate.metadata?.beforeActionAfterBusinessProofRequired === true,\n\t\t\t\taiqaBusinessAssertionRequired: autopilotCompletionGate.metadata?.aiqaBusinessAssertionRequired === true,\n\t\t\t\thasScreenshotOrTrace: autopilotCompletionGate.metadata?.hasScreenshotOrTrace === true,\n\t\t\t\tbusinessProofArtifacts: cleanStringList(autopilotCompletionGate.metadata?.businessProofArtifacts, 80, 500),\n\t\t\t\tmodifiedFiles: cleanStringList(autopilotCompletionGate.metadata?.modifiedFiles, 120, 500),\n\t\t\t\trequiredCompletionEvidence: cleanStringList(autopilotCompletionGate.metadata?.requiredCompletionEvidence, 50, 500),\n\t\t\t\tmissingCompletionEvidence: cleanStringList(autopilotCompletionGate.metadata?.missingCompletionEvidence, 50, 500),\n\t\t\t\tmergeBlockedUntilHumanApproval: autopilotCompletionGate.metadata?.mergeBlockedUntilHumanApproval === true,\n\t\t\t\tcustomerReplyBlockedUntilReleaseGate: autopilotCompletionGate.metadata?.customerReplyBlockedUntilReleaseGate === true,\n\t\t\t\treleaseBlockedUntilPrReview: autopilotCompletionGate.metadata?.releaseBlockedUntilPrReview === true\n\t\t\t} : undefined,\n\t\t\treleaseCustomerAcceptance: releaseCustomerAcceptanceGate ? {\n\t\t\t\tstatus: releaseCustomerAcceptanceGate.status,\n\t\t\t\trequired: releaseCustomerAcceptanceGate.metadata?.required === true,\n\t\t\t\tnextAction: cleanText(releaseCustomerAcceptanceGate.metadata?.nextAction, 160),\n\t\t\t\tpullRequestUrl: cleanText(releaseCustomerAcceptanceGate.metadata?.pullRequestUrl, 500),\n\t\t\t\treleasePullRequestUrl: cleanText(releaseCustomerAcceptanceGate.metadata?.releasePullRequestUrl, 500),\n\t\t\t\tdeployPullRequestUrl: cleanText(releaseCustomerAcceptanceGate.metadata?.deployPullRequestUrl, 500),\n\t\t\t\treplyPullRequestUrl: cleanText(releaseCustomerAcceptanceGate.metadata?.replyPullRequestUrl, 500),\n\t\t\t\tprReady: releaseCustomerAcceptanceGate.metadata?.prReady === true,\n\t\t\t\tpushMasterStatus: cleanText(releaseCustomerAcceptanceGate.metadata?.pushMasterStatus, 120),\n\t\t\t\tdeployProductionStatus: cleanText(releaseCustomerAcceptanceGate.metadata?.deployProductionStatus, 120),\n\t\t\t\thotfixReleaseGateStatus: cleanText(releaseCustomerAcceptanceGate.metadata?.hotfixReleaseGateStatus, 120),\n\t\t\t\treleasePrMatchesCurrent: releaseCustomerAcceptanceGate.metadata?.releasePrMatchesCurrent === true,\n\t\t\t\tdeployPrMatchesCurrent: releaseCustomerAcceptanceGate.metadata?.deployPrMatchesCurrent === true,\n\t\t\t\treplyPrReferencePresent: releaseCustomerAcceptanceGate.metadata?.replyPrReferencePresent === true,\n\t\t\t\treplyPrMatchesCurrent: releaseCustomerAcceptanceGate.metadata?.replyPrMatchesCurrent === true,\n\t\t\t\tpushMasterComplete: releaseCustomerAcceptanceGate.metadata?.pushMasterComplete === true,\n\t\t\t\tproductionDeployComplete: releaseCustomerAcceptanceGate.metadata?.productionDeployComplete === true,\n\t\t\t\tproductionDeployNotRequired: releaseCustomerAcceptanceGate.metadata?.productionDeployNotRequired === true,\n\t\t\t\thotfixReleaseGatePassed: releaseCustomerAcceptanceGate.metadata?.hotfixReleaseGatePassed === true,\n\t\t\t\treleaseReady: releaseCustomerAcceptanceGate.metadata?.releaseReady === true,\n\t\t\t\tcustomerReplyReady: releaseCustomerAcceptanceGate.metadata?.customerReplyReady === true,\n\t\t\t\tcustomerReplyReadinessStatus: cleanText(releaseCustomerAcceptanceGate.metadata?.customerReplyReadinessStatus, 120),\n\t\t\t\tproofBackedSendStatus: cleanText(releaseCustomerAcceptanceGate.metadata?.proofBackedSendStatus, 120),\n\t\t\t\tproofBackedSendRecorded: releaseCustomerAcceptanceGate.metadata?.proofBackedSendRecorded === true,\n\t\t\t\tsendGuardReady: releaseCustomerAcceptanceGate.metadata?.sendGuardReady === true,\n\t\t\t\treplyDraftReady: releaseCustomerAcceptanceGate.metadata?.replyDraftReady === true,\n\t\t\t\tcustomerReplyRequiresHumanApproval: releaseCustomerAcceptanceGate.metadata?.customerReplyRequiresHumanApproval === true,\n\t\t\t\tblockers: cleanStringList(releaseCustomerAcceptanceGate.metadata?.blockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\tevidenceProbeContract: evidenceProbeContractGate ? {\n\t\t\t\tstatus: evidenceProbeContractGate.status,\n\t\t\t\tcontractId: cleanText(evidenceProbeContractGate.metadata?.contractId, 200),\n\t\t\t\tcontractStatus: cleanText(evidenceProbeContractGate.metadata?.status, 120),\n\t\t\t\tprobeType: cleanText(evidenceProbeContractGate.metadata?.probeType, 120),\n\t\t\t\tevidenceOnly: evidenceProbeContractGate.metadata?.evidenceOnly === true,\n\t\t\t\tproductRepairAllowed: evidenceProbeContractGate.metadata?.productRepairAllowed === true,\n\t\t\t\tcanRunWithoutCodexMonitor: evidenceProbeContractGate.metadata?.canRunWithoutCodexMonitor === true,\n\t\t\t\tissueClass: cleanText(evidenceProbeContractGate.metadata?.issueClass, 120),\n\t\t\t\tplanId: cleanText(evidenceProbeContractGate.metadata?.planId, 200),\n\t\t\t\tactiveRoute: cleanText(evidenceProbeContractGate.metadata?.activeRoute, 500),\n\t\t\t\tactionUnderTest: cleanText(evidenceProbeContractGate.metadata?.actionUnderTest, 1000),\n\t\t\t\texpectedBusinessProof: cleanText(evidenceProbeContractGate.metadata?.expectedBusinessProof, 1200),\n\t\t\t\tstartingFailureClass: cleanText(evidenceProbeContractGate.metadata?.startingFailureClass, 120),\n\t\t\t\tstartingEvidenceHash: cleanText(evidenceProbeContractGate.metadata?.startingEvidenceHash, 200),\n\t\t\t\tsameFailureCount: Number(evidenceProbeContractGate.metadata?.sameFailureCount || 0),\n\t\t\t\trequiredNewSignals: cleanStringList(evidenceProbeContractGate.metadata?.requiredNewSignals, 20, 500),\n\t\t\t\trequiredArtifacts: cleanStringList(evidenceProbeContractGate.metadata?.requiredArtifacts, 20, 500),\n\t\t\t\tacceptableEvidence: cleanStringList(evidenceProbeContractGate.metadata?.acceptableEvidence, 20, 500),\n\t\t\t\tnextCommands: cleanStringList(evidenceProbeContractGate.metadata?.nextCommands, 20, 300),\n\t\t\t\tblockers: cleanStringList(evidenceProbeContractGate.metadata?.blockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\tdiagnosisBeforeRepair: diagnosisBeforeRepairGate ? {\n\t\t\t\tstatus: diagnosisBeforeRepairGate.status,\n\t\t\t\tdiagnosisValid: diagnosisBeforeRepairGate.metadata?.diagnosisValid === true,\n\t\t\t\tdiagnosisStatus: cleanText(diagnosisBeforeRepairGate.metadata?.diagnosisStatus, 120),\n\t\t\t\tactivityCount: Number(diagnosisBeforeRepairGate.metadata?.activityCount || 0),\n\t\t\t\tchangedFiles: cleanStringList(diagnosisBeforeRepairGate.metadata?.changedFiles, 40, 500),\n\t\t\t\tallowedDispatchAction: cleanText(diagnosisBeforeRepairGate.metadata?.allowedDispatchAction, 160),\n\t\t\t\tproductRepairAllowed: diagnosisBeforeRepairGate.metadata?.productRepairAllowed === true,\n\t\t\t\tblockers: cleanStringList(diagnosisBeforeRepairGate.metadata?.blockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\townerFileScope: ownerFileScopeGate ? {\n\t\t\t\tstatus: ownerFileScopeGate.status,\n\t\t\t\tproductRepairAllowed: ownerFileScopeGate.metadata?.productRepairAllowed === true,\n\t\t\t\tallowedDispatchAction: cleanText(ownerFileScopeGate.metadata?.allowedDispatchAction, 160),\n\t\t\t\townerFiles: cleanStringList(ownerFileScopeGate.metadata?.ownerFiles, 40, 500),\n\t\t\t\tchangedFiles: cleanStringList(ownerFileScopeGate.metadata?.changedFiles, 60, 500),\n\t\t\t\toutsideOwnerFiles: cleanStringList(ownerFileScopeGate.metadata?.outsideOwnerFiles, 40, 500),\n\t\t\t\tallowedTestFilesOutsideOwnerScope: ownerFileScopeGate.metadata?.allowedTestFilesOutsideOwnerScope === true,\n\t\t\t\trequiredEvidence: cleanStringList(ownerFileScopeGate.metadata?.requiredEvidence, 20, 500)\n\t\t\t} : undefined,\n\t\t\trootCauseEntryContract: Object.keys(rootCauseEntryContract).length ? {\n\t\t\t\tcontractId: cleanText(rootCauseEntryContract.contract_id || rootCauseEntryContract.contractId, 160),\n\t\t\t\tversion: cleanText(rootCauseEntryContract.version, 120),\n\t\t\t\tstatus: cleanText(rootCauseEntryContract.status, 120),\n\t\t\t\tissueClassProbeCount: asArray(rootCauseEntryContract.issue_class_probes || rootCauseEntryContract.issueClassProbes).length,\n\t\t\t\townerFileMax: Number(rootCauseEntryContract.owner_file_policy?.max_files || rootCauseEntryContract.ownerFilePolicy?.maxFiles || 0) || 0,\n\t\t\t\trequiresBusinessAssertion: rootCauseEntryContract.business_proof_policy?.requires_aiqa_business_assertion === true\n\t\t\t\t\t|| rootCauseEntryContract.businessProofPolicy?.requiresAiqaBusinessAssertion === true\n\t\t\t} : undefined,\n\t\t\tdiagnosis: Object.keys(diagnosisGate).length ? {\n\t\t\t\tstatus: cleanText(diagnosisGate.status, 80),\n\t\t\t\tissueClass: diagnosisIssueClass,\n\t\t\t\townerFiles: diagnosisOwnerFiles,\n\t\t\t\tacceptedHypothesis: cleanText(diagnosisGate.accepted_hypothesis?.statement || diagnosisGate.acceptedHypothesis?.statement, 1000),\n\t\t\t\tproofPlan: diagnosisGate.proof_plan || diagnosisGate.proofPlan,\n\t\t\t\tproofMatrixId: cleanText(diagnosisProofMatrixGate?.metadata?.matrixId, 180),\n\t\t\t\tproofMatrixStatus: cleanText(diagnosisProofMatrixGate?.metadata?.status, 120)\n\t\t\t} : undefined,\n\t\t\tdiagnosisProofMatrix: diagnosisProofMatrixGate ? {\n\t\t\t\tstatus: diagnosisProofMatrixGate.status,\n\t\t\t\tmatrixId: cleanText(diagnosisProofMatrixGate.metadata?.matrixId, 180),\n\t\t\t\tmatrixStatus: cleanText(diagnosisProofMatrixGate.metadata?.status, 120),\n\t\t\t\tissueClass: cleanText(diagnosisProofMatrixGate.metadata?.issueClass, 120),\n\t\t\t\townerFiles: cleanStringList(diagnosisProofMatrixGate.metadata?.ownerFiles, 40, 500),\n\t\t\t\tuncoveredOwnerFiles: cleanStringList(diagnosisProofMatrixGate.metadata?.uncoveredOwnerFiles, 40, 500),\n\t\t\t\treproductionEvidenceCount: Number(diagnosisProofMatrixGate.metadata?.reproductionEvidenceCount || 0),\n\t\t\t\trootCauseEvidenceCount: Number(diagnosisProofMatrixGate.metadata?.rootCauseEvidenceCount || 0),\n\t\t\t\tbusinessProofArtifacts: cleanStringList(diagnosisProofMatrixGate.metadata?.businessProofArtifacts, 40, 500),\n\t\t\t\tblockers: cleanStringList(diagnosisProofMatrixGate.metadata?.blockers, 40, 500)\n\t\t\t} : undefined,\n\t\t\townerScopedRepairContract: ownerScopedRepairContractGate ? {\n\t\t\t\tstatus: ownerScopedRepairContractGate.status,\n\t\t\t\tcontractId: cleanText(ownerScopedRepairContractGate.metadata?.contractId, 180),\n\t\t\t\tcontractStatus: cleanText(ownerScopedRepairContractGate.metadata?.status, 120),\n\t\t\t\tsourceEditsAllowed: ownerScopedRepairContractGate.metadata?.sourceEditsAllowed === true,\n\t\t\t\tcanRunWithoutCodexMonitor: ownerScopedRepairContractGate.metadata?.canRunWithoutCodexMonitor === true,\n\t\t\t\tissueClass: cleanText(ownerScopedRepairContractGate.metadata?.issueClass, 120),\n\t\t\t\townerFiles: cleanStringList(ownerScopedRepairContractGate.metadata?.ownerFiles, 40, 500),\n\t\t\t\tproofMatrixId: cleanText(ownerScopedRepairContractGate.metadata?.proofMatrixId, 180),\n\t\t\t\tchangedFiles: cleanStringList(ownerScopedRepairContractGate.metadata?.changedFiles, 60, 500),\n\t\t\t\toutsideOwnerFiles: cleanStringList(ownerScopedRepairContractGate.metadata?.outsideOwnerFiles, 40, 500),\n\t\t\t\tpatchUnitCount: Number(ownerScopedRepairContractGate.metadata?.patchUnitCount || 0),\n\t\t\t\trequiredEvidenceAfterRepair: cleanStringList(ownerScopedRepairContractGate.metadata?.requiredEvidenceAfterRepair, 30, 500),\n\t\t\t\tblockers: cleanStringList(ownerScopedRepairContractGate.metadata?.blockers, 40, 500)\n\t\t\t} : undefined,\n\t\t\tdiagnosisEvidencePack: diagnosisEvidencePackGate ? {\n\t\t\t\tstatus: cleanText(diagnosisEvidencePackGate.metadata?.status, 120),\n\t\t\t\tgateStatus: diagnosisEvidencePackGate.status,\n\t\t\t\tpackId: cleanText(diagnosisEvidencePackGate.metadata?.packId, 180),\n\t\t\t\treadOnly: diagnosisEvidencePackGate.metadata?.readOnly !== false,\n\t\t\t\tsourceEditsAllowed: diagnosisEvidencePackGate.metadata?.sourceEditsAllowed === true,\n\t\t\t\trequiredOutputKey: cleanText(diagnosisEvidencePackGate.metadata?.requiredOutputKey, 120),\n\t\t\t\tdiagnosisValid: diagnosisEvidencePackGate.metadata?.diagnosisValid === true,\n\t\t\t\tissueClassHint: cleanText(diagnosisEvidencePackGate.metadata?.issueClassHint, 120),\n\t\t\t\townerFileHints: cleanStringList(diagnosisEvidencePackGate.metadata?.ownerFileHints, 20, 500),\n\t\t\t\tsimilarHintCount: Number(diagnosisEvidencePackGate.metadata?.similarHintCount || 0),\n\t\t\t\tsimilarHintsAdvisoryOnly: diagnosisEvidencePackGate.metadata?.similarHintsAdvisoryOnly === true,\n\t\t\t\tissueClassProbeCount: Number(diagnosisEvidencePackGate.metadata?.issueClassProbeCount || 0),\n\t\t\t\tvalidationBlockers: cleanStringList(diagnosisEvidencePackGate.metadata?.validationBlockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\tsimilarFixHintContract: similarFixHintContractGate ? {\n\t\t\t\tgateStatus: similarFixHintContractGate.status,\n\t\t\t\tcontractId: cleanText(similarFixHintContractGate.metadata?.contractId, 200),\n\t\t\t\tversion: cleanText(similarFixHintContractGate.metadata?.version, 120),\n\t\t\t\tstatus: cleanText(similarFixHintContractGate.metadata?.status, 120),\n\t\t\t\tsource: cleanText(similarFixHintContractGate.metadata?.source, 160),\n\t\t\t\tcandidateCount: Number(similarFixHintContractGate.metadata?.candidateCount || 0),\n\t\t\t\thintCount: Number(similarFixHintContractGate.metadata?.hintCount || 0),\n\t\t\t\trankedHintCount: Number(similarFixHintContractGate.metadata?.rankedHintCount || 0),\n\t\t\t\townerFileHints: cleanStringList(similarFixHintContractGate.metadata?.ownerFileHints, 30, 500),\n\t\t\t\tadvisoryOnly: similarFixHintContractGate.metadata?.advisoryOnly === true,\n\t\t\t\tsimilarHintsAreNotProof: similarFixHintContractGate.metadata?.similarHintsAreNotProof === true,\n\t\t\t\townerFilesRequireCurrentEvidence: similarFixHintContractGate.metadata?.ownerFilesRequireCurrentEvidence === true,\n\t\t\t\tacceptedHypothesisCurrent: similarFixHintContractGate.metadata?.acceptedHypothesisCurrent === true,\n\t\t\t\trequiredModelActions: cleanStringList(similarFixHintContractGate.metadata?.requiredModelActions, 20, 500),\n\t\t\t\tblockers: cleanStringList(similarFixHintContractGate.metadata?.blockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\tissueClassProbePlan: issueClassProbePlanGate ? {\n\t\t\t\tstatus: cleanText(issueClassProbePlanGate.metadata?.status, 120),\n\t\t\t\tgateStatus: issueClassProbePlanGate.status,\n\t\t\t\tplanId: cleanText(issueClassProbePlanGate.metadata?.planId, 180),\n\t\t\t\tissueClass: cleanText(issueClassProbePlanGate.metadata?.issueClass, 120),\n\t\t\t\tdiagnosisValid: issueClassProbePlanGate.metadata?.diagnosisValid === true,\n\t\t\t\tissueClassProbePlanReady: issueClassProbePlanGate.metadata?.issueClassProbePlanReady === true,\n\t\t\t\tactiveRoute: cleanText(issueClassProbePlanGate.metadata?.activeRoute, 500),\n\t\t\t\taction: cleanText(issueClassProbePlanGate.metadata?.action, 1000),\n\t\t\t\texpectedBusinessProof: cleanText(issueClassProbePlanGate.metadata?.expectedBusinessProof, 1200),\n\t\t\t\tacceptanceGate: cleanText(issueClassProbePlanGate.metadata?.acceptanceGate, 120),\n\t\t\t\trequiredArtifacts: cleanStringList(issueClassProbePlanGate.metadata?.requiredArtifacts, 20, 500),\n\t\t\t\tfalsePassBlockers: cleanStringList(issueClassProbePlanGate.metadata?.falsePassBlockers, 20, 500),\n\t\t\t\tblockers: cleanStringList(issueClassProbePlanGate.metadata?.blockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\tbusinessProofReadiness: Object.keys(businessProofReadiness).length ? {\n\t\t\t\tready: businessProofReadiness.ready === true,\n\t\t\t\tstatus: cleanText(businessProofReadiness.status, 120),\n\t\t\t\treason: cleanText(businessProofReadiness.reason, 1000),\n\t\t\t\tblockers: cleanStringList(businessProofReadiness.blockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\tnextActionContract: nextActionContractGate ? {\n\t\t\t\t\tstatus: nextActionContractGate.status,\n\t\t\t\t\taction: cleanText(nextActionContractGate.metadata?.action, 160),\n\t\t\t\t\tprimaryCommand: cleanText(nextActionContractGate.metadata?.primaryCommand, 240),\n\t\t\t\t\tsafeToAutoRun: nextActionContractGate.metadata?.safeToAutoRun === true,\n\t\t\t\t\tcanRunWithoutCodexMonitor: nextActionContractGate.metadata?.canRunWithoutCodexMonitor === true,\n\t\t\t\t\tcodexFallbackRequired: nextActionContractGate.metadata?.codexFallbackRequired === true,\n\t\t\t\t\trequiresHumanApproval: nextActionContractGate.metadata?.requiresHumanApproval === true,\n\t\t\t\t\trootCauseFirstSatisfied: nextActionContractGate.metadata?.rootCauseFirstSatisfied === true,\n\t\t\t\t\tproofMatrixReady: nextActionContractGate.metadata?.proofMatrixReady === true,\n\t\t\t\t\tproofMatrixId: cleanText(nextActionContractGate.metadata?.proofMatrixId, 200),\n\t\t\t\t\townerScopedRepairContractReady: nextActionContractGate.metadata?.ownerScopedRepairContractReady === true,\n\t\t\t\t\townerScopedRepairContractId: cleanText(nextActionContractGate.metadata?.ownerScopedRepairContractId, 200),\n\t\t\t\t\thotfixCommitRequired: nextActionContractGate.metadata?.hotfixCommitRequired === true,\n\t\t\t\t\tliveHotfixBlockedUntilCommit: nextActionContractGate.metadata?.liveHotfixBlockedUntilCommit === true,\n\t\t\t\t\tevidenceProbeContractReady: nextActionContractGate.metadata?.evidenceProbeContractReady === true,\n\t\t\t\t\tevidenceProbeContractId: cleanText(nextActionContractGate.metadata?.evidenceProbeContractId, 200),\n\t\t\t\t\tautonomyMode: cleanText(nextActionContractGate.metadata?.autonomyMode, 120),\n\t\t\t\t\tautonomyCanAutoDispatch: nextActionContractGate.metadata?.autonomyCanAutoDispatch === true,\n\t\t\t\t\tautonomyReason: cleanText(nextActionContractGate.metadata?.autonomyReason, 1000),\n\t\t\t\t\tautonomyExpectedValueScore: Number(nextActionContractGate.metadata?.autonomyExpectedValueScore || 0),\n\t\t\t\t\tautonomyExpectedValuePositive: nextActionContractGate.metadata?.autonomyExpectedValuePositive === true,\n\t\t\t\t\tautonomyProjectedSpendUsd: Number(nextActionContractGate.metadata?.autonomyProjectedSpendUsd || 0),\n\t\t\t\t\tfailureClass: cleanText(nextActionContractGate.metadata?.failureClass, 120),\n\t\t\t\t\tevidenceFreshnessStatus: cleanText(nextActionContractGate.metadata?.evidenceFreshnessStatus, 120),\n\t\t\t\t\tsameFailureCount: Number(nextActionContractGate.metadata?.sameFailureCount || 0),\n\t\t\t\t\tblockers: cleanStringList(nextActionContractGate.metadata?.blockers, 20, 500)\n\t\t\t\t} : undefined,\n\t\t\tmanagerExecutionPacket: managerExecutionPacketGate ? {\n\t\t\t\t\tstatus: cleanText(managerExecutionPacketGate.metadata?.status, 120),\n\t\t\t\t\tgateStatus: managerExecutionPacketGate.status,\n\t\t\t\t\taction: cleanText(managerExecutionPacketGate.metadata?.action, 160),\n\t\t\t\t\tprimaryCommand: cleanText(managerExecutionPacketGate.metadata?.primaryCommand, 240),\n\t\t\t\t\texecuteNow: managerExecutionPacketGate.metadata?.executeNow === true,\n\t\t\t\t\tcanRunWithoutCodexMonitor: managerExecutionPacketGate.metadata?.canRunWithoutCodexMonitor === true,\n\t\t\t\t\tcodexFallbackRequired: managerExecutionPacketGate.metadata?.codexFallbackRequired === true,\n\t\t\t\t\tretryScope: cleanText(managerExecutionPacketGate.metadata?.retryScope, 120),\n\t\t\t\t\tmaxAttemptsBeforeFreshEvidence: Number(managerExecutionPacketGate.metadata?.maxAttemptsBeforeFreshEvidence || 0),\n\t\t\t\t\tcostRisk: cleanText(managerExecutionPacketGate.metadata?.costRisk, 120),\n\t\t\t\t\tvalidationStatus: cleanText(managerExecutionPacketGate.metadata?.validation?.status, 120),\n\t\t\t\t\tvalidationValid: managerExecutionPacketGate.metadata?.validation?.valid === true,\n\t\t\t\t\tproofRequiredBeforeContinuation: cleanStringList(managerExecutionPacketGate.metadata?.proofRequiredBeforeContinuation, 20, 500),\n\t\t\t\t\tstopConditions: cleanStringList(managerExecutionPacketGate.metadata?.stopConditions, 20, 500),\n\t\t\t\t\tforbiddenActions: cleanStringList(managerExecutionPacketGate.metadata?.forbiddenActions, 20, 500),\n\t\t\t\t\townerFiles: cleanStringList(managerExecutionPacketGate.metadata?.ownerFiles, 40, 500),\n\t\t\t\t\tproofResetContract: managerExecutionPacketGate.metadata?.proofResetContract ? {\n\t\t\t\t\t\tcontractId: cleanText(managerExecutionPacketGate.metadata.proofResetContract.contractId, 200),\n\t\t\t\t\t\tstatus: cleanText(managerExecutionPacketGate.metadata.proofResetContract.status, 120),\n\t\t\t\t\t\taction: cleanText(managerExecutionPacketGate.metadata.proofResetContract.action, 160),\n\t\t\t\t\t\tretryScope: cleanText(managerExecutionPacketGate.metadata.proofResetContract.retryScope, 120),\n\t\t\t\t\t\tmaxAttemptsBeforeFreshEvidence: Number(managerExecutionPacketGate.metadata.proofResetContract.maxAttemptsBeforeFreshEvidence || 0),\n\t\t\t\t\t\tstartingFailureClass: cleanText(managerExecutionPacketGate.metadata.proofResetContract.startingFailureClass, 120),\n\t\t\t\t\t\tstartingBlockerFingerprint: cleanText(managerExecutionPacketGate.metadata.proofResetContract.startingBlockerFingerprint, 200),\n\t\t\t\t\t\tstartingEvidenceHash: cleanText(managerExecutionPacketGate.metadata.proofResetContract.startingEvidenceHash, 200),\n\t\t\t\t\t\trequiredResetEvidence: cleanStringList(managerExecutionPacketGate.metadata.proofResetContract.requiredResetEvidence, 40, 500),\n\t\t\t\t\t\tproofRequiredBeforeContinuation: cleanStringList(managerExecutionPacketGate.metadata.proofResetContract.proofRequiredBeforeContinuation, 40, 500),\n\t\t\t\t\t\tstopConditions: cleanStringList(managerExecutionPacketGate.metadata.proofResetContract.stopConditions, 40, 500),\n\t\t\t\t\t\tcanRunWithoutCodexMonitor: managerExecutionPacketGate.metadata.proofResetContract.canRunWithoutCodexMonitor === true,\n\t\t\t\t\t\tsourceNextActionContractId: cleanText(managerExecutionPacketGate.metadata.proofResetContract.sourceNextActionContractId, 200),\n\t\t\t\t\t\tcreatedAt: cleanText(managerExecutionPacketGate.metadata.proofResetContract.createdAt, 120)\n\t\t\t\t\t} : undefined,\n\t\t\t\t\tblockers: cleanStringList(managerExecutionPacketGate.metadata?.blockers, 20, 500)\n\t\t\t\t} : undefined,\n\t\t\tmanagerRecoveryExecutionProof: recoveryExecutionProofGate ? {\n\t\t\t\t\tstatus: cleanText(recoveryExecutionProofGate.metadata?.status, 120),\n\t\t\t\t\tgateStatus: recoveryExecutionProofGate.status,\n\t\t\t\t\tcanContinueRun: recoveryExecutionProofGate.metadata?.canContinueRun === true,\n\t\t\t\t\tcanRunProductRepair: recoveryExecutionProofGate.metadata?.canRunProductRepair === true,\n\t\t\t\t\tcanRunExpensiveModel: recoveryExecutionProofGate.metadata?.canRunExpensiveModel === true,\n\t\t\t\t\tcanResetLoopBudget: recoveryExecutionProofGate.metadata?.canResetLoopBudget === true,\n\t\t\t\t\tnewEvidence: recoveryExecutionProofGate.metadata?.newEvidence === true,\n\t\t\t\t\tmaterialEvidence: recoveryExecutionProofGate.metadata?.materialEvidence === true,\n\t\t\t\t\tevidenceStrength: cleanText(recoveryExecutionProofGate.metadata?.evidenceStrength, 120),\n\t\t\t\t\tnextAllowedAction: cleanText(recoveryExecutionProofGate.metadata?.nextAllowedAction, 180),\n\t\t\t\t\tmissingEvidence: cleanStringList(recoveryExecutionProofGate.metadata?.missingEvidence, 20, 500),\n\t\t\t\t\tblockers: cleanStringList(recoveryExecutionProofGate.metadata?.blockers, 20, 500)\n\t\t\t\t} : undefined,\n\t\t\tcustomerReplyPolicy: Object.keys(customerReplyPolicy).length ? {\n\t\t\t\t\taction: cleanText(customerReplyPolicy.action, 120),\n\t\t\t\t\tsafety: cleanText(customerReplyPolicy.safety, 120),\n\t\t\t\t\tcanDraftCustomerReply: customerReplyPolicy.canDraftCustomerReply === true || customerReplyPolicy.can_draft_customer_reply === true,\n\t\t\t\t\tcanSendCustomerReply: customerReplyPolicy.canSendCustomerReply === true || customerReplyPolicy.can_send_customer_reply === true,\n\t\t\t\t\treason: cleanText(customerReplyPolicy.reason, 1000),\n\t\t\t\t\treviewType: cleanText(\n\t\t\t\t\t\tcustomerReplyPolicy.humanReviewPacket?.reviewType\n\t\t\t\t\t|| customerReplyPolicy.human_review_packet?.review_type\n\t\t\t\t\t|| customerReplyPolicy.human_review_packet?.reviewType,\n\t\t\t\t\t160\n\t\t\t\t),\n\t\t\t\tprimaryAction: cleanText(\n\t\t\t\t\tcustomerReplyPolicy.humanReviewPacket?.primaryAction\n\t\t\t\t\t|| customerReplyPolicy.human_review_packet?.primary_action\n\t\t\t\t\t|| customerReplyPolicy.human_review_packet?.primaryAction,\n\t\t\t\t\t160\n\t\t\t\t),\n\t\t\t\t\tclarificationContract: customerReplyPolicy.clarificationContract || customerReplyPolicy.clarification_contract ? {\n\t\t\t\t\t\tstatus: cleanText(customerReplyPolicy.clarificationContract?.status || customerReplyPolicy.clarification_contract?.status, 120),\n\t\t\t\t\t\tmissingField: cleanText(customerReplyPolicy.clarificationContract?.missingField || customerReplyPolicy.clarification_contract?.missing_field, 120),\n\t\t\t\t\t\toneQuestionOnly: customerReplyPolicy.clarificationContract?.oneQuestionOnly === true || customerReplyPolicy.clarification_contract?.one_question_only === true,\n\t\t\t\t\t\tparksTicketUntilCustomerReply: customerReplyPolicy.clarificationContract?.parksTicketUntilCustomerReply === true || customerReplyPolicy.clarification_contract?.parks_ticket_until_customer_reply === true\n\t\t\t\t\t} : undefined\n\t\t\t\t} : undefined,\n\t\t\t\tcustomerReplyReadiness: customerReplyReadinessGate ? {\n\t\t\t\t\tstatus: cleanText(customerReplyReadinessGate.metadata?.status, 120),\n\t\t\t\t\tgateStatus: customerReplyReadinessGate.status,\n\t\t\t\t\tprimaryCommand: cleanText(customerReplyReadinessGate.metadata?.primaryCommand, 180),\n\t\t\t\t\tpolicyAction: cleanText(customerReplyReadinessGate.metadata?.policyAction, 120),\n\t\t\t\t\tcanDraftCustomerReply: customerReplyReadinessGate.metadata?.canDraftCustomerReply === true,\n\t\t\t\t\tcanSendCustomerReply: customerReplyReadinessGate.metadata?.canSendCustomerReply === true,\n\t\t\t\t\trequiresHumanApproval: customerReplyReadinessGate.metadata?.requiresHumanApproval === true,\n\t\t\t\t\tproofBacked: customerReplyReadinessGate.metadata?.proofBacked === true,\n\t\t\t\t\tbusinessProofReady: customerReplyReadinessGate.metadata?.businessProofReady === true,\n\t\t\t\t\treleaseReady: customerReplyReadinessGate.metadata?.releaseReady === true,\n\t\t\t\t\tblockers: cleanStringList(customerReplyReadinessGate.metadata?.blockers, 20, 500)\n\t\t\t\t} : undefined,\n\t\t\t\tcustomerReplySend: customerReplySendGate ? {\n\t\t\t\t\tstatus: cleanText(customerReplySendGate.metadata?.status, 160),\n\t\t\t\t\tgateStatus: customerReplySendGate.status,\n\t\t\t\t\tcontractId: cleanText(customerReplySendGate.metadata?.contractId, 180),\n\t\t\t\t\tguardStatus: cleanText(customerReplySendGate.metadata?.guardStatus, 160),\n\t\t\t\t\tallowed: customerReplySendGate.metadata?.allowed === true,\n\t\t\t\t\tsentAfterManualApproval: customerReplySendGate.metadata?.sentAfterManualApproval === true,\n\t\t\t\t\tdirectSendAllowed: customerReplySendGate.metadata?.directSendAllowed === true,\n\t\t\t\t\tmanualSendAfterReviewAllowed: customerReplySendGate.metadata?.manualSendAfterReviewAllowed === true,\n\t\t\t\t\trequiresHumanApproval: customerReplySendGate.metadata?.requiresHumanApproval === true,\n\t\t\t\t\tproofBacked: customerReplySendGate.metadata?.proofBacked === true,\n\t\t\t\t\tbusinessProofReady: customerReplySendGate.metadata?.businessProofReady === true,\n\t\t\t\t\treleaseReady: customerReplySendGate.metadata?.releaseReady === true,\n\t\t\t\t\tdiagnosisReady: customerReplySendGate.metadata?.diagnosisReady === true,\n\t\t\t\t\tissueClassProbePlanReady: customerReplySendGate.metadata?.issueClassProbePlanReady === true,\n\t\t\t\t\tconfidenceLevel: cleanText(customerReplySendGate.metadata?.confidenceLevel, 120),\n\t\t\t\t\tnextAction: cleanText(customerReplySendGate.metadata?.nextAction, 160),\n\t\t\t\t\tpullRequestUrl: cleanText(customerReplySendGate.metadata?.pullRequestUrl, 500),\n\t\t\t\t\tjobId: cleanText(customerReplySendGate.metadata?.jobId, 180),\n\t\t\t\t\treadinessContractId: cleanText(customerReplySendGate.metadata?.readinessContractId, 180),\n\t\t\t\t\treadinessStatus: cleanText(customerReplySendGate.metadata?.readinessStatus, 160),\n\t\t\t\t\tmessageHash: cleanText(customerReplySendGate.metadata?.messageHash, 180),\n\t\t\t\t\trecipients: cleanStringList(customerReplySendGate.metadata?.recipients, 20, 240),\n\t\t\t\t\trequiredEvidence: cleanStringList(customerReplySendGate.metadata?.requiredEvidence, 40, 500),\n\t\t\t\t\tblockers: cleanStringList(customerReplySendGate.metadata?.blockers, 40, 500)\n\t\t\t\t} : undefined\n\t\t\t}\n\t\t});\n\t}\n\nexport function buildAICoderAIRunFromEvidence(input: AICoderAIRunAdapterInput): AIRun {\n\tconst app = input.app || {};\n\tconst job = input.job || {};\n\tconst evidence = buildAICoderQaEvidence(input);\n\tconst events: AIRunEvent[] = [];\n\tconst gates: AIRunGateResult[] = [];\n\tconst sourceIds: Record<string, string> = {};\n\taddSourceId(sourceIds, 'appId', app._id || app.id || job.appId || job.aicoderAppId);\n\taddSourceId(sourceIds, 'jobId', job._id || job.id || job.jobId);\n\taddSourceId(sourceIds, 'domain', app.domain || app.customDomain || job.domain);\n\n\tfor (const log of asArray<Record<string, any>>(input.logs)) {\n\t\tpushEvent(events, {\n\t\t\ttype: log.type === 'scorecard' ? 'scorecard' : 'log',\n\t\t\tcategory: cleanText(log.category || log.phase || log.level, 160),\n\t\t\tmessage: cleanText(log.message || log.summary || log.text || log.title, 1800),\n\t\t\tartifactPaths: asArray<string>(log.artifactPaths || log.artifacts),\n\t\t\trecordedAt: eventDate(log),\n\t\t\tmetadata: {\n\t\t\t\tstatus: log.status,\n\t\t\t\tlevel: log.level,\n\t\t\t\tscore: log.score\n\t\t\t}\n\t\t});\n\t}\n\tcollectCommitEvents(asArray<Record<string, any>>(input.commits), events);\n\tcollectHotfixEvidenceEvents([job, app, evidence, input.qaEvidence], events, gates, input.now);\n\tconst noBlindLoopGate = aicoderManagerNoBlindLoopGate(app, job, evidence, input.now);\n\tif (noBlindLoopGate) {\n\t\tgates.push(noBlindLoopGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'manager_no_blind_loop_policy',\n\t\t\tmessage: noBlindLoopGate.reason,\n\t\t\tartifactPaths: noBlindLoopGate.evidenceRefs,\n\t\t\trecordedAt: noBlindLoopGate.recordedAt,\n\t\t\tmetadata: noBlindLoopGate.metadata\n\t\t});\n\t}\n\tconst cost = collectUsageEvents(asArray<Record<string, any>>(input.usageLedger), events);\n\tconst costGate = costObservabilityGate(cost, 'aicoder_app', input.now);\n\tgates.push(costGate);\n\tpushEvent(events, {\n\t\ttype: 'usage',\n\t\tcategory: 'cost_observability',\n\t\tmessage: costGate.reason,\n\t\tartifactPaths: costGate.evidenceRefs,\n\t\trecordedAt: costGate.recordedAt,\n\t\tmetadata: costGate.metadata\n\t});\n\tconst journeyContractValidation = aicoderJourneyContractValidationFromEvidence(evidence);\n\tconst journeyContractGate = aicoderJourneyContractGate(journeyContractValidation, evidence, input.now);\n\tgates.push(journeyContractGate);\n\tpushEvent(events, {\n\t\ttype: 'log',\n\t\tcategory: 'aicoder_journey_contract',\n\t\tmessage: journeyContractGate.reason,\n\t\tartifactPaths: journeyContractGate.evidenceRefs,\n\t\trecordedAt: journeyContractGate.recordedAt,\n\t\tmetadata: journeyContractGate.metadata\n\t});\n\tconst scorecardPassed = evidence.scorecardPassed === true\n\t\t|| evidence.scorecardStatus === 'pass'\n\t\t|| (Number(evidence.score ?? evidence.qualityScore ?? 0) >= Number(evidence.scoreThreshold ?? job.scoreThreshold ?? 90));\n\tconst explicitWorkflowReadiness = normalizeAICoderWorkflowProofReadiness(plainObject(\n\t\tevidence.workflowProofReadiness\n\t\t|| evidence.workflow_proof_readiness\n\t\t|| evidence.aicoderWorkflowProofReadiness\n\t\t|| evidence.aicoder_workflow_proof_readiness\n\t\t|| job.workflowProofReadiness\n\t\t|| job.workflow_proof_readiness\n\t\t|| job.aicoderWorkflowProofReadiness\n\t\t|| job.aicoder_workflow_proof_readiness\n\t), input.now);\n\tconst workflowReadiness = explicitWorkflowReadiness || evaluateResolveIOAICoderWorkflowProofReadiness({\n\t\tjourneyContract: evidence.journeyContract,\n\t\tjourneyContractMarkdown: evidence.journeyContractMarkdown,\n\t\tworkflowQaRows: asArray(evidence.workflowQaRows || evidence.workflow_qa_rows),\n\t\tbusinessAssertions: [\n\t\t\t...asArray(evidence.businessAssertions),\n\t\t\t...asArray(evidence.business_assertions),\n\t\t\t...asArray(evidence.workflowAssertions),\n\t\t\t...asArray(evidence.workflow_assertions)\n\t\t],\n\t\trouteProbes: [\n\t\t\t...asArray(evidence.routeProbes),\n\t\t\t...asArray(evidence.route_probes),\n\t\t\t...asArray(evidence.workflowProbes),\n\t\t\t...asArray(evidence.workflow_probes)\n\t\t],\n\t\tartifactPaths: [\n\t\t\t...asArray(evidence.artifactPaths),\n\t\t\t...asArray(evidence.artifact_paths)\n\t\t],\n\t\tscorecardPassed,\n\t\tdeployStatus: evidence.deployStatus,\n\t\tpublishStatus: evidence.publishStatus,\n\t\tsampleDataStatus: evidence.sampleDataStatus,\n\t\tpreviousWorkflowProofFingerprint: firstNonEmptyText([\n\t\t\tevidence.previousWorkflowProofFingerprint,\n\t\t\tevidence.previous_workflow_proof_fingerprint,\n\t\t\tjob.previousWorkflowProofFingerprint,\n\t\t\tjob.previous_workflow_proof_fingerprint,\n\t\t\tapp.previousWorkflowProofFingerprint,\n\t\t\tapp.previous_workflow_proof_fingerprint\n\t\t], 200),\n\t\tpreviousArtifactFingerprint: firstNonEmptyText([\n\t\t\tevidence.previousArtifactFingerprint,\n\t\t\tevidence.previous_artifact_fingerprint,\n\t\t\tjob.previousArtifactFingerprint,\n\t\t\tjob.previous_artifact_fingerprint,\n\t\t\tapp.previousArtifactFingerprint,\n\t\t\tapp.previous_artifact_fingerprint\n\t\t], 200),\n\t\tpreviousWorkflowProofFingerprints: [\n\t\t\t...asArray(evidence.previousWorkflowProofFingerprints),\n\t\t\t...asArray(evidence.previous_workflow_proof_fingerprints),\n\t\t\t...asArray(job.previousWorkflowProofFingerprints),\n\t\t\t...asArray(job.previous_workflow_proof_fingerprints),\n\t\t\t...asArray(app.previousWorkflowProofFingerprints),\n\t\t\t...asArray(app.previous_workflow_proof_fingerprints)\n\t\t],\n\t\tpreviousArtifactFingerprints: [\n\t\t\t...asArray(evidence.previousArtifactFingerprints),\n\t\t\t...asArray(evidence.previous_artifact_fingerprints),\n\t\t\t...asArray(job.previousArtifactFingerprints),\n\t\t\t...asArray(job.previous_artifact_fingerprints),\n\t\t\t...asArray(app.previousArtifactFingerprints),\n\t\t\t...asArray(app.previous_artifact_fingerprints)\n\t\t],\n\t\tnow: input.now\n\t});\n\tconst workflowReadinessGate = aicoderWorkflowProofReadinessGate(workflowReadiness, input.now);\n\tgates.push(workflowReadinessGate);\n\tpushEvent(events, {\n\t\ttype: 'qa_business_assertion',\n\t\tcategory: 'aicoder_workflow_proof_readiness',\n\t\tmessage: workflowReadinessGate.reason,\n\t\tartifactPaths: workflowReadinessGate.evidenceRefs,\n\t\trecordedAt: workflowReadinessGate.recordedAt,\n\t\tmetadata: workflowReadinessGate.metadata\n\t});\n\tconst workflowProofCheckpoint = aicoderWorkflowProofCheckpointObject(app, job, evidence);\n\tconst workflowProofCheckpointGate = aicoderWorkflowProofCheckpointGate(workflowProofCheckpoint, input.now);\n\tif (workflowProofCheckpointGate) {\n\t\tgates.push(workflowProofCheckpointGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'aicoder_workflow_proof_checkpoint',\n\t\t\tmessage: workflowProofCheckpointGate.reason,\n\t\t\tartifactPaths: workflowProofCheckpointGate.evidenceRefs,\n\t\t\trecordedAt: workflowProofCheckpointGate.recordedAt,\n\t\t\tmetadata: workflowProofCheckpointGate.metadata\n\t\t});\n\t}\n\tconst nextActionContract = aicoderNextActionContractObject(app, job, evidence);\n\tconst nextActionContractGate = aicoderNextActionContractGate(nextActionContract, input.now);\n\tif (nextActionContractGate) {\n\t\tgates.push(nextActionContractGate);\n\t\tpushEvent(events, {\n\t\t\ttype: 'log',\n\t\t\tcategory: 'aicoder_next_action_contract',\n\t\t\tmessage: nextActionContractGate.reason,\n\t\t\tartifactPaths: nextActionContractGate.evidenceRefs,\n\t\t\trecordedAt: nextActionContractGate.recordedAt,\n\t\t\tmetadata: nextActionContractGate.metadata\n\t\t});\n\t}\n\tconst qa = applyAICoderWorkflowProofGate(buildQaFromEvidence(evidence, input.now), workflowReadiness, input.now);\n\n\treturn buildAIRun({\n\t\tsource: 'aicoder_app',\n\t\tsourceIds,\n\t\ttitle: firstText(app, ['name', 'title']) || firstText(job, ['appName', 'title', 'goal']),\n\t\tstatus: firstText(job, ['status', 'state']) || firstText(app, ['status', 'state']),\n\t\tphase: firstText(job, ['phase', 'runnerPhase']),\n\t\tstartedAt: dateValue(job, ['startedAt', 'createdAt']) || dateValue(app, ['createdAt']),\n\t\tcompletedAt: dateValue(job, ['completedAt', 'finishedAt', 'updatedAt']),\n\t\tevents,\n\t\tgates,\n\t\tqa,\n\t\tcost,\n\t\tscorecardPassed,\n\t\tdeployStatus: evidence.deployStatus || statusFromBoolean(evidence.deployReady),\n\t\tpublishStatus: evidence.publishStatus || evidence.pullRequestStatus,\n\t\tsampleDataStatus: evidence.sampleDataStatus || statusFromBoolean(evidence.sampleDataReady ?? evidence.hasSampleData),\n\t\tmanualHandoff: evidence.manualHandoff === true || job.manualHandoff === true,\n\t\tstopped: evidence.stopped === true || job.stopped === true,\n\t\trejected: evidence.rejected === true,\n\t\texplicitAccepted: evidence.explicitAccepted === true || app.accepted === true,\n\t\tterminal: /complete|closed|resolved|done|failed|rejected/i.test(`${job.status || ''} ${job.phase || ''}`),\n\t\tnow: input.now,\n\t\tmetadata: {\n\t\t\tdomain: app.domain || app.customDomain || job.domain,\n\t\t\twowScore: evidence.wowScore ?? job.wowScore,\n\t\t\tscore: evidence.score ?? evidence.qualityScore,\n\t\t\tcostObservability: costObservabilityMetadata(costGate),\n\t\t\thotfixDurability: hotfixDurabilityMetadata(gates),\n\t\t\tmanagerNoBlindLoopPolicy: managerNoBlindLoopMetadata(noBlindLoopGate),\n\t\t\tjourneyContract: {\n\t\t\t\tstatus: journeyContractGate.status,\n\t\t\t\tvalid: journeyContractGate.metadata?.valid === true,\n\t\t\t\tpath: cleanText(journeyContractGate.metadata?.path, 500),\n\t\t\t\tprimaryWorkflowId: cleanText(journeyContractGate.metadata?.primaryWorkflowId, 200),\n\t\t\t\tworkflowQaRowCount: Number(journeyContractGate.metadata?.workflowQaRowCount || 0),\n\t\t\t\tworkflowQaCoverageTags: cleanStringList(journeyContractGate.metadata?.workflowQaCoverageTags, 80, 120),\n\t\t\t\tworkflowQaProofKinds: cleanStringList(journeyContractGate.metadata?.workflowQaProofKinds, 80, 120),\n\t\t\t\terrorCount: Number(journeyContractGate.metadata?.errorCount || 0),\n\t\t\t\twarningCount: Number(journeyContractGate.metadata?.warningCount || 0),\n\t\t\t\tissueCodes: cleanStringList(journeyContractGate.metadata?.issueCodes, 40, 120),\n\t\t\t\tblocksBuildUntilValid: journeyContractGate.metadata?.blocksBuildUntilValid === true,\n\t\t\t\tblocksWorkflowQaUntilValid: journeyContractGate.metadata?.blocksWorkflowQaUntilValid === true,\n\t\t\t\tblocksWowUiUntilWorkflowProof: journeyContractGate.metadata?.blocksWowUiUntilWorkflowProof === true,\n\t\t\t\tblocksPublishUntilWorkflowProof: journeyContractGate.metadata?.blocksPublishUntilWorkflowProof === true,\n\t\t\t\tnextAction: cleanText(journeyContractGate.metadata?.nextAction, 1000)\n\t\t\t},\n\t\t\tworkflowProofReadiness: {\n\t\t\t\tready: workflowReadiness.ready,\n\t\t\t\tstatus: workflowReadiness.status,\n\t\t\t\treason: workflowReadiness.reason,\n\t\t\t\tblockers: workflowReadiness.blockers,\n\t\t\t\tprimaryWorkflowId: workflowReadiness.primaryWorkflowId,\n\t\t\t\tpassedWorkflowRows: workflowReadiness.passedWorkflowRows,\n\t\t\t\tmissingWorkflowRows: workflowReadiness.missingWorkflowRows,\n\t\t\t\tfailedWorkflowRows: workflowReadiness.failedWorkflowRows,\n\t\t\t\tsampleDataReady: workflowReadiness.sampleDataReady,\n\t\t\t\treleaseBlockers: workflowReadiness.releaseBlockers,\n\t\t\t\tworkflowProofFingerprint: workflowReadiness.workflowProofFingerprint,\n\t\t\t\tartifactFingerprint: workflowReadiness.artifactFingerprint,\n\t\t\t\tproofFreshness: workflowReadiness.proofFreshness\n\t\t\t},\n\t\t\tworkflowProofCheckpoint: workflowProofCheckpointGate ? {\n\t\t\t\tstatus: cleanText(workflowProofCheckpointGate.metadata?.status, 120),\n\t\t\t\tgateStatus: workflowProofCheckpointGate.status,\n\t\t\t\treadinessStatus: cleanText(workflowProofCheckpointGate.metadata?.readinessStatus, 120),\n\t\t\t\tnextGate: cleanText(workflowProofCheckpointGate.metadata?.nextGate, 120),\n\t\t\t\tnextAction: cleanText(workflowProofCheckpointGate.metadata?.nextAction, 1000),\n\t\t\t\tblocksProductRepairUntilJourneyContract: workflowProofCheckpointGate.metadata?.blocksProductRepairUntilJourneyContract === true,\n\t\t\t\tblocksPublishUntilWorkflowProof: workflowProofCheckpointGate.metadata?.blocksPublishUntilWorkflowProof === true,\n\t\t\t\tblocksPublishUntilReleaseGate: workflowProofCheckpointGate.metadata?.blocksPublishUntilReleaseGate === true,\n\t\t\t\tblocksWowUiUntilWorkflowProof: workflowProofCheckpointGate.metadata?.blocksWowUiUntilWorkflowProof === true,\n\t\t\t\tworkflowProofFingerprint: cleanText(workflowProofCheckpointGate.metadata?.workflowProofFingerprint, 200),\n\t\t\t\tartifactFingerprint: cleanText(workflowProofCheckpointGate.metadata?.artifactFingerprint, 200),\n\t\t\t\tblockers: cleanStringList(workflowProofCheckpointGate.metadata?.blockers, 20, 500)\n\t\t\t} : undefined,\n\t\t\tnextActionContract: nextActionContractGate ? {\n\t\t\t\tgateStatus: nextActionContractGate.status,\n\t\t\t\tcontractId: cleanText(nextActionContractGate.metadata?.contractId, 200),\n\t\t\t\taction: cleanText(nextActionContractGate.metadata?.action, 120),\n\t\t\t\tlabel: cleanText(nextActionContractGate.metadata?.label, 200),\n\t\t\t\tprimaryCommand: cleanText(nextActionContractGate.metadata?.primaryCommand, 200),\n\t\t\t\tlane: cleanText(nextActionContractGate.metadata?.lane, 120),\n\t\t\t\tstepType: cleanText(nextActionContractGate.metadata?.stepType, 120),\n\t\t\t\tsafeToAutoRun: nextActionContractGate.metadata?.safeToAutoRun === true,\n\t\t\t\trequiresHumanApproval: nextActionContractGate.metadata?.requiresHumanApproval === true,\n\t\t\t\tcanRunWithoutCodexMonitor: nextActionContractGate.metadata?.canRunWithoutCodexMonitor === true,\n\t\t\t\tcodexFallbackRequired: nextActionContractGate.metadata?.codexFallbackRequired === true,\n\t\t\t\tcostRisk: cleanText(nextActionContractGate.metadata?.costRisk, 120),\n\t\t\t\tworkflowFirstSatisfied: nextActionContractGate.metadata?.workflowFirstSatisfied === true,\n\t\t\t\thotfixCommitRequired: nextActionContractGate.metadata?.hotfixCommitRequired === true,\n\t\t\t\tliveHotfixBlockedUntilCommit: nextActionContractGate.metadata?.liveHotfixBlockedUntilCommit === true,\n\t\t\t\tdecisionBasis: plainObject(nextActionContractGate.metadata?.decisionBasis),\n\t\t\t\tpreconditions: cleanStringList(nextActionContractGate.metadata?.preconditions, 20, 500),\n\t\t\t\tsuccessEvidence: cleanStringList(nextActionContractGate.metadata?.successEvidence, 20, 500),\n\t\t\t\trequiredHotfixCommitProof: cleanStringList(nextActionContractGate.metadata?.requiredHotfixCommitProof, 20, 240),\n\t\t\t\tstopConditions: cleanStringList(nextActionContractGate.metadata?.stopConditions, 20, 500),\n\t\t\t\tforbiddenActions: cleanStringList(nextActionContractGate.metadata?.forbiddenActions, 20, 500),\n\t\t\t\tnextCommands: cleanStringList(nextActionContractGate.metadata?.nextCommands, 20, 240),\n\t\t\t\tblockers: cleanStringList(nextActionContractGate.metadata?.blockers, 20, 500)\n\t\t\t} : undefined\n\t\t}\n\t});\n}\n\nexport function buildAssistantAIRunFromEvidence(input: AssistantAIRunAdapterInput): AIRun {\n\tconst conversation = input.conversation || {};\n\tconst events: AIRunEvent[] = [];\n\tconst sourceIds: Record<string, string> = {};\n\taddSourceId(sourceIds, 'runId', input.runId);\n\taddSourceId(sourceIds, 'requestId', input.requestId);\n\taddSourceId(sourceIds, 'messageId', input.messageId);\n\taddSourceId(sourceIds, 'conversationId', conversation._id || conversation.id || conversation.conversationId);\n\taddSourceId(sourceIds, 'userId', conversation.userId || conversation.ownerId);\n\n\tfor (const message of asArray<Record<string, any>>(input.messages)) {\n\t\tpushEvent(events, {\n\t\t\ttype: 'assistant_message',\n\t\t\tcategory: cleanText(message.role || message.authorRole || message.type, 160),\n\t\t\tmessage: cleanText(message.content || message.text || message.message || message.summary, 1800),\n\t\t\trecordedAt: eventDate(message),\n\t\t\tmetadata: {\n\t\t\t\tid: message._id || message.id,\n\t\t\t\trole: message.role,\n\t\t\t\tmodel: message.model || message?.usage?.model\n\t\t\t}\n\t\t});\n\t}\n\tfor (const report of asArray<Record<string, any>>(input.issueReports)) {\n\t\tpushEvent(events, {\n\t\t\ttype: 'human_intervention',\n\t\t\tcategory: cleanText(report.category || report.status || 'issue_report', 160),\n\t\t\tmessage: cleanText(report.summary || report.description || report.message || report.title, 1800),\n\t\t\trecordedAt: eventDate(report),\n\t\t\tmetadata: {\n\t\t\t\tid: report._id || report.id,\n\t\t\t\tstatus: report.status,\n\t\t\t\tseverity: report.severity\n\t\t\t}\n\t\t});\n\t}\n\tconst cost = collectUsageEvents(asArray<Record<string, any>>(input.usageLedger), events);\n\tconst costGate = costObservabilityGate(cost, 'ai_assistant', input.now);\n\tpushEvent(events, {\n\t\ttype: 'usage',\n\t\tcategory: 'cost_observability',\n\t\tmessage: costGate.reason,\n\t\tartifactPaths: costGate.evidenceRefs,\n\t\trecordedAt: costGate.recordedAt,\n\t\tmetadata: costGate.metadata\n\t});\n\tconst answerQuality = assistantQualityObject(input);\n\tfor (const execution of assistantQueryExecutions(answerQuality).slice(0, 40)) {\n\t\tconst status = cleanText(execution.status || execution.queryStatus || execution.query_status || execution.resultStatus || execution.result_status, 120);\n\t\tconst toolName = cleanText(execution.tool || execution.toolName || execution.tool_name || execution.type || 'query', 160);\n\t\tconst collection = cleanText(execution.collection || execution.collectionName || execution.collection_name, 240);\n\t\tpushEvent(events, {\n\t\t\ttype: 'assistant_query',\n\t\t\tcategory: status || toolName,\n\t\t\tmessage: cleanText(execution.summary || execution.message || `${toolName}${collection ? ` ${collection}` : ''}`, 1200),\n\t\t\tartifactPaths: cleanStringList([\n\t\t\t\texecution.artifactPath,\n\t\t\t\texecution.artifact_path,\n\t\t\t\texecution.path,\n\t\t\t\t...asArray(execution.artifactPaths),\n\t\t\t\t...asArray(execution.artifact_paths)\n\t\t\t], 20, 500),\n\t\t\trecordedAt: eventDate(execution),\n\t\t\tmetadata: {\n\t\t\t\tid: execution.id || execution._id || execution.ref,\n\t\t\t\ttool: toolName,\n\t\t\t\tstatus,\n\t\t\t\tcollection,\n\t\t\t\tresultCount: execution.resultCount ?? execution.result_count ?? execution.count,\n\t\t\t\tqueryStatus: execution.queryStatus || execution.query_status,\n\t\t\t\tlegalQueryShape: execution.legalQueryShape ?? execution.legal_query_shape\n\t\t\t}\n\t\t});\n\t}\n\tconst answerQualityDecision = evaluateAssistantAnswerQuality({\n\t\tanswerQuality,\n\t\tcorrectnessChecks: input.correctnessChecks,\n\t\tnow: input.now\n\t});\n\tconst answerQualityGate = assistantAnswerQualityGate(answerQualityDecision, input.now);\n\tpushEvent(events, {\n\t\ttype: 'assistant_message',\n\t\tcategory: 'assistant_answer_quality',\n\t\tmessage: answerQualityGate.reason,\n\t\tartifactPaths: answerQualityGate.evidenceRefs,\n\t\trecordedAt: answerQualityGate.recordedAt,\n\t\tmetadata: answerQualityGate.metadata\n\t});\n\tconst answerActionabilityContract = buildAssistantAnswerActionabilityContract(answerQualityDecision, input.now);\n\tconst answerActionabilityGate = assistantAnswerActionabilityGate(answerActionabilityContract, input.now);\n\tpushEvent(events, {\n\t\ttype: 'assistant_message',\n\t\tcategory: 'assistant_answer_actionability',\n\t\tmessage: answerActionabilityGate.reason,\n\t\tartifactPaths: answerActionabilityGate.evidenceRefs,\n\t\trecordedAt: answerActionabilityGate.recordedAt,\n\t\tmetadata: answerActionabilityGate.metadata\n\t});\n\tconst correctnessChecks = asArray<Record<string, any>>(input.correctnessChecks);\n\tconst hasPassedCorrectnessCheck = correctnessChecks.some((check) => /^(pass|passed|success|ok)$/i.test(cleanText(check.status || (check.passed === true ? 'pass' : ''), 80)));\n\tconst correctnessEvidence = {\n\t\tbusinessAssertions: [\n\t\t\t...correctnessChecks.map((check) => ({\n\t\t\t\tassertion: check.assertion || check.name || check.case || 'assistant correctness check',\n\t\t\t\tstatus: check.status || statusFromBoolean(check.passed),\n\t\t\t\texpected: check.expected,\n\t\t\t\tobserved: check.observed || check.actual,\n\t\t\t\tdataProof: check.dataProof || check.proof,\n\t\t\t\tartifactPaths: check.artifactPaths,\n\t\t\t\tmessage: check.message || check.reason,\n\t\t\t\tmetadata: check.metadata,\n\t\t\t\trecordedAt: eventDate(check)\n\t\t\t})),\n\t\t\t...(answerQualityDecision.ready && !hasPassedCorrectnessCheck ? [{\n\t\t\t\tassertion: 'Assistant answer quality gate passed.',\n\t\t\t\tstatus: 'pass',\n\t\t\t\texpected: 'Correct dates, legal query shape, query result classification, cited evidence, confidence, and next action.',\n\t\t\t\tobserved: answerQualityDecision.reason,\n\t\t\t\tdataProof: answerQualityDecision.evidenceRefs.concat(answerQualityDecision.citationRefs).join(', '),\n\t\t\t\tartifactPaths: answerQualityDecision.evidenceRefs,\n\t\t\t\tmessage: answerQualityDecision.reason,\n\t\t\t\tmetadata: {\n\t\t\t\t\tanswerQualityStatus: answerQualityDecision.status,\n\t\t\t\t\tqueryStatus: answerQualityDecision.queryStatus,\n\t\t\t\t\tdateWindowRequired: answerQualityDecision.dateWindowRequired,\n\t\t\t\t\tdateWindowPresent: answerQualityDecision.dateWindowPresent,\n\t\t\t\t\tdateWindow: answerQualityDecision.dateWindow\n\t\t\t\t}\n\t\t\t}] : [])\n\t\t]\n\t};\n\tconst qa = applyAssistantAnswerQualityGate(buildQaFromEvidence(correctnessEvidence, input.now), answerQualityDecision, input.now);\n\tconst failedReports = asArray<Record<string, any>>(input.issueReports)\n\t\t.filter((report) => /open|new|fail|bug|wrong|incorrect|error/i.test(`${report.status || ''} ${report.category || ''} ${report.summary || ''}`));\n\n\treturn buildAIRun({\n\t\tid: cleanText(input.runId, 240) || undefined,\n\t\tsource: 'ai_assistant',\n\t\tsourceIds,\n\t\ttitle: firstText(conversation, ['title', 'subject', 'summary']) || 'AI assistant conversation',\n\t\tstatus: firstText(conversation, ['status', 'state']),\n\t\tphase: firstText(conversation, ['phase']),\n\t\tstartedAt: dateValue(conversation, ['startedAt', 'createdAt']),\n\t\tcompletedAt: dateValue(conversation, ['completedAt', 'closedAt', 'updatedAt']),\n\t\tevents,\n\t\tgates: [answerActionabilityGate, costGate],\n\t\tqa,\n\t\tcost,\n\t\trejected: failedReports.length > 0 || conversation.rejected === true,\n\t\tmanualHandoff: conversation.manualHandoff === true,\n\t\tstopped: conversation.stopped === true,\n\t\texplicitAccepted: conversation.accepted === true,\n\t\tterminal: /complete|closed|resolved|done|failed|rejected/i.test(`${conversation.status || ''}`),\n\t\tnow: input.now,\n\t\tmetadata: {\n\t\t\tissueReportCount: asArray(input.issueReports).length,\n\t\t\tcorrectnessCheckCount: correctnessChecks.length,\n\t\t\tcostObservability: costObservabilityMetadata(costGate),\n\t\t\tanswerQuality: {\n\t\t\t\tready: answerQualityDecision.ready,\n\t\t\t\tstatus: answerQualityDecision.status,\n\t\t\t\tqueryStatus: answerQualityDecision.queryStatus,\n\t\t\t\tconfidenceLevel: answerQualityDecision.confidenceLevel,\n\t\t\t\tdateBasis: answerQualityDecision.dateBasis,\n\t\t\t\texpectedCurrentDate: answerQualityDecision.expectedCurrentDate,\n\t\t\t\tdateWindowRequired: answerQualityDecision.dateWindowRequired,\n\t\t\t\tdateWindowPresent: answerQualityDecision.dateWindowPresent,\n\t\t\t\tdateWindow: answerQualityDecision.dateWindow,\n\t\t\t\tnoDataConfirmed: answerQualityDecision.noDataConfirmed,\n\t\t\t\tlegalQueryShape: answerQualityDecision.legalQueryShape,\n\t\t\t\tcitationRefs: answerQualityDecision.citationRefs,\n\t\t\t\tqueryEvidenceRequired: answerQualityDecision.queryEvidenceRequired,\n\t\t\t\tqueryEvidencePresent: answerQualityDecision.queryEvidencePresent,\n\t\t\t\tqueryEvidenceRefs: answerQualityDecision.queryEvidenceRefs,\n\t\t\t\tqueryExecutionCount: answerQualityDecision.queryExecutionCount,\n\t\t\t\tnextActions: answerQualityDecision.nextActions,\n\t\t\t\tblockers: answerQualityDecision.blockers\n\t\t\t},\n\t\t\tanswerActionability: {\n\t\t\t\tcontractId: answerActionabilityContract.contractId,\n\t\t\t\tstatus: answerActionabilityContract.status,\n\t\t\t\tprimaryCommand: answerActionabilityContract.primaryCommand,\n\t\t\t\tlabel: answerActionabilityContract.label,\n\t\t\t\tcanAnswerCustomer: answerActionabilityContract.canAnswerCustomer,\n\t\t\t\tcanDraftSupportReply: answerActionabilityContract.canDraftSupportReply,\n\t\t\t\tcanSendCustomerReply: answerActionabilityContract.canSendCustomerReply,\n\t\t\t\trequiresHumanReview: answerActionabilityContract.requiresHumanReview,\n\t\t\t\tcanRunWithoutCodexMonitor: answerActionabilityContract.canRunWithoutCodexMonitor,\n\t\t\t\tcodexFallbackRequired: answerActionabilityContract.codexFallbackRequired,\n\t\t\t\tcostRisk: answerActionabilityContract.costRisk,\n\t\t\t\tqueryResultClass: answerActionabilityContract.queryResultClass,\n\t\t\t\tconfidenceLevel: answerActionabilityContract.confidenceLevel,\n\t\t\t\tdecisionBasis: answerActionabilityContract.decisionBasis,\n\t\t\t\trequiredEvidence: answerActionabilityContract.requiredEvidence,\n\t\t\t\tsuccessEvidence: answerActionabilityContract.successEvidence,\n\t\t\t\tblockers: answerActionabilityContract.blockers,\n\t\t\t\tnextActions: answerActionabilityContract.nextActions,\n\t\t\t\tnextCommands: answerActionabilityContract.nextCommands,\n\t\t\t\tforbiddenActions: answerActionabilityContract.forbiddenActions\n\t\t\t}\n\t\t}\n\t});\n}\n"]}
|