@resolveio/server-lib 22.3.221 → 22.3.223
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 +7647 -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/aicoder-runner-v6.ts"],"names":[],"mappings":"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","file":"aicoder-runner-v6.js","sourcesContent":["import {\n\tbuildResolveIOAIManagerRecoveryCheckpoint,\n\tbuildResolveIOAIManagerRecoveryActionPacket,\n\tbuildResolveIOAIManagerRecoveryEvidenceProbe,\n\tbuildResolveIOAIManagerRecoveryPlan,\n\tdecideResolveIOAIManagerPolicy,\n\thashResolveIOAIManagerEvidence,\n\tResolveIOAIManagerRecoveryCheckpoint,\n\tResolveIOAIManagerRecoveryActionPacket,\n\tResolveIOAIManagerRecoveryActionDispatchRecord,\n\tResolveIOAIManagerRecoveryExecutionDirective,\n\tResolveIOAIManagerRecoveryEvidenceProbe,\n\tResolveIOAIManagerRecoveryPlan,\n\tResolveIOAIManagerRecoveryPlanInput\n} from './ai-runner-manager-policy';\n\nexport type ResolveIOAICoderV6Lane =\n\t| 'intake'\n\t| 'plan'\n\t| 'build'\n\t| 'qa'\n\t| 'repair'\n\t| 'review'\n\t| 'publish';\n\nexport type ResolveIOAICoderV6StepType =\n\t| 'intake'\n\t| 'journey_contract'\n\t| 'journey_validation'\n\t| 'plan'\n\t| 'task'\n\t| 'workflow_build'\n\t| 'workflow_qa'\n\t| 'build'\n\t| 'qa'\n\t| 'repair'\n\t| 'review'\n\t| 'test_deploy'\n\t| 'live_deploy'\n\t| 'publish'\n\t| 'cleanup';\n\nexport type ResolveIOAICoderV6Outcome =\n\t| 'pass'\n\t| 'needs_repair'\n\t| 'retry_same_step'\n\t| 'park_manual'\n\t| 'budget_stop'\n\t| 'infra_retry'\n\t| 'ready_to_publish'\n\t| 'published';\n\nexport type ResolveIOAICoderV6RunKind = 'initial_builder' | 'terminal_helper';\n\nexport interface ResolveIOAICoderV6Budget {\n\tmaxPromptTokensPerNonInitialStep: number;\n\tmaxTotalPromptTokens: number;\n\tmaxLoopsPerRun: number;\n\tmaxRepeatedNoProgress: number;\n\tmaxRuntimeMinutesPerLane: number;\n\tsoftBudgetUsd: number;\n\thardBudgetUsd: number;\n\ttotalPromptTokenEstimate: number;\n\ttotalInputTokens: number;\n\ttotalCachedInputTokens: number;\n\ttotalOutputTokens: number;\n\ttotalRuntimeMs: number;\n\tloopCount: number;\n}\n\nexport interface ResolveIOAICoderV6LaneMemory {\n\tlane: ResolveIOAICoderV6Lane;\n\tmodel: string;\n\tthreadKey: string;\n\tscopeSummary: string;\n\tactiveStep: ResolveIOAICoderV6StepType;\n\tactiveBlocker: string;\n\tactiveQaRow?: {\n\t\tindex?: number;\n\t\tworkflow?: string;\n\t\troute?: string;\n\t\tassertion?: string;\n\t\tstatus?: string;\n\t};\n\tchangedFiles: string[];\n\tartifactPaths: string[];\n\tlatestPromptVersion?: string;\n\tlatestPromptTokenEstimate?: number;\n\tupdatedAt: string;\n}\n\nexport interface ResolveIOAICoderV6WorkflowQaRow {\n\tindex?: number;\n\tworkflowId?: string;\n\tworkflowStepId?: string;\n\tworkflowStepIds?: string[];\n\tstepId?: string;\n\troute?: string;\n\taction?: string;\n\tassertion?: string;\n\texpectedState?: string;\n\texpectedOutput?: string;\n\tproofKind?: string;\n\tcoverageTags?: string[];\n\tacceptanceGate?: 'aiqa_business_assertion';\n\trequiredArtifacts?: string[];\n\tstateTransition?: {\n\t\tbefore?: string;\n\t\taction?: string;\n\t\tafter?: string;\n\t\tassertion?: string;\n\t};\n\tstatus?: string;\n\tartifactPaths?: string[];\n}\n\nexport interface ResolveIOAICoderV6WorkflowMemory {\n\tjourneyContractPath: string;\n\tprimaryWorkflowId: string;\n\tactiveWorkflowStep: string;\n\tworkflowQaRows: ResolveIOAICoderV6WorkflowQaRow[];\n\tcompletedWorkflowSteps: string[];\n\tblockedWorkflowStep: string;\n\tbusinessProofArtifacts: string[];\n\tupdatedAt: string;\n}\n\nexport interface ResolveIOAICoderJourneyContractValidationIssue {\n\tcode: string;\n\tpath: string;\n\tmessage: string;\n\tseverity: 'error' | 'warning';\n}\n\nexport interface ResolveIOAICoderJourneyContractValidationResult {\n\tvalid: boolean;\n\tcontract: Record<string, any> | null;\n\tissues: ResolveIOAICoderJourneyContractValidationIssue[];\n\tworkflowQaRows: ResolveIOAICoderV6WorkflowQaRow[];\n\tprimaryWorkflowId: string;\n}\n\nexport type ResolveIOAICoderWorkflowProofReadinessStatus =\n\t| 'ready'\n\t| 'missing_journey_contract'\n\t| 'journey_invalid'\n\t| 'route_only'\n\t| 'workflow_qa_missing'\n\t| 'workflow_qa_incomplete'\n\t| 'business_proof_missing'\n\t| 'business_proof_weak'\n\t| 'sample_data_missing'\n\t| 'release_blocked'\n\t| 'stale_workflow_proof'\n\t| 'blocked';\n\nexport interface ResolveIOAICoderWorkflowProofReadinessInput {\n\tjourneyContract?: any;\n\tjourneyContractMarkdown?: string;\n\tworkflowQaRows?: ResolveIOAICoderV6WorkflowQaRow[];\n\tbusinessAssertions?: Array<Record<string, any>>;\n\trouteProbes?: Array<Record<string, any>>;\n\tartifactPaths?: string[];\n\tscorecardPassed?: boolean;\n\tdeployStatus?: string;\n\tpublishStatus?: string;\n\tsampleDataStatus?: string;\n\tpreviousWorkflowProofFingerprint?: string;\n\tpreviousArtifactFingerprint?: string;\n\tpreviousWorkflowProofFingerprints?: string[];\n\tpreviousArtifactFingerprints?: string[];\n\tnow?: Date | string;\n}\n\nexport type ResolveIOAICoderWorkflowProofFreshness =\n\t| 'fresh'\n\t| 'same_as_previous'\n\t| 'stale_artifact'\n\t| 'missing'\n\t| 'unknown';\n\nexport interface ResolveIOAICoderWorkflowProofReadiness {\n\tready: boolean;\n\tstatus: ResolveIOAICoderWorkflowProofReadinessStatus;\n\treason: string;\n\tblockers: string[];\n\tjourneyContractValid: boolean;\n\tprimaryWorkflowId: string;\n\tpassedWorkflowRows: string[];\n\tmissingWorkflowRows: string[];\n\tfailedWorkflowRows: string[];\n\tpassedBusinessAssertions: string[];\n\trouteOnly: boolean;\n\tscorecardOnly: boolean;\n\tsampleDataReady: boolean;\n\treleaseBlockers: string[];\n\tartifactPaths: string[];\n\tworkflowProofFingerprint: string;\n\tartifactFingerprint: string;\n\tproofFreshness: ResolveIOAICoderWorkflowProofFreshness;\n\tnextAction: string;\n\tevaluatedAt: string;\n}\n\nexport type ResolveIOAICoderV6ContinuationAction =\n\t| 'continue'\n\t| 'retry_same_step'\n\t| 'switch_to_repair'\n\t| 'park'\n\t| 'budget_stop'\n\t| 'infra_retry'\n\t| 'ready_to_publish';\n\nexport type ResolveIOAICoderNextActionCostRisk =\n\t| 'free_or_deterministic'\n\t| 'small_model_or_qa'\n\t| 'expensive_model'\n\t| 'release_or_customer_send'\n\t| 'manual_blocked';\n\nexport type ResolveIOAICoderWorkflowReadinessStatus =\n\t| 'journey_contract_required'\n\t| 'journey_contract_repair_required'\n\t| 'workflow_build_ready'\n\t| 'workflow_qa_required'\n\t| 'workflow_business_proof_ready'\n\t| 'release_repair_required'\n\t| 'infra_repair_only'\n\t| 'compile_repair_only'\n\t| 'collect_new_evidence'\n\t| 'budget_stopped'\n\t| 'parked';\n\nexport type ResolveIOAICoderWorkflowReadinessGate =\n\t| 'journey_contract'\n\t| 'build'\n\t| 'workflow_qa'\n\t| 'release'\n\t| 'infra'\n\t| 'compile'\n\t| 'evidence'\n\t| 'manual';\n\nexport type ResolveIOAICoderWorkflowProofCheckpointStatus =\n\t| 'waiting_for_journey_contract'\n\t| 'waiting_for_workflow_proof'\n\t| 'waiting_for_new_evidence'\n\t| 'waiting_for_release_gate'\n\t| 'waiting_for_infra_or_compile'\n\t| 'ready_to_continue';\n\nexport interface ResolveIOAICoderWorkflowProofCheckpoint {\n\trequired: boolean;\n\tstatus: ResolveIOAICoderWorkflowProofCheckpointStatus;\n\treadinessStatus: ResolveIOAICoderWorkflowReadinessStatus;\n\tnextGate: ResolveIOAICoderWorkflowReadinessGate;\n\tstartingFailureClass: string;\n\tstartingBlockerFingerprint: string;\n\tstartingEvidenceHash: string;\n\tworkflowProofFingerprint: string;\n\tartifactFingerprint: string;\n\trequiredEvidence: string[];\n\trequiredResetEvidence: string[];\n\tsuccessRequiresWorkflowBusinessProof: boolean;\n\tblocksProductRepairUntilJourneyContract: boolean;\n\tblocksPublishUntilWorkflowProof: boolean;\n\tblocksPublishUntilReleaseGate: boolean;\n\tblocksWowUiUntilWorkflowProof: boolean;\n\tnextAction: string;\n}\n\nexport interface ResolveIOAICoderWorkflowReadiness {\n\tstatus: ResolveIOAICoderWorkflowReadinessStatus;\n\tnextGate: ResolveIOAICoderWorkflowReadinessGate;\n\tnextLane: ResolveIOAICoderV6Lane;\n\tnextStep: ResolveIOAICoderV6StepType;\n\tnextCommand: string;\n\tjourneyContractReady: boolean;\n\tworkflowQaRowsReady: boolean;\n\tbusinessProofReady: boolean;\n\trouteOnlyBlocked: boolean;\n\treleaseBlocked: boolean;\n\tinfraOnly: boolean;\n\tcompileOnly: boolean;\n\tsameFailureParked: boolean;\n\tcanRunProductRepair: boolean;\n\tcanRunWorkflowQa: boolean;\n\tcanPublish: boolean;\n\tcanPolishWowUi: boolean;\n\trequiresHumanDecision: boolean;\n\treason: string;\n\tblockers: string[];\n\tprimaryWorkflowId: string;\n\tactiveWorkflowStep: string;\n\tbusinessProofArtifacts: string[];\n\tworkflowProofCheckpoint: ResolveIOAICoderWorkflowProofCheckpoint;\n}\n\nexport interface ResolveIOAICoderNextActionContract {\n\tcontractId: string;\n\taction: ResolveIOAICoderV6ContinuationAction;\n\tlabel: string;\n\tprimaryCommand: string;\n\tlane: ResolveIOAICoderV6Lane;\n\tstepType: ResolveIOAICoderV6StepType;\n\tsafeToAutoRun: boolean;\n\trequiresHumanApproval: boolean;\n\tcanRunWithoutCodexMonitor: boolean;\n\tcodexFallbackRequired: boolean;\n\tcodexFallbackReason: string;\n\tcostRisk: ResolveIOAICoderNextActionCostRisk;\n\tworkflowFirstSatisfied: boolean;\n\tdecisionBasis: {\n\t\tjourneyContractReady: boolean;\n\t\tworkflowProofReady: boolean;\n\t\tsampleDataReady: boolean;\n\t\treleaseBlocked: boolean;\n\t\trouteOnlyBlocked: boolean;\n\t\tinfraOnly: boolean;\n\t\tcompileOnly: boolean;\n\t\tsameFailureParked: boolean;\n\t\tcanPublish: boolean;\n\t\tcanPolishWowUi: boolean;\n\t\tworkflowReadinessStatus: string;\n\t\tworkflowProofCheckpointStatus: string;\n\t\tfailureClass: string;\n\t\tevidenceHash: string;\n\t\thotfixCommitRequired: boolean;\n\t\tliveHotfixBlockedUntilCommit: boolean;\n\t};\n\tpreconditions: string[];\n\texpectedStateTransition: string;\n\tsuccessEvidence: string[];\n\trequiredHotfixCommitProof: string[];\n\tstopConditions: string[];\n\tforbiddenActions: string[];\n\tnextCommands: string[];\n\tblockers: string[];\n\townerFiles?: string[];\n\tcreatedAt: string;\n}\n\nexport interface ResolveIOAICoderV6SupervisorState {\n\tversion: 'v6';\n\trunKind: ResolveIOAICoderV6RunKind;\n\tstatus: 'active' | 'parked' | 'complete';\n\tcurrentGoal: string;\n\tapprovedScope: string;\n\tbranchName: string;\n\tactiveLane: ResolveIOAICoderV6Lane;\n\tactiveStep: ResolveIOAICoderV6StepType;\n\tactiveBlocker: string;\n\tlastGoodCheckpoint: string;\n\tlastGoodCommit?: string;\n\ttestDeployStatus?: string;\n\tliveDeployStatus?: string;\n\tprocessLease?: {\n\t\trunId?: string;\n\t\ttoken?: string;\n\t\tgeneration?: number;\n\t\tworkspace?: string;\n\t\tlane?: string;\n\t};\n\tartifactLinks: string[];\n\tupdatedAt: string;\n}\n\nexport interface ResolveIOAICoderV6StepRecord {\n\tstepType: ResolveIOAICoderV6StepType;\n\toutcome: ResolveIOAICoderV6Outcome;\n\tlane: ResolveIOAICoderV6Lane;\n\tmodel?: string;\n\tthreadKey?: string;\n\tpromptVersion?: string;\n\tpromptTokenEstimate?: number;\n\tinputTokens?: number;\n\tcachedInputTokens?: number;\n\toutputTokens?: number;\n\truntimeMs?: number;\n\tsummary: string;\n\tblocker?: string;\n\tblockerFingerprint?: string;\n\tfailureClass?: string;\n\tevidenceHash?: string;\n\tchangedFiles?: string[];\n\tartifactPaths?: string[];\n\tnextAction?: ResolveIOAICoderV6ContinuationAction;\n\trecordedAt: string;\n}\n\nexport interface ResolveIOAICoderV6RunnerIncident {\n\tincidentClass: string;\n\tsummary: string;\n\tstepType?: ResolveIOAICoderV6StepType;\n\tlane?: ResolveIOAICoderV6Lane;\n\tblockerFingerprint?: string;\n\tartifactPaths?: string[];\n\trecordedAt: string;\n}\n\nexport interface ResolveIOAICoderV6StateBundle {\n\taiCoderRunnerVersion: 'v6';\n\taiCoderV6SupervisorState: ResolveIOAICoderV6SupervisorState;\n\taiCoderV6LaneMemory: Record<ResolveIOAICoderV6Lane, ResolveIOAICoderV6LaneMemory>;\n\taiCoderV6WorkflowMemory: ResolveIOAICoderV6WorkflowMemory;\n\taiCoderV6StepHistory: ResolveIOAICoderV6StepRecord[];\n\taiCoderV6Budget: ResolveIOAICoderV6Budget;\n\taiCoderV6RunnerIncidents: ResolveIOAICoderV6RunnerIncident[];\n\taiCoderV6RecoveryPlan?: ResolveIOAIManagerRecoveryPlan;\n\taiCoderV6RecoveryCheckpoint?: ResolveIOAIManagerRecoveryCheckpoint;\n\taiCoderV6RecoveryEvidenceProbe?: ResolveIOAIManagerRecoveryEvidenceProbe;\n\taiCoderV6RecoveryAction?: ResolveIOAIManagerRecoveryActionPacket;\n\taiCoderV6RecoveryDispatchHistory?: ResolveIOAIManagerRecoveryActionDispatchRecord[];\n\taiCoderV6RecoveryDirective?: ResolveIOAIManagerRecoveryExecutionDirective;\n\taiCoderV6WorkflowReadiness?: ResolveIOAICoderWorkflowReadiness;\n}\n\nexport interface ResolveIOAICoderV6InitializeInput {\n\trunKind: ResolveIOAICoderV6RunKind;\n\tjobId: string;\n\tappId?: string;\n\tconversationId?: string;\n\ttitle?: string;\n\tdescription?: string;\n\tapprovedScopeRequirements?: string[];\n\tbranchName?: string;\n\tjourneyContractPath?: string;\n\tdefaultModel?: string;\n\tlaneThreadKeys?: Partial<Record<ResolveIOAICoderV6Lane, string>>;\n\tprocessLease?: ResolveIOAICoderV6SupervisorState['processLease'];\n\tnow?: Date | string;\n\texisting?: Partial<ResolveIOAICoderV6StateBundle>;\n}\n\nexport interface ResolveIOAICoderV6StepInput {\n\tstepType: ResolveIOAICoderV6StepType;\n\toutcome: ResolveIOAICoderV6Outcome;\n\tlane: ResolveIOAICoderV6Lane;\n\tmodel?: string;\n\tthreadKey?: string;\n\tpromptVersion?: string;\n\tpromptTokenEstimate?: number;\n\tinputTokens?: number;\n\tcachedInputTokens?: number;\n\toutputTokens?: number;\n\truntimeMs?: number;\n\tsummary?: string;\n\tblocker?: string;\n\tfailureClass?: string;\n\tevidenceHash?: string;\n\tprimaryWorkflowId?: string;\n\tactiveWorkflowStep?: string;\n\tworkflowQaRows?: ResolveIOAICoderV6WorkflowQaRow[];\n\tcompletedWorkflowSteps?: string[];\n\tblockedWorkflowStep?: string;\n\tbusinessProofArtifacts?: string[];\n\tchangedFiles?: string[];\n\tartifactPaths?: string[];\n\tactiveQaRow?: ResolveIOAICoderV6LaneMemory['activeQaRow'];\n\tnextAction?: ResolveIOAICoderV6ContinuationAction;\n\tnow?: Date | string;\n}\n\nexport interface ResolveIOAICoderV6ContinuationDecision {\n\taction: ResolveIOAICoderV6ContinuationAction;\n\treason: string;\n\tnextLane: ResolveIOAICoderV6Lane;\n\tnextStep: ResolveIOAICoderV6StepType;\n\trepeatedNoProgressCount: number;\n\tbudgetExceeded: boolean;\n\tworkflowReadiness: ResolveIOAICoderWorkflowReadiness;\n\tworkflowProofCheckpoint: ResolveIOAICoderWorkflowProofCheckpoint;\n\tnextActionContract: ResolveIOAICoderNextActionContract;\n\trecoveryPlan: ResolveIOAIManagerRecoveryPlan;\n\trecoveryCheckpoint: ResolveIOAIManagerRecoveryCheckpoint;\n\trecoveryEvidenceProbe: ResolveIOAIManagerRecoveryEvidenceProbe;\n\trecoveryAction: ResolveIOAIManagerRecoveryActionPacket;\n}\n\nconst LANES: ResolveIOAICoderV6Lane[] = ['intake', 'plan', 'build', 'qa', 'repair', 'review', 'publish'];\n\nfunction isoNow(value?: Date | string): string {\n\tif (value instanceof Date) {\n\t\treturn value.toISOString();\n\t}\n\tconst parsed = value ? new Date(value) : new Date();\n\tif (Number.isFinite(parsed.getTime())) {\n\t\treturn parsed.toISOString();\n\t}\n\treturn new Date().toISOString();\n}\n\nfunction cleanText(value: any, max = 2000): string {\n\treturn String(value || '').replace(/\\s+/g, ' ').trim().slice(0, max);\n}\n\nfunction cleanList(values: any, limit = 20, max = 500): string[] {\n\tif (!Array.isArray(values)) {\n\t\treturn [];\n\t}\n\tconst result: string[] = [];\n\tfor (const value of values) {\n\t\tconst normalized = cleanText(value, max);\n\t\tif (normalized && !result.includes(normalized)) {\n\t\t\tresult.push(normalized);\n\t\t}\n\t\tif (result.length >= limit) {\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn result;\n}\n\nfunction readField(source: any, keys: string[]): any {\n\tif (!source || typeof source !== 'object') {\n\t\treturn undefined;\n\t}\n\tfor (const key of keys) {\n\t\tif (source[key] !== undefined && source[key] !== null) {\n\t\t\treturn source[key];\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction cleanField(source: any, keys: string[], max = 500): string {\n\treturn cleanText(readField(source, keys), max);\n}\n\nfunction concatFields(source: any, keys: string[], maxEach = 500): string {\n\tif (!source || typeof source !== 'object') {\n\t\treturn '';\n\t}\n\treturn keys\n\t\t.map((key) => cleanText(source[key], maxEach))\n\t\t.filter(Boolean)\n\t\t.join(' ');\n}\n\nfunction asArray(value: any): any[] {\n\tif (!Array.isArray(value)) {\n\t\treturn [];\n\t}\n\treturn value;\n}\n\nfunction stripJsonComments(value: string): string {\n\tlet output = '';\n\tlet inString = false;\n\tlet escaped = false;\n\tfor (let index = 0; index < value.length; index += 1) {\n\t\tconst char = value[index];\n\t\tconst next = value[index + 1];\n\t\tif (inString) {\n\t\t\toutput += char;\n\t\t\tif (escaped) {\n\t\t\t\tescaped = false;\n\t\t\t}\n\t\t\telse if (char === '\\\\') {\n\t\t\t\tescaped = true;\n\t\t\t}\n\t\t\telse if (char === '\"') {\n\t\t\t\tinString = false;\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === '\"') {\n\t\t\tinString = true;\n\t\t\toutput += char;\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === '/' && next === '/') {\n\t\t\twhile (index < value.length && value[index] !== '\\n') {\n\t\t\t\tindex += 1;\n\t\t\t}\n\t\t\toutput += '\\n';\n\t\t\tcontinue;\n\t\t}\n\t\tif (char === '/' && next === '*') {\n\t\t\tindex += 2;\n\t\t\twhile (index < value.length && !(value[index] === '*' && value[index + 1] === '/')) {\n\t\t\t\tindex += 1;\n\t\t\t}\n\t\t\tindex += 1;\n\t\t\tcontinue;\n\t\t}\n\t\toutput += char;\n\t}\n\treturn output;\n}\n\nfunction parseJsonObject(value: string): Record<string, any> | null {\n\ttry {\n\t\tconst parsed = JSON.parse(stripJsonComments(value));\n\t\treturn parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : null;\n\t}\n\tcatch {\n\t\treturn null;\n\t}\n}\n\nexport function extractResolveIOAICoderJourneyContractFromMarkdown(content: string | null | undefined): Record<string, any> | null {\n\tconst normalized = String(content || '').replace(/\\r\\n/g, '\\n');\n\tconst sectionMatch = normalized.match(/##\\s*journey_contract[\\s\\S]*?```json\\s*([\\s\\S]*?)```/i)\n\t\t|| normalized.match(/##\\s*journey_contract[\\s\\S]*?```\\s*([\\s\\S]*?)```/i);\n\tif (sectionMatch?.[1]) {\n\t\treturn parseJsonObject(sectionMatch[1].trim());\n\t}\n\tconst fencedMatch = normalized.match(/```json\\s*([\\s\\S]*?)```/i);\n\tif (fencedMatch?.[1]) {\n\t\treturn parseJsonObject(fencedMatch[1].trim());\n\t}\n\tconst objectMatch = normalized.match(/\\{\\s*\"app_archetype\"[\\s\\S]*\\}\\s*$/m);\n\tif (objectMatch?.[0]) {\n\t\treturn parseJsonObject(objectMatch[0].trim());\n\t}\n\treturn null;\n}\n\nfunction looksLikeAbsoluteRoute(value: string): boolean {\n\treturn value.startsWith('/') && !/\\s/.test(value);\n}\n\nfunction looksPlaceholder(value: string): boolean {\n\treturn /\\b(tbd|todo|placeholder|generic crud|crud-only|lorem ipsum|add details|fill in|coming soon)\\b/i.test(value || '');\n}\n\nfunction isNavigationOnlyAction(source: any): boolean {\n\tconst effect = cleanField(source, ['effect', 'outcome', 'state_change', 'expected_state_transition', 'expected_next_state'], 500).toLowerCase();\n\tconst implementation = cleanField(source, [\n\t\t'method_or_calculation',\n\t\t'server_method_or_publication',\n\t\t'local_calculation_path',\n\t\t'action_implementation',\n\t\t'calculation_path',\n\t\t'data_mutation',\n\t\t'mutation',\n\t\t'persisted_result'\n\t], 500);\n\tif (implementation) {\n\t\treturn false;\n\t}\n\tconst actionType = cleanField(source, ['action_type', 'type', 'kind'], 120).toLowerCase();\n\tconst actionText = [\n\t\tcleanField(source, ['action', 'visible_cta', 'cta', 'label'], 300),\n\t\tcleanField(source, ['next_step_destination', 'next_step', 'destination'], 300)\n\t].join(' ').toLowerCase();\n\tconst navigationSignals = /\\b(navigate|go to|open|view|link|route|page)\\b/.test(actionText)\n\t\t|| /^(?:link|nav|navigation|route)$/i.test(actionType);\n\tconst productiveEffect = /\\b(save|saved|create|created|update|updated|calculate|calculated|optimize|optimized|import|export|report|persist|queued|submitted|validated|generated|compare|recommendation|complete|completed)\\b/.test(effect);\n\treturn navigationSignals && !productiveEffect;\n}\n\nfunction addJourneyIssue(\n\tissues: ResolveIOAICoderJourneyContractValidationIssue[],\n\tcode: string,\n\tpath: string,\n\tmessage: string,\n\tseverity: 'error' | 'warning' = 'error'\n): void {\n\tissues.push({ code, path, message, severity });\n}\n\nfunction normalizeWorkflowStepPosition(step: any, index: number, total: number): string {\n\tconst explicit = cleanField(step, ['position', 'phase', 'order_role'], 60).toLowerCase();\n\tif (explicit) {\n\t\treturn explicit;\n\t}\n\tif (index === 0) {\n\t\treturn 'first';\n\t}\n\tif (index === total - 1) {\n\t\treturn 'last';\n\t}\n\treturn 'next';\n}\n\nfunction normalizeJourneyReferenceKey(value: any): string {\n\treturn cleanText(value, 160).toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');\n}\n\nfunction normalizeJourneyRouteKey(value: any): string {\n\tconst raw = cleanText(value, 240);\n\tif (!raw) {\n\t\treturn '';\n\t}\n\tconst route = raw.split(/[?#]/)[0].replace(/\\/+$/g, '') || '/';\n\treturn route.toLowerCase();\n}\n\nfunction normalizeJourneyActionText(value: any): string {\n\treturn cleanText(value, 1000).toLowerCase().replace(/[^a-z0-9]+/g, ' ').trim();\n}\n\nfunction buildWorkflowStepId(step: any, index: number): string {\n\treturn cleanField(step, ['id', 'step_id', 'key'], 120)\n\t\t|| cleanField(step, ['label', 'title', 'visible_cta'], 120).toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '')\n\t\t|| `step-${index + 1}`;\n}\n\nfunction workflowStepVisibleAction(step: any): string {\n\treturn cleanField(step, ['visible_cta', 'cta', 'label', 'action', 'embedded_hub_action', 'hub_action'], 500);\n}\n\nfunction journeySourceVisibleAction(source: any): string {\n\treturn concatFields(source, [\n\t\t'visible_cta',\n\t\t'cta',\n\t\t'label',\n\t\t'action',\n\t\t'browser_steps',\n\t\t'expected_dom_or_data_proof',\n\t\t'proof',\n\t\t'assertion',\n\t\t'expected_result'\n\t], 700);\n}\n\nfunction actionTextReferencesLabel(actionText: string, label: string): boolean {\n\tconst action = normalizeJourneyActionText(actionText);\n\tconst expected = normalizeJourneyActionText(label);\n\tif (!action || !expected || expected.length < 4) {\n\t\treturn false;\n\t}\n\tif (action === expected || action.includes(expected) || expected.includes(action)) {\n\t\treturn true;\n\t}\n\tconst actionTokens = new Set(action.split(/\\s+/).filter((token) => token.length > 2));\n\tconst expectedTokens = expected.split(/\\s+/).filter((token) => token.length > 2);\n\tif (!expectedTokens.length) {\n\t\treturn false;\n\t}\n\tconst matched = expectedTokens.filter((token) => actionTokens.has(token)).length;\n\treturn matched >= Math.min(expectedTokens.length, Math.max(2, Math.ceil(expectedTokens.length * 0.67)));\n}\n\nfunction collectJourneyReferenceKeys(source: any): string[] {\n\tif (!source || typeof source !== 'object') {\n\t\treturn [];\n\t}\n\tconst values: any[] = [];\n\tfor (const key of [\n\t\t'workflow_step_id',\n\t\t'workflowStepId',\n\t\t'workflow_step_ids',\n\t\t'workflowStepIds',\n\t\t'covers_workflow_step_id',\n\t\t'coversWorkflowStepId',\n\t\t'covers_workflow_step_ids',\n\t\t'coversWorkflowStepIds',\n\t\t'north_star_step_id',\n\t\t'northStarStepId',\n\t\t'step_ref',\n\t\t'stepRef'\n\t]) {\n\t\tconst value = source[key];\n\t\tif (Array.isArray(value)) {\n\t\t\tvalues.push(...value);\n\t\t}\n\t\telse if (value !== undefined && value !== null) {\n\t\t\tvalues.push(value);\n\t\t}\n\t}\n\treturn Array.from(new Set(values.map(normalizeJourneyReferenceKey).filter(Boolean))).slice(0, 20);\n}\n\nfunction journeySourceMapsToWorkflowStep(source: any, step: any, index: number): boolean {\n\tconst stepId = normalizeJourneyReferenceKey(buildWorkflowStepId(step, index));\n\tconst refs = collectJourneyReferenceKeys(source);\n\tif (stepId && refs.includes(stepId)) {\n\t\treturn true;\n\t}\n\tconst sourceRoute = normalizeJourneyRouteKey(cleanField(source, ['route', 'screen_route', 'path'], 240));\n\tconst stepRoute = normalizeJourneyRouteKey(cleanField(step, ['route'], 240));\n\tif (!sourceRoute || !stepRoute || sourceRoute !== stepRoute) {\n\t\treturn false;\n\t}\n\treturn actionTextReferencesLabel(journeySourceVisibleAction(source), workflowStepVisibleAction(step));\n}\n\nfunction normalizeWorkflowProofKind(source: any, fallbackText = ''): string {\n\tconst explicit = cleanField(source, ['proof_kind', 'proofKind', 'qa_proof_kind', 'qaProofKind', 'type', 'kind'], 120).toLowerCase().replace(/[\\s-]+/g, '_');\n\tif (explicit) {\n\t\treturn explicit;\n\t}\n\tconst text = cleanText([\n\t\tfallbackText,\n\t\tconcatFields(source, ['id', 'step_id', 'stepId', 'action', 'browser_steps', 'expected_dom_or_data_proof', 'proof', 'expected_result', 'viewport'], 700)\n\t].filter(Boolean).join(' '), 1800).toLowerCase();\n\tif (/\\b(mobile|390x844|viewport)\\b/.test(text)) {\n\t\treturn 'mobile';\n\t}\n\tif (/\\b(export|report|pdf|download)\\b/.test(text)) {\n\t\treturn 'report_export';\n\t}\n\tif (/\\b(complete|saved|save|result|recommendation|calculated|optimized|final)\\b/.test(text)) {\n\t\treturn 'workflow_completion';\n\t}\n\tif (/\\b(sample|seeded|non[-\\s]?empty|kpi|table|chart|record|row)\\b/.test(text)) {\n\t\treturn 'non_empty_data';\n\t}\n\tif (/\\b(empty|error|recovery|invalid)\\b/.test(text)) {\n\t\treturn 'recovery';\n\t}\n\tif (/\\b(hub|dashboard|command center|next up|queue)\\b/.test(text)) {\n\t\treturn 'hub_action';\n\t}\n\treturn 'business_workflow';\n}\n\nfunction normalizeWorkflowQaCoverageTag(value: any): string {\n\tconst normalized = cleanText(value, 120).toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '');\n\tif (!normalized) {\n\t\treturn '';\n\t}\n\tconst aliases: Record<string, string> = {\n\t\tauth: 'login',\n\t\tauthentication: 'login',\n\t\tauthenticated_session: 'login',\n\t\tsigned_in: 'login',\n\t\tdashboard: 'hub_action',\n\t\tdashboard_hub: 'hub_action',\n\t\thub: 'hub_action',\n\t\tprimary_hub_action: 'hub_action',\n\t\tcommand_center: 'hub_action',\n\t\tembedded_hub_action: 'hub_action',\n\t\tcompletion: 'workflow_completion',\n\t\tbusiness_completion: 'workflow_completion',\n\t\tfinal_result: 'workflow_completion',\n\t\tresult: 'workflow_completion',\n\t\tsaved_result: 'workflow_completion',\n\t\tsaved_output: 'workflow_completion',\n\t\tcalculated_result: 'workflow_completion',\n\t\texport: 'report_export',\n\t\treport: 'report_export',\n\t\tpdf_export: 'report_export',\n\t\treport_download: 'report_export',\n\t\tsample_data: 'non_empty_data',\n\t\tseed_data: 'non_empty_data',\n\t\tseeded_data: 'non_empty_data',\n\t\tnon_empty: 'non_empty_data',\n\t\tnonempty: 'non_empty_data',\n\t\tkpi_data: 'non_empty_data',\n\t\tresponsive: 'mobile',\n\t\tresponsive_mobile: 'mobile',\n\t\tmobile_viewport: 'mobile',\n\t\tphone: 'mobile',\n\t\tempty_state: 'recovery',\n\t\terror_state: 'recovery',\n\t\terror_recovery: 'recovery',\n\t\tempty_error_recovery: 'recovery',\n\t\tinvalid_input_recovery: 'recovery'\n\t};\n\treturn aliases[normalized] || normalized;\n}\n\nfunction appendWorkflowQaCoverageValues(target: string[], value: any): void {\n\tif (Array.isArray(value)) {\n\t\tvalue.forEach((entry) => appendWorkflowQaCoverageValues(target, entry));\n\t\treturn;\n\t}\n\tif (value && typeof value === 'object') {\n\t\tfor (const [key, entry] of Object.entries(value)) {\n\t\t\tif (entry === true) {\n\t\t\t\ttarget.push(normalizeWorkflowQaCoverageTag(key));\n\t\t\t}\n\t\t\telse if (typeof entry === 'string' || Array.isArray(entry) || (entry && typeof entry === 'object')) {\n\t\t\t\tappendWorkflowQaCoverageValues(target, entry);\n\t\t\t}\n\t\t}\n\t\treturn;\n\t}\n\tconst text = cleanText(value, 500);\n\tif (!text) {\n\t\treturn;\n\t}\n\tfor (const entry of text.split(/[|,;]/)) {\n\t\ttarget.push(normalizeWorkflowQaCoverageTag(entry));\n\t}\n}\n\nfunction normalizeWorkflowQaCoverageTags(source: any, options: { includeProofKind?: boolean } = {}): string[] {\n\tconst tags: string[] = [];\n\tfor (const key of [\n\t\t'coverage',\n\t\t'coverage_tags',\n\t\t'coverageTags',\n\t\t'qa_coverage',\n\t\t'qaCoverage',\n\t\t'required_coverage',\n\t\t'requiredCoverage',\n\t\t'business_coverage',\n\t\t'businessCoverage'\n\t]) {\n\t\tappendWorkflowQaCoverageValues(tags, readField(source, [key]));\n\t}\n\tif (options.includeProofKind !== false) {\n\t\tfor (const key of ['proof_kind', 'proofKind', 'proof_kinds', 'proofKinds']) {\n\t\t\tappendWorkflowQaCoverageValues(tags, readField(source, [key]));\n\t\t}\n\t}\n\treturn Array.from(new Set(tags.filter(Boolean))).slice(0, 20);\n}\n\nfunction buildWorkflowQaRequiredArtifacts(source: any, proofKind: string): string[] {\n\tconst explicit = cleanList(readField(source, ['required_artifacts', 'requiredArtifacts', 'proof_artifacts', 'artifact_expectation', 'artifacts_required']), 12, 180);\n\tconst defaultsByKind: Record<string, string[]> = {\n\t\tlogin: ['authenticated session proof', 'post-login hub route proof'],\n\t\thub_action: ['hub screenshot or DOM snapshot', 'next action state proof'],\n\t\tworkflow_completion: ['before/action/after trace', 'saved or calculated output proof', 'business assertion artifact'],\n\t\treport_export: ['generated report/export artifact', 'export control proof', 'saved output row proof'],\n\t\tnon_empty_data: ['seeded data snapshot', 'non-empty KPI/table/chart proof'],\n\t\tmobile: ['mobile viewport screenshot or trace', 'responsive workflow action proof'],\n\t\trecovery: ['empty/error state screenshot or trace', 'recovery action proof'],\n\t\tbusiness_workflow: ['browser trace or screenshot', 'DOM/data assertion artifact']\n\t};\n\treturn Array.from(new Set([\n\t\t...explicit,\n\t\t...(defaultsByKind[proofKind] || defaultsByKind.business_workflow)\n\t])).slice(0, 16);\n}\n\nfunction buildWorkflowQaStateTransition(source: any, fallback: Partial<ResolveIOAICoderV6WorkflowQaRow> = {}): ResolveIOAICoderV6WorkflowQaRow['stateTransition'] {\n\treturn {\n\t\tbefore: cleanField(source, ['before', 'setup_state', 'initial_state'], 700) || fallback.expectedState,\n\t\taction: cleanField(source, ['action', 'browser_steps', 'visible_cta', 'cta'], 700) || fallback.action,\n\t\tafter: cleanField(source, ['after', 'expected_state', 'expected_result', 'expected_dom_or_data_proof', 'proof'], 700) || fallback.assertion || fallback.expectedState,\n\t\tassertion: cleanField(source, ['assertion', 'expected_dom_or_data_proof', 'proof', 'expected_result'], 700) || fallback.assertion\n\t};\n}\n\nexport function buildResolveIOAICoderWorkflowQaRowsFromJourneyContract(input: any): ResolveIOAICoderV6WorkflowQaRow[] {\n\tconst contract = typeof input === 'string'\n\t\t? extractResolveIOAICoderJourneyContractFromMarkdown(input)\n\t\t: (input && typeof input === 'object' && !Array.isArray(input) ? input : null);\n\tif (!contract) {\n\t\treturn [];\n\t}\n\tconst workflowId = cleanField(contract, ['primary_workflow_id', 'workflow_id', 'id'], 160) || 'north-star';\n\tconst rows: ResolveIOAICoderV6WorkflowQaRow[] = [];\n\tconst qaAssertions = asArray(contract.qa_assertions);\n\tqaAssertions.forEach((assertion, index) => {\n\t\tif (!assertion || typeof assertion !== 'object' || Array.isArray(assertion)) {\n\t\t\treturn;\n\t\t}\n\t\tconst route = cleanField(assertion, ['route', 'screen_route', 'path'], 240);\n\t\tconst action = cleanField(assertion, ['action', 'browser_steps', 'cta', 'visible_cta'], 500);\n\t\tconst expectedState = cleanField(assertion, ['expected_state', 'expected_result', 'expected_dom_or_data_proof', 'proof'], 500);\n\t\tconst assertionText = cleanField(assertion, ['assertion', 'expected_dom_or_data_proof', 'proof', 'expected_result'], 700);\n\t\tif (!route && !action && !assertionText) {\n\t\t\treturn;\n\t\t}\n\t\tconst proofKind = normalizeWorkflowProofKind(assertion);\n\t\tconst coverageTags = normalizeWorkflowQaCoverageTags(assertion);\n\t\tconst rowBase = {\n\t\t\troute: route || undefined,\n\t\t\taction: action || undefined,\n\t\t\tassertion: assertionText || undefined,\n\t\t\texpectedState: expectedState || undefined\n\t\t};\n\t\trows.push({\n\t\t\tindex: cleanNumber(readField(assertion, ['index', 'order'])) || index + 1,\n\t\t\tworkflowId: cleanField(assertion, ['workflow_id', 'workflowId'], 160) || workflowId,\n\t\t\tworkflowStepId: cleanField(assertion, [\n\t\t\t\t'workflow_step_id',\n\t\t\t\t'workflowStepId',\n\t\t\t\t'covers_workflow_step_id',\n\t\t\t\t'coversWorkflowStepId',\n\t\t\t\t'north_star_step_id',\n\t\t\t\t'northStarStepId'\n\t\t\t], 160) || undefined,\n\t\t\tworkflowStepIds: collectJourneyReferenceKeys(assertion),\n\t\t\tstepId: cleanField(assertion, ['step_id', 'stepId', 'id'], 160) || `qa-${index + 1}`,\n\t\t\t...rowBase,\n\t\t\texpectedOutput: cleanField(assertion, ['expected_output', 'expectedOutput', 'saved_output', 'calculated_output', 'report_output'], 700) || expectedState || assertionText || undefined,\n\t\t\tproofKind,\n\t\t\tcoverageTags,\n\t\t\tacceptanceGate: 'aiqa_business_assertion',\n\t\t\trequiredArtifacts: buildWorkflowQaRequiredArtifacts(assertion, proofKind),\n\t\t\tstateTransition: buildWorkflowQaStateTransition(assertion, rowBase),\n\t\t\tstatus: cleanField(assertion, ['status'], 120) || undefined,\n\t\t\tartifactPaths: cleanList(readField(assertion, ['artifact_paths', 'artifactPaths']), 20, 500)\n\t\t});\n\t});\n\tif (rows.length) {\n\t\treturn rows.slice(0, 80);\n\t}\n\tasArray(contract.north_star_workflow).forEach((step, index, workflow) => {\n\t\tif (!step || typeof step !== 'object' || Array.isArray(step)) {\n\t\t\treturn;\n\t\t}\n\t\tconst proofKind = normalizeWorkflowProofKind(step, normalizeWorkflowStepPosition(step, index, workflow.length));\n\t\tconst rowBase = {\n\t\t\troute: cleanField(step, ['route'], 240) || undefined,\n\t\t\taction: cleanField(step, ['visible_cta', 'action', 'cta'], 500) || undefined,\n\t\t\tassertion: cleanField(step, ['success_confirmation', 'expected_state_transition', 'final_result'], 700) || undefined,\n\t\t\texpectedState: cleanField(step, ['expected_state_transition', 'success_confirmation', 'final_result'], 500) || undefined\n\t\t};\n\t\trows.push({\n\t\t\tindex: index + 1,\n\t\t\tworkflowId,\n\t\t\tworkflowStepId: buildWorkflowStepId(step, index),\n\t\t\tworkflowStepIds: [buildWorkflowStepId(step, index)],\n\t\t\tstepId: buildWorkflowStepId(step, index),\n\t\t\t...rowBase,\n\t\t\texpectedOutput: cleanField(step, ['final_result', 'saved_exported_reported_result', 'completion_result', 'expected_state_transition'], 700) || rowBase.expectedState || rowBase.assertion,\n\t\t\tproofKind,\n\t\t\tcoverageTags: Array.from(new Set([proofKind, normalizeWorkflowStepPosition(step, index, workflow.length)].map(normalizeWorkflowQaCoverageTag).filter(Boolean))),\n\t\t\tacceptanceGate: 'aiqa_business_assertion',\n\t\t\trequiredArtifacts: buildWorkflowQaRequiredArtifacts(step, proofKind),\n\t\t\tstateTransition: buildWorkflowQaStateTransition(step, rowBase),\n\t\t\tstatus: undefined,\n\t\t\tartifactPaths: []\n\t\t});\n\t\tvoid workflow;\n\t});\n\treturn rows.slice(0, 80);\n}\n\nexport function validateResolveIOAICoderJourneyContract(input: any, options: {\n\tpathLabel?: string;\n\trequireMarkdownEnvelope?: boolean;\n} = {}): ResolveIOAICoderJourneyContractValidationResult {\n\tconst pathLabel = cleanText(options.pathLabel || 'docs/APP_JOURNEY_CONTRACT.md', 240) || 'docs/APP_JOURNEY_CONTRACT.md';\n\tconst issues: ResolveIOAICoderJourneyContractValidationIssue[] = [];\n\tlet contract: Record<string, any> | null = null;\n\tif (typeof input === 'string') {\n\t\tconst normalized = input.replace(/\\r\\n/g, '\\n');\n\t\tif (!normalized.trim()) {\n\t\t\taddJourneyIssue(issues, 'missing_contract', pathLabel, `${pathLabel}: missing app journey contract.`);\n\t\t\treturn { valid: false, contract: null, issues, workflowQaRows: [], primaryWorkflowId: '' };\n\t\t}\n\t\tif (options.requireMarkdownEnvelope !== false && !/^\\s*#\\s+App Journey Contract/im.test(normalized)) {\n\t\t\taddJourneyIssue(issues, 'missing_heading', pathLabel, `${pathLabel}: missing \"# App Journey Contract\" heading.`);\n\t\t}\n\t\tif (options.requireMarkdownEnvelope !== false && !/##\\s*journey_contract/i.test(normalized)) {\n\t\t\taddJourneyIssue(issues, 'missing_json_section', pathLabel, `${pathLabel}: missing \"## journey_contract\" JSON section.`);\n\t\t}\n\t\tif (looksPlaceholder(normalized)) {\n\t\t\taddJourneyIssue(issues, 'placeholder_text', pathLabel, `${pathLabel}: contains placeholder or generic journey text.`);\n\t\t}\n\t\tcontract = extractResolveIOAICoderJourneyContractFromMarkdown(normalized);\n\t}\n\telse if (input && typeof input === 'object' && !Array.isArray(input)) {\n\t\tcontract = input;\n\t}\n\tif (!contract) {\n\t\taddJourneyIssue(issues, 'invalid_json', pathLabel, `${pathLabel}: journey_contract JSON is missing or invalid.`);\n\t\treturn { valid: false, contract: null, issues, workflowQaRows: [], primaryWorkflowId: '' };\n\t}\n\tconst requiredKeys = [\n\t\t'app_archetype',\n\t\t'primary_actor',\n\t\t'primary_goal',\n\t\t'first_screen',\n\t\t'north_star_workflow',\n\t\t'secondary_workflows',\n\t\t'screen_sequence',\n\t\t'data_story',\n\t\t'completion_states',\n\t\t'qa_assertions'\n\t];\n\tfor (const key of requiredKeys) {\n\t\tif (!(key in contract)) {\n\t\t\taddJourneyIssue(issues, 'missing_key', `${pathLabel}.journey_contract.${key}`, `${pathLabel}: journey_contract missing key \"${key}\".`);\n\t\t}\n\t}\n\tfor (const key of ['app_archetype', 'primary_actor', 'primary_goal']) {\n\t\tconst value = cleanText(contract[key], 500);\n\t\tif (value.length < 4) {\n\t\t\taddJourneyIssue(issues, 'empty_core_field', `${pathLabel}.journey_contract.${key}`, `${pathLabel}: journey_contract.${key} must be non-empty.`);\n\t\t}\n\t\tif (looksPlaceholder(value)) {\n\t\t\taddJourneyIssue(issues, 'placeholder_core_field', `${pathLabel}.journey_contract.${key}`, `${pathLabel}: journey_contract.${key} is placeholder text.`);\n\t\t}\n\t}\n\tconst firstScreen = contract.first_screen;\n\tif (!firstScreen || typeof firstScreen !== 'object' || Array.isArray(firstScreen)) {\n\t\taddJourneyIssue(issues, 'invalid_first_screen', `${pathLabel}.journey_contract.first_screen`, `${pathLabel}: first_screen must be an object.`);\n\t}\n\telse {\n\t\tconst route = cleanField(firstScreen, ['route'], 240);\n\t\tfor (const [label, keys] of [\n\t\t\t['route', ['route']],\n\t\t\t['purpose', ['purpose', 'screen_purpose']],\n\t\t\t['visible_cta', ['visible_cta', 'cta', 'primary_cta']],\n\t\t\t['next_step', ['next_step', 'next_step_destination', 'expected_next_state']]\n\t\t] as Array<[string, string[]]>) {\n\t\t\tif (cleanField(firstScreen, keys, 500).length < 4) {\n\t\t\t\taddJourneyIssue(issues, 'incomplete_first_screen', `${pathLabel}.journey_contract.first_screen.${label}`, `${pathLabel}: first_screen.${label} must be non-empty.`);\n\t\t\t}\n\t\t}\n\t\tif (route && !looksLikeAbsoluteRoute(route)) {\n\t\t\taddJourneyIssue(issues, 'relative_first_screen_route', `${pathLabel}.journey_contract.first_screen.route`, `${pathLabel}: first_screen.route must be an absolute app route.`);\n\t\t}\n\t}\n\tconst workflow = asArray(contract.north_star_workflow);\n\tif (workflow.length < 3) {\n\t\taddJourneyIssue(issues, 'workflow_too_short', `${pathLabel}.journey_contract.north_star_workflow`, `${pathLabel}: north_star_workflow must include at least first, next, and last steps.`);\n\t}\n\tconst positions = new Set(workflow.map((step: any, index: number) => normalizeWorkflowStepPosition(step, index, workflow.length)));\n\tfor (const requiredPosition of ['first', 'next', 'last']) {\n\t\tif (!positions.has(requiredPosition)) {\n\t\t\taddJourneyIssue(issues, 'missing_workflow_position', `${pathLabel}.journey_contract.north_star_workflow`, `${pathLabel}: north_star_workflow missing position \"${requiredPosition}\".`);\n\t\t}\n\t}\n\tworkflow.forEach((step: any, index: number) => {\n\t\tconst stepPath = `${pathLabel}.journey_contract.north_star_workflow[${index}]`;\n\t\tif (!step || typeof step !== 'object' || Array.isArray(step)) {\n\t\t\taddJourneyIssue(issues, 'invalid_workflow_step', stepPath, `${pathLabel}: north_star_workflow[${index}] must be an object.`);\n\t\t\treturn;\n\t\t}\n\t\tconst position = normalizeWorkflowStepPosition(step, index, workflow.length);\n\t\tconst route = cleanField(step, ['route'], 240);\n\t\tconst embeddedAction = cleanField(step, ['embedded_hub_action', 'hub_action'], 240);\n\t\tconst implementation = cleanField(step, [\n\t\t\t'method_or_calculation',\n\t\t\t'server_method_or_publication',\n\t\t\t'local_calculation_path',\n\t\t\t'action_implementation',\n\t\t\t'calculation_path',\n\t\t\t'data_mutation',\n\t\t\t'mutation',\n\t\t\t'persisted_result'\n\t\t], 500);\n\t\tconst requiredStepFields: Array<[string, string[]]> = [\n\t\t\t['position', ['position']],\n\t\t\t['visible_cta', ['visible_cta', 'cta', 'label']],\n\t\t\t['data_input_or_selection', ['data_input_or_selection', 'data_input', 'selection', 'input']],\n\t\t\t['expected_state_transition', ['expected_state_transition', 'expected_next_state', 'state_change']],\n\t\t\t['success_confirmation', ['success_confirmation', 'confirmation', 'success_message']],\n\t\t\t['next_step_destination', ['next_step_destination', 'next_step', 'destination']]\n\t\t];\n\t\tfor (const [fieldName, keys] of requiredStepFields) {\n\t\t\tif (fieldName === 'next_step_destination' && position === 'last') {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (cleanField(step, keys, 500).length < 3) {\n\t\t\t\taddJourneyIssue(issues, 'incomplete_workflow_step', `${stepPath}.${fieldName}`, `${pathLabel}: north_star_workflow[${index}].${fieldName} must be non-empty.`);\n\t\t\t}\n\t\t}\n\t\tif (!route && !embeddedAction) {\n\t\t\taddJourneyIssue(issues, 'workflow_step_missing_route_or_hub_action', stepPath, `${pathLabel}: north_star_workflow[${index}] must specify a route or embedded hub action.`);\n\t\t}\n\t\tif (route && !looksLikeAbsoluteRoute(route)) {\n\t\t\taddJourneyIssue(issues, 'relative_workflow_route', `${stepPath}.route`, `${pathLabel}: north_star_workflow[${index}].route must be an absolute app route.`);\n\t\t}\n\t\tif (!implementation) {\n\t\t\taddJourneyIssue(issues, 'workflow_step_missing_implementation', stepPath, `${pathLabel}: north_star_workflow[${index}] must map the CTA to a server method, publication, local calculation, persisted mutation, or export/report action.`);\n\t\t}\n\t\tif (isNavigationOnlyAction(step)) {\n\t\t\taddJourneyIssue(issues, 'navigation_only_workflow_step', stepPath, `${pathLabel}: north_star_workflow[${index}] appears to be navigation-only instead of advancing state.`);\n\t\t}\n\t\tif (position === 'last' && cleanField(step, ['final_result', 'saved_exported_reported_result', 'completion_result'], 700).length < 8) {\n\t\t\taddJourneyIssue(issues, 'last_step_missing_final_result', `${stepPath}.final_result`, `${pathLabel}: last workflow step must define the saved, exported, reported, or calculated final result.`);\n\t\t}\n\t});\n\tconst secondaryWorkflows = asArray(contract.secondary_workflows);\n\tif (secondaryWorkflows.length < 3) {\n\t\taddJourneyIssue(issues, 'missing_secondary_workflows', `${pathLabel}.journey_contract.secondary_workflows`, `${pathLabel}: secondary_workflows must include setup, manage, report/export, settings/secrets, or recovery coverage.`);\n\t}\n\tconst screenSequence = asArray(contract.screen_sequence);\n\tif (screenSequence.length < Math.min(3, Math.max(workflow.length, 3))) {\n\t\taddJourneyIssue(issues, 'screen_sequence_too_short', `${pathLabel}.journey_contract.screen_sequence`, `${pathLabel}: screen_sequence must map workflow steps to routes, CTAs, data, and next state.`);\n\t}\n\tscreenSequence.forEach((screen: any, index: number) => {\n\t\tconst screenPath = `${pathLabel}.journey_contract.screen_sequence[${index}]`;\n\t\tif (!screen || typeof screen !== 'object' || Array.isArray(screen)) {\n\t\t\taddJourneyIssue(issues, 'invalid_screen_sequence_row', screenPath, `${pathLabel}: screen_sequence[${index}] must be an object.`);\n\t\t\treturn;\n\t\t}\n\t\tfor (const [fieldName, keys] of [\n\t\t\t['route', ['route']],\n\t\t\t['screen_purpose', ['screen_purpose', 'purpose']],\n\t\t\t['visible_cta', ['visible_cta', 'cta']],\n\t\t\t['expected_next_state', ['expected_next_state', 'expected_state_transition']],\n\t\t\t['data_shown', ['data_shown', 'data', 'records_shown']]\n\t\t] as Array<[string, string[]]>) {\n\t\t\tif (cleanField(screen, keys, 500).length < 3) {\n\t\t\t\taddJourneyIssue(issues, 'incomplete_screen_sequence_row', `${screenPath}.${fieldName}`, `${pathLabel}: screen_sequence[${index}].${fieldName} must be non-empty.`);\n\t\t\t}\n\t\t}\n\t\tconst route = cleanField(screen, ['route'], 240);\n\t\tif (route && !looksLikeAbsoluteRoute(route)) {\n\t\t\taddJourneyIssue(issues, 'relative_screen_route', `${screenPath}.route`, `${pathLabel}: screen_sequence[${index}].route must be an absolute app route.`);\n\t\t}\n\t\tif (isNavigationOnlyAction(screen)) {\n\t\t\taddJourneyIssue(issues, 'navigation_only_screen_action', screenPath, `${pathLabel}: screen_sequence[${index}] CTA appears to navigate without changing workflow state.`);\n\t\t}\n\t\tif (workflow.length && !workflow.some((step: any, workflowIndex: number) => journeySourceMapsToWorkflowStep(screen, step, workflowIndex))) {\n\t\t\taddJourneyIssue(issues, 'screen_sequence_unmapped_to_workflow', screenPath, `${pathLabel}: screen_sequence[${index}] must reference a north_star_workflow step by workflow_step_id or match that step's route and CTA.`);\n\t\t}\n\t});\n\tworkflow.forEach((step: any, index: number) => {\n\t\tif (!step || typeof step !== 'object' || Array.isArray(step)) {\n\t\t\treturn;\n\t\t}\n\t\tconst stepPath = `${pathLabel}.journey_contract.north_star_workflow[${index}]`;\n\t\tconst matchingScreens = screenSequence.filter((screen: any) => journeySourceMapsToWorkflowStep(screen, step, index));\n\t\tif (!matchingScreens.length) {\n\t\t\taddJourneyIssue(issues, 'workflow_step_missing_screen_mapping', stepPath, `${pathLabel}: north_star_workflow[${index}] must have a matching screen_sequence row with the same step id or route/CTA mapping.`);\n\t\t}\n\t});\n\tconst firstScreenRoute = cleanField(firstScreen, ['route'], 240);\n\tconst hubScreens = screenSequence.filter((screen: any) => {\n\t\tconst route = cleanField(screen, ['route'], 240);\n\t\treturn route === firstScreenRoute || /hub|dashboard/i.test(route);\n\t});\n\tconst hubHasEmbeddedAction = hubScreens.some((screen: any) => {\n\t\tconst text = [\n\t\t\tcleanField(screen, ['embedded_action', 'hub_action', 'action'], 500),\n\t\t\tcleanField(screen, ['method_or_calculation', 'server_method_or_publication', 'local_calculation_path', 'action_implementation'], 500),\n\t\t\tcleanField(screen, ['expected_next_state', 'expected_state_transition'], 500)\n\t\t].join(' ');\n\t\treturn text.trim().length >= 8 && !isNavigationOnlyAction(screen);\n\t});\n\tif (!hubHasEmbeddedAction) {\n\t\taddJourneyIssue(issues, 'hub_missing_embedded_action', `${pathLabel}.journey_contract.screen_sequence`, `${pathLabel}: dashboard hub/first screen must embed at least one primary workflow action instead of acting as a link farm.`);\n\t}\n\tconst dataStory = contract.data_story;\n\tif (!dataStory || typeof dataStory !== 'object' || Array.isArray(dataStory)) {\n\t\taddJourneyIssue(issues, 'invalid_data_story', `${pathLabel}.journey_contract.data_story`, `${pathLabel}: data_story must be an object.`);\n\t}\n\telse {\n\t\tif (cleanField(dataStory, ['seeded_scenario', 'scenario'], 800).length < 12) {\n\t\t\taddJourneyIssue(issues, 'missing_seeded_scenario', `${pathLabel}.journey_contract.data_story.seeded_scenario`, `${pathLabel}: data_story.seeded_scenario must describe the launch sample scenario.`);\n\t\t}\n\t\tif (!asArray(readField(dataStory, ['records', 'seed_records'])).length) {\n\t\t\taddJourneyIssue(issues, 'missing_seed_records', `${pathLabel}.journey_contract.data_story.records`, `${pathLabel}: data_story.records must list seeded records.`);\n\t\t}\n\t\tif (!asArray(readField(dataStory, ['relationships', 'record_relationships'])).length) {\n\t\t\taddJourneyIssue(issues, 'missing_seed_relationships', `${pathLabel}.journey_contract.data_story.relationships`, `${pathLabel}: data_story.relationships must list seeded data relationships.`);\n\t\t}\n\t\tif (asArray(readField(dataStory, ['non_empty_states', 'non_empty_dashboard_states'])).length < 2) {\n\t\t\taddJourneyIssue(issues, 'missing_non_empty_states', `${pathLabel}.journey_contract.data_story.non_empty_states`, `${pathLabel}: data_story.non_empty_states must list non-empty dashboard, workflow, or report states.`);\n\t\t}\n\t}\n\tif (asArray(contract.completion_states).length < 2) {\n\t\taddJourneyIssue(issues, 'missing_completion_states', `${pathLabel}.journey_contract.completion_states`, `${pathLabel}: completion_states must define what done looks like to the user.`);\n\t}\n\tconst qaAssertions = asArray(contract.qa_assertions);\n\tif (qaAssertions.length < 5) {\n\t\taddJourneyIssue(issues, 'qa_assertions_too_short', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions must include login, hub action, workflow completion, sample data, and mobile proof.`);\n\t}\n\tconst workflowStepsWithQa = new Set<string>();\n\tlet hasMobileQa = false;\n\tlet hasRecoveryQa = false;\n\tlet hasCompletionQa = false;\n\tlet hasNonEmptyQa = false;\n\tlet hasLoginQa = false;\n\tlet hasHubActionQa = false;\n\tqaAssertions.forEach((assertion: any, index: number) => {\n\t\tconst qaPath = `${pathLabel}.journey_contract.qa_assertions[${index}]`;\n\t\tif (!assertion || typeof assertion !== 'object' || Array.isArray(assertion)) {\n\t\t\taddJourneyIssue(issues, 'invalid_qa_assertion', qaPath, `${pathLabel}: qa_assertions[${index}] must be an object.`);\n\t\t\treturn;\n\t\t}\n\t\tfor (const [fieldName, keys] of [\n\t\t\t['route', ['route', 'screen_route', 'path']],\n\t\t\t['action', ['action', 'browser_steps', 'visible_cta']],\n\t\t\t['expected_dom_or_data_proof', ['expected_dom_or_data_proof', 'proof', 'expected_result']]\n\t\t] as Array<[string, string[]]>) {\n\t\t\tif (cleanField(assertion, keys, 700).length < 3) {\n\t\t\t\taddJourneyIssue(issues, 'incomplete_qa_assertion', `${qaPath}.${fieldName}`, `${pathLabel}: qa_assertions[${index}].${fieldName} must be non-empty.`);\n\t\t\t}\n\t\t}\n\t\tconst route = cleanField(assertion, ['route', 'screen_route', 'path'], 240);\n\t\tif (route && !looksLikeAbsoluteRoute(route)) {\n\t\t\taddJourneyIssue(issues, 'relative_qa_route', `${qaPath}.route`, `${pathLabel}: qa_assertions[${index}].route must be an absolute app route.`);\n\t\t}\n\t\tconst explicitCoverageTags = normalizeWorkflowQaCoverageTags(assertion, { includeProofKind: false });\n\t\tconst coverageTags = normalizeWorkflowQaCoverageTags(assertion);\n\t\tif (!explicitCoverageTags.length) {\n\t\t\taddJourneyIssue(issues, 'qa_assertion_missing_structured_coverage', `${qaPath}.coverage_tags`, `${pathLabel}: qa_assertions[${index}] must declare coverage_tags such as login, hub_action, workflow_completion, non_empty_data, mobile, or recovery; prose-only keyword detection is not accepted.`);\n\t\t}\n\t\thasLoginQa = hasLoginQa || coverageTags.includes('login');\n\t\thasHubActionQa = hasHubActionQa || coverageTags.includes('hub_action');\n\t\thasMobileQa = hasMobileQa || coverageTags.includes('mobile');\n\t\thasRecoveryQa = hasRecoveryQa || coverageTags.includes('recovery');\n\t\thasCompletionQa = hasCompletionQa || coverageTags.includes('workflow_completion');\n\t\thasNonEmptyQa = hasNonEmptyQa || coverageTags.includes('non_empty_data');\n\t\tconst mappedWorkflowStepIds = workflow\n\t\t\t.map((step: any, workflowIndex: number) => journeySourceMapsToWorkflowStep(assertion, step, workflowIndex) ? buildWorkflowStepId(step, workflowIndex) : '')\n\t\t\t.filter(Boolean);\n\t\tmappedWorkflowStepIds.forEach((stepId: string) => workflowStepsWithQa.add(stepId));\n\t\tif (workflow.length && !mappedWorkflowStepIds.length) {\n\t\t\taddJourneyIssue(issues, 'qa_assertion_unmapped_to_workflow', qaPath, `${pathLabel}: qa_assertions[${index}] must reference a north_star_workflow step by workflow_step_id/covers_workflow_step_ids or match that step's route and CTA/action.`);\n\t\t}\n\t});\n\tif (!hasLoginQa) {\n\t\taddJourneyIssue(issues, 'missing_login_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing structured login coverage.`);\n\t}\n\tif (!hasHubActionQa) {\n\t\taddJourneyIssue(issues, 'missing_hub_action_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing structured dashboard hub action coverage.`);\n\t}\n\tif (!hasCompletionQa) {\n\t\taddJourneyIssue(issues, 'missing_completion_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing business completion proof.`);\n\t}\n\tif (!hasNonEmptyQa) {\n\t\taddJourneyIssue(issues, 'missing_non_empty_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing non-empty seeded data proof.`);\n\t}\n\tif (!hasMobileQa) {\n\t\taddJourneyIssue(issues, 'missing_mobile_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing mobile viewport proof.`);\n\t}\n\tif (!hasRecoveryQa) {\n\t\taddJourneyIssue(issues, 'missing_recovery_qa', `${pathLabel}.journey_contract.qa_assertions`, `${pathLabel}: qa_assertions missing empty/error recovery proof.`);\n\t}\n\tworkflow.forEach((step: any, index: number) => {\n\t\tif (!step || typeof step !== 'object' || Array.isArray(step)) {\n\t\t\treturn;\n\t\t}\n\t\tconst stepId = buildWorkflowStepId(step, index);\n\t\tif (!workflowStepsWithQa.has(stepId)) {\n\t\t\taddJourneyIssue(issues, 'workflow_step_missing_qa_assertion', `${pathLabel}.journey_contract.north_star_workflow[${index}]`, `${pathLabel}: north_star_workflow[${index}] must be covered by at least one qa_assertions row using workflow_step_id/covers_workflow_step_ids or matching route/CTA.`);\n\t\t}\n\t});\n\tconst workflowQaRows = buildResolveIOAICoderWorkflowQaRowsFromJourneyContract(contract);\n\treturn {\n\t\tvalid: !issues.some((issue) => issue.severity === 'error'),\n\t\tcontract,\n\t\tissues,\n\t\tworkflowQaRows,\n\t\tprimaryWorkflowId: cleanField(contract, ['primary_workflow_id', 'workflow_id', 'id'], 160) || 'north-star'\n\t};\n}\n\nexport function collectResolveIOAICoderJourneyContractIssues(input: any, options: {\n\tpathLabel?: string;\n\trequireMarkdownEnvelope?: boolean;\n} = {}): string[] {\n\treturn validateResolveIOAICoderJourneyContract(input, options).issues.map((issue) => issue.message);\n}\n\nfunction cleanNumber(value: any): number {\n\tconst parsed = Number(value);\n\treturn Number.isFinite(parsed) && parsed > 0 ? Math.floor(parsed) : 0;\n}\n\nfunction cleanWorkflowQaRows(values: any, limit = 40): ResolveIOAICoderV6WorkflowQaRow[] {\n\tif (!Array.isArray(values)) {\n\t\treturn [];\n\t}\n\tconst rows: ResolveIOAICoderV6WorkflowQaRow[] = [];\n\tfor (const value of values) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\tcontinue;\n\t\t}\n\t\tconst row: ResolveIOAICoderV6WorkflowQaRow = {\n\t\t\tindex: cleanNumber((value as any).index) || undefined,\n\t\t\tworkflowId: cleanText((value as any).workflowId || (value as any).workflow_id, 160) || undefined,\n\t\t\tworkflowStepId: cleanText((value as any).workflowStepId || (value as any).workflow_step_id, 160) || undefined,\n\t\t\tworkflowStepIds: cleanList((value as any).workflowStepIds || (value as any).workflow_step_ids, 20, 160),\n\t\t\tstepId: cleanText((value as any).stepId || (value as any).step_id, 160) || undefined,\n\t\t\troute: cleanText((value as any).route, 240) || undefined,\n\t\t\taction: cleanText((value as any).action, 500) || undefined,\n\t\t\tassertion: cleanText((value as any).assertion, 700) || undefined,\n\t\t\texpectedState: cleanText((value as any).expectedState || (value as any).expected_state, 500) || undefined,\n\t\t\texpectedOutput: cleanText((value as any).expectedOutput || (value as any).expected_output, 700) || undefined,\n\t\t\tproofKind: cleanText((value as any).proofKind || (value as any).proof_kind, 120) || undefined,\n\t\t\tcoverageTags: normalizeWorkflowQaCoverageTags(value),\n\t\t\tacceptanceGate: ((value as any).acceptanceGate || (value as any).acceptance_gate) === 'aiqa_business_assertion'\n\t\t\t\t? 'aiqa_business_assertion'\n\t\t\t\t: undefined,\n\t\t\trequiredArtifacts: cleanList((value as any).requiredArtifacts || (value as any).required_artifacts, 20, 180),\n\t\t\tstateTransition: (value as any).stateTransition || (value as any).state_transition\n\t\t\t\t? {\n\t\t\t\t\tbefore: cleanText(((value as any).stateTransition || (value as any).state_transition).before, 700) || undefined,\n\t\t\t\t\taction: cleanText(((value as any).stateTransition || (value as any).state_transition).action, 700) || undefined,\n\t\t\t\t\tafter: cleanText(((value as any).stateTransition || (value as any).state_transition).after, 700) || undefined,\n\t\t\t\t\tassertion: cleanText(((value as any).stateTransition || (value as any).state_transition).assertion, 700) || undefined\n\t\t\t\t}\n\t\t\t\t: undefined,\n\t\t\tstatus: cleanText((value as any).status, 120) || undefined,\n\t\t\tartifactPaths: cleanList((value as any).artifactPaths || (value as any).artifact_paths, 20, 500)\n\t\t};\n\t\tif (row.workflowId || row.stepId || row.route || row.action || row.assertion) {\n\t\t\trows.push(row);\n\t\t}\n\t\tif (rows.length >= limit) {\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn rows;\n}\n\nfunction statusLooksPassed(value: any): boolean {\n\tconst normalized = cleanText(value, 120).toLowerCase();\n\treturn !!normalized && /\\b(pass|passed|success|succeeded|ok|done|complete|completed|ready|saved|published|deployed)\\b/i.test(normalized);\n}\n\nfunction statusLooksFailed(value: any): boolean {\n\tconst normalized = cleanText(value, 160).toLowerCase();\n\treturn !!normalized && /\\b(fail|failed|error|blocked|missing|empty|stale|skipped|not ready|not_ready|cannot|could not|invalid)\\b/i.test(normalized);\n}\n\nfunction normalizeProofKey(value: any): string {\n\treturn cleanText(value, 500).toLowerCase().replace(/[^a-z0-9]+/g, ' ').replace(/\\s+/g, ' ').trim();\n}\n\nfunction cleanAssertionArtifactPaths(value: Record<string, any>): string[] {\n\treturn cleanList(\n\t\tvalue.artifactPaths\n\t\t\t|| value.artifact_paths\n\t\t\t|| value.artifacts\n\t\t\t|| value.screenshots\n\t\t\t|| (value.screenshot ? [value.screenshot] : []),\n\t\t20,\n\t\t500\n\t);\n}\n\nfunction normalizeWorkflowProofAssertion(value: any): Record<string, any> {\n\tconst source = value && typeof value === 'object' && !Array.isArray(value) ? value : {};\n\treturn {\n\t\tassertion: cleanText(source.assertion || source.name || source.label || source.expected, 1000),\n\t\tstatus: cleanText(source.status || source.outcome || source.result || (source.passed === true ? 'pass' : source.passed === false ? 'fail' : ''), 120),\n\t\tworkflowId: cleanText(source.workflowId || source.workflow_id || source.workflow || source.workflowName || source.workflow_name, 200),\n\t\tstepId: cleanText(source.stepId || source.step_id || source.id || source.key, 200),\n\t\troute: cleanText(source.route || source.path || source.url, 500),\n\t\taction: cleanText(source.action || source.browser_steps || source.action_under_test || source.actionUnderTest, 800),\n\t\texpected: cleanText(source.expected || source.expected_state || source.expectedState || source.expected_business_state_change || source.expectedBusinessStateChange, 1000),\n\t\tobserved: cleanText(source.observed || source.actual || source.after || source.after_state || source.afterState, 1000),\n\t\tdataProof: cleanText(source.dataProof || source.data_proof || source.domProof || source.dom_proof || source.proof || source.summary, 1400),\n\t\tartifactPaths: cleanAssertionArtifactPaths(source),\n\t\tmetadata: source.metadata && typeof source.metadata === 'object' && !Array.isArray(source.metadata) ? source.metadata : {}\n\t};\n}\n\nfunction workflowRowKey(row: ResolveIOAICoderV6WorkflowQaRow, index: number): string {\n\treturn cleanText(row.stepId || row.assertion || row.action || row.route || `workflow-row-${index + 1}`, 200);\n}\n\nfunction sameWorkflowRow(left: ResolveIOAICoderV6WorkflowQaRow, right: ResolveIOAICoderV6WorkflowQaRow): boolean {\n\tconst leftStep = normalizeProofKey(left.stepId);\n\tconst rightStep = normalizeProofKey(right.stepId);\n\tif (leftStep && rightStep && leftStep === rightStep) {\n\t\treturn true;\n\t}\n\tconst leftRoute = normalizeProofKey(left.route);\n\tconst rightRoute = normalizeProofKey(right.route);\n\tconst leftAction = normalizeProofKey(left.action || left.assertion);\n\tconst rightAction = normalizeProofKey(right.action || right.assertion);\n\treturn !!leftRoute && !!rightRoute && leftRoute === rightRoute && !!leftAction && !!rightAction && (leftAction.includes(rightAction) || rightAction.includes(leftAction));\n}\n\nfunction mergeWorkflowQaRows(\n\tcontractRows: ResolveIOAICoderV6WorkflowQaRow[],\n\trecordedRows: ResolveIOAICoderV6WorkflowQaRow[]\n): ResolveIOAICoderV6WorkflowQaRow[] {\n\tif (!contractRows.length) {\n\t\treturn recordedRows;\n\t}\n\treturn contractRows.map((contractRow) => {\n\t\tconst recorded = recordedRows.find((row) => sameWorkflowRow(contractRow, row));\n\t\tif (!recorded) {\n\t\t\treturn contractRow;\n\t\t}\n\t\treturn {\n\t\t\t...contractRow,\n\t\t\t...recorded,\n\t\t\tworkflowId: recorded.workflowId || contractRow.workflowId,\n\t\t\tstepId: recorded.stepId || contractRow.stepId,\n\t\t\troute: recorded.route || contractRow.route,\n\t\t\taction: recorded.action || contractRow.action,\n\t\t\tassertion: recorded.assertion || contractRow.assertion,\n\t\t\texpectedState: recorded.expectedState || contractRow.expectedState,\n\t\t\texpectedOutput: recorded.expectedOutput || contractRow.expectedOutput,\n\t\t\tproofKind: recorded.proofKind || contractRow.proofKind,\n\t\t\tcoverageTags: Array.from(new Set([\n\t\t\t\t...cleanList(contractRow.coverageTags, 20, 120),\n\t\t\t\t...cleanList(recorded.coverageTags, 20, 120)\n\t\t\t])),\n\t\t\tacceptanceGate: recorded.acceptanceGate || contractRow.acceptanceGate,\n\t\t\trequiredArtifacts: Array.from(new Set([\n\t\t\t\t...cleanList(contractRow.requiredArtifacts, 20, 180),\n\t\t\t\t...cleanList(recorded.requiredArtifacts, 20, 180)\n\t\t\t])),\n\t\t\tstateTransition: recorded.stateTransition || contractRow.stateTransition,\n\t\t\tartifactPaths: Array.from(new Set([\n\t\t\t\t...cleanList(contractRow.artifactPaths, 20, 500),\n\t\t\t\t...cleanList(recorded.artifactPaths, 20, 500)\n\t\t\t]))\n\t\t};\n\t});\n}\n\nfunction assertionMatchesWorkflowRow(assertion: Record<string, any>, row: ResolveIOAICoderV6WorkflowQaRow): boolean {\n\tconst metadata = assertion.metadata || {};\n\tif (metadata.workflowQaRowMatched === true || metadata.journeyContractMatched === true || metadata.aicoderWorkflowProof === true) {\n\t\treturn true;\n\t}\n\tconst rowStep = normalizeProofKey(row.stepId);\n\tconst assertionStep = normalizeProofKey(assertion.stepId || metadata.stepId || metadata.step_id);\n\tif (rowStep && assertionStep && rowStep === assertionStep) {\n\t\treturn true;\n\t}\n\tconst rowRoute = normalizeProofKey(row.route);\n\tconst assertionRoute = normalizeProofKey(assertion.route);\n\tconst rowAction = normalizeProofKey(row.action || row.assertion);\n\tconst assertionAction = normalizeProofKey([\n\t\tassertion.action,\n\t\tassertion.assertion,\n\t\tassertion.expected,\n\t\tassertion.observed,\n\t\tassertion.dataProof\n\t].filter(Boolean).join(' '));\n\treturn !!rowRoute\n\t\t&& !!assertionRoute\n\t\t&& rowRoute === assertionRoute\n\t\t&& !!rowAction\n\t\t&& !!assertionAction\n\t\t&& (assertionAction.includes(rowAction) || rowAction.includes(assertionAction));\n}\n\nfunction workflowRowPassingAssertion(row: ResolveIOAICoderV6WorkflowQaRow, assertions: Record<string, any>[]): Record<string, any> | undefined {\n\treturn assertions.find((assertion) => statusLooksPassed(assertion.status) && assertionMatchesWorkflowRow(assertion, row));\n}\n\nfunction workflowAssertionHasObservedOutputProof(assertion: Record<string, any> | undefined): boolean {\n\tif (!assertion) {\n\t\treturn false;\n\t}\n\treturn cleanText(assertion.dataProof, 1000).length >= 8\n\t\t|| cleanText(assertion.observed, 1000).length >= 8;\n}\n\nfunction workflowRowArtifactPaths(row: ResolveIOAICoderV6WorkflowQaRow, assertion?: Record<string, any>): string[] {\n\treturn Array.from(new Set([\n\t\t...cleanList(row.artifactPaths, 20, 500),\n\t\t...cleanList(assertion?.artifactPaths, 20, 500)\n\t]));\n}\n\nfunction workflowRowRequiresOutputProof(row: ResolveIOAICoderV6WorkflowQaRow): boolean {\n\tconst proofKind = cleanText(row.proofKind, 120).toLowerCase();\n\tif (/^(workflow_completion|report_export|non_empty_data|hub_action|business_workflow)$/.test(proofKind)) {\n\t\treturn true;\n\t}\n\tconst text = cleanText([\n\t\trow.expectedOutput,\n\t\trow.expectedState,\n\t\trow.assertion,\n\t\trow.stateTransition?.after,\n\t\trow.stateTransition?.assertion\n\t].filter(Boolean).join(' '), 1600).toLowerCase();\n\treturn /\\b(save|saved|persist|calculated|optimized|recommendation|report|export|result|non[-\\s]?empty|record|row|kpi|table|chart)\\b/.test(text);\n}\n\nfunction workflowRowRequiresMappedBusinessAssertion(row: ResolveIOAICoderV6WorkflowQaRow): boolean {\n\tconst proofKind = cleanText(row.proofKind, 120).toLowerCase();\n\tif (/^(workflow_completion|report_export)$/.test(proofKind)) {\n\t\treturn true;\n\t}\n\tif (/^(mobile|recovery|hub_action|non_empty_data)$/.test(proofKind)) {\n\t\treturn false;\n\t}\n\tconst text = cleanText([\n\t\trow.stepId,\n\t\trow.expectedOutput,\n\t\trow.expectedState,\n\t\trow.assertion,\n\t\trow.stateTransition?.after\n\t].filter(Boolean).join(' '), 1600).toLowerCase();\n\treturn /\\b(workflow[-_\\s]?completion|save|saved|persist|calculated|optimized|recommendation|report|export|final result)\\b/.test(text);\n}\n\nfunction workflowRowWeakProofReason(row: ResolveIOAICoderV6WorkflowQaRow, assertions: Record<string, any>[]): string {\n\tconst assertion = workflowRowPassingAssertion(row, assertions);\n\tconst rowPassed = statusLooksPassed(row.status);\n\tif (!rowPassed && !assertion) {\n\t\treturn '';\n\t}\n\tconst artifactPaths = workflowRowArtifactPaths(row, assertion);\n\tconst requiredArtifacts = cleanList(row.requiredArtifacts, 20, 180);\n\tif (requiredArtifacts.length && !artifactPaths.length) {\n\t\treturn `${workflowRowKey(row, 0)} missing required artifact proof: ${requiredArtifacts.slice(0, 3).join(', ')}`;\n\t}\n\tif (row.acceptanceGate === 'aiqa_business_assertion' && workflowRowRequiresMappedBusinessAssertion(row) && !assertion) {\n\t\treturn `${workflowRowKey(row, 0)} requires mapped AIQaBusinessAssertion proof.`;\n\t}\n\tif (workflowRowRequiresOutputProof(row) && !workflowAssertionHasObservedOutputProof(assertion)) {\n\t\treturn `${workflowRowKey(row, 0)} missing observed DOM/data proof for the saved/calculated/report output.`;\n\t}\n\treturn '';\n}\n\nfunction workflowRowHasProof(row: ResolveIOAICoderV6WorkflowQaRow, assertions: Record<string, any>[]): boolean {\n\tif (workflowRowWeakProofReason(row, assertions)) {\n\t\treturn false;\n\t}\n\tif (statusLooksPassed(row.status) && cleanList(row.artifactPaths, 20, 500).length) {\n\t\treturn true;\n\t}\n\treturn !!workflowRowPassingAssertion(row, assertions);\n}\n\nfunction workflowRowFailed(row: ResolveIOAICoderV6WorkflowQaRow, assertions: Record<string, any>[]): boolean {\n\tif (statusLooksFailed(row.status)) {\n\t\treturn true;\n\t}\n\treturn assertions.some((assertion) => statusLooksFailed(assertion.status) && assertionMatchesWorkflowRow(assertion, row));\n}\n\nfunction collectContractArtifactPaths(\n\trows: ResolveIOAICoderV6WorkflowQaRow[],\n\tassertions: Record<string, any>[],\n\textraPaths: any\n): string[] {\n\treturn Array.from(new Set([\n\t\t...cleanList(extraPaths, 40, 500),\n\t\t...rows.flatMap((row) => cleanList(row.artifactPaths, 20, 500)),\n\t\t...assertions.flatMap((assertion) => cleanList(assertion.artifactPaths, 20, 500))\n\t])).slice(0, 80);\n}\n\nfunction stableProofValue(value: any): any {\n\tif (Array.isArray(value)) {\n\t\treturn value.map(stableProofValue);\n\t}\n\tif (value && typeof value === 'object') {\n\t\treturn Object.keys(value)\n\t\t\t.sort()\n\t\t\t.reduce((accumulator, key) => {\n\t\t\t\tconst cleanKey = cleanText(key, 120);\n\t\t\t\tif (!cleanKey || /^(evaluatedAt|recordedAt|createdAt|updatedAt|timestamp|durationMs)$/i.test(cleanKey)) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\t\t\t\tconst nextValue = stableProofValue(value[key]);\n\t\t\t\tif (nextValue !== undefined && nextValue !== '' && !(Array.isArray(nextValue) && !nextValue.length)) {\n\t\t\t\t\taccumulator[cleanKey] = nextValue;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t}, {} as Record<string, any>);\n\t}\n\tif (typeof value === 'number') {\n\t\treturn Number.isFinite(value) ? value : undefined;\n\t}\n\tif (typeof value === 'boolean') {\n\t\treturn value;\n\t}\n\treturn cleanText(value, 2000);\n}\n\nfunction fingerprintResolveIOAICoderWorkflowProofPayload(value: any, prefix: string): string {\n\tconst text = JSON.stringify(stableProofValue(value));\n\tlet hash = 0;\n\tfor (let index = 0; index < text.length; index += 1) {\n\t\thash = ((hash << 5) - hash + text.charCodeAt(index)) | 0;\n\t}\n\treturn `${prefix}-${Math.abs(hash).toString(36)}`;\n}\n\nfunction normalizeWorkflowProofFingerprintList(...values: any[]): string[] {\n\tconst fingerprints: string[] = [];\n\tfor (const value of values) {\n\t\tconst list = Array.isArray(value) ? value : value ? [value] : [];\n\t\tfor (const entry of list) {\n\t\t\tconst normalized = cleanText(entry, 200);\n\t\t\tif (normalized && !fingerprints.includes(normalized)) {\n\t\t\t\tfingerprints.push(normalized);\n\t\t\t}\n\t\t}\n\t}\n\treturn fingerprints.slice(0, 40);\n}\n\nexport function evaluateResolveIOAICoderWorkflowProofReadiness(\n\tinput: ResolveIOAICoderWorkflowProofReadinessInput = {}\n): ResolveIOAICoderWorkflowProofReadiness {\n\tconst now = isoNow(input.now);\n\tconst journeyInput = input.journeyContract !== undefined ? input.journeyContract : input.journeyContractMarkdown;\n\tconst hasJourneyInput = journeyInput !== undefined && journeyInput !== null && cleanText(journeyInput, 100).length > 0;\n\tconst journeyValidation = hasJourneyInput\n\t\t? validateResolveIOAICoderJourneyContract(journeyInput, {\n\t\t\trequireMarkdownEnvelope: typeof journeyInput === 'string'\n\t\t})\n\t\t: {\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: 'docs/APP_JOURNEY_CONTRACT.md',\n\t\t\t\tmessage: 'docs/APP_JOURNEY_CONTRACT.md is required before workflow proof can accept the app.',\n\t\t\t\tseverity: 'error' as const\n\t\t\t}],\n\t\t\tworkflowQaRows: [],\n\t\t\tprimaryWorkflowId: ''\n\t\t};\n\tconst recordedRows = cleanWorkflowQaRows(input.workflowQaRows, 120);\n\tconst rows = mergeWorkflowQaRows(journeyValidation.workflowQaRows, recordedRows);\n\tconst assertions = asArray(input.businessAssertions).map(normalizeWorkflowProofAssertion).filter((assertion) => {\n\t\treturn assertion.assertion || assertion.route || assertion.action || assertion.dataProof || assertion.status;\n\t});\n\tconst routeOnly = asArray(input.routeProbes).some((probe) => statusLooksPassed((probe as any)?.status || ((probe as any)?.passed === true ? 'pass' : '')))\n\t\t&& !assertions.some((assertion) => statusLooksPassed(assertion.status));\n\tconst weakProofReasons = rows.map((row) => workflowRowWeakProofReason(row, assertions)).filter(Boolean);\n\tconst failedRows = rows.filter((row) => workflowRowFailed(row, assertions));\n\tconst passedRows = rows.filter((row) => workflowRowHasProof(row, assertions));\n\tconst missingRows = rows.filter((row) => !workflowRowHasProof(row, assertions) && !workflowRowFailed(row, assertions));\n\tconst passedAssertions = assertions.filter((assertion) => statusLooksPassed(assertion.status));\n\tconst releaseBlockers = [\n\t\tstatusLooksFailed(input.deployStatus) ? `deploy=${cleanText(input.deployStatus, 160)}` : '',\n\t\tstatusLooksFailed(input.publishStatus) ? `publish=${cleanText(input.publishStatus, 160)}` : '',\n\t\tstatusLooksFailed(input.sampleDataStatus) ? `sample_data=${cleanText(input.sampleDataStatus, 160)}` : ''\n\t].filter(Boolean);\n\tconst hasDataProof = passedAssertions.some((assertion) => cleanText(assertion.dataProof, 1000).length >= 8);\n\tconst sampleDataReady = statusLooksPassed(input.sampleDataStatus)\n\t\t|| (!statusLooksFailed(input.sampleDataStatus) && hasDataProof);\n\tconst artifactPaths = collectContractArtifactPaths(rows, assertions, input.artifactPaths);\n\tconst workflowProofFingerprint = fingerprintResolveIOAICoderWorkflowProofPayload({\n\t\tprimaryWorkflowId: journeyValidation.primaryWorkflowId || cleanText(recordedRows[0]?.workflowId, 160),\n\t\tpassedWorkflowRows: passedRows.map(workflowRowKey),\n\t\tfailedWorkflowRows: failedRows.map(workflowRowKey),\n\t\tmissingWorkflowRows: missingRows.map(workflowRowKey),\n\t\tpassedBusinessAssertions: passedAssertions.map((assertion) => ({\n\t\t\tassertion: assertion.assertion,\n\t\t\tworkflowId: assertion.workflowId,\n\t\t\tstepId: assertion.stepId,\n\t\t\troute: assertion.route,\n\t\t\taction: assertion.action,\n\t\t\texpected: assertion.expected,\n\t\t\tobserved: assertion.observed,\n\t\t\tdataProof: assertion.dataProof,\n\t\t\tartifactPaths: assertion.artifactPaths\n\t\t})),\n\t\tsampleDataStatus: input.sampleDataStatus,\n\t\tsampleDataReady,\n\t\tartifactPaths\n\t}, 'aicoder-workflow-proof');\n\tconst artifactFingerprint = fingerprintResolveIOAICoderWorkflowProofPayload({\n\t\tartifactPaths,\n\t\tbusinessDataProof: passedAssertions.map((assertion) => ({\n\t\t\tstepId: assertion.stepId,\n\t\t\troute: assertion.route,\n\t\t\tdataProof: assertion.dataProof,\n\t\t\tobserved: assertion.observed,\n\t\t\tartifactPaths: assertion.artifactPaths\n\t\t}))\n\t}, 'aicoder-workflow-artifacts');\n\tconst previousWorkflowFingerprints = normalizeWorkflowProofFingerprintList(\n\t\tinput.previousWorkflowProofFingerprint,\n\t\tinput.previousWorkflowProofFingerprints\n\t);\n\tconst previousArtifactFingerprints = normalizeWorkflowProofFingerprintList(\n\t\tinput.previousArtifactFingerprint,\n\t\tinput.previousArtifactFingerprints\n\t);\n\tlet proofFreshness: ResolveIOAICoderWorkflowProofFreshness = 'unknown';\n\tif (!passedAssertions.length && !artifactPaths.length) {\n\t\tproofFreshness = 'missing';\n\t}\n\telse if (previousWorkflowFingerprints.includes(workflowProofFingerprint)) {\n\t\tproofFreshness = 'same_as_previous';\n\t}\n\telse if (previousArtifactFingerprints.includes(artifactFingerprint)) {\n\t\tproofFreshness = 'stale_artifact';\n\t}\n\telse {\n\t\tproofFreshness = 'fresh';\n\t}\n\tconst blockers: string[] = [];\n\tlet status: ResolveIOAICoderWorkflowProofReadinessStatus = 'ready';\n\tlet reason = 'Journey contract and workflow business proof are ready.';\n\tlet nextAction = 'Proceed to the smallest remaining release gate.';\n\tif (!hasJourneyInput) {\n\t\tstatus = 'missing_journey_contract';\n\t\tblockers.push('Generate and validate docs/APP_JOURNEY_CONTRACT.md before build/acceptance.');\n\t\treason = 'AICoder cannot accept an app without a journey contract.';\n\t\tnextAction = 'Run journey_contract generation and validation first.';\n\t}\n\telse if (!journeyValidation.valid) {\n\t\tstatus = 'journey_invalid';\n\t\tblockers.push(...journeyValidation.issues.filter((issue) => issue.severity === 'error').map((issue) => issue.message).slice(0, 8));\n\t\treason = 'Journey contract validation failed.';\n\t\tnextAction = 'Repair docs/APP_JOURNEY_CONTRACT.md before product-code repair.';\n\t}\n\telse if (routeOnly) {\n\t\tstatus = 'route_only';\n\t\tblockers.push('Route/browser proof passed, but no workflow business assertion passed.');\n\t\treason = 'Route-only proof cannot accept an AICoder app.';\n\t\tnextAction = 'Run workflow QA generated from the journey contract.';\n\t}\n\telse if (!rows.length) {\n\t\tstatus = 'workflow_qa_missing';\n\t\tblockers.push('No workflow QA rows were generated or recorded from the journey contract.');\n\t\treason = 'Workflow QA evidence is missing.';\n\t\tnextAction = 'Generate workflow QA rows from journey_contract.qa_assertions.';\n\t}\n\telse if (weakProofReasons.length) {\n\t\tstatus = 'business_proof_weak';\n\t\tblockers.push(...weakProofReasons.slice(0, 8));\n\t\treason = 'Workflow QA rows passed without the structured artifacts or mapped output proof required by the Journey Contract.';\n\t\tnextAction = 'Rerun the weak workflow QA rows and record AIQaBusinessAssertion plus required artifacts.';\n\t}\n\telse if (failedRows.length || missingRows.length) {\n\t\tstatus = 'workflow_qa_incomplete';\n\t\tblockers.push(\n\t\t\t...failedRows.map((row, index) => `failed:${workflowRowKey(row, index)}`).slice(0, 8),\n\t\t\t...missingRows.map((row, index) => `missing:${workflowRowKey(row, index)}`).slice(0, 8)\n\t\t);\n\t\treason = 'Not all journey contract workflow QA rows have passed business proof.';\n\t\tnextAction = 'Rerun or repair the incomplete workflow QA rows before publish.';\n\t}\n\telse if (!passedAssertions.length) {\n\t\tstatus = input.scorecardPassed === true ? 'business_proof_missing' : 'workflow_qa_incomplete';\n\t\tblockers.push('Workflow rows have no mapped AIQaBusinessAssertion business proof.');\n\t\treason = input.scorecardPassed === true\n\t\t\t? 'Scorecard-only proof is not acceptance.'\n\t\t\t: 'Workflow business proof is missing.';\n\t\tnextAction = 'Record AIQaBusinessAssertion rows tied to the journey contract.';\n\t}\n\telse if (releaseBlockers.length) {\n\t\tstatus = 'release_blocked';\n\t\tblockers.push(...releaseBlockers);\n\t\treason = 'Workflow proof passed, but release/deploy/sample-data gates block acceptance.';\n\t\tnextAction = 'Repair only the failed release gate or hotfix artifact before rerunning publish/deploy.';\n\t}\n\telse if (!sampleDataReady) {\n\t\tstatus = 'sample_data_missing';\n\t\tblockers.push('No non-empty seeded/sample data proof is available for the workflow.');\n\t\treason = 'AICoder app proof must include meaningful non-empty data.';\n\t\tnextAction = 'Seed meaningful records and rerun workflow QA against that data.';\n\t}\n\telse if (proofFreshness === 'same_as_previous' || proofFreshness === 'stale_artifact') {\n\t\tstatus = 'stale_workflow_proof';\n\t\tblockers.push(proofFreshness === 'same_as_previous'\n\t\t\t? 'Workflow business proof fingerprint is unchanged from a prior run.'\n\t\t\t: 'Workflow proof artifacts are unchanged from a prior run.');\n\t\treason = 'AICoder workflow proof is stale; repeated evidence cannot advance acceptance.';\n\t\tnextAction = 'Rerun workflow QA from journey_contract.qa_assertions and record fresh AIQaBusinessAssertion artifacts.';\n\t}\n\treturn {\n\t\tready: status === 'ready',\n\t\tstatus,\n\t\treason,\n\t\tblockers,\n\t\tjourneyContractValid: journeyValidation.valid,\n\t\tprimaryWorkflowId: journeyValidation.primaryWorkflowId || cleanText(recordedRows[0]?.workflowId, 160),\n\t\tpassedWorkflowRows: passedRows.map(workflowRowKey),\n\t\tmissingWorkflowRows: missingRows.map(workflowRowKey),\n\t\tfailedWorkflowRows: failedRows.map(workflowRowKey),\n\t\tpassedBusinessAssertions: passedAssertions.map((assertion) => cleanText(assertion.assertion || assertion.stepId || assertion.route, 300)).filter(Boolean).slice(0, 40),\n\t\trouteOnly,\n\t\tscorecardOnly: input.scorecardPassed === true && !passedAssertions.length,\n\t\tsampleDataReady,\n\t\treleaseBlockers,\n\t\tartifactPaths,\n\t\tworkflowProofFingerprint,\n\t\tartifactFingerprint,\n\t\tproofFreshness,\n\t\tnextAction,\n\t\tevaluatedAt: now\n\t};\n}\n\nexport function fingerprintResolveIOAICoderV6Blocker(value: any): string {\n\tconst text = cleanText(value, 4000)\n\t\t.toLowerCase()\n\t\t.replace(/[a-f0-9]{16,}/g, '<id>')\n\t\t.replace(/\\b\\d{2,}\\b/g, '<n>')\n\t\t.replace(/\\bline\\s+<n>\\b/g, 'line <n>')\n\t\t.replace(/https?:\\/\\/\\S+/g, '<url>');\n\tlet hash = 0;\n\tfor (let index = 0; index < text.length; index += 1) {\n\t\thash = ((hash << 5) - hash + text.charCodeAt(index)) | 0;\n\t}\n\treturn `aicoder-v6-${Math.abs(hash).toString(36)}`;\n}\n\nfunction classifyResolveIOAICoderV6FailureClass(step: {\n\toutcome?: ResolveIOAICoderV6Outcome;\n\tlane?: ResolveIOAICoderV6Lane;\n\tstepType?: ResolveIOAICoderV6StepType;\n\tblocker?: string;\n\tsummary?: string;\n\tfailureClass?: string;\n}): string {\n\tconst explicit = cleanText(step.failureClass, 80).toLowerCase().replace(/[\\s-]+/g, '_');\n\tif (explicit) {\n\t\treturn explicit;\n\t}\n\tif (step.outcome === 'infra_retry') {\n\t\treturn 'infra';\n\t}\n\tconst text = `${step.stepType || ''}\\n${step.lane || ''}\\n${step.blocker || ''}\\n${step.summary || ''}`.toLowerCase();\n\tif (/\\b(puppeteer|chrome|browser executable|mongo|port|startup|settings\\.json|node_modules|npm install|cache|lock)\\b/.test(text)) {\n\t\treturn 'infra';\n\t}\n\tif (/\\b(ts[0-9]{3,5}|typescript|compile|build failed|ng build|cannot find name|module not found|syntax error)\\b/.test(text)\n\t\t|| step.stepType === 'build') {\n\t\treturn 'compile';\n\t}\n\tif (step.stepType === 'journey_contract' || step.stepType === 'journey_validation') {\n\t\treturn 'journey';\n\t}\n\tif (step.stepType === 'workflow_qa' || step.lane === 'qa') {\n\t\treturn 'business';\n\t}\n\tif (step.stepType === 'publish' || step.stepType === 'test_deploy' || step.stepType === 'live_deploy' || step.lane === 'publish') {\n\t\treturn 'release';\n\t}\n\treturn 'product_code';\n}\n\nfunction aicoderWorkflowReadinessNextCommand(status: ResolveIOAICoderWorkflowReadinessStatus): string {\n\tswitch (status) {\n\t\tcase 'journey_contract_required':\n\t\t\treturn 'Generate and validate docs/APP_JOURNEY_CONTRACT.md before product-code build work.';\n\t\tcase 'journey_contract_repair_required':\n\t\t\treturn 'Repair the journey contract until first/next/last workflow QA rows validate.';\n\t\tcase 'workflow_build_ready':\n\t\t\treturn 'Build the north-star workflow from the journey contract and seeded data story.';\n\t\tcase 'workflow_qa_required':\n\t\t\treturn 'Run workflow QA from journey_contract.qa_assertions and record AIQaBusinessAssertion proof.';\n\t\tcase 'workflow_business_proof_ready':\n\t\t\treturn 'Proceed only to release/publish gates; wow UI polish is allowed after business proof.';\n\t\tcase 'release_repair_required':\n\t\t\treturn 'Repair the failed publish/deploy/sample-data gate without rebuilding the app shell.';\n\t\tcase 'infra_repair_only':\n\t\t\treturn 'Repair Puppeteer, Chrome, Mongo, startup, port, cache, or environment evidence only.';\n\t\tcase 'compile_repair_only':\n\t\t\treturn 'Repair compile/build evidence only and rerun the same deterministic build gate.';\n\t\tcase 'collect_new_evidence':\n\t\t\treturn 'Collect new evidence for the stuck blocker before another model/code loop.';\n\t\tcase 'budget_stopped':\n\t\t\treturn 'Stop autonomous spend and request a bounded human decision.';\n\t\tcase 'parked':\n\t\t\treturn 'Park the run until a human chooses the next bounded action.';\n\t\tdefault:\n\t\t\treturn 'Review workflow evidence before continuing.';\n\t}\n}\n\nfunction aicoderWorkflowReadinessGateFor(status: ResolveIOAICoderWorkflowReadinessStatus): ResolveIOAICoderWorkflowReadinessGate {\n\tswitch (status) {\n\t\tcase 'journey_contract_required':\n\t\tcase 'journey_contract_repair_required':\n\t\t\treturn 'journey_contract';\n\t\tcase 'workflow_build_ready':\n\t\t\treturn 'build';\n\t\tcase 'workflow_qa_required':\n\t\tcase 'workflow_business_proof_ready':\n\t\t\treturn 'workflow_qa';\n\t\tcase 'release_repair_required':\n\t\t\treturn 'release';\n\t\tcase 'infra_repair_only':\n\t\t\treturn 'infra';\n\t\tcase 'compile_repair_only':\n\t\t\treturn 'compile';\n\t\tcase 'collect_new_evidence':\n\t\t\treturn 'evidence';\n\t\tcase 'budget_stopped':\n\t\tcase 'parked':\n\t\t\treturn 'manual';\n\t\tdefault:\n\t\t\treturn 'manual';\n\t}\n}\n\nexport function buildResolveIOAICoderWorkflowProofCheckpoint(input: {\n\tstatus: ResolveIOAICoderWorkflowReadinessStatus;\n\tnextGate: ResolveIOAICoderWorkflowReadinessGate;\n\tnextAction?: any;\n\tlast?: Partial<ResolveIOAICoderV6StepRecord>;\n\tjourneyContractReady?: boolean;\n\tbusinessProofReady?: boolean;\n\trouteOnlyBlocked?: boolean;\n\treleaseBlocked?: boolean;\n\tinfraOnly?: boolean;\n\tcompileOnly?: boolean;\n\tsameFailureParked?: boolean;\n\tprimaryWorkflowId?: any;\n\tactiveWorkflowStep?: any;\n\tworkflowQaRows?: any;\n\tbusinessProofArtifacts?: any;\n\tcompletedWorkflowSteps?: any;\n}): ResolveIOAICoderWorkflowProofCheckpoint {\n\tconst status = input.status;\n\tconst nextGate = input.nextGate;\n\tconst proofArtifacts = cleanList(input.businessProofArtifacts, 80, 500);\n\tconst workflowRows = cleanWorkflowQaRows(input.workflowQaRows, 80);\n\tconst completedWorkflowSteps = cleanList(input.completedWorkflowSteps, 80, 240);\n\tconst workflowProofFingerprint = fingerprintResolveIOAICoderWorkflowProofPayload({\n\t\tprimaryWorkflowId: input.primaryWorkflowId,\n\t\tactiveWorkflowStep: input.activeWorkflowStep,\n\t\tworkflowRows: workflowRows.map((row) => ({\n\t\t\tworkflowId: row.workflowId,\n\t\t\tstepId: row.stepId,\n\t\t\tstatus: row.status,\n\t\t\tacceptanceGate: row.acceptanceGate,\n\t\t\tassertion: row.assertion\n\t\t})),\n\t\tcompletedWorkflowSteps,\n\t\tproofArtifacts\n\t}, 'aicoder-workflow-readiness');\n\tconst artifactFingerprint = fingerprintResolveIOAICoderWorkflowProofPayload({\n\t\tproofArtifacts,\n\t\trowArtifacts: workflowRows.flatMap((row) => cleanList(row.artifactPaths, 10, 500))\n\t}, 'aicoder-workflow-artifacts');\n\tconst requiredEvidenceByStatus: Record<ResolveIOAICoderWorkflowReadinessStatus, string[]> = {\n\t\tjourney_contract_required: [\n\t\t\t'docs/APP_JOURNEY_CONTRACT.md with validated journey_contract JSON',\n\t\t\t'first/next/last north_star_workflow steps',\n\t\t\t'workflow QA rows generated from journey_contract.qa_assertions'\n\t\t],\n\t\tjourney_contract_repair_required: [\n\t\t\t'repaired journey contract validation result',\n\t\t\t'command-center hub action mapped to workflow state transition'\n\t\t],\n\t\tworkflow_build_ready: [\n\t\t\t'implemented north-star workflow from the Journey Contract',\n\t\t\t'seeded data story available in the app'\n\t\t],\n\t\tworkflow_qa_required: [\n\t\t\t'AIQaBusinessAssertion for the north-star workflow',\n\t\t\t'non-empty data proof',\n\t\t\t'saved/calculated output proof',\n\t\t\t'report/export proof when promised'\n\t\t],\n\t\tworkflow_business_proof_ready: [\n\t\t\t'deterministic release gate before publish',\n\t\t\t'workflow proof artifact retained for acceptance'\n\t\t],\n\t\trelease_repair_required: [\n\t\t\t'publish/deploy/sample-data failure artifact',\n\t\t\t'hotfix or release-gate evidence before another full deploy'\n\t\t],\n\t\tinfra_repair_only: [\n\t\t\t'Puppeteer/Chrome/Mongo/startup/preflight evidence',\n\t\t\t'infra failure class changed or preflight passed'\n\t\t],\n\t\tcompile_repair_only: [\n\t\t\t'compile/build log evidence',\n\t\t\t'compile failure class changed or build passed'\n\t\t],\n\t\tcollect_new_evidence: [\n\t\t\t'changed blocker fingerprint or evidence hash',\n\t\t\t'fresh workflow QA artifact',\n\t\t\t'AIQaBusinessAssertion or precise workflow blocker artifact'\n\t\t],\n\t\tbudget_stopped: [\n\t\t\t'budget summary',\n\t\t\t'one human decision for next bounded action'\n\t\t],\n\t\tparked: [\n\t\t\t'operator decision',\n\t\t\t'new evidence before retry'\n\t\t]\n\t};\n\tconst waitingStatus: ResolveIOAICoderWorkflowProofCheckpointStatus = status === 'workflow_business_proof_ready'\n\t\t? 'ready_to_continue'\n\t\t: status === 'release_repair_required'\n\t\t\t? 'waiting_for_release_gate'\n\t\t\t: status === 'collect_new_evidence' || input.sameFailureParked === true\n\t\t\t\t? 'waiting_for_new_evidence'\n\t\t\t\t: status === 'infra_repair_only' || status === 'compile_repair_only'\n\t\t\t\t\t? 'waiting_for_infra_or_compile'\n\t\t\t\t\t: status === 'journey_contract_required' || status === 'journey_contract_repair_required'\n\t\t\t\t\t\t? 'waiting_for_journey_contract'\n\t\t\t\t\t\t: 'waiting_for_workflow_proof';\n\tconst blocksProductRepairUntilJourneyContract = input.journeyContractReady !== true\n\t\t|| status === 'journey_contract_required'\n\t\t|| status === 'journey_contract_repair_required';\n\tconst blocksPublishUntilWorkflowProof = input.businessProofReady !== true\n\t\t|| input.routeOnlyBlocked === true\n\t\t|| input.sameFailureParked === true\n\t\t|| blocksProductRepairUntilJourneyContract\n\t\t|| status === 'workflow_qa_required'\n\t\t|| status === 'workflow_build_ready'\n\t\t|| status === 'collect_new_evidence';\n\treturn {\n\t\trequired: true,\n\t\tstatus: waitingStatus,\n\t\treadinessStatus: status,\n\t\tnextGate,\n\t\tstartingFailureClass: cleanText(input.last?.failureClass, 120),\n\t\tstartingBlockerFingerprint: cleanText(input.last?.blockerFingerprint || fingerprintResolveIOAICoderV6Blocker(input.last?.blocker || input.last?.summary || ''), 160),\n\t\tstartingEvidenceHash: cleanText(input.last?.evidenceHash, 160),\n\t\tworkflowProofFingerprint,\n\t\tartifactFingerprint,\n\t\trequiredEvidence: (requiredEvidenceByStatus[status] || []).slice(0, 20),\n\t\trequiredResetEvidence: Array.from(new Set([\n\t\t\t...(requiredEvidenceByStatus[status] || []),\n\t\t\t...(input.sameFailureParked === true ? ['new workflow proof fingerprint', 'new artifact fingerprint'] : []),\n\t\t\t...(input.releaseBlocked === true ? ['changed release gate fingerprint'] : [])\n\t\t])).slice(0, 20),\n\t\tsuccessRequiresWorkflowBusinessProof: status !== 'infra_repair_only' && status !== 'compile_repair_only' && status !== 'budget_stopped',\n\t\tblocksProductRepairUntilJourneyContract,\n\t\tblocksPublishUntilWorkflowProof,\n\t\tblocksPublishUntilReleaseGate: input.releaseBlocked === true || status === 'release_repair_required',\n\t\tblocksWowUiUntilWorkflowProof: blocksPublishUntilWorkflowProof,\n\t\tnextAction: cleanText(input.nextAction, 500) || aicoderWorkflowReadinessNextCommand(status)\n\t};\n}\n\nexport function buildResolveIOAICoderV6WorkflowReadiness(\n\tbundle: ResolveIOAICoderV6StateBundle,\n\tcontext: {\n\t\taction?: ResolveIOAICoderV6ContinuationAction;\n\t\treason?: string;\n\t\tnextLane?: ResolveIOAICoderV6Lane;\n\t\tnextStep?: ResolveIOAICoderV6StepType;\n\t\tbudgetExceeded?: boolean;\n\t\trepeatedNoProgressCount?: number;\n\t} = {}\n): ResolveIOAICoderWorkflowReadiness {\n\tconst history = Array.isArray(bundle.aiCoderV6StepHistory) ? bundle.aiCoderV6StepHistory : [];\n\tconst last = history[history.length - 1];\n\tconst workflowMemory = bundle.aiCoderV6WorkflowMemory || {} as ResolveIOAICoderV6WorkflowMemory;\n\tconst rows = cleanWorkflowQaRows(workflowMemory.workflowQaRows, 80);\n\tconst proofArtifacts = cleanList(workflowMemory.businessProofArtifacts, 80, 500);\n\tconst completedSteps = cleanList(workflowMemory.completedWorkflowSteps, 80, 240);\n\tconst primaryWorkflowId = cleanText(workflowMemory.primaryWorkflowId || rows[0]?.workflowId, 200);\n\tconst activeWorkflowStep = cleanText(workflowMemory.activeWorkflowStep || workflowMemory.blockedWorkflowStep || rows.find((row) => !statusLooksPassed(row.status))?.stepId, 200);\n\tconst failureClass = cleanText(last?.failureClass, 120).toLowerCase();\n\tconst contextReason = cleanText(context.reason, 1000);\n\tconst observedBlocker = cleanText(last?.blocker || last?.summary, 1000);\n\tconst reason = contextReason || observedBlocker;\n\tconst combinedText = `${failureClass}\\n${contextReason}\\n${observedBlocker}\\n${last?.stepType || ''}\\n${last?.lane || ''}`.toLowerCase();\n\tconst compileOnly = failureClass === 'compile'\n\t\t|| /\\b(compile|typescript|ts[0-9]{3,5}|ng build|cannot find name|module not found)\\b/i.test(combinedText);\n\tconst infraOnly = !compileOnly && (failureClass === 'infra'\n\t\t|| /\\b(puppeteer|chrome|browser executable|mongo|port|startup|settings\\.json|node_modules|cache|lock)\\b/i.test(combinedText));\n\tconst releaseBlocked = failureClass === 'release'\n\t\t|| context.nextLane === 'publish'\n\t\t|| /\\b(release|publish|deploy|cloudfront|artifact|sample data|sample_data)\\b/i.test(combinedText);\n\tconst routeOnlyBlocked = /\\b(route only|route-only|route loaded|route_probe|browser route|shell only|shell-only)\\b/i.test(combinedText);\n\tconst sameFailureParked = context.action === 'park'\n\t\t|| context.reason === 'aicoder_v6_repeated_no_progress'\n\t\t|| context.reason === 'aicoder_v6_ping_pong_no_progress';\n\tconst budgetStopped = context.action === 'budget_stop' || context.budgetExceeded === true;\n\tconst workflowQaRowsReady = rows.length > 0;\n\tconst journeyContractReady = !!cleanText(workflowMemory.journeyContractPath, 500)\n\t\t&& (!!primaryWorkflowId || workflowQaRowsReady || completedSteps.length > 0);\n\tconst businessProofReady = proofArtifacts.length > 0;\n\tlet status: ResolveIOAICoderWorkflowReadinessStatus = 'workflow_build_ready';\n\tconst blockers: string[] = [];\n\tif (budgetStopped) {\n\t\tstatus = 'budget_stopped';\n\t\tblockers.push('Budget guard stopped autonomous spend.');\n\t}\n\telse if (sameFailureParked) {\n\t\tstatus = 'collect_new_evidence';\n\t\tblockers.push('Same failure class repeated without enough new evidence.');\n\t}\n\telse if (compileOnly && context.action === 'infra_retry') {\n\t\tstatus = 'compile_repair_only';\n\t\tblockers.push('Compile/build gate failed; do not count this as product workflow failure.');\n\t}\n\telse if (infraOnly && context.action === 'infra_retry') {\n\t\tstatus = 'infra_repair_only';\n\t\tblockers.push('Infra gate failed; repair only environment/browser/startup dependencies.');\n\t}\n\telse if (failureClass === 'journey' || context.reason === 'aicoder_v6_journey_contract_repair_required') {\n\t\tstatus = 'journey_contract_repair_required';\n\t\tblockers.push('Journey contract failed validation.');\n\t}\n\telse if (!journeyContractReady) {\n\t\tstatus = 'journey_contract_required';\n\t\tblockers.push('Journey contract workflow memory is not ready.');\n\t}\n\telse if (releaseBlocked || context.reason === 'aicoder_v6_release_repair_required') {\n\t\tstatus = 'release_repair_required';\n\t\tblockers.push('Release/publish/deploy gate blocks acceptance.');\n\t}\n\telse if (!workflowQaRowsReady || !businessProofReady || routeOnlyBlocked) {\n\t\tstatus = 'workflow_qa_required';\n\t\tif (!workflowQaRowsReady) {\n\t\t\tblockers.push('Workflow QA rows are missing.');\n\t\t}\n\t\tif (!businessProofReady) {\n\t\t\tblockers.push('AIQaBusinessAssertion proof is missing.');\n\t\t}\n\t\tif (routeOnlyBlocked) {\n\t\t\tblockers.push('Route/browser proof is not workflow business proof.');\n\t\t}\n\t}\n\telse if (businessProofReady) {\n\t\tstatus = 'workflow_business_proof_ready';\n\t}\n\tconst canRunWorkflowQa = journeyContractReady\n\t\t&& workflowQaRowsReady\n\t\t&& !infraOnly\n\t\t&& !compileOnly\n\t\t&& !sameFailureParked\n\t\t&& !budgetStopped;\n\tconst canPublish = status === 'workflow_business_proof_ready'\n\t\t&& !releaseBlocked\n\t\t&& !infraOnly\n\t\t&& !compileOnly\n\t\t&& !sameFailureParked\n\t\t&& !budgetStopped;\n\tconst canRunProductRepair = journeyContractReady\n\t\t&& !infraOnly\n\t\t&& !compileOnly\n\t\t&& !sameFailureParked\n\t\t&& !budgetStopped\n\t\t&& status !== 'journey_contract_repair_required'\n\t\t&& status !== 'release_repair_required'\n\t\t&& status !== 'workflow_business_proof_ready';\n\tconst nextGate = aicoderWorkflowReadinessGateFor(status);\n\tconst nextCommand = aicoderWorkflowReadinessNextCommand(status);\n\tconst workflowProofCheckpoint = buildResolveIOAICoderWorkflowProofCheckpoint({\n\t\tstatus,\n\t\tnextGate,\n\t\tnextAction: nextCommand,\n\t\tlast,\n\t\tjourneyContractReady,\n\t\tbusinessProofReady,\n\t\trouteOnlyBlocked,\n\t\treleaseBlocked,\n\t\tinfraOnly,\n\t\tcompileOnly,\n\t\tsameFailureParked,\n\t\tprimaryWorkflowId,\n\t\tactiveWorkflowStep,\n\t\tworkflowQaRows: rows,\n\t\tbusinessProofArtifacts: proofArtifacts,\n\t\tcompletedWorkflowSteps: completedSteps\n\t});\n\treturn {\n\t\tstatus,\n\t\tnextGate,\n\t\tnextLane: context.nextLane || last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\tnextStep: context.nextStep || last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\tnextCommand,\n\t\tjourneyContractReady,\n\t\tworkflowQaRowsReady,\n\t\tbusinessProofReady,\n\t\trouteOnlyBlocked,\n\t\treleaseBlocked,\n\t\tinfraOnly,\n\t\tcompileOnly,\n\t\tsameFailureParked,\n\t\tcanRunProductRepair,\n\t\tcanRunWorkflowQa,\n\t\tcanPublish,\n\t\tcanPolishWowUi: canPublish,\n\t\trequiresHumanDecision: budgetStopped || sameFailureParked,\n\t\treason: reason || aicoderWorkflowReadinessNextCommand(status),\n\t\tblockers: blockers.slice(0, 8),\n\t\tprimaryWorkflowId,\n\t\tactiveWorkflowStep,\n\t\tbusinessProofArtifacts: proofArtifacts,\n\t\tworkflowProofCheckpoint\n\t};\n}\n\nfunction aicoderNextActionLabel(command: string): string {\n\tswitch (command) {\n\t\tcase 'repair_aicoder_journey_contract':\n\t\t\treturn 'Repair Journey Contract';\n\t\tcase 'run_aicoder_workflow_build':\n\t\t\treturn 'Build North-Star Workflow';\n\t\tcase 'run_aicoder_workflow_qa':\n\t\t\treturn 'Run Workflow QA';\n\t\tcase 'repair_aicoder_release_gate':\n\t\t\treturn 'Repair Release Gate';\n\t\tcase 'repair_aicoder_compile_gate':\n\t\t\treturn 'Repair Compile Gate';\n\t\tcase 'repair_aicoder_infra_gate':\n\t\t\treturn 'Repair Infra Gate';\n\t\tcase 'run_aicoder_owner_scoped_repair':\n\t\t\treturn 'Run Scoped Repair';\n\t\tcase 'publish_aicoder_after_workflow_proof':\n\t\t\treturn 'Publish After Workflow Proof';\n\t\tcase 'park_aicoder_until_new_evidence':\n\t\t\treturn 'Park Until New Evidence';\n\t\tcase 'park_aicoder_budget_stop':\n\t\t\treturn 'Park Budget Stop';\n\t\tdefault:\n\t\t\treturn 'Continue Workflow';\n\t}\n}\n\nfunction aicoderNextActionPrimaryCommand(\n\taction: ResolveIOAICoderV6ContinuationAction,\n\treadiness: ResolveIOAICoderWorkflowReadiness\n): string {\n\tif (action === 'budget_stop') {\n\t\treturn 'park_aicoder_budget_stop';\n\t}\n\tif (action === 'park') {\n\t\treturn 'park_aicoder_until_new_evidence';\n\t}\n\tif (action === 'infra_retry') {\n\t\treturn readiness.compileOnly ? 'repair_aicoder_compile_gate' : 'repair_aicoder_infra_gate';\n\t}\n\tif (readiness.status === 'journey_contract_required' || readiness.status === 'journey_contract_repair_required') {\n\t\treturn 'repair_aicoder_journey_contract';\n\t}\n\tif (readiness.status === 'workflow_build_ready') {\n\t\treturn 'run_aicoder_workflow_build';\n\t}\n\tif (readiness.status === 'workflow_qa_required') {\n\t\treturn 'run_aicoder_workflow_qa';\n\t}\n\tif (readiness.status === 'release_repair_required') {\n\t\treturn 'repair_aicoder_release_gate';\n\t}\n\tif (action === 'ready_to_publish') {\n\t\treturn 'publish_aicoder_after_workflow_proof';\n\t}\n\tif (action === 'switch_to_repair' || action === 'retry_same_step') {\n\t\treturn 'run_aicoder_owner_scoped_repair';\n\t}\n\treturn 'continue_aicoder_workflow';\n}\n\nfunction aicoderNextActionCostRisk(\n\taction: ResolveIOAICoderV6ContinuationAction,\n\tcommand: string,\n\treadiness: ResolveIOAICoderWorkflowReadiness\n): ResolveIOAICoderNextActionCostRisk {\n\tif (action === 'park' || action === 'budget_stop' || readiness.requiresHumanDecision) {\n\t\treturn 'manual_blocked';\n\t}\n\tif (action === 'ready_to_publish' || command === 'repair_aicoder_release_gate' || readiness.nextGate === 'release') {\n\t\treturn 'release_or_customer_send';\n\t}\n\tif (command === 'run_aicoder_workflow_qa' || command === 'repair_aicoder_compile_gate' || command === 'repair_aicoder_infra_gate') {\n\t\treturn 'small_model_or_qa';\n\t}\n\tif (command === 'continue_aicoder_workflow') {\n\t\treturn 'free_or_deterministic';\n\t}\n\treturn 'expensive_model';\n}\n\nfunction aicoderNextActionExpectedTransition(command: string): string {\n\tswitch (command) {\n\t\tcase 'repair_aicoder_journey_contract':\n\t\t\treturn 'Missing or invalid journey contract becomes a validated first/next/last workflow graph with QA rows.';\n\t\tcase 'run_aicoder_workflow_build':\n\t\t\treturn 'Journey contract becomes implemented workflow screens, hub action, data story, and reachable completion state.';\n\t\tcase 'run_aicoder_workflow_qa':\n\t\t\treturn 'Route/browser evidence becomes AIQaBusinessAssertion proof for the north-star workflow.';\n\t\tcase 'repair_aicoder_release_gate':\n\t\t\treturn 'Publish/deploy/sample-data blocker becomes hotfix evidence, release-gate evidence, or one explicit force-deploy decision.';\n\t\tcase 'repair_aicoder_compile_gate':\n\t\t\treturn 'Compile failure becomes a passing build or a new compile blocker fingerprint.';\n\t\tcase 'repair_aicoder_infra_gate':\n\t\t\treturn 'Infra/preflight failure becomes a passing startup/browser/Mongo gate or a new infra blocker fingerprint.';\n\t\tcase 'run_aicoder_owner_scoped_repair':\n\t\t\treturn 'Current blocker changes to passed, a new evidence hash, or a parked manual decision.';\n\t\tcase 'publish_aicoder_after_workflow_proof':\n\t\t\treturn 'Workflow-proven artifact moves through the release gate exactly once with publish/deploy evidence recorded.';\n\t\tcase 'park_aicoder_budget_stop':\n\t\tcase 'park_aicoder_until_new_evidence':\n\t\t\treturn 'Runner stops spending until an operator records new evidence or an explicit next action.';\n\t\tdefault:\n\t\t\treturn 'Runner advances to the next workflow-first gate with evidence recorded.';\n\t}\n}\n\nfunction buildResolveIOAICoderNextActionStopConditions(\n\treadiness: ResolveIOAICoderWorkflowReadiness,\n\tcommand: string\n): string[] {\n\tconst stopConditions = [\n\t\t'Do not accept scorecard, wow score, or route load as app success without AIQaBusinessAssertion workflow proof.'\n\t];\n\tif (!readiness.journeyContractReady || command === 'repair_aicoder_journey_contract') {\n\t\tstopConditions.push('Do not run build tasks until docs/APP_JOURNEY_CONTRACT.md validates with first/next/last workflow steps.');\n\t}\n\tif (!readiness.businessProofReady || readiness.routeOnlyBlocked || command === 'run_aicoder_workflow_qa') {\n\t\tstopConditions.push('Do not publish or run wow UI polish until workflow business proof passes.');\n\t\tstopConditions.push('Route-only proof must stay labeled as route evidence, not acceptance.');\n\t}\n\tif (readiness.releaseBlocked || command === 'repair_aicoder_release_gate') {\n\t\tstopConditions.push('Do not repeat a full publish/deploy until release blocker evidence changes or hotfix/force evidence is recorded.');\n\t}\n\tif (readiness.infraOnly || readiness.compileOnly) {\n\t\tstopConditions.push('Infra, startup, Puppeteer, Chrome, Mongo, and compile failures stay in infra/compile repair; do not charge them as product workflow failure.');\n\t}\n\tif (readiness.sameFailureParked) {\n\t\tstopConditions.push('Do not retry the same model/code repair until the blocker fingerprint, evidence hash, or workflow proof artifact changes.');\n\t}\n\tif (readiness.requiresHumanDecision) {\n\t\tstopConditions.push('Do not spend additional model or release budget until an operator records the next bounded action.');\n\t}\n\treturn Array.from(new Set(stopConditions)).slice(0, 12);\n}\n\nexport function buildResolveIOAICoderNextActionContract(input: {\n\tbundle: ResolveIOAICoderV6StateBundle;\n\taction: ResolveIOAICoderV6ContinuationAction;\n\treason: string;\n\tnextLane: ResolveIOAICoderV6Lane;\n\tnextStep: ResolveIOAICoderV6StepType;\n\tbudgetExceeded?: boolean;\n\tworkflowReadiness: ResolveIOAICoderWorkflowReadiness;\n\tworkflowProofCheckpoint: ResolveIOAICoderWorkflowProofCheckpoint;\n\tnow?: Date | string;\n}): ResolveIOAICoderNextActionContract {\n\tconst workflowReadiness = input.workflowReadiness;\n\tconst workflowProofCheckpoint = input.workflowProofCheckpoint;\n\tconst history = Array.isArray(input.bundle.aiCoderV6StepHistory) ? input.bundle.aiCoderV6StepHistory : [];\n\tconst last = history[history.length - 1];\n\tconst command = aicoderNextActionPrimaryCommand(input.action, workflowReadiness);\n\tconst costRisk = aicoderNextActionCostRisk(input.action, command, workflowReadiness);\n\tconst hotfixCommitRequired = command === 'repair_aicoder_release_gate'\n\t\t|| workflowReadiness.releaseBlocked\n\t\t|| workflowReadiness.nextGate === 'release';\n\tconst liveHotfixBlockedUntilCommit = hotfixCommitRequired;\n\tconst requiredHotfixCommitProof = hotfixCommitRequired\n\t\t? ['sourceCommitSha', 'githubCommitUrl', 'gitCommitStatus=passed', 'gitPushStatus=passed']\n\t\t: [];\n\tconst requiresHumanApproval = input.action === 'park'\n\t\t|| input.action === 'budget_stop'\n\t\t|| input.action === 'ready_to_publish'\n\t\t|| input.budgetExceeded === true\n\t\t|| workflowReadiness.requiresHumanDecision === true;\n\tconst workflowFirstSatisfied = workflowReadiness.journeyContractReady\n\t\t&& workflowReadiness.businessProofReady\n\t\t&& !workflowReadiness.releaseBlocked\n\t\t&& !workflowReadiness.routeOnlyBlocked\n\t\t&& !workflowReadiness.infraOnly\n\t\t&& !workflowReadiness.compileOnly\n\t\t&& !workflowReadiness.sameFailureParked;\n\tconst safeToAutoRun = !requiresHumanApproval && (\n\t\tcommand === 'repair_aicoder_journey_contract'\n\t\t|| command === 'run_aicoder_workflow_build'\n\t\t|| command === 'run_aicoder_workflow_qa'\n\t\t|| command === 'repair_aicoder_release_gate'\n\t\t|| command === 'repair_aicoder_compile_gate'\n\t\t|| command === 'repair_aicoder_infra_gate'\n\t\t|| (command === 'run_aicoder_owner_scoped_repair' && workflowReadiness.canRunProductRepair)\n\t\t|| (command === 'continue_aicoder_workflow' && !workflowReadiness.blockers.length)\n\t);\n\tconst canRunWithoutCodexMonitor = safeToAutoRun\n\t\t&& workflowProofCheckpoint.requiredEvidence.length > 0\n\t\t&& workflowProofCheckpoint.nextAction.length > 0;\n\tconst blockers = Array.from(new Set([\n\t\t...workflowReadiness.blockers,\n\t\t...(workflowProofCheckpoint.status === 'waiting_for_new_evidence' ? workflowProofCheckpoint.requiredResetEvidence : [])\n\t])).slice(0, 12);\n\tconst preconditions = Array.from(new Set([\n\t\tworkflowProofCheckpoint.nextAction,\n\t\t...workflowProofCheckpoint.requiredEvidence,\n\t\t...(workflowReadiness.journeyContractReady ? [] : ['validated APP_JOURNEY_CONTRACT.md journey_contract JSON']),\n\t\t...(workflowReadiness.canRunWorkflowQa ? ['workflow QA rows generated from the journey contract'] : []),\n\t\t...(workflowReadiness.releaseBlocked ? ['release blocker artifact or hotfix-first release evidence'] : []),\n\t\t...(hotfixCommitRequired ? ['sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus before live hotfix apply'] : [])\n\t].map((entry) => cleanText(entry, 300)).filter(Boolean))).slice(0, 12);\n\tconst successEvidence = Array.from(new Set([\n\t\t...workflowProofCheckpoint.requiredEvidence,\n\t\t...(workflowReadiness.businessProofReady ? ['retained AIQaBusinessAssertion artifact'] : []),\n\t\t...(workflowReadiness.canPublish ? ['release gate accepts the workflow-proven artifact'] : []),\n\t\t...(command === 'repair_aicoder_release_gate' ? ['hotfix evidence or explicit one-time force release decision'] : []),\n\t\t...(hotfixCommitRequired ? ['GitHub commit and push proof for any manager-applied hotfix'] : [])\n\t].map((entry) => cleanText(entry, 300)).filter(Boolean))).slice(0, 12);\n\tconst stopConditions = buildResolveIOAICoderNextActionStopConditions(workflowReadiness, command);\n\tif (hotfixCommitRequired) {\n\t\tstopConditions.push('Do not apply a live AICoder backend/static hotfix until sourceCommitSha, githubCommitUrl, passed gitCommitStatus, and passed gitPushStatus are recorded.');\n\t}\n\tconst forbiddenActions = Array.from(new Set([\n\t\t'accepting route-only proof as app success',\n\t\t'accepting scorecard-only or wow-score-only proof as app success',\n\t\t...(workflowReadiness.journeyContractReady ? [] : ['building product routes before the journey contract validates']),\n\t\t...(workflowReadiness.businessProofReady ? [] : ['publishing before north-star workflow business proof passes']),\n\t\t...(workflowReadiness.releaseBlocked ? ['rerunning full deploy/publish without changed release evidence'] : []),\n\t\t...(hotfixCommitRequired ? ['applying live hotfix before pushed GitHub commit proof'] : []),\n\t\t...(workflowReadiness.sameFailureParked ? ['retrying the same repair loop without new evidence'] : [])\n\t])).slice(0, 12);\n\tconst nextCommands = Array.from(new Set([\n\t\tcommand,\n\t\t...(command === 'repair_aicoder_journey_contract' ? ['validate_aicoder_journey_contract', 'generate_workflow_qa_rows'] : []),\n\t\t...(command === 'run_aicoder_workflow_qa' ? ['execute_contract_qa_assertions', 'record_aiqa_business_assertion'] : []),\n\t\t...(command === 'repair_aicoder_release_gate' ? [\n\t\t\t'collect_release_blocker_evidence',\n\t\t\t'prefer_hotfix_before_full_deploy',\n\t\t\t'prepare_hotfix_patch_without_live_apply',\n\t\t\t'commit_and_push_hotfix_to_github',\n\t\t\t'record_github_commit_for_hotfix',\n\t\t\t'apply_live_hotfix_only_after_github_commit_proof'\n\t\t] : []),\n\t\t...(command === 'repair_aicoder_compile_gate' ? ['rerun_compile_gate_only', 'record_compile_evidence_hash'] : []),\n\t\t...(command === 'repair_aicoder_infra_gate' ? ['rerun_preflight_gate_only', 'record_infra_evidence_hash'] : []),\n\t\t'record_aicoder_next_action_result'\n\t])).slice(0, 12);\n\tconst contractBasis = {\n\t\taction: input.action,\n\t\treason: cleanText(input.reason, 500),\n\t\tcommand,\n\t\treadinessStatus: workflowReadiness.status,\n\t\tcheckpointStatus: workflowProofCheckpoint.status,\n\t\tfailureClass: cleanText(last?.failureClass, 120),\n\t\tevidenceHash: hashResolveIOAIManagerEvidence(last as any)\n\t};\n\treturn {\n\t\tcontractId: `aicoder-next-${hashResolveIOAIManagerEvidence({\n\t\t\tfailureClass: contractBasis.failureClass,\n\t\t\tsummary: `${contractBasis.reason}:${contractBasis.command}:${contractBasis.readinessStatus}:${contractBasis.checkpointStatus}`,\n\t\t\tevidenceHash: contractBasis.evidenceHash,\n\t\t\tchangedFiles: last?.changedFiles,\n\t\t\tartifactPaths: last?.artifactPaths\n\t\t} as any)}`,\n\t\taction: input.action,\n\t\tlabel: aicoderNextActionLabel(command),\n\t\tprimaryCommand: command,\n\t\tlane: input.nextLane,\n\t\tstepType: input.nextStep,\n\t\tsafeToAutoRun,\n\t\trequiresHumanApproval,\n\t\tcanRunWithoutCodexMonitor,\n\t\tcodexFallbackRequired: !canRunWithoutCodexMonitor && !requiresHumanApproval,\n\t\tcodexFallbackReason: canRunWithoutCodexMonitor\n\t\t\t? ''\n\t\t\t: requiresHumanApproval\n\t\t\t\t? 'Operator approval is required before the next action.'\n\t\t\t\t: 'Next action needs stronger deterministic evidence before it can run unattended.',\n\t\tcostRisk,\n\t\tworkflowFirstSatisfied,\n\t\tdecisionBasis: {\n\t\t\tjourneyContractReady: workflowReadiness.journeyContractReady,\n\t\t\tworkflowProofReady: workflowReadiness.businessProofReady,\n\t\t\tsampleDataReady: workflowReadiness.businessProofReady && !workflowReadiness.releaseBlocked,\n\t\t\treleaseBlocked: workflowReadiness.releaseBlocked,\n\t\t\trouteOnlyBlocked: workflowReadiness.routeOnlyBlocked,\n\t\t\tinfraOnly: workflowReadiness.infraOnly,\n\t\t\tcompileOnly: workflowReadiness.compileOnly,\n\t\t\tsameFailureParked: workflowReadiness.sameFailureParked,\n\t\t\tcanPublish: workflowReadiness.canPublish,\n\t\t\tcanPolishWowUi: workflowReadiness.canPolishWowUi,\n\t\t\tworkflowReadinessStatus: workflowReadiness.status,\n\t\t\tworkflowProofCheckpointStatus: workflowProofCheckpoint.status,\n\t\t\tfailureClass: contractBasis.failureClass,\n\t\t\tevidenceHash: cleanText(last?.evidenceHash || contractBasis.evidenceHash, 160),\n\t\t\thotfixCommitRequired,\n\t\t\tliveHotfixBlockedUntilCommit\n\t\t},\n\t\tpreconditions,\n\t\texpectedStateTransition: aicoderNextActionExpectedTransition(command),\n\t\tsuccessEvidence,\n\t\trequiredHotfixCommitProof,\n\t\tstopConditions,\n\t\tforbiddenActions,\n\t\tnextCommands,\n\t\tblockers,\n\t\townerFiles: cleanList(last?.changedFiles, 20, 500),\n\t\tcreatedAt: isoNow(input.now)\n\t};\n}\n\nexport function buildResolveIOAICoderV6Budget(existing?: Partial<ResolveIOAICoderV6Budget>): ResolveIOAICoderV6Budget {\n\treturn {\n\t\tmaxPromptTokensPerNonInitialStep: Number(existing?.maxPromptTokensPerNonInitialStep || 4000),\n\t\tmaxTotalPromptTokens: Number(existing?.maxTotalPromptTokens || 120000),\n\t\tmaxLoopsPerRun: Number(existing?.maxLoopsPerRun || 24),\n\t\tmaxRepeatedNoProgress: Number(existing?.maxRepeatedNoProgress || 2),\n\t\tmaxRuntimeMinutesPerLane: Number(existing?.maxRuntimeMinutesPerLane || 30),\n\t\tsoftBudgetUsd: Number(existing?.softBudgetUsd || 30),\n\t\thardBudgetUsd: Number(existing?.hardBudgetUsd || 60),\n\t\ttotalPromptTokenEstimate: cleanNumber(existing?.totalPromptTokenEstimate),\n\t\ttotalInputTokens: cleanNumber(existing?.totalInputTokens),\n\t\ttotalCachedInputTokens: cleanNumber(existing?.totalCachedInputTokens),\n\t\ttotalOutputTokens: cleanNumber(existing?.totalOutputTokens),\n\t\ttotalRuntimeMs: cleanNumber(existing?.totalRuntimeMs),\n\t\tloopCount: cleanNumber(existing?.loopCount)\n\t};\n}\n\nexport function initializeResolveIOAICoderV6State(input: ResolveIOAICoderV6InitializeInput): ResolveIOAICoderV6StateBundle {\n\tconst now = isoNow(input.now);\n\tconst existing = input.existing || {};\n\tconst existingSupervisor = existing.aiCoderV6SupervisorState;\n\tconst existingLaneMemory = existing.aiCoderV6LaneMemory || {} as ResolveIOAICoderV6StateBundle['aiCoderV6LaneMemory'];\n\tconst existingWorkflowMemory = existing.aiCoderV6WorkflowMemory || {} as Partial<ResolveIOAICoderV6WorkflowMemory>;\n\tconst scope = cleanList(input.approvedScopeRequirements, 24, 240).join(' | ')\n\t\t|| cleanText(input.description, 1000)\n\t\t|| cleanText(input.title, 300);\n\tconst runId = cleanText(input.conversationId || input.jobId || input.appId, 120);\n\tconst defaultModel = cleanText(input.defaultModel || 'gpt-5.3-codex', 80);\n\tconst buildLaneMemory = (lane: ResolveIOAICoderV6Lane): ResolveIOAICoderV6LaneMemory => {\n\t\tconst previous = existingLaneMemory[lane] || {} as Partial<ResolveIOAICoderV6LaneMemory>;\n\t\treturn {\n\t\t\tlane,\n\t\t\tmodel: cleanText(previous.model || defaultModel, 80),\n\t\t\tthreadKey: cleanText(input.laneThreadKeys?.[lane] || previous.threadKey || `aicoder:${input.runKind}:${runId}:${lane}`, 240),\n\t\t\tscopeSummary: cleanText(previous.scopeSummary || scope, 1200),\n\t\t\tactiveStep: previous.activeStep || (lane === 'plan' ? 'plan' : lane === 'qa' ? 'qa' : lane === 'review' ? 'review' : lane === 'publish' ? 'publish' : 'task'),\n\t\t\tactiveBlocker: cleanText(previous.activeBlocker, 1200),\n\t\t\tactiveQaRow: previous.activeQaRow,\n\t\t\tchangedFiles: cleanList(previous.changedFiles, 80, 500),\n\t\t\tartifactPaths: cleanList(previous.artifactPaths, 80, 500),\n\t\t\tlatestPromptVersion: cleanText(previous.latestPromptVersion, 120) || undefined,\n\t\t\tlatestPromptTokenEstimate: cleanNumber(previous.latestPromptTokenEstimate) || undefined,\n\t\t\tupdatedAt: previous.updatedAt || now\n\t\t};\n\t};\n\tconst laneMemory = LANES.reduce((accumulator, lane) => {\n\t\taccumulator[lane] = buildLaneMemory(lane);\n\t\treturn accumulator;\n\t}, {} as Record<ResolveIOAICoderV6Lane, ResolveIOAICoderV6LaneMemory>);\n\tconst activeLane = existingSupervisor?.activeLane || (input.runKind === 'initial_builder' ? 'plan' : 'build');\n\treturn {\n\t\taiCoderRunnerVersion: 'v6',\n\t\taiCoderV6SupervisorState: {\n\t\t\tversion: 'v6',\n\t\t\trunKind: input.runKind,\n\t\t\tstatus: existingSupervisor?.status || 'active',\n\t\t\tcurrentGoal: cleanText(existingSupervisor?.currentGoal || `Run AICoder ${input.runKind} ${runId}`, 500),\n\t\t\tapprovedScope: cleanText(existingSupervisor?.approvedScope || scope, 1400),\n\t\t\tbranchName: cleanText(input.branchName || existingSupervisor?.branchName, 240),\n\t\t\tactiveLane,\n\t\t\tactiveStep: existingSupervisor?.activeStep || laneMemory[activeLane].activeStep,\n\t\t\tactiveBlocker: cleanText(existingSupervisor?.activeBlocker, 1200),\n\t\t\tlastGoodCheckpoint: existingSupervisor?.lastGoodCheckpoint || 'v6_initialized',\n\t\t\tlastGoodCommit: cleanText(existingSupervisor?.lastGoodCommit, 240) || undefined,\n\t\t\ttestDeployStatus: cleanText(existingSupervisor?.testDeployStatus, 120) || undefined,\n\t\t\tliveDeployStatus: cleanText(existingSupervisor?.liveDeployStatus, 120) || undefined,\n\t\t\tprocessLease: input.processLease || existingSupervisor?.processLease,\n\t\t\tartifactLinks: cleanList(existingSupervisor?.artifactLinks, 80, 500),\n\t\t\tupdatedAt: now\n\t\t},\n\t\taiCoderV6LaneMemory: laneMemory,\n\t\taiCoderV6WorkflowMemory: {\n\t\t\tjourneyContractPath: cleanText(input.journeyContractPath || existingWorkflowMemory.journeyContractPath || 'docs/APP_JOURNEY_CONTRACT.md', 500),\n\t\t\tprimaryWorkflowId: cleanText(existingWorkflowMemory.primaryWorkflowId, 200),\n\t\t\tactiveWorkflowStep: cleanText(existingWorkflowMemory.activeWorkflowStep, 200),\n\t\t\tworkflowQaRows: cleanWorkflowQaRows(existingWorkflowMemory.workflowQaRows, 80),\n\t\t\tcompletedWorkflowSteps: cleanList(existingWorkflowMemory.completedWorkflowSteps, 80, 240),\n\t\t\tblockedWorkflowStep: cleanText(existingWorkflowMemory.blockedWorkflowStep, 240),\n\t\t\tbusinessProofArtifacts: cleanList(existingWorkflowMemory.businessProofArtifacts, 80, 500),\n\t\t\tupdatedAt: existingWorkflowMemory.updatedAt || now\n\t\t},\n\t\taiCoderV6StepHistory: Array.isArray(existing.aiCoderV6StepHistory)\n\t\t\t? existing.aiCoderV6StepHistory.slice(-100)\n\t\t\t: [],\n\t\taiCoderV6Budget: buildResolveIOAICoderV6Budget(existing.aiCoderV6Budget),\n\t\taiCoderV6RunnerIncidents: Array.isArray(existing.aiCoderV6RunnerIncidents)\n\t\t\t? existing.aiCoderV6RunnerIncidents.slice(-100)\n\t\t\t: [],\n\t\taiCoderV6RecoveryPlan: (existing as any).aiCoderV6RecoveryPlan,\n\t\taiCoderV6RecoveryCheckpoint: (existing as any).aiCoderV6RecoveryCheckpoint,\n\t\taiCoderV6RecoveryEvidenceProbe: (existing as any).aiCoderV6RecoveryEvidenceProbe,\n\t\taiCoderV6RecoveryAction: (existing as any).aiCoderV6RecoveryAction,\n\t\taiCoderV6RecoveryDispatchHistory: Array.isArray((existing as any).aiCoderV6RecoveryDispatchHistory)\n\t\t\t? (existing as any).aiCoderV6RecoveryDispatchHistory.slice(-50)\n\t\t\t: [],\n\t\taiCoderV6RecoveryDirective: (existing as any).aiCoderV6RecoveryDirective\n\t};\n}\n\nexport function recordResolveIOAICoderV6Step(\n\tbundle: ResolveIOAICoderV6StateBundle,\n\tstep: ResolveIOAICoderV6StepInput\n): ResolveIOAICoderV6StateBundle {\n\tconst now = isoNow(step.now);\n\tconst promptTokens = cleanNumber(step.promptTokenEstimate);\n\tconst inputTokens = cleanNumber(step.inputTokens);\n\tconst cachedInputTokens = cleanNumber(step.cachedInputTokens);\n\tconst outputTokens = cleanNumber(step.outputTokens);\n\tconst runtimeMs = cleanNumber(step.runtimeMs);\n\tconst blocker = cleanText(step.blocker, 1200);\n\tconst failureClass = classifyResolveIOAICoderV6FailureClass({\n\t\toutcome: step.outcome,\n\t\tlane: step.lane,\n\t\tstepType: step.stepType,\n\t\tblocker,\n\t\tsummary: step.summary,\n\t\tfailureClass: step.failureClass\n\t});\n\tconst previousWorkflowMemory = bundle.aiCoderV6WorkflowMemory || {} as ResolveIOAICoderV6WorkflowMemory;\n\tconst activeWorkflowStep = cleanText(step.activeWorkflowStep || previousWorkflowMemory.activeWorkflowStep, 200);\n\tconst explicitCompletedSteps = cleanList(step.completedWorkflowSteps, 40, 240);\n\tconst completedWorkflowSteps = Array.from(new Set([\n\t\t...cleanList(previousWorkflowMemory.completedWorkflowSteps, 80, 240),\n\t\t...explicitCompletedSteps,\n\t\t...(step.outcome === 'pass' && activeWorkflowStep ? [activeWorkflowStep] : [])\n\t])).slice(-80);\n\tconst businessProofArtifacts = Array.from(new Set([\n\t\t...cleanList(previousWorkflowMemory.businessProofArtifacts, 80, 500),\n\t\t...cleanList(step.businessProofArtifacts, 40, 500)\n\t])).slice(-80);\n\tconst workflowQaRows = step.workflowQaRows !== undefined\n\t\t? cleanWorkflowQaRows(step.workflowQaRows, 80)\n\t\t: cleanWorkflowQaRows(previousWorkflowMemory.workflowQaRows, 80);\n\tconst blockedWorkflowStep = cleanText(\n\t\tstep.blockedWorkflowStep\n\t\t\t|| ((step.outcome === 'needs_repair' || step.outcome === 'park_manual') ? activeWorkflowStep : '')\n\t\t\t|| previousWorkflowMemory.blockedWorkflowStep,\n\t\t240\n\t);\n\tconst record: ResolveIOAICoderV6StepRecord = {\n\t\tstepType: step.stepType,\n\t\toutcome: step.outcome,\n\t\tlane: step.lane,\n\t\tmodel: cleanText(step.model, 80) || undefined,\n\t\tthreadKey: cleanText(step.threadKey, 240) || undefined,\n\t\tpromptVersion: cleanText(step.promptVersion, 120) || undefined,\n\t\tpromptTokenEstimate: promptTokens || undefined,\n\t\tinputTokens: inputTokens || undefined,\n\t\tcachedInputTokens: cachedInputTokens || undefined,\n\t\toutputTokens: outputTokens || undefined,\n\t\truntimeMs: runtimeMs || undefined,\n\t\tsummary: cleanText(step.summary || blocker || step.outcome, 1200),\n\t\tblocker: blocker || undefined,\n\t\tblockerFingerprint: blocker ? fingerprintResolveIOAICoderV6Blocker(blocker) : undefined,\n\t\tfailureClass,\n\t\tchangedFiles: cleanList(step.changedFiles, 80, 500),\n\t\tartifactPaths: cleanList(step.artifactPaths, 80, 500),\n\t\tnextAction: step.nextAction,\n\t\trecordedAt: now\n\t};\n\trecord.evidenceHash = cleanText(step.evidenceHash, 120)\n\t\t|| hashResolveIOAIManagerEvidence(record);\n\tconst previousRecord = bundle.aiCoderV6StepHistory[bundle.aiCoderV6StepHistory.length - 1];\n\tconst managerDecision = decideResolveIOAIManagerPolicy({\n\t\thistory: [...bundle.aiCoderV6StepHistory, record],\n\t\tcurrent: record,\n\t\tmaxSameFailureRepeats: buildResolveIOAICoderV6Budget(bundle.aiCoderV6Budget).maxRepeatedNoProgress + 1\n\t});\n\tconst nextLoopCount = managerDecision.loopBudgetShouldReset\n\t\t|| previousRecord?.failureClass !== record.failureClass\n\t\t|| previousRecord?.blockerFingerprint !== record.blockerFingerprint\n\t\t|| previousRecord?.evidenceHash !== record.evidenceHash\n\t\t? 1\n\t\t: bundle.aiCoderV6Budget.loopCount + 1;\n\tconst budget = buildResolveIOAICoderV6Budget(bundle.aiCoderV6Budget);\n\tconst shouldParkForRepeatedNoProgress = !managerDecision.loopBudgetShouldReset\n\t\t&& nextLoopCount > budget.maxRepeatedNoProgress\n\t\t&& step.outcome !== 'pass'\n\t\t&& step.outcome !== 'ready_to_publish'\n\t\t&& step.outcome !== 'published';\n\tconst recordedRecoveryPlan = shouldParkForRepeatedNoProgress\n\t\t? buildResolveIOAIManagerRecoveryPlan({\n\t\t\taction: 'park_repeated_failure',\n\t\t\treason: 'aicoder_v6_repeated_no_progress',\n\t\t\tfailureClass: record.failureClass,\n\t\t\tlane: record.lane,\n\t\t\tstepType: record.stepType,\n\t\t\tblocker: record.blocker || record.summary,\n\t\t\tchangedFiles: record.changedFiles,\n\t\t\tartifactPaths: record.artifactPaths,\n\t\t\tmaxSameFailureRepeats: budget.maxRepeatedNoProgress + 1\n\t\t})\n\t\t: managerDecision.recoveryPlan;\n\tconst recordedRecoveryCheckpoint = shouldParkForRepeatedNoProgress\n\t\t? buildResolveIOAIManagerRecoveryCheckpoint({\n\t\t\tplan: recordedRecoveryPlan,\n\t\t\tcurrent: record\n\t\t})\n\t\t: managerDecision.recoveryCheckpoint;\n\tconst recordedRecoveryEvidenceProbe = shouldParkForRepeatedNoProgress\n\t\t? buildResolveIOAIManagerRecoveryEvidenceProbe({\n\t\t\tcheckpoint: recordedRecoveryCheckpoint,\n\t\t\tcurrent: record\n\t\t})\n\t\t: managerDecision.recoveryEvidenceProbe;\n\tconst recordedRecoveryAction = shouldParkForRepeatedNoProgress\n\t\t? buildResolveIOAIManagerRecoveryActionPacket({\n\t\t\tplan: recordedRecoveryPlan,\n\t\t\tcheckpoint: recordedRecoveryCheckpoint,\n\t\t\tprobe: recordedRecoveryEvidenceProbe,\n\t\t\tcurrent: record\n\t\t})\n\t\t: managerDecision.recoveryAction;\n\tconst previousLane = bundle.aiCoderV6LaneMemory[step.lane];\n\tconst laneMemory = {\n\t\t...bundle.aiCoderV6LaneMemory,\n\t\t[step.lane]: {\n\t\t\t...previousLane,\n\t\t\tmodel: record.model || previousLane.model,\n\t\t\tthreadKey: record.threadKey || previousLane.threadKey,\n\t\t\tactiveStep: step.stepType,\n\t\t\tactiveBlocker: record.blocker || previousLane.activeBlocker || '',\n\t\t\tactiveQaRow: step.activeQaRow || previousLane.activeQaRow,\n\t\t\tchangedFiles: record.changedFiles?.length ? record.changedFiles : previousLane.changedFiles,\n\t\t\tartifactPaths: record.artifactPaths?.length ? record.artifactPaths : previousLane.artifactPaths,\n\t\t\tlatestPromptVersion: record.promptVersion || previousLane.latestPromptVersion,\n\t\t\tlatestPromptTokenEstimate: promptTokens || previousLane.latestPromptTokenEstimate,\n\t\t\tupdatedAt: now\n\t\t}\n\t};\n\tconst complete = step.outcome === 'published' || step.outcome === 'ready_to_publish';\n\tconst parked = step.outcome === 'park_manual' || step.outcome === 'budget_stop';\n\treturn {\n\t\t...bundle,\n\t\taiCoderV6SupervisorState: {\n\t\t\t...bundle.aiCoderV6SupervisorState,\n\t\t\tstatus: complete ? 'complete' : (parked ? 'parked' : 'active'),\n\t\t\tactiveLane: step.lane,\n\t\t\tactiveStep: step.stepType,\n\t\t\tactiveBlocker: record.blocker || '',\n\t\t\tlastGoodCheckpoint: step.outcome === 'pass' || complete ? step.stepType : bundle.aiCoderV6SupervisorState.lastGoodCheckpoint,\n\t\t\tartifactLinks: Array.from(new Set([\n\t\t\t\t...bundle.aiCoderV6SupervisorState.artifactLinks,\n\t\t\t\t...(record.artifactPaths || [])\n\t\t\t])).slice(-80),\n\t\t\tupdatedAt: now\n\t\t},\n\t\taiCoderV6LaneMemory: laneMemory,\n\t\taiCoderV6WorkflowMemory: {\n\t\t\tjourneyContractPath: cleanText(previousWorkflowMemory.journeyContractPath || 'docs/APP_JOURNEY_CONTRACT.md', 500),\n\t\t\tprimaryWorkflowId: cleanText(step.primaryWorkflowId || previousWorkflowMemory.primaryWorkflowId, 200),\n\t\t\tactiveWorkflowStep,\n\t\t\tworkflowQaRows,\n\t\t\tcompletedWorkflowSteps,\n\t\t\tblockedWorkflowStep,\n\t\t\tbusinessProofArtifacts,\n\t\t\tupdatedAt: now\n\t\t},\n\t\taiCoderV6StepHistory: [...bundle.aiCoderV6StepHistory, record].slice(-120),\n\t\taiCoderV6Budget: {\n\t\t\t...bundle.aiCoderV6Budget,\n\t\t\ttotalPromptTokenEstimate: bundle.aiCoderV6Budget.totalPromptTokenEstimate + promptTokens,\n\t\t\ttotalInputTokens: bundle.aiCoderV6Budget.totalInputTokens + inputTokens,\n\t\t\ttotalCachedInputTokens: bundle.aiCoderV6Budget.totalCachedInputTokens + cachedInputTokens,\n\t\t\ttotalOutputTokens: bundle.aiCoderV6Budget.totalOutputTokens + outputTokens,\n\t\t\ttotalRuntimeMs: bundle.aiCoderV6Budget.totalRuntimeMs + runtimeMs,\n\t\t\tloopCount: nextLoopCount\n\t\t},\n\t\taiCoderV6RecoveryPlan: recordedRecoveryPlan,\n\t\taiCoderV6RecoveryCheckpoint: recordedRecoveryCheckpoint,\n\t\taiCoderV6RecoveryEvidenceProbe: recordedRecoveryEvidenceProbe,\n\t\taiCoderV6RecoveryAction: recordedRecoveryAction\n\t};\n}\n\nexport function decideResolveIOAICoderV6Continuation(bundle: ResolveIOAICoderV6StateBundle): ResolveIOAICoderV6ContinuationDecision {\n\tconst history = bundle.aiCoderV6StepHistory || [];\n\tconst budget = buildResolveIOAICoderV6Budget(bundle.aiCoderV6Budget);\n\tconst last = history[history.length - 1];\n\tconst lastFingerprint = fingerprintResolveIOAICoderV6Blocker(last?.blocker || last?.summary || '');\n\tlet repeatedNoProgressCount = 0;\n\tfor (let index = history.length - 1; index >= 0; index -= 1) {\n\t\tconst item = history[index];\n\t\tif (item.outcome === 'pass' || item.outcome === 'ready_to_publish' || item.outcome === 'published') {\n\t\t\tbreak;\n\t\t}\n\t\tif (item.stepType !== last?.stepType || item.lane !== last?.lane) {\n\t\t\tbreak;\n\t\t}\n\t\tif (fingerprintResolveIOAICoderV6Blocker(item.blocker || item.summary || '') === lastFingerprint) {\n\t\t\trepeatedNoProgressCount += 1;\n\t\t}\n\t}\n\tconst managerDecision = decideResolveIOAIManagerPolicy({\n\t\thistory,\n\t\tcurrent: last,\n\t\tmaxSameFailureRepeats: budget.maxRepeatedNoProgress + 1,\n\t\tmaxPingPongTransitions: 3,\n\t\tinfraFailureClasses: ['infra', 'compile']\n\t});\n\tconst recoveryPlanFor = (\n\t\taction: ResolveIOAICoderV6ContinuationDecision['action'] | string,\n\t\treason: string,\n\t\textra: Partial<ResolveIOAIManagerRecoveryPlanInput> = {}\n\t): ResolveIOAIManagerRecoveryPlan => buildResolveIOAIManagerRecoveryPlan({\n\t\taction,\n\t\treason,\n\t\tfailureClass: last?.failureClass,\n\t\tlane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\tstepType: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\tblocker: last?.blocker || last?.summary,\n\t\tchangedFiles: last?.changedFiles,\n\t\tartifactPaths: last?.artifactPaths,\n\t\tmaxSameFailureRepeats: budget.maxRepeatedNoProgress + 1,\n\t\t...extra\n\t});\n\tconst recoveryCheckpointFor = (\n\t\trecoveryPlan: ResolveIOAIManagerRecoveryPlan\n\t): ResolveIOAIManagerRecoveryCheckpoint => buildResolveIOAIManagerRecoveryCheckpoint({\n\t\tplan: recoveryPlan,\n\t\tcurrent: last\n\t});\n\tconst recoveryFieldsFor = (\n\t\trecoveryPlan: ResolveIOAIManagerRecoveryPlan,\n\t\trecoveryCheckpoint?: ResolveIOAIManagerRecoveryCheckpoint,\n\t\trecoveryEvidenceProbe?: ResolveIOAIManagerRecoveryEvidenceProbe\n\t): Pick<ResolveIOAICoderV6ContinuationDecision, 'recoveryPlan' | 'recoveryCheckpoint' | 'recoveryEvidenceProbe' | 'recoveryAction'> => {\n\t\tconst checkpoint = recoveryCheckpoint || recoveryCheckpointFor(recoveryPlan);\n\t\tconst probe = recoveryEvidenceProbe || buildResolveIOAIManagerRecoveryEvidenceProbe({\n\t\t\tcheckpoint,\n\t\t\tcurrent: last\n\t\t});\n\t\treturn {\n\t\t\trecoveryPlan,\n\t\t\trecoveryCheckpoint: checkpoint,\n\t\t\trecoveryEvidenceProbe: probe,\n\t\t\trecoveryAction: buildResolveIOAIManagerRecoveryActionPacket({\n\t\t\t\tplan: recoveryPlan,\n\t\t\t\tcheckpoint,\n\t\t\t\tprobe,\n\t\t\t\tcurrent: last\n\t\t\t})\n\t\t};\n\t};\n\tconst managerRecoveryFields = () => recoveryFieldsFor(\n\t\tmanagerDecision.recoveryPlan,\n\t\tmanagerDecision.recoveryCheckpoint,\n\t\tmanagerDecision.recoveryEvidenceProbe\n\t);\n\tconst withWorkflowReadiness = (\n\t\tdecision: Omit<ResolveIOAICoderV6ContinuationDecision, 'workflowReadiness' | 'workflowProofCheckpoint' | 'nextActionContract'>\n\t): ResolveIOAICoderV6ContinuationDecision => {\n\t\tconst workflowReadiness = buildResolveIOAICoderV6WorkflowReadiness(bundle, {\n\t\t\taction: decision.action,\n\t\t\treason: decision.reason,\n\t\t\tnextLane: decision.nextLane,\n\t\t\tnextStep: decision.nextStep,\n\t\t\tbudgetExceeded: decision.budgetExceeded,\n\t\t\trepeatedNoProgressCount: decision.repeatedNoProgressCount\n\t\t});\n\t\tconst workflowProofCheckpoint = workflowReadiness.workflowProofCheckpoint;\n\t\treturn {\n\t\t\t...decision,\n\t\t\tworkflowReadiness,\n\t\t\tworkflowProofCheckpoint,\n\t\t\tnextActionContract: buildResolveIOAICoderNextActionContract({\n\t\t\t\tbundle,\n\t\t\t\taction: decision.action,\n\t\t\t\treason: decision.reason,\n\t\t\t\tnextLane: decision.nextLane,\n\t\t\t\tnextStep: decision.nextStep,\n\t\t\t\tbudgetExceeded: decision.budgetExceeded,\n\t\t\t\tworkflowReadiness,\n\t\t\t\tworkflowProofCheckpoint\n\t\t\t})\n\t\t};\n\t};\n\tconst budgetExceeded = (budget.loopCount >= budget.maxLoopsPerRun && !managerDecision.loopBudgetShouldReset)\n\t\t|| budget.totalPromptTokenEstimate >= budget.maxTotalPromptTokens\n\t\t|| (last?.promptTokenEstimate || 0) > budget.maxPromptTokensPerNonInitialStep * 2;\n\tif (budgetExceeded) {\n\t\tconst recoveryPlan = recoveryPlanFor('budget_stop', 'aicoder_v6_budget_guard', {\n\t\t\tproductRepairFailure: false\n\t\t});\n\t\treturn withWorkflowReadiness({\n\t\t\taction: 'budget_stop',\n\t\t\treason: 'aicoder_v6_budget_guard',\n\t\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded,\n\t\t\t...recoveryFieldsFor(recoveryPlan)\n\t\t});\n\t}\n\tif (managerDecision.action === 'park_ping_pong') {\n\t\treturn withWorkflowReadiness({\n\t\t\taction: 'park',\n\t\t\treason: 'aicoder_v6_ping_pong_no_progress',\n\t\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\t\trepeatedNoProgressCount: managerDecision.pingPongCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...managerRecoveryFields()\n\t\t});\n\t}\n\tif (managerDecision.action === 'park_repeated_failure') {\n\t\treturn withWorkflowReadiness({\n\t\t\taction: 'park',\n\t\t\treason: 'aicoder_v6_repeated_no_progress',\n\t\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\t\trepeatedNoProgressCount: managerDecision.sameFailureCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...managerRecoveryFields()\n\t\t});\n\t}\n\tif (repeatedNoProgressCount > budget.maxRepeatedNoProgress) {\n\t\tconst recoveryPlan = recoveryPlanFor('park', 'aicoder_v6_repeated_no_progress', {\n\t\t\taction: 'park_repeated_failure',\n\t\t\tproductRepairFailure: !/^(?:infra|compile|release)$/i.test(String(last?.failureClass || ''))\n\t\t});\n\t\treturn withWorkflowReadiness({\n\t\t\taction: 'park',\n\t\t\treason: 'aicoder_v6_repeated_no_progress',\n\t\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...recoveryFieldsFor(recoveryPlan)\n\t\t});\n\t}\n\tif (managerDecision.action === 'retry_infra') {\n\t\tconst compileRepair = managerDecision.recoveryPlan.recoveryClass === 'compile_repair'\n\t\t\t|| managerDecision.failureClass === 'compile'\n\t\t\t|| last?.failureClass === 'compile';\n\t\treturn withWorkflowReadiness({\n\t\t\taction: 'infra_retry',\n\t\t\treason: compileRepair ? 'aicoder_v6_compile_repair_required' : 'aicoder_v6_infra_retry',\n\t\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...managerRecoveryFields()\n\t\t});\n\t}\n\tif (last?.outcome === 'needs_repair') {\n\t\tif (last.failureClass === 'journey') {\n\t\t\treturn withWorkflowReadiness({\n\t\t\t\taction: 'retry_same_step',\n\t\t\t\treason: 'aicoder_v6_journey_contract_repair_required',\n\t\t\t\tnextLane: 'plan',\n\t\t\t\tnextStep: last.stepType === 'journey_validation' ? 'journey_contract' : last.stepType,\n\t\t\t\trepeatedNoProgressCount,\n\t\t\t\tbudgetExceeded: false,\n\t\t\t\t...managerRecoveryFields()\n\t\t\t});\n\t\t}\n\t\tif (last.failureClass === 'release') {\n\t\t\treturn withWorkflowReadiness({\n\t\t\t\taction: 'retry_same_step',\n\t\t\t\treason: 'aicoder_v6_release_repair_required',\n\t\t\t\tnextLane: 'publish',\n\t\t\t\tnextStep: last.stepType,\n\t\t\t\trepeatedNoProgressCount,\n\t\t\t\tbudgetExceeded: false,\n\t\t\t\t...managerRecoveryFields()\n\t\t\t});\n\t\t}\n\t\treturn withWorkflowReadiness({\n\t\t\taction: last.lane === 'repair' ? 'retry_same_step' : 'switch_to_repair',\n\t\t\treason: 'aicoder_v6_repair_required',\n\t\t\tnextLane: 'repair',\n\t\t\tnextStep: 'repair',\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...managerRecoveryFields()\n\t\t});\n\t}\n\tif (last?.outcome === 'infra_retry') {\n\t\tconst recoveryPlan = recoveryPlanFor('infra_retry', 'aicoder_v6_infra_retry', {\n\t\t\tfailureClass: 'infra',\n\t\t\tproductRepairFailure: false\n\t\t});\n\t\treturn withWorkflowReadiness({\n\t\t\taction: 'infra_retry',\n\t\t\treason: 'aicoder_v6_infra_retry',\n\t\t\tnextLane: last.lane,\n\t\t\tnextStep: last.stepType,\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...recoveryFieldsFor(recoveryPlan)\n\t\t});\n\t}\n\tif (last?.outcome === 'ready_to_publish') {\n\t\tconst recoveryPlan = recoveryPlanFor('ready_to_publish', 'aicoder_v6_ready_to_publish', {\n\t\t\tfailureClass: 'release',\n\t\t\tproductRepairFailure: false\n\t\t});\n\t\treturn withWorkflowReadiness({\n\t\t\taction: 'ready_to_publish',\n\t\t\treason: 'aicoder_v6_ready_to_publish',\n\t\t\tnextLane: 'publish',\n\t\t\tnextStep: 'publish',\n\t\t\trepeatedNoProgressCount,\n\t\t\tbudgetExceeded: false,\n\t\t\t...recoveryFieldsFor(recoveryPlan)\n\t\t});\n\t}\n\tconst recoveryPlan = managerDecision.recoveryPlan || recoveryPlanFor('continue', 'aicoder_v6_continue');\n\tconst fallbackCheckpoint = managerDecision.recoveryCheckpoint || recoveryCheckpointFor(recoveryPlan);\n\treturn withWorkflowReadiness({\n\t\taction: 'continue',\n\t\treason: 'aicoder_v6_continue',\n\t\tnextLane: last?.lane || bundle.aiCoderV6SupervisorState.activeLane,\n\t\tnextStep: last?.stepType || bundle.aiCoderV6SupervisorState.activeStep,\n\t\trepeatedNoProgressCount,\n\t\tbudgetExceeded: false,\n\t\t...recoveryFieldsFor(recoveryPlan, fallbackCheckpoint, managerDecision.recoveryEvidenceProbe)\n\t});\n}\n\nexport function buildResolveIOAICoderV6DiagnoseFirstPrompt(lines: {\n\tgoal?: string;\n\tapprovedScope?: string[];\n\tactiveLane?: ResolveIOAICoderV6Lane;\n\tactiveStep?: ResolveIOAICoderV6StepType;\n\tactiveBlocker?: string;\n\tlaneSummary?: string;\n\tcurrentQaRow?: ResolveIOAICoderV6LaneMemory['activeQaRow'];\n\tjourneyContractPath?: string;\n\tactiveWorkflowStep?: string;\n\tartifactPaths?: string[];\n\tchangedFiles?: string[];\n}): string[] {\n\treturn [\n\t\t'AICoder Runner V6 contract: use compact lane memory, diagnose first, then make the smallest proven next move.',\n\t\t'Start with Diagnose First: observed evidence, likely cause, smallest next action, and expected proof.',\n\t\t'Use current artifacts, changed files, and lane memory before asking for broad context.',\n\t\t'Do not spawn duplicate build, QA, browser, server, Mongo, or Codex processes.',\n\t\t'If repairing, inspect logs/artifacts/source/diff first; retest the failed check before advancing.',\n\t\t'If the same blocker repeats without new proof, park with the exact blocker instead of burning more tokens.',\n\t\tlines.goal ? `Goal: ${cleanText(lines.goal, 500)}` : '',\n\t\tcleanList(lines.approvedScope, 12, 240).length ? `Approved scope: ${cleanList(lines.approvedScope, 12, 240).join(' | ')}` : '',\n\t\tlines.activeLane ? `Active lane: ${lines.activeLane}` : '',\n\t\tlines.activeStep ? `Active step: ${lines.activeStep}` : '',\n\t\tlines.laneSummary ? `Lane memory: ${cleanText(lines.laneSummary, 700)}` : '',\n\t\tlines.activeBlocker ? `Active blocker: ${cleanText(lines.activeBlocker, 800)}` : '',\n\t\tlines.currentQaRow?.workflow ? `Current QA row: ${cleanText(lines.currentQaRow.workflow, 300)}` : '',\n\t\tlines.currentQaRow?.route ? `Current QA route: ${cleanText(lines.currentQaRow.route, 300)}` : '',\n\t\tlines.journeyContractPath ? `Journey contract: ${cleanText(lines.journeyContractPath, 240)}` : '',\n\t\tlines.activeWorkflowStep ? `Active workflow step: ${cleanText(lines.activeWorkflowStep, 240)}` : '',\n\t\tcleanList(lines.changedFiles, 12, 200).length ? `Changed files: ${cleanList(lines.changedFiles, 12, 200).join(', ')}` : '',\n\t\tcleanList(lines.artifactPaths, 12, 240).length ? `Artifacts: ${cleanList(lines.artifactPaths, 12, 240).join(', ')}` : ''\n\t].filter(Boolean);\n}\n\nexport function buildResolveIOAICoderV6Incident(input: {\n\tincidentClass: string;\n\tsummary: string;\n\tstepType?: ResolveIOAICoderV6StepType;\n\tlane?: ResolveIOAICoderV6Lane;\n\tblocker?: string;\n\tartifactPaths?: string[];\n\tnow?: Date | string;\n}): ResolveIOAICoderV6RunnerIncident {\n\treturn {\n\t\tincidentClass: cleanText(input.incidentClass, 120) || 'aicoder_v6_runner_incident',\n\t\tsummary: cleanText(input.summary, 1200),\n\t\tstepType: input.stepType,\n\t\tlane: input.lane,\n\t\tblockerFingerprint: input.blocker ? fingerprintResolveIOAICoderV6Blocker(input.blocker) : undefined,\n\t\tartifactPaths: cleanList(input.artifactPaths, 40, 500),\n\t\trecordedAt: isoNow(input.now)\n\t};\n}\n"]}
|