{ "companyId": 338, "includeTravelChain": false, "includeTravelStress": false, "startedAt": "2026-06-19 12:37:33", "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 826ms", "details": [ "[FAIL] NodeTypeService: START node not found", "[FAIL] DynamicNodeExecutor: Judgment node execution failed", "[PASS] MultiModelWorkflowGenerator: All tests passed", "[PASS] ModelConfigService: All tests passed" ], "executionTimeMs": 826, "message": "2/4 tests passed in 826ms" }, "phase2Replay": { "passed": true, "verify": { "companyId": 338, "archiveTableExists": false, "hotIndexExists": true, "hotReplayRows": 66, "eventLogRows": 66, "archiveRows": 0, "archiveNote": "table missing or query failed", "status": "ok" }, "message": "phase2 replay verify ok" }, "pageLinkProbes": { "totalPages": 32, "requiredTotal": 17, "requiredPassed": 17, "optionalSkipped": 0, "failures": [ ], "passed": true, "durationMs": 1743, "pages": [ { "path": "/lobster/company-workflowLobster", "title": "Workflow templates", "probe": "templateList", "required": true, "passed": true, "status": "OK", "message": "templates=38" }, { "path": "/lobster/workflow-execution", "title": "Workflow execution tasks", "probe": "instanceList", "required": true, "passed": true, "status": "OK", "message": "instances=428" }, { "path": "/lobster/instance", "title": "Instance monitor", "probe": "instanceMonitor", "required": true, "passed": true, "status": "OK", "message": "monitor list ok, count=428" }, { "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=89" }, { "path": "/lobster/forbidden-words", "title": "Forbidden words", "probe": "forbiddenWords", "required": false, "passed": false, "status": "FAIL", "message": "\r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table \u0027fs_tenant_cs1.company_lobster_replace_word\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/LobsterReplaceWordMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT id, tenant_id, word_type, content, replace_text, enabled, sort, create_time FROM company_lobster_replace_word WHERE (tenant_id = 0 OR tenant_id = ?) AND word_type = ? ORDER BY tenant_id, sort DESC, id DESC\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \u0027fs_tenant_cs1.company_lobster_replace_word\u0027 doesn\u0027t exist\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table \u0027fs_tenant_cs1.company_lobster_replace_word\u0027 doesn\u0027t exist" }, { "path": "/lobster/typo-words", "title": "Typo words", "probe": "typoWords", "required": false, "passed": false, "status": "FAIL", "message": "\r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table \u0027fs_tenant_cs1.company_lobster_replace_word\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/LobsterReplaceWordMapper.xml]\r\n### The error may involve defaultParameterMap\r\n### The error occurred while setting parameters\r\n### SQL: SELECT id, tenant_id, word_type, content, replace_text, enabled, sort, create_time FROM company_lobster_replace_word WHERE (tenant_id = 0 OR tenant_id = ?) AND word_type = ? ORDER BY tenant_id, sort DESC, id DESC\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \u0027fs_tenant_cs1.company_lobster_replace_word\u0027 doesn\u0027t exist\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table \u0027fs_tenant_cs1.company_lobster_replace_word\u0027 doesn\u0027t exist" }, { "path": "/lobster/conversation-summary", "title": "Conversation summary", "probe": "conversationSummary", "required": true, "passed": true, "status": "OK", "message": "summaries=13" }, { "path": "/lobster/summary-config", "title": "Summary config", "probe": "summaryConfig", "required": false, "passed": true, "status": "OK", "message": "summary configs=0" }, { "path": "/lobster/profile-config", "title": "Profile config", "probe": "profileConfig", "required": false, "passed": true, "status": "OK", "message": "profile fields=0" }, { "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=14" }, { "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": true, "status": "OK", "message": "corpus=0" }, { "path": "/lobster/chat-aggregate", "title": "Chat aggregate", "probe": "chatAggregate", "required": false, "passed": true, "status": "OK", "message": "sessions=29" }, { "path": "/lobster/industry-bootstrap", "title": "Industry bootstrap", "probe": "industryPacks", "required": true, "passed": true, "status": "OK", "message": "packs=7" }, { "path": "/lobster/execution-config", "title": "Execution config", "probe": "executionConfig", "required": true, "passed": true, "status": "OK", "message": "execution config loaded" }, { "path": "/lobster/identity-config", "title": "Identity 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": true, "status": "OK", "message": "keywords=1" }, { "path": "/lobster/dedup-config", "title": "Dedup config", "probe": "dedupConfig", "required": false, "passed": true, "status": "OK", "message": "dedup configs=0" }, { "path": "/lobster/model-route", "title": "Model route", "probe": "modelRoute", "required": true, "passed": true, "status": "OK", "message": "workflow model=gpt-4" }, { "path": "/lobster/optimization", "title": "AI optimization audit", "probe": "optimization", "required": true, "passed": true, "status": "OK", "message": "optimization stats=5" }, { "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": true, "status": "OK", "message": "token summary loaded" }, { "path": "/lobster/evolution", "title": "Evolution engine", "probe": "evolution", "required": true, "passed": true, "status": "OK", "message": "evolution metrics=6" }, { "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": true, "status": "OK", "message": "profile fields=0" }, { "path": "/lobster/qdrant", "title": "Vector knowledge base", "probe": "qdrant", "required": false, "passed": false, "status": "WARN", "message": "\r\n### Error querying database. Cause: java.sql.SQLSyntaxErrorException: Table \u0027fs_tenant_cs1.lobster_vector_store\u0027 doesn\u0027t exist\r\n### The error may exist in com/fs/company/mapper/LobsterVectorStoreMapper.java (best guess)\r\n### The error may involve com.fs.company.mapper.LobsterVectorStoreMapper.selectByCompanyAndCategory-Inline\r\n### The error occurred while setting parameters\r\n### SQL: SELECT * FROM lobster_vector_store WHERE company_id = ? AND category = ?\r\n### Cause: java.sql.SQLSyntaxErrorException: Table \u0027fs_tenant_cs1.lobster_vector_store\u0027 doesn\u0027t exist\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table \u0027fs_tenant_cs1.lobster_vector_store\u0027 doesn\u0027t exist" }, { "path": "/lobster/global-stats", "title": "Global evolution stats", "probe": "globalStats", "required": false, "passed": true, "status": "OK", "message": "global metrics=6" }, { "path": "/lobster/event-audit", "title": "Event node audit", "probe": "eventAudit", "required": false, "passed": true, "status": "OK", "message": "audits=0" } ] }, "travelFullChain": { "passed": true, "message": "includeTravelChain=false", "skipped": true } }, "integrationWarning": "2/4 tests passed in 826ms", "failures": [ ], "passed": true, "durationMs": 2620, "pageCount": 32, "requiredPagesPassed": "17/17" }