Xray · see through your fleet
1h 6h 24h 48h 3d
custom ▾
live

Logs

Live Cloud Logging query (nothing stored) · master · last 3d · newest first · page 1 (200/page) · 200 entries in 2884 ms all app neo4j weaviate time relative absolute

reset
53s ago2026-07-27 01:18:19 UTC DEBUG virtual-assistant ✅ Org 5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf summary: processed=11, reminders_sent=0, moved_to_need_attention=0
time2026-07-27 01:18:19 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:377
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
✅ Org 5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf summary: processed=11, reminders_sent=0, moved_to_need_attention=0
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:377",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "\u2705 Org 5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf summary: processed=11, reminders_sent=0, moved_to_need_attention=0",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:19.060Z",
  "version": "unknown"
}
53s ago2026-07-27 01:18:19 UTC DEBUG virtual-assistant [reminder] wo=437c18c3-6691-461a-b3ce-742e84b88f69 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:18:19 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=437c18c3-6691-461a-b3ce-742e84b88f69 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=872m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=437c18c3-6691-461a-b3ce-742e84b88f69 mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=872m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:19.060Z",
  "version": "unknown"
}
53s ago2026-07-27 01:18:19 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:18:19 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 880.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24984132",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027437c18c3-6691-461a-b3ce-742e84b88f69\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:19.054Z",
  "transactionId": 12146094.0,
  "waiting": 0.0
}
53s ago2026-07-27 01:18:19 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:19 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 1.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24984131",
  "pageFaults": 0.0,
  "pageHits": 9.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027437c18c3-6691-461a-b3ce-742e84b88f69\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:19.042Z",
  "transactionId": 12146093.0,
  "waiting": 0.0
}
53s ago2026-07-27 01:18:19 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:19 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24984130",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027437c18c3-6691-461a-b3ce-742e84b88f69\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:19.036Z",
  "transactionId": 12146093.0,
  "waiting": 0.0
}
53s ago2026-07-27 01:18:19 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:18:19 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24984128",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027437c18c3-6691-461a-b3ce-742e84b88f69\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:19.024Z",
  "transactionId": 12146092.0,
  "waiting": 0.0
}
53s ago2026-07-27 01:18:19 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:18:19 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24984127",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027437c18c3-6691-461a-b3ce-742e84b88f69\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:19.010Z",
  "transactionId": 12146091.0,
  "waiting": 0.0
}
53s ago2026-07-27 01:18:19 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 437c18c3-6691-461a-b3ce-742e84b88f69
time2026-07-27 01:18:19 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 437c18c3-6691-461a-b3ce-742e84b88f69
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 437c18c3-6691-461a-b3ce-742e84b88f69",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:19.003Z",
  "version": "unknown"
}
53s ago2026-07-27 01:18:19 UTC DEBUG virtual-assistant [daily_cron] About to process work order 437c18c3-6691-461a-b3ce-742e84b88f69
time2026-07-27 01:18:19 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 437c18c3-6691-461a-b3ce-742e84b88f69
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 437c18c3-6691-461a-b3ce-742e84b88f69",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:19.003Z",
  "version": "unknown"
}
53s ago2026-07-27 01:18:19 UTC DEBUG virtual-assistant [reminder] wo=da057921-1a96-43f2-af14-37551103141e mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:18:19 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=da057921-1a96-43f2-af14-37551103141e mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=340m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=da057921-1a96-43f2-af14-37551103141e mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=340m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:19.002Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 880.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24984125",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027da057921-1a96-43f2-af14-37551103141e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.996Z",
  "transactionId": 12146090.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24984124",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027da057921-1a96-43f2-af14-37551103141e\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.985Z",
  "transactionId": 12146089.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24984122",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027da057921-1a96-43f2-af14-37551103141e\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.979Z",
  "transactionId": 12146089.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24984121",
  "pageFaults": 0.0,
  "pageHits": 14.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027da057921-1a96-43f2-af14-37551103141e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.968Z",
  "transactionId": 12146088.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24984120",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027da057921-1a96-43f2-af14-37551103141e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.954Z",
  "transactionId": 12146087.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order da057921-1a96-43f2-af14-37551103141e
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order da057921-1a96-43f2-af14-37551103141e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order da057921-1a96-43f2-af14-37551103141e",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.946Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] About to process work order da057921-1a96-43f2-af14-37551103141e
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order da057921-1a96-43f2-af14-37551103141e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order da057921-1a96-43f2-af14-37551103141e",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.946Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [reminder] wo=b75c9de7-83f0-485d-8fc0-195ffd82307a mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=b75c9de7-83f0-485d-8fc0-195ffd82307a mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=392m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=b75c9de7-83f0-485d-8fc0-195ffd82307a mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=392m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.946Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 828.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24984118",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027b75c9de7-83f0-485d-8fc0-195ffd82307a\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.940Z",
  "transactionId": 12146086.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24984117",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027b75c9de7-83f0-485d-8fc0-195ffd82307a\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.927Z",
  "transactionId": 12146085.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24984115",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027b75c9de7-83f0-485d-8fc0-195ffd82307a\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.922Z",
  "transactionId": 12146085.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24984114",
  "pageFaults": 0.0,
  "pageHits": 13.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027b75c9de7-83f0-485d-8fc0-195ffd82307a\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.909Z",
  "transactionId": 12146084.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24984112",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027b75c9de7-83f0-485d-8fc0-195ffd82307a\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.895Z",
  "transactionId": 12146083.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order b75c9de7-83f0-485d-8fc0-195ffd82307a
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order b75c9de7-83f0-485d-8fc0-195ffd82307a
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order b75c9de7-83f0-485d-8fc0-195ffd82307a",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.888Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] About to process work order b75c9de7-83f0-485d-8fc0-195ffd82307a
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order b75c9de7-83f0-485d-8fc0-195ffd82307a
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order b75c9de7-83f0-485d-8fc0-195ffd82307a",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.888Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [reminder] wo=dd15f131-56f1-48f2-919c-a4c61bff494a mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=dd15f131-56f1-48f2-919c-a4c61bff494a mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=416m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=dd15f131-56f1-48f2-919c-a4c61bff494a mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=416m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.887Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 880.0,
  "cpu": 1.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24984111",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027dd15f131-56f1-48f2-919c-a4c61bff494a\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.881Z",
  "transactionId": 12146082.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 1.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24984109",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027dd15f131-56f1-48f2-919c-a4c61bff494a\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.866Z",
  "transactionId": 12146081.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24984108",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027dd15f131-56f1-48f2-919c-a4c61bff494a\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.861Z",
  "transactionId": 12146081.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24984105",
  "pageFaults": 0.0,
  "pageHits": 14.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027dd15f131-56f1-48f2-919c-a4c61bff494a\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.823Z",
  "transactionId": 12146080.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24984104",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027dd15f131-56f1-48f2-919c-a4c61bff494a\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.807Z",
  "transactionId": 12146079.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order dd15f131-56f1-48f2-919c-a4c61bff494a
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order dd15f131-56f1-48f2-919c-a4c61bff494a
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order dd15f131-56f1-48f2-919c-a4c61bff494a",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.800Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] About to process work order dd15f131-56f1-48f2-919c-a4c61bff494a
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order dd15f131-56f1-48f2-919c-a4c61bff494a
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order dd15f131-56f1-48f2-919c-a4c61bff494a",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.799Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [reminder] wo=541a6291-1a99-4640-b3d1-f7ab73bcc8a5 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=541a6291-1a99-4640-b3d1-f7ab73bcc8a5 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=423m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=541a6291-1a99-4640-b3d1-f7ab73bcc8a5 mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=423m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.799Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 880.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24984102",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027541a6291-1a99-4640-b3d1-f7ab73bcc8a5\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.792Z",
  "transactionId": 12146078.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24984101",
  "pageFaults": 0.0,
  "pageHits": 30.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027541a6291-1a99-4640-b3d1-f7ab73bcc8a5\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.780Z",
  "transactionId": 12146077.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24984099",
  "pageFaults": 0.0,
  "pageHits": 31.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027541a6291-1a99-4640-b3d1-f7ab73bcc8a5\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.774Z",
  "transactionId": 12146077.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24984098",
  "pageFaults": 0.0,
  "pageHits": 47.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027541a6291-1a99-4640-b3d1-f7ab73bcc8a5\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.761Z",
  "transactionId": 12146076.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24984096",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027541a6291-1a99-4640-b3d1-f7ab73bcc8a5\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.746Z",
  "transactionId": 12146075.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 541a6291-1a99-4640-b3d1-f7ab73bcc8a5
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 541a6291-1a99-4640-b3d1-f7ab73bcc8a5
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 541a6291-1a99-4640-b3d1-f7ab73bcc8a5",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.738Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] About to process work order 541a6291-1a99-4640-b3d1-f7ab73bcc8a5
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 541a6291-1a99-4640-b3d1-f7ab73bcc8a5
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 541a6291-1a99-4640-b3d1-f7ab73bcc8a5",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.738Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [reminder] wo=594ce58e-8192-4c80-9386-832b22bfe1f4 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=594ce58e-8192-4c80-9386-832b22bfe1f4 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=4821m < step=4320m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=594ce58e-8192-4c80-9386-832b22bfe1f4 mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=4821m \u003c step=4320m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.737Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 776.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24984092",
  "pageFaults": 0.0,
  "pageHits": 8.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027594ce58e-8192-4c80-9386-832b22bfe1f4\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.731Z",
  "transactionId": 12146073.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24984088",
  "pageFaults": 0.0,
  "pageHits": 4.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027594ce58e-8192-4c80-9386-832b22bfe1f4\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.719Z",
  "transactionId": 12146071.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24984086",
  "pageFaults": 0.0,
  "pageHits": 6.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027594ce58e-8192-4c80-9386-832b22bfe1f4\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.714Z",
  "transactionId": 12146071.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24984083",
  "pageFaults": 0.0,
  "pageHits": 8.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027594ce58e-8192-4c80-9386-832b22bfe1f4\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.702Z",
  "transactionId": 12146069.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24984080",
  "pageFaults": 0.0,
  "pageHits": 9.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027594ce58e-8192-4c80-9386-832b22bfe1f4\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.688Z",
  "transactionId": 12146068.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 594ce58e-8192-4c80-9386-832b22bfe1f4
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 594ce58e-8192-4c80-9386-832b22bfe1f4
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 594ce58e-8192-4c80-9386-832b22bfe1f4",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.681Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] About to process work order 594ce58e-8192-4c80-9386-832b22bfe1f4
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 594ce58e-8192-4c80-9386-832b22bfe1f4
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 594ce58e-8192-4c80-9386-832b22bfe1f4",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.681Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [reminder] wo=0944a342-178a-4fea-a67d-5bdfed6d9928 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=0944a342-178a-4fea-a67d-5bdfed6d9928 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=4822m < step=4320m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=0944a342-178a-4fea-a67d-5bdfed6d9928 mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=4822m \u003c step=4320m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.681Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 776.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24984077",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u00270944a342-178a-4fea-a67d-5bdfed6d9928\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.675Z",
  "transactionId": 12146067.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24984074",
  "pageFaults": 0.0,
  "pageHits": 2.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u00270944a342-178a-4fea-a67d-5bdfed6d9928\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.663Z",
  "transactionId": 12146066.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24984073",
  "pageFaults": 0.0,
  "pageHits": 5.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u00270944a342-178a-4fea-a67d-5bdfed6d9928\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.658Z",
  "transactionId": 12146066.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24984070",
  "pageFaults": 0.0,
  "pageHits": 5.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u00270944a342-178a-4fea-a67d-5bdfed6d9928\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.646Z",
  "transactionId": 12146065.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24984067",
  "pageFaults": 0.0,
  "pageHits": 8.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00270944a342-178a-4fea-a67d-5bdfed6d9928\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.633Z",
  "transactionId": 12146064.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 0944a342-178a-4fea-a67d-5bdfed6d9928
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 0944a342-178a-4fea-a67d-5bdfed6d9928
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 0944a342-178a-4fea-a67d-5bdfed6d9928",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.625Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] About to process work order 0944a342-178a-4fea-a67d-5bdfed6d9928
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 0944a342-178a-4fea-a67d-5bdfed6d9928
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 0944a342-178a-4fea-a67d-5bdfed6d9928",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.625Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [reminder] wo=63b88918-9684-476d-8a9b-71dd8b970613 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=63b88918-9684-476d-8a9b-71dd8b970613 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=510m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=63b88918-9684-476d-8a9b-71dd8b970613 mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=510m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.625Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 984.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24984064",
  "pageFaults": 0.0,
  "pageHits": 18.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u002763b88918-9684-476d-8a9b-71dd8b970613\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.618Z",
  "transactionId": 12146063.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24984061",
  "pageFaults": 0.0,
  "pageHits": 13.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u002763b88918-9684-476d-8a9b-71dd8b970613\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.603Z",
  "transactionId": 12146062.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24984059",
  "pageFaults": 0.0,
  "pageHits": 14.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u002763b88918-9684-476d-8a9b-71dd8b970613\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.597Z",
  "transactionId": 12146062.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24984057",
  "pageFaults": 0.0,
  "pageHits": 16.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u002763b88918-9684-476d-8a9b-71dd8b970613\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.585Z",
  "transactionId": 12146061.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24984052",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u002763b88918-9684-476d-8a9b-71dd8b970613\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.571Z",
  "transactionId": 12146060.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 63b88918-9684-476d-8a9b-71dd8b970613
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 63b88918-9684-476d-8a9b-71dd8b970613
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 63b88918-9684-476d-8a9b-71dd8b970613",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.564Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] About to process work order 63b88918-9684-476d-8a9b-71dd8b970613
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 63b88918-9684-476d-8a9b-71dd8b970613
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 63b88918-9684-476d-8a9b-71dd8b970613",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.564Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [reminder] wo=e0161a74-d5bc-4035-b55d-5dda8a1e4de7 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=e0161a74-d5bc-4035-b55d-5dda8a1e4de7 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=679m < step=2880m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=e0161a74-d5bc-4035-b55d-5dda8a1e4de7 mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=679m \u003c step=2880m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.563Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 880.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24984050",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027e0161a74-d5bc-4035-b55d-5dda8a1e4de7\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.557Z",
  "transactionId": 12146059.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24984047",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027e0161a74-d5bc-4035-b55d-5dda8a1e4de7\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.544Z",
  "transactionId": 12146058.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24984045",
  "pageFaults": 0.0,
  "pageHits": 13.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027e0161a74-d5bc-4035-b55d-5dda8a1e4de7\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.538Z",
  "transactionId": 12146058.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24984043",
  "pageFaults": 0.0,
  "pageHits": 15.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027e0161a74-d5bc-4035-b55d-5dda8a1e4de7\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.525Z",
  "transactionId": 12146057.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24984040",
  "pageFaults": 0.0,
  "pageHits": 9.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027e0161a74-d5bc-4035-b55d-5dda8a1e4de7\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.512Z",
  "transactionId": 12146056.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order e0161a74-d5bc-4035-b55d-5dda8a1e4de7
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order e0161a74-d5bc-4035-b55d-5dda8a1e4de7
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order e0161a74-d5bc-4035-b55d-5dda8a1e4de7",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.504Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] About to process work order e0161a74-d5bc-4035-b55d-5dda8a1e4de7
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order e0161a74-d5bc-4035-b55d-5dda8a1e4de7
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order e0161a74-d5bc-4035-b55d-5dda8a1e4de7",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.504Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [reminder] wo=5bb3b3a6-7412-459b-a159-42e2604c2a1e mode=RECURRING should_send=False escalate=False override=set reason='override pending: eligible...
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=5bb3b3a6-7412-459b-a159-42e2604c2a1e mode=RECURRING should_send=False escalate=False override=set reason='override pending: eligible in 10925m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=5bb3b3a6-7412-459b-a159-42e2604c2a1e mode=RECURRING should_send=False escalate=False override=set reason=\u0027override pending: eligible in 10925m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.504Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 828.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24984038",
  "pageFaults": 0.0,
  "pageHits": 13.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u00275bb3b3a6-7412-459b-a159-42e2604c2a1e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.497Z",
  "transactionId": 12146055.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24984034",
  "pageFaults": 0.0,
  "pageHits": 18.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u00275bb3b3a6-7412-459b-a159-42e2604c2a1e\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.484Z",
  "transactionId": 12146054.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24984033",
  "pageFaults": 0.0,
  "pageHits": 19.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u00275bb3b3a6-7412-459b-a159-42e2604c2a1e\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.478Z",
  "transactionId": 12146054.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24984026",
  "pageFaults": 0.0,
  "pageHits": 21.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u00275bb3b3a6-7412-459b-a159-42e2604c2a1e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.463Z",
  "transactionId": 12146053.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 1.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24984024",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00275bb3b3a6-7412-459b-a159-42e2604c2a1e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.447Z",
  "transactionId": 12146052.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 5bb3b3a6-7412-459b-a159-42e2604c2a1e
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 5bb3b3a6-7412-459b-a159-42e2604c2a1e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 5bb3b3a6-7412-459b-a159-42e2604c2a1e",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.439Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] About to process work order 5bb3b3a6-7412-459b-a159-42e2604c2a1e
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 5bb3b3a6-7412-459b-a159-42e2604c2a1e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 5bb3b3a6-7412-459b-a159-42e2604c2a1e",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.439Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [reminder] wo=c0121a80-20af-4a41-b6fd-8cf4fc1003c3 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=c0121a80-20af-4a41-b6fd-8cf4fc1003c3 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=827m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=c0121a80-20af-4a41-b6fd-8cf4fc1003c3 mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=827m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.439Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 932.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24984020",
  "pageFaults": 0.0,
  "pageHits": 19.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027c0121a80-20af-4a41-b6fd-8cf4fc1003c3\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.431Z",
  "transactionId": 12146051.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24984018",
  "pageFaults": 0.0,
  "pageHits": 15.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027c0121a80-20af-4a41-b6fd-8cf4fc1003c3\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.417Z",
  "transactionId": 12146050.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24984016",
  "pageFaults": 0.0,
  "pageHits": 16.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027c0121a80-20af-4a41-b6fd-8cf4fc1003c3\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.412Z",
  "transactionId": 12146050.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24984013",
  "pageFaults": 0.0,
  "pageHits": 20.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027c0121a80-20af-4a41-b6fd-8cf4fc1003c3\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.398Z",
  "transactionId": 12146049.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:18:18 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24984010",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027c0121a80-20af-4a41-b6fd-8cf4fc1003c3\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:18:18.384Z",
  "transactionId": 12146048.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order c0121a80-20af-4a41-b6fd-8cf4fc1003c3
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order c0121a80-20af-4a41-b6fd-8cf4fc1003c3
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order c0121a80-20af-4a41-b6fd-8cf4fc1003c3",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.376Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant [daily_cron] About to process work order c0121a80-20af-4a41-b6fd-8cf4fc1003c3
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order c0121a80-20af-4a41-b6fd-8cf4fc1003c3
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order c0121a80-20af-4a41-b6fd-8cf4fc1003c3",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.376Z",
  "version": "unknown"
}
54s ago2026-07-27 01:18:18 UTC DEBUG virtual-assistant 🏢 Processing organization 5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf (11 work orders)
time2026-07-27 01:18:18 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:362
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
tracede62882e8df40e731d8f3935a52ee1d8
span0fa34f0f4af07b08
podvirtual-assistant-65b975d66b-l8wpw
message
🏢 Processing organization 5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf (11 work orders)
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:362",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "\ud83c\udfe2 Processing organization 5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf (11 work orders)",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:18:18.376Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant ✅ Org 5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf summary: processed=11, reminders_sent=0, moved_to_need_attention=0
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:377
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
✅ Org 5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf summary: processed=11, reminders_sent=0, moved_to_need_attention=0
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:377",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "\u2705 Org 5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf summary: processed=11, reminders_sent=0, moved_to_need_attention=0",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.406Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [reminder] wo=437c18c3-6691-461a-b3ce-742e84b88f69 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=437c18c3-6691-461a-b3ce-742e84b88f69 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=871m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=437c18c3-6691-461a-b3ce-742e84b88f69 mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=871m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.406Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 880.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24975637",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027437c18c3-6691-461a-b3ce-742e84b88f69\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.400Z",
  "transactionId": 12144390.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24975634",
  "pageFaults": 0.0,
  "pageHits": 9.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027437c18c3-6691-461a-b3ce-742e84b88f69\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.389Z",
  "transactionId": 12144389.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24975632",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027437c18c3-6691-461a-b3ce-742e84b88f69\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.384Z",
  "transactionId": 12144389.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24975631",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027437c18c3-6691-461a-b3ce-742e84b88f69\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.373Z",
  "transactionId": 12144388.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24975628",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027437c18c3-6691-461a-b3ce-742e84b88f69\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.360Z",
  "transactionId": 12144387.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 437c18c3-6691-461a-b3ce-742e84b88f69
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 437c18c3-6691-461a-b3ce-742e84b88f69
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 437c18c3-6691-461a-b3ce-742e84b88f69",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.353Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [daily_cron] About to process work order 437c18c3-6691-461a-b3ce-742e84b88f69
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 437c18c3-6691-461a-b3ce-742e84b88f69
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 437c18c3-6691-461a-b3ce-742e84b88f69",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.353Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [reminder] wo=da057921-1a96-43f2-af14-37551103141e mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=da057921-1a96-43f2-af14-37551103141e mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=339m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=da057921-1a96-43f2-af14-37551103141e mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=339m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.353Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 880.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24975626",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027da057921-1a96-43f2-af14-37551103141e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.347Z",
  "transactionId": 12144386.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24975623",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027da057921-1a96-43f2-af14-37551103141e\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.336Z",
  "transactionId": 12144385.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24975622",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027da057921-1a96-43f2-af14-37551103141e\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.331Z",
  "transactionId": 12144385.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24975619",
  "pageFaults": 0.0,
  "pageHits": 14.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027da057921-1a96-43f2-af14-37551103141e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.319Z",
  "transactionId": 12144384.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24975618",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027da057921-1a96-43f2-af14-37551103141e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.308Z",
  "transactionId": 12144383.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order da057921-1a96-43f2-af14-37551103141e
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order da057921-1a96-43f2-af14-37551103141e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order da057921-1a96-43f2-af14-37551103141e",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.301Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [daily_cron] About to process work order da057921-1a96-43f2-af14-37551103141e
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order da057921-1a96-43f2-af14-37551103141e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order da057921-1a96-43f2-af14-37551103141e",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.301Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [reminder] wo=b75c9de7-83f0-485d-8fc0-195ffd82307a mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=b75c9de7-83f0-485d-8fc0-195ffd82307a mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=391m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=b75c9de7-83f0-485d-8fc0-195ffd82307a mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=391m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.301Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 828.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24975616",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027b75c9de7-83f0-485d-8fc0-195ffd82307a\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.294Z",
  "transactionId": 12144382.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24975614",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027b75c9de7-83f0-485d-8fc0-195ffd82307a\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.283Z",
  "transactionId": 12144381.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24975613",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027b75c9de7-83f0-485d-8fc0-195ffd82307a\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.278Z",
  "transactionId": 12144381.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24975611",
  "pageFaults": 0.0,
  "pageHits": 13.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027b75c9de7-83f0-485d-8fc0-195ffd82307a\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.265Z",
  "transactionId": 12144380.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24975609",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027b75c9de7-83f0-485d-8fc0-195ffd82307a\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.252Z",
  "transactionId": 12144379.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order b75c9de7-83f0-485d-8fc0-195ffd82307a
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order b75c9de7-83f0-485d-8fc0-195ffd82307a
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order b75c9de7-83f0-485d-8fc0-195ffd82307a",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.246Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [daily_cron] About to process work order b75c9de7-83f0-485d-8fc0-195ffd82307a
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order b75c9de7-83f0-485d-8fc0-195ffd82307a
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order b75c9de7-83f0-485d-8fc0-195ffd82307a",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.246Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [reminder] wo=dd15f131-56f1-48f2-919c-a4c61bff494a mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=dd15f131-56f1-48f2-919c-a4c61bff494a mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=415m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=dd15f131-56f1-48f2-919c-a4c61bff494a mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=415m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.245Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 880.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24975606",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027dd15f131-56f1-48f2-919c-a4c61bff494a\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.240Z",
  "transactionId": 12144378.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24975603",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027dd15f131-56f1-48f2-919c-a4c61bff494a\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.229Z",
  "transactionId": 12144377.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24975601",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027dd15f131-56f1-48f2-919c-a4c61bff494a\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.224Z",
  "transactionId": 12144377.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24975598",
  "pageFaults": 0.0,
  "pageHits": 14.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027dd15f131-56f1-48f2-919c-a4c61bff494a\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.213Z",
  "transactionId": 12144376.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24975595",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027dd15f131-56f1-48f2-919c-a4c61bff494a\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.201Z",
  "transactionId": 12144375.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order dd15f131-56f1-48f2-919c-a4c61bff494a
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order dd15f131-56f1-48f2-919c-a4c61bff494a
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order dd15f131-56f1-48f2-919c-a4c61bff494a",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.194Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [daily_cron] About to process work order dd15f131-56f1-48f2-919c-a4c61bff494a
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order dd15f131-56f1-48f2-919c-a4c61bff494a
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order dd15f131-56f1-48f2-919c-a4c61bff494a",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.194Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [reminder] wo=541a6291-1a99-4640-b3d1-f7ab73bcc8a5 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=541a6291-1a99-4640-b3d1-f7ab73bcc8a5 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=422m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=541a6291-1a99-4640-b3d1-f7ab73bcc8a5 mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=422m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.194Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 880.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24975591",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027541a6291-1a99-4640-b3d1-f7ab73bcc8a5\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.188Z",
  "transactionId": 12144374.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24975590",
  "pageFaults": 0.0,
  "pageHits": 30.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027541a6291-1a99-4640-b3d1-f7ab73bcc8a5\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.177Z",
  "transactionId": 12144373.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24975588",
  "pageFaults": 0.0,
  "pageHits": 31.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027541a6291-1a99-4640-b3d1-f7ab73bcc8a5\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.171Z",
  "transactionId": 12144373.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24975587",
  "pageFaults": 0.0,
  "pageHits": 47.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027541a6291-1a99-4640-b3d1-f7ab73bcc8a5\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.160Z",
  "transactionId": 12144372.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24975586",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027541a6291-1a99-4640-b3d1-f7ab73bcc8a5\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.146Z",
  "transactionId": 12144371.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 541a6291-1a99-4640-b3d1-f7ab73bcc8a5
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 541a6291-1a99-4640-b3d1-f7ab73bcc8a5
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 541a6291-1a99-4640-b3d1-f7ab73bcc8a5",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.140Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [daily_cron] About to process work order 541a6291-1a99-4640-b3d1-f7ab73bcc8a5
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 541a6291-1a99-4640-b3d1-f7ab73bcc8a5
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 541a6291-1a99-4640-b3d1-f7ab73bcc8a5",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.140Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [reminder] wo=594ce58e-8192-4c80-9386-832b22bfe1f4 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=594ce58e-8192-4c80-9386-832b22bfe1f4 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=4820m < step=4320m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=594ce58e-8192-4c80-9386-832b22bfe1f4 mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=4820m \u003c step=4320m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.140Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 776.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24975583",
  "pageFaults": 0.0,
  "pageHits": 8.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027594ce58e-8192-4c80-9386-832b22bfe1f4\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.134Z",
  "transactionId": 12144370.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24975580",
  "pageFaults": 0.0,
  "pageHits": 4.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027594ce58e-8192-4c80-9386-832b22bfe1f4\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.123Z",
  "transactionId": 12144369.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24975577",
  "pageFaults": 0.0,
  "pageHits": 6.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027594ce58e-8192-4c80-9386-832b22bfe1f4\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.118Z",
  "transactionId": 12144369.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24975576",
  "pageFaults": 0.0,
  "pageHits": 8.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027594ce58e-8192-4c80-9386-832b22bfe1f4\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.108Z",
  "transactionId": 12144368.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24975574",
  "pageFaults": 0.0,
  "pageHits": 9.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027594ce58e-8192-4c80-9386-832b22bfe1f4\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.096Z",
  "transactionId": 12144367.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 594ce58e-8192-4c80-9386-832b22bfe1f4
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 594ce58e-8192-4c80-9386-832b22bfe1f4
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 594ce58e-8192-4c80-9386-832b22bfe1f4",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.089Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [daily_cron] About to process work order 594ce58e-8192-4c80-9386-832b22bfe1f4
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 594ce58e-8192-4c80-9386-832b22bfe1f4
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 594ce58e-8192-4c80-9386-832b22bfe1f4",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.089Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [reminder] wo=0944a342-178a-4fea-a67d-5bdfed6d9928 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=0944a342-178a-4fea-a67d-5bdfed6d9928 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=4821m < step=4320m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=0944a342-178a-4fea-a67d-5bdfed6d9928 mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=4821m \u003c step=4320m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.089Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 776.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24975570",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u00270944a342-178a-4fea-a67d-5bdfed6d9928\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.083Z",
  "transactionId": 12144366.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24975565",
  "pageFaults": 0.0,
  "pageHits": 2.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u00270944a342-178a-4fea-a67d-5bdfed6d9928\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.071Z",
  "transactionId": 12144365.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24975563",
  "pageFaults": 0.0,
  "pageHits": 5.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u00270944a342-178a-4fea-a67d-5bdfed6d9928\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.066Z",
  "transactionId": 12144365.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24975559",
  "pageFaults": 0.0,
  "pageHits": 5.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u00270944a342-178a-4fea-a67d-5bdfed6d9928\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.055Z",
  "transactionId": 12144364.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24975557",
  "pageFaults": 0.0,
  "pageHits": 8.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00270944a342-178a-4fea-a67d-5bdfed6d9928\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.042Z",
  "transactionId": 12144363.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 0944a342-178a-4fea-a67d-5bdfed6d9928
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 0944a342-178a-4fea-a67d-5bdfed6d9928
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 0944a342-178a-4fea-a67d-5bdfed6d9928",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.035Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [daily_cron] About to process work order 0944a342-178a-4fea-a67d-5bdfed6d9928
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 0944a342-178a-4fea-a67d-5bdfed6d9928
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 0944a342-178a-4fea-a67d-5bdfed6d9928",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.035Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC DEBUG virtual-assistant [reminder] wo=63b88918-9684-476d-8a9b-71dd8b970613 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:17:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=63b88918-9684-476d-8a9b-71dd8b970613 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=508m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=63b88918-9684-476d-8a9b-71dd8b970613 mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=508m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:17.034Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 984.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24975554",
  "pageFaults": 0.0,
  "pageHits": 18.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u002763b88918-9684-476d-8a9b-71dd8b970613\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.028Z",
  "transactionId": 12144362.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24975551",
  "pageFaults": 0.0,
  "pageHits": 13.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u002763b88918-9684-476d-8a9b-71dd8b970613\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.017Z",
  "transactionId": 12144361.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24975549",
  "pageFaults": 0.0,
  "pageHits": 14.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u002763b88918-9684-476d-8a9b-71dd8b970613\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.012Z",
  "transactionId": 12144361.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:17 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:17:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24975547",
  "pageFaults": 0.0,
  "pageHits": 16.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u002763b88918-9684-476d-8a9b-71dd8b970613\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:17.001Z",
  "transactionId": 12144360.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:17:16 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24975545",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u002763b88918-9684-476d-8a9b-71dd8b970613\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:16.988Z",
  "transactionId": 12144359.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 63b88918-9684-476d-8a9b-71dd8b970613
