{ "companyId": 338, "includeTravelChain": true, "includeTravelStress": false, "startedAt": "2026-06-22 01:31:00", "sections": { "engineHealth": { "passed": true, "health": { "companyId": 338, "healthy": true, "missingCore": [ ], "missingOptional": [ ], "passThreshold": 120 }, "message": "core beans wired" }, "integrationTests": { "passed": false, "summary": "2/4 tests passed in 972ms", "details": [ "[FAIL] NodeTypeService: START node not found", "[FAIL] DynamicNodeExecutor: Judgment node execution failed", "[PASS] MultiModelWorkflowGenerator: All tests passed", "[PASS] ModelConfigService: All tests passed" ], "executionTimeMs": 972, "message": "2/4 tests passed in 972ms" }, "phase2Replay": { "passed": true, "verify": { "companyId": 338, "archiveTableExists": false, "hotIndexExists": true, "hotReplayRows": 68, "eventLogRows": 68, "archiveRows": 0, "archiveNote": "table missing or query failed", "status": "ok" }, "message": "phase2 replay verify ok" }, "pageLinkProbes": { "totalPages": 29, "requiredTotal": 15, "requiredPassed": 14, "optionalSkipped": 0, "failures": [ "/lobster/semantic-keywords: \r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_tenant_keywords\u0027 doesn\u0027t exist\r\n### The error may exist in com/fs/company/mapper/LobsterTenantKeywordMapper.java (best guess)\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT id,company_id,category,keywords,enabled,create_time,update_time FROM lobster_tenant_keywords WHERE company_id = ? ORDER BY category ASC , id DESC\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_tenant_keywords\u0027 doesn\u0027t exist\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_tenant_keywords\u0027 doesn\u0027t exist" ], "passed": false, "durationMs": 3184, "pages": [ { "path": "/lobster/company-workflowLobster", "title": "Workflow templates", "probe": "templateList", "required": true, "passed": true, "status": "OK", "message": "templates=39" }, { "path": "/lobster/workflow-execution", "title": "Workflow execution tasks", "probe": "instanceList", "required": true, "passed": true, "status": "OK", "message": "instances=453" }, { "path": "/lobster/instance", "title": "Instance monitor", "probe": "instanceMonitor", "required": true, "passed": true, "status": "OK", "message": "monitor list ok, count=453" }, { "path": "/lobster/prompt", "title": "Prompt management", "probe": "promptList", "required": true, "passed": true, "status": "OK", "message": "prompt rows=49" }, { "path": "/lobster/sensitive-words", "title": "Sensitive words", "probe": "sensitiveWords", "required": true, "passed": true, "status": "OK", "message": "words=131" }, { "path": "/lobster/forbidden-words", "title": "Forbidden words", "probe": "forbiddenWords", "required": false, "passed": true, "status": "OK", "message": "forbidden=32" }, { "path": "/lobster/typo-words", "title": "Typo words", "probe": "typoWords", "required": false, "passed": true, "status": "OK", "message": "typo=3" }, { "path": "/lobster/conversation-summary", "title": "Conversation summary", "probe": "conversationSummary", "required": true, "passed": true, "status": "OK", "message": "summaries=13" }, { "path": "/lobster/profile-config", "title": "Profile config", "probe": "profileConfig", "required": false, "passed": true, "status": "OK", "message": "profile fields=5" }, { "path": "/lobster/channel-config", "title": "Channel config", "probe": "channelTypes", "required": true, "passed": true, "status": "OK", "message": "channels=14" }, { "path": "/lobster/channel-plugin", "title": "Channel plugins", "probe": "channelPlugins", "required": true, "passed": true, "status": "OK", "message": "plugins=3" }, { "path": "/lobster/api-registry", "title": "API registry", "probe": "apiRegistry", "required": true, "passed": true, "status": "OK", "message": "apis=0" }, { "path": "/lobster/sales-corpus", "title": "Sales corpus", "probe": "salesCorpus", "required": false, "passed": false, "status": "WARN", "message": "\r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Unknown column \u0027optimized_answer\u0027 in \u0027field list\u0027\r\n### The error may exist in URL [jar:file:/D:/ylrz_saas_new/java/fs-saas-company/target/fs-saas-company.jar!/BOOT-INF/lib/fs-service-1.1.0.jar!/mapper/company/LobsterSalesCorpusMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: select id, dialog_text, customer_question, sales_answer, optimized_answer, ai_feedback, scenario, score, source_type, external_user_id, company_id, task_id, salesperson_name, tags, status, quality_status, kb_written, enabled, create_by, create_time, update_by, update_time from lobster_sales_corpus where company_id = ? order by create_time desc limit ? offset ?\r\n### Cause: java.sql.SQLSyntaxErrorException: Unknown column \u0027optimized_answer\u0027 in \u0027field list\u0027\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Unknown column \u0027optimized_answer\u0027 in \u0027field list\u0027" }, { "path": "/lobster/chat-aggregate", "title": "Chat aggregate", "probe": "chatAggregate", "required": false, "passed": true, "status": "OK", "message": "sessions=0" }, { "path": "/lobster/industry-bootstrap", "title": "Industry bootstrap", "probe": "industryPacks", "required": true, "passed": true, "status": "OK", "message": "packs=28" }, { "path": "/lobster/identity-config", "title": "External role config", "probe": "identityConfig", "required": false, "passed": true, "status": "OK", "message": "identity config loaded" }, { "path": "/lobster/semantic-keywords", "title": "Semantic keywords", "probe": "semanticKeywords", "required": true, "passed": false, "status": "FAIL", "message": "\r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_tenant_keywords\u0027 doesn\u0027t exist\r\n### The error may exist in com/fs/company/mapper/LobsterTenantKeywordMapper.java (best guess)\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT id,company_id,category,keywords,enabled,create_time,update_time FROM lobster_tenant_keywords WHERE company_id = ? ORDER BY category ASC , id DESC\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_tenant_keywords\u0027 doesn\u0027t exist\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_tenant_keywords\u0027 doesn\u0027t exist" }, { "path": "/lobster/optimization", "title": "AI optimization audit", "probe": "optimization", "required": true, "passed": true, "status": "OK", "message": "optimization stats=0" }, { "path": "/lobster/dynamic-impl", "title": "Dynamic node approval", "probe": "dynamicImpl", "required": true, "passed": true, "status": "OK", "message": "pending impls=0" }, { "path": "/lobster/dashboard", "title": "Engine dashboard", "probe": "dashboard", "required": true, "passed": true, "status": "OK", "message": "dashboard keys=8" }, { "path": "/lobster/token-stats", "title": "Token stats", "probe": "tokenStats", "required": false, "passed": false, "status": "WARN", "message": "\r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_token_consumption\u0027 doesn\u0027t exist\r\n### The error may exist in URL [jar:file:/D:/ylrz_saas_new/java/fs-saas-company/target/fs-saas-company.jar!/BOOT-INF/lib/fs-service-1.1.0.jar!/mapper/company/LobsterTokenConsumptionMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT DATE(request_time) AS date, SUM(token_count) AS totalTokens, SUM(estimated_cost) AS totalCost, COUNT(1) AS requestCount FROM lobster_token_consumption WHERE company_id = ? AND request_time BETWEEN ? AND ? GROUP BY DATE(request_time) ORDER BY date DESC\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_token_consumption\u0027 doesn\u0027t exist\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_token_consumption\u0027 doesn\u0027t exist" }, { "path": "/lobster/evolution", "title": "Evolution engine", "probe": "evolution", "required": true, "passed": true, "status": "OK", "message": "evolution metrics=0" }, { "path": "/lobster/chat-test", "title": "Chat test", "probe": "chatTest", "required": false, "passed": true, "status": "OK", "message": "e2e test service ready" }, { "path": "/lobster/ab-test", "title": "AB / GEPA optimization", "probe": "abTest", "required": false, "passed": true, "status": "OK", "message": "active ab tests=0" }, { "path": "/lobster/profile", "title": "Customer profile hub", "probe": "userProfile", "required": false, "passed": false, "status": "FAIL", "message": "\r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_user_profile\u0027 doesn\u0027t exist\r\n### The error may exist in URL [jar:file:/D:/ylrz_saas_new/java/fs-saas-company/target/fs-saas-company.jar!/BOOT-INF/lib/fs-service-1.1.0.jar!/mapper/lobster/LobsterUserProfileMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT id, company_id, external_user_id, channel_type, nickname, persona, current_state, lifecycle_stage, value_score, total_purchase, interaction_count, last_active_time, internal_tags, variable_snapshot, create_time, update_time FROM lobster_user_profile WHERE company_id = ? AND deleted = 0 ORDER BY update_time DESC, id DESC LIMIT ?, ?\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_user_profile\u0027 doesn\u0027t exist\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_user_profile\u0027 doesn\u0027t exist" }, { "path": "/lobster/profile-domain", "title": "Unified profile domain", "probe": "profileDomain", "required": false, "passed": true, "status": "OK", "message": "profile domain ready, mode=async" }, { "path": "/lobster/qdrant", "title": "Vector knowledge base", "probe": "qdrant", "required": false, "passed": true, "status": "OK", "message": "vectors=0" }, { "path": "/lobster/global-stats", "title": "Global evolution stats", "probe": "globalStats", "required": false, "passed": true, "status": "OK", "message": "global metrics=0" }, { "path": "/lobster/event-audit", "title": "Event node audit", "probe": "eventAudit", "required": false, "passed": true, "status": "OK", "message": "audits=0" } ] }, "travelFullChain": { "passed": false, "message": "\r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_execution_config\u0027 doesn\u0027t exist\r\n### The error may exist in com/fs/company/mapper/LobsterExecutionConfigMapper.java (best guess)\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT id,company_id,default_execution_mode,auto_start_instance_on_tag,quality_gate_enabled,quality_pass_score_percent,quality_target_score_percent,quality_min_node_score_percent,quality_min_e2e_avg_score_percent,quality_multiturn_min_avg_score_percent,message_dedup_enabled,message_dedup_exact_window_size,message_dedup_semantic_threshold,message_dedup_window_duration_seconds,create_by,create_time,update_by,update_time FROM lobster_execution_config WHERE company_id = ? LIMIT 1\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_execution_config\u0027 doesn\u0027t exist\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_execution_config\u0027 doesn\u0027t exist" }, "profileDomain": { "enabled": true, "projectionMode": "async", "searchMode": "db", "esEnabled": false, "mqConsumerEnabled": true, "missingBeans": [ ], "beansOk": true, "simulationMode": "basic", "runtime": { "unifiedSearchError": "\r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.customer_profile_identity\u0027 doesn\u0027t exist\r\n### The error may exist in URL [jar:file:/D:/ylrz_saas_new/java/fs-saas-company/target/fs-saas-company.jar!/BOOT-INF/lib/fs-service-1.1.0.jar!/mapper/lobster/CustomerProfileIdentityMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT COUNT(1) FROM customer_profile_identity WHERE company_id = ?\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.customer_profile_identity\u0027 doesn\u0027t exist\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.customer_profile_identity\u0027 doesn\u0027t exist", "searchError": "\r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.customer_profile_identity\u0027 doesn\u0027t exist\r\n### The error may exist in URL [jar:file:/D:/ylrz_saas_new/java/fs-saas-company/target/fs-saas-company.jar!/BOOT-INF/lib/fs-service-1.1.0.jar!/mapper/lobster/CustomerProfileIdentityMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT COUNT(1) FROM customer_profile_identity WHERE company_id = ?\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.customer_profile_identity\u0027 doesn\u0027t exist\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.customer_profile_identity\u0027 doesn\u0027t exist", "identityTable": "missing_or_error", "identityError": "\r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.customer_profile_identity\u0027 doesn\u0027t exist\r\n### The error may exist in URL [jar:file:/D:/ylrz_saas_new/java/fs-saas-company/target/fs-saas-company.jar!/BOOT-INF/lib/fs-service-1.1.0.jar!/mapper/lobster/ProfileBackfillMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT COUNT(1) FROM customer_profile_identity WHERE company_id = ?\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.customer_profile_identity\u0027 doesn\u0027t exist\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.customer_profile_identity\u0027 doesn\u0027t exist" }, "warning": "customer_profile_identity table missing; run migration V20260701_01", "passed": true, "message": "profile domain ready" } }, "integrationWarning": "2/4 tests passed in 972ms", "failures": [ "page./lobster/semantic-keywords: \r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_tenant_keywords\u0027 doesn\u0027t exist\r\n### The error may exist in com/fs/company/mapper/LobsterTenantKeywordMapper.java (best guess)\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT id,company_id,category,keywords,enabled,create_time,update_time FROM lobster_tenant_keywords WHERE company_id = ? ORDER BY category ASC , id DESC\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_tenant_keywords\u0027 doesn\u0027t exist\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_tenant_keywords\u0027 doesn\u0027t exist", "travelFullChain: \r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_execution_config\u0027 doesn\u0027t exist\r\n### The error may exist in com/fs/company/mapper/LobsterExecutionConfigMapper.java (best guess)\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT id,company_id,default_execution_mode,auto_start_instance_on_tag,quality_gate_enabled,quality_pass_score_percent,quality_target_score_percent,quality_min_node_score_percent,quality_min_e2e_avg_score_percent,quality_multiturn_min_avg_score_percent,message_dedup_enabled,message_dedup_exact_window_size,message_dedup_semantic_threshold,message_dedup_window_duration_seconds,create_by,create_time,update_by,update_time FROM lobster_execution_config WHERE company_id = ? LIMIT 1\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_execution_config\u0027 doesn\u0027t exist\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table \u0027ylrz_saas.lobster_execution_config\u0027 doesn\u0027t exist" ], "passed": false, "durationMs": 4247, "pageCount": 29, "requiredPagesPassed": "14/15" }