time2026-07-27 01:17:16 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 63b88918-9684-476d-8a9b-71dd8b970613
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 63b88918-9684-476d-8a9b-71dd8b970613",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:16.980Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:16 UTC DEBUG virtual-assistant [daily_cron] About to process work order 63b88918-9684-476d-8a9b-71dd8b970613
time2026-07-27 01:17:16 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 63b88918-9684-476d-8a9b-71dd8b970613
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 63b88918-9684-476d-8a9b-71dd8b970613",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:16.980Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:16 UTC DEBUG virtual-assistant [reminder] wo=e0161a74-d5bc-4035-b55d-5dda8a1e4de7 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:17:16 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=e0161a74-d5bc-4035-b55d-5dda8a1e4de7 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=678m < step=2880m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=e0161a74-d5bc-4035-b55d-5dda8a1e4de7 mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=678m \u003c step=2880m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:16.980Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:16 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:17:16 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 880.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24975543",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027e0161a74-d5bc-4035-b55d-5dda8a1e4de7\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:16.974Z",
  "transactionId": 12144358.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:16 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24975541",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027e0161a74-d5bc-4035-b55d-5dda8a1e4de7\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:16.963Z",
  "transactionId": 12144357.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:16 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24975540",
  "pageFaults": 0.0,
  "pageHits": 13.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027e0161a74-d5bc-4035-b55d-5dda8a1e4de7\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:16.958Z",
  "transactionId": 12144357.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:17:16 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24975537",
  "pageFaults": 0.0,
  "pageHits": 15.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027e0161a74-d5bc-4035-b55d-5dda8a1e4de7\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:16.946Z",
  "transactionId": 12144356.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:17:16 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24975536",
  "pageFaults": 0.0,
  "pageHits": 9.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027e0161a74-d5bc-4035-b55d-5dda8a1e4de7\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:16.933Z",
  "transactionId": 12144355.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order e0161a74-d5bc-4035-b55d-5dda8a1e4de7
time2026-07-27 01:17:16 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order e0161a74-d5bc-4035-b55d-5dda8a1e4de7
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order e0161a74-d5bc-4035-b55d-5dda8a1e4de7",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:16.926Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:16 UTC DEBUG virtual-assistant [daily_cron] About to process work order e0161a74-d5bc-4035-b55d-5dda8a1e4de7
time2026-07-27 01:17:16 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order e0161a74-d5bc-4035-b55d-5dda8a1e4de7
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order e0161a74-d5bc-4035-b55d-5dda8a1e4de7",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:16.926Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:16 UTC DEBUG virtual-assistant [reminder] wo=5bb3b3a6-7412-459b-a159-42e2604c2a1e mode=RECURRING should_send=False escalate=False override=set reason='override pending: eligible...
time2026-07-27 01:17:16 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=5bb3b3a6-7412-459b-a159-42e2604c2a1e mode=RECURRING should_send=False escalate=False override=set reason='override pending: eligible in 10926m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=5bb3b3a6-7412-459b-a159-42e2604c2a1e mode=RECURRING should_send=False escalate=False override=set reason=\u0027override pending: eligible in 10926m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:16.926Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:16 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:17:16 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 828.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24975534",
  "pageFaults": 0.0,
  "pageHits": 13.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u00275bb3b3a6-7412-459b-a159-42e2604c2a1e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:16.920Z",
  "transactionId": 12144354.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:16 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24975530",
  "pageFaults": 0.0,
  "pageHits": 18.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u00275bb3b3a6-7412-459b-a159-42e2604c2a1e\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:16.908Z",
  "transactionId": 12144353.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:16 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24975529",
  "pageFaults": 0.0,
  "pageHits": 19.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u00275bb3b3a6-7412-459b-a159-42e2604c2a1e\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:16.903Z",
  "transactionId": 12144353.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:17:16 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24975525",
  "pageFaults": 0.0,
  "pageHits": 21.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u00275bb3b3a6-7412-459b-a159-42e2604c2a1e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:16.892Z",
  "transactionId": 12144352.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:17:16 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24975522",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00275bb3b3a6-7412-459b-a159-42e2604c2a1e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:16.879Z",
  "transactionId": 12144351.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 5bb3b3a6-7412-459b-a159-42e2604c2a1e
time2026-07-27 01:17:16 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 5bb3b3a6-7412-459b-a159-42e2604c2a1e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 5bb3b3a6-7412-459b-a159-42e2604c2a1e",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:16.873Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:16 UTC DEBUG virtual-assistant [daily_cron] About to process work order 5bb3b3a6-7412-459b-a159-42e2604c2a1e
time2026-07-27 01:17:16 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 5bb3b3a6-7412-459b-a159-42e2604c2a1e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 5bb3b3a6-7412-459b-a159-42e2604c2a1e",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:16.872Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:16 UTC DEBUG virtual-assistant [reminder] wo=c0121a80-20af-4a41-b6fd-8cf4fc1003c3 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:17:16 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=c0121a80-20af-4a41-b6fd-8cf4fc1003c3 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=826m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=c0121a80-20af-4a41-b6fd-8cf4fc1003c3 mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=826m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:16.872Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:16 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:17:16 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 932.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24975520",
  "pageFaults": 0.0,
  "pageHits": 19.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027c0121a80-20af-4a41-b6fd-8cf4fc1003c3\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:16.866Z",
  "transactionId": 12144350.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:16 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24975517",
  "pageFaults": 0.0,
  "pageHits": 15.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027c0121a80-20af-4a41-b6fd-8cf4fc1003c3\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:16.854Z",
  "transactionId": 12144349.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:17:16 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24975515",
  "pageFaults": 0.0,
  "pageHits": 16.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027c0121a80-20af-4a41-b6fd-8cf4fc1003c3\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:16.849Z",
  "transactionId": 12144349.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:17:16 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24975512",
  "pageFaults": 0.0,
  "pageHits": 20.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027c0121a80-20af-4a41-b6fd-8cf4fc1003c3\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:16.837Z",
  "transactionId": 12144348.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:17:16 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24975510",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027c0121a80-20af-4a41-b6fd-8cf4fc1003c3\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:17:16.825Z",
  "transactionId": 12144347.0,
  "waiting": 0.0
}
1m ago2026-07-27 01:17:16 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order c0121a80-20af-4a41-b6fd-8cf4fc1003c3
time2026-07-27 01:17:16 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order c0121a80-20af-4a41-b6fd-8cf4fc1003c3
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order c0121a80-20af-4a41-b6fd-8cf4fc1003c3",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:16.818Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:16 UTC DEBUG virtual-assistant [daily_cron] About to process work order c0121a80-20af-4a41-b6fd-8cf4fc1003c3
time2026-07-27 01:17:16 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order c0121a80-20af-4a41-b6fd-8cf4fc1003c3
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order c0121a80-20af-4a41-b6fd-8cf4fc1003c3",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:16.818Z",
  "version": "unknown"
}
1m ago2026-07-27 01:17:16 UTC DEBUG virtual-assistant 🏢 Processing organization 5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf (11 work orders)
time2026-07-27 01:17:16 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:362
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
traceee744f0c5ba4bf7611f2f9b0d0236561
spanfa681e8ee8f7f3af
podvirtual-assistant-65b975d66b-l8wpw
message
🏢 Processing organization 5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf (11 work orders)
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:362",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "\ud83c\udfe2 Processing organization 5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf (11 work orders)",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:17:16.818Z",
  "version": "unknown"
}
2m ago2026-07-27 01:16:17 UTC DEBUG virtual-assistant ✅ Org 5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf summary: processed=11, reminders_sent=0, moved_to_need_attention=0
time2026-07-27 01:16:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:377
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podvirtual-assistant-65b975d66b-l8wpw
message
✅ Org 5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf summary: processed=11, reminders_sent=0, moved_to_need_attention=0
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:377",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "\u2705 Org 5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf summary: processed=11, reminders_sent=0, moved_to_need_attention=0",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:16:17.404Z",
  "version": "unknown"
}
2m ago2026-07-27 01:16:17 UTC DEBUG virtual-assistant [reminder] wo=437c18c3-6691-461a-b3ce-742e84b88f69 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:16:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=437c18c3-6691-461a-b3ce-742e84b88f69 mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=870m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=437c18c3-6691-461a-b3ce-742e84b88f69 mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=870m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:16:17.404Z",
  "version": "unknown"
}
2m ago2026-07-27 01:16:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:16:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 880.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24966404",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027437c18c3-6691-461a-b3ce-742e84b88f69\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:16:17.398Z",
  "transactionId": 12142683.0,
  "waiting": 0.0
}
2m ago2026-07-27 01:16:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:16:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24966400",
  "pageFaults": 0.0,
  "pageHits": 9.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027437c18c3-6691-461a-b3ce-742e84b88f69\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:16:17.387Z",
  "transactionId": 12142682.0,
  "waiting": 0.0
}
2m ago2026-07-27 01:16:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:16:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24966398",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027437c18c3-6691-461a-b3ce-742e84b88f69\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:16:17.382Z",
  "transactionId": 12142682.0,
  "waiting": 0.0
}
2m ago2026-07-27 01:16:17 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:16:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24966395",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027437c18c3-6691-461a-b3ce-742e84b88f69\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:16:17.370Z",
  "transactionId": 12142681.0,
  "waiting": 0.0
}
2m ago2026-07-27 01:16:17 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:16:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24966390",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027437c18c3-6691-461a-b3ce-742e84b88f69\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:16:17.358Z",
  "transactionId": 12142680.0,
  "waiting": 0.0
}
2m ago2026-07-27 01:16:17 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 437c18c3-6691-461a-b3ce-742e84b88f69
time2026-07-27 01:16:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 437c18c3-6691-461a-b3ce-742e84b88f69
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 437c18c3-6691-461a-b3ce-742e84b88f69",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:16:17.351Z",
  "version": "unknown"
}
2m ago2026-07-27 01:16:17 UTC DEBUG virtual-assistant [daily_cron] About to process work order 437c18c3-6691-461a-b3ce-742e84b88f69
time2026-07-27 01:16:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 437c18c3-6691-461a-b3ce-742e84b88f69
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 437c18c3-6691-461a-b3ce-742e84b88f69",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:16:17.351Z",
  "version": "unknown"
}
2m ago2026-07-27 01:16:17 UTC DEBUG virtual-assistant [reminder] wo=da057921-1a96-43f2-af14-37551103141e mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:16:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=da057921-1a96-43f2-af14-37551103141e mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=338m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=da057921-1a96-43f2-af14-37551103141e mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=338m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:16:17.350Z",
  "version": "unknown"
}
2m ago2026-07-27 01:16:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:16:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 880.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24966389",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027da057921-1a96-43f2-af14-37551103141e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:16:17.345Z",
  "transactionId": 12142679.0,
  "waiting": 0.0
}
2m ago2026-07-27 01:16:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:16:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24966388",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027da057921-1a96-43f2-af14-37551103141e\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:16:17.333Z",
  "transactionId": 12142678.0,
  "waiting": 0.0
}
2m ago2026-07-27 01:16:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:16:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        RETURN count(a) as total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24966387",
  "pageFaults": 0.0,
  "pageHits": 12.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027da057921-1a96-43f2-af14-37551103141e\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:16:17.328Z",
  "transactionId": 12142678.0,
  "waiting": 0.0
}
2m ago2026-07-27 01:16:17 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 01:16:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podserver-2-dev-0
query
MATCH (wo:WorkOrder {tildaid: $wo_id})
        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type: 'U_REPLY'})
        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts
raw payload (15 fields)
{
  "allocatedBytes": 928.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24966386",
  "pageFaults": 0.0,
  "pageHits": 14.0,
  "planning": 0.0,
  "query": "\n        MATCH (wo:WorkOrder {tildaid: $wo_id})\n        OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n        RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n        ",
  "queryParameters": "{wo_id: \u0027da057921-1a96-43f2-af14-37551103141e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:16:17.316Z",
  "transactionId": 12142677.0,
  "waiting": 0.0
}
2m ago2026-07-27 01:16:17 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:16:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podserver-2-dev-0
query
MATCH (n:WorkOrder {tildaid: $node_id}) 
RETURN n
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "E0146DD7",
  "id": "24966384",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027da057921-1a96-43f2-af14-37551103141e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:16:17.303Z",
  "transactionId": 12142676.0,
  "waiting": 0.0
}
2m ago2026-07-27 01:16:17 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order da057921-1a96-43f2-af14-37551103141e
time2026-07-27 01:16:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order da057921-1a96-43f2-af14-37551103141e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order da057921-1a96-43f2-af14-37551103141e",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:16:17.296Z",
  "version": "unknown"
}
2m ago2026-07-27 01:16:17 UTC DEBUG virtual-assistant [daily_cron] About to process work order da057921-1a96-43f2-af14-37551103141e
time2026-07-27 01:16:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order da057921-1a96-43f2-af14-37551103141e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order da057921-1a96-43f2-af14-37551103141e",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:16:17.296Z",
  "version": "unknown"
}
2m ago2026-07-27 01:16:17 UTC DEBUG virtual-assistant [reminder] wo=b75c9de7-83f0-485d-8fc0-195ffd82307a mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due:...
time2026-07-27 01:16:17 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:244
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
versionunknown
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=b75c9de7-83f0-485d-8fc0-195ffd82307a mode=RECURRING should_send=False escalate=False override=none reason='RECURRING not due: now-base=390m < step=1440m'
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:244",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=b75c9de7-83f0-485d-8fc0-195ffd82307a mode=RECURRING should_send=False escalate=False override=none reason=\u0027RECURRING not due: now-base=390m \u003c step=1440m\u0027",
  "org_alias": "5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:16:17.296Z",
  "version": "unknown"
}
2m ago2026-07-27 01:16:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 01:16:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact)
            WHERE f.delpending = false
            RETURN f
            ORDER BY f.createdat ASC
raw payload (15 fields)
{
  "allocatedBytes": 828.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24966382",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027b75c9de7-83f0-485d-8fc0-195ffd82307a\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:16:17.290Z",
  "transactionId": 12142675.0,
  "waiting": 0.0
}
2m ago2026-07-27 01:16:17 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity) WHERE 1=1 AND a.activity_type IN...
time2026-07-27 01:16:17 UTC
severityINFO
servicevirtual-assistant
clustermaster
org5026d3b4-4bc1-45e9-a366-b1d4fe1aabcf
trace500c435d785ead69dd9022bfdc0e6ead
span46e5872b248c18ec
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity)
        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses 
        OPTIONAL MATCH (d:Document)
        WHERE d.tildaid IN COALESCE(a.docIds, [])
        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents
        // Compute latest AI_MSG draft id per work order for gating REGENERATE
        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]->(ai:WorkOrderActivity)
        WHERE ai.activity_type = 'AI_MSG'  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck
        WITH w, a, documents,
             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,
             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs
        WITH a, documents,
             CASE
               WHEN size(ai_msgs) = 0 THEN false
               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)
             END AS is_latest_draft
        RETURN a,
               CASE WHEN size(documents) > 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,
               is_latest_draft
        ORDER BY a.createdat DESC
        SKIP $skip
        LIMIT $limit
raw payload (15 fields)
{
  "allocatedBytes": 3272.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "2A13D7A9",
  "id": "24966380",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "\n        MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n        WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n        OPTIONAL MATCH (d:Document)\n        WHERE d.tildaid IN COALESCE(a.docIds, [])\n        WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n        // Compute latest AI_MSG draft id per work order for gating REGENERATE\n        OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n        WHERE ai.activity_type = \u0027AI_MSG\u0027  // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n        WITH w, a, documents,\n             max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n             collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n        WITH a, documents,\n             CASE\n               WHEN size(ai_msgs) = 0 THEN false\n               ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n             END AS is_latest_draft\n        RETURN a,\n               CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n               is_latest_draft\n        ORDER BY a.createdat DESC\n        SKIP $skip\n        LIMIT $limit\n        ",
  "queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027b75c9de7-83f0-485d-8fc0-195ffd82307a\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:48790\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:16:17.277Z",
  "transactionId": 12142674.0,
  "waiting": 0.0
}

Paginated with Cloud Logging page cursors, so you can walk the whole 3d window — not just the newest page. Click any filter by value to scope the view (resets to page 1). Paste a trace id to see every log line across all services for that one request.