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

Logs

Live Cloud Logging query (nothing stored) · master · last 6h · newest first · page 2 (200/page) · 200 entries in 6148 ms all app neo4j weaviate time relative absolute

reset
53s ago2026-07-27 01:11:03 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:11:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 1.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "FA66F084",
  "id": "24933682",
  "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: \u00273bf3ef7d-a0ce-45b3-8fc2-53d35977cfed\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:11:03.043Z",
  "transactionId": 12133083.0,
  "waiting": 0.0
}
53s ago2026-07-27 01:11:03 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:11:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 1.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "4C51129A",
  "id": "24933681",
  "pageFaults": 0.0,
  "pageHits": 7.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: \u00273bf3ef7d-a0ce-45b3-8fc2-53d35977cfed\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:11:03.030Z",
  "transactionId": 12133082.0,
  "waiting": 0.0
}
53s ago2026-07-27 01:11:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933680",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00273bf3ef7d-a0ce-45b3-8fc2-53d35977cfed\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:11:03.017Z",
  "transactionId": 12133081.0,
  "waiting": 0.0
}
53s ago2026-07-27 01:11:03 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 3bf3ef7d-a0ce-45b3-8fc2-53d35977cfed
time2026-07-27 01:11:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 3bf3ef7d-a0ce-45b3-8fc2-53d35977cfed
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 3bf3ef7d-a0ce-45b3-8fc2-53d35977cfed",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:03.010Z",
  "version": "unknown"
}
53s ago2026-07-27 01:11:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order 3bf3ef7d-a0ce-45b3-8fc2-53d35977cfed
time2026-07-27 01:11:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 3bf3ef7d-a0ce-45b3-8fc2-53d35977cfed
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 3bf3ef7d-a0ce-45b3-8fc2-53d35977cfed",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:03.010Z",
  "version": "unknown"
}
53s ago2026-07-27 01:11:03 UTC DEBUG virtual-assistant [reminder] wo=bc7a73a7-ae0d-4aa5-b82e-fccd5e0d9a3f no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=bc7a73a7-ae0d-4aa5-b82e-fccd5e0d9a3f no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=bc7a73a7-ae0d-4aa5-b82e-fccd5e0d9a3f no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:03.010Z",
  "version": "unknown"
}
53s ago2026-07-27 01:11:03 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:11:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933679",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u0027bc7a73a7-ae0d-4aa5-b82e-fccd5e0d9a3f\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:11:03.005Z",
  "transactionId": 12133080.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933678",
  "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        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: \u0027bc7a73a7-ae0d-4aa5-b82e-fccd5e0d9a3f\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:11:02.993Z",
  "transactionId": 12133079.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933677",
  "pageFaults": 0.0,
  "pageHits": 7.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: \u0027bc7a73a7-ae0d-4aa5-b82e-fccd5e0d9a3f\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:11:02.988Z",
  "transactionId": 12133079.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933676",
  "pageFaults": 0.0,
  "pageHits": 9.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: \u0027bc7a73a7-ae0d-4aa5-b82e-fccd5e0d9a3f\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:11:02.975Z",
  "transactionId": 12133078.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933675",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027bc7a73a7-ae0d-4aa5-b82e-fccd5e0d9a3f\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:11:02.961Z",
  "transactionId": 12133077.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order bc7a73a7-ae0d-4aa5-b82e-fccd5e0d9a3f
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order bc7a73a7-ae0d-4aa5-b82e-fccd5e0d9a3f
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order bc7a73a7-ae0d-4aa5-b82e-fccd5e0d9a3f",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.954Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order bc7a73a7-ae0d-4aa5-b82e-fccd5e0d9a3f
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order bc7a73a7-ae0d-4aa5-b82e-fccd5e0d9a3f
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order bc7a73a7-ae0d-4aa5-b82e-fccd5e0d9a3f",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.954Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=77bee6d8-7cae-4f02-a7a2-0258a4d72ace no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=77bee6d8-7cae-4f02-a7a2-0258a4d72ace no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=77bee6d8-7cae-4f02-a7a2-0258a4d72ace no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.953Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933674",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u002777bee6d8-7cae-4f02-a7a2-0258a4d72ace\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:11:02.948Z",
  "transactionId": 12133076.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933673",
  "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        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: \u002777bee6d8-7cae-4f02-a7a2-0258a4d72ace\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:11:02.936Z",
  "transactionId": 12133075.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933672",
  "pageFaults": 0.0,
  "pageHits": 8.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: \u002777bee6d8-7cae-4f02-a7a2-0258a4d72ace\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:11:02.930Z",
  "transactionId": 12133075.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933671",
  "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: \u002777bee6d8-7cae-4f02-a7a2-0258a4d72ace\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:11:02.918Z",
  "transactionId": 12133074.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933670",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u002777bee6d8-7cae-4f02-a7a2-0258a4d72ace\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:11:02.903Z",
  "transactionId": 12133073.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 77bee6d8-7cae-4f02-a7a2-0258a4d72ace
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 77bee6d8-7cae-4f02-a7a2-0258a4d72ace
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 77bee6d8-7cae-4f02-a7a2-0258a4d72ace",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.896Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order 77bee6d8-7cae-4f02-a7a2-0258a4d72ace
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 77bee6d8-7cae-4f02-a7a2-0258a4d72ace
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 77bee6d8-7cae-4f02-a7a2-0258a4d72ace",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.895Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=944aea8c-8a7d-4920-a136-fdbe9a629a21 no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=944aea8c-8a7d-4920-a136-fdbe9a629a21 no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=944aea8c-8a7d-4920-a136-fdbe9a629a21 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.895Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933669",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u0027944aea8c-8a7d-4920-a136-fdbe9a629a21\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:11:02.890Z",
  "transactionId": 12133072.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933668",
  "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        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: \u0027944aea8c-8a7d-4920-a136-fdbe9a629a21\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:11:02.877Z",
  "transactionId": 12133071.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933667",
  "pageFaults": 0.0,
  "pageHits": 7.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: \u0027944aea8c-8a7d-4920-a136-fdbe9a629a21\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:11:02.872Z",
  "transactionId": 12133071.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933666",
  "pageFaults": 0.0,
  "pageHits": 9.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: \u0027944aea8c-8a7d-4920-a136-fdbe9a629a21\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:11:02.860Z",
  "transactionId": 12133070.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933665",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027944aea8c-8a7d-4920-a136-fdbe9a629a21\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:11:02.847Z",
  "transactionId": 12133069.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 944aea8c-8a7d-4920-a136-fdbe9a629a21
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 944aea8c-8a7d-4920-a136-fdbe9a629a21
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 944aea8c-8a7d-4920-a136-fdbe9a629a21",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.840Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order 944aea8c-8a7d-4920-a136-fdbe9a629a21
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 944aea8c-8a7d-4920-a136-fdbe9a629a21
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 944aea8c-8a7d-4920-a136-fdbe9a629a21",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.840Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=64ce8701-d115-4d99-9bac-4a93ab248a0a no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=64ce8701-d115-4d99-9bac-4a93ab248a0a no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=64ce8701-d115-4d99-9bac-4a93ab248a0a no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.839Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933664",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u002764ce8701-d115-4d99-9bac-4a93ab248a0a\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:11:02.834Z",
  "transactionId": 12133068.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933663",
  "pageFaults": 0.0,
  "pageHits": 8.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: \u002764ce8701-d115-4d99-9bac-4a93ab248a0a\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:11:02.823Z",
  "transactionId": 12133067.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933662",
  "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        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u002764ce8701-d115-4d99-9bac-4a93ab248a0a\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:11:02.817Z",
  "transactionId": 12133067.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933661",
  "pageFaults": 0.0,
  "pageHits": 10.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: \u002764ce8701-d115-4d99-9bac-4a93ab248a0a\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:11:02.806Z",
  "transactionId": 12133066.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933660",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u002764ce8701-d115-4d99-9bac-4a93ab248a0a\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:11:02.793Z",
  "transactionId": 12133065.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 64ce8701-d115-4d99-9bac-4a93ab248a0a
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 64ce8701-d115-4d99-9bac-4a93ab248a0a
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 64ce8701-d115-4d99-9bac-4a93ab248a0a",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.786Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order 64ce8701-d115-4d99-9bac-4a93ab248a0a
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 64ce8701-d115-4d99-9bac-4a93ab248a0a
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 64ce8701-d115-4d99-9bac-4a93ab248a0a",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.785Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=3da33201-0a44-4c87-8cfb-cd16ca1594aa no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=3da33201-0a44-4c87-8cfb-cd16ca1594aa no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=3da33201-0a44-4c87-8cfb-cd16ca1594aa no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.785Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933659",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u00273da33201-0a44-4c87-8cfb-cd16ca1594aa\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:11:02.780Z",
  "transactionId": 12133064.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933658",
  "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: \u00273da33201-0a44-4c87-8cfb-cd16ca1594aa\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:11:02.767Z",
  "transactionId": 12133063.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933657",
  "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: \u00273da33201-0a44-4c87-8cfb-cd16ca1594aa\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:11:02.763Z",
  "transactionId": 12133063.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933656",
  "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: \u00273da33201-0a44-4c87-8cfb-cd16ca1594aa\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:11:02.751Z",
  "transactionId": 12133062.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933655",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00273da33201-0a44-4c87-8cfb-cd16ca1594aa\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:11:02.737Z",
  "transactionId": 12133061.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 3da33201-0a44-4c87-8cfb-cd16ca1594aa
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 3da33201-0a44-4c87-8cfb-cd16ca1594aa
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 3da33201-0a44-4c87-8cfb-cd16ca1594aa",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.730Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order 3da33201-0a44-4c87-8cfb-cd16ca1594aa
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 3da33201-0a44-4c87-8cfb-cd16ca1594aa
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 3da33201-0a44-4c87-8cfb-cd16ca1594aa",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.730Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=b8504480-8f12-4c01-8d7c-e3a88b373952 no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=b8504480-8f12-4c01-8d7c-e3a88b373952 no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=b8504480-8f12-4c01-8d7c-e3a88b373952 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.730Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933654",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u0027b8504480-8f12-4c01-8d7c-e3a88b373952\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:11:02.724Z",
  "transactionId": 12133060.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933653",
  "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: \u0027b8504480-8f12-4c01-8d7c-e3a88b373952\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:11:02.713Z",
  "transactionId": 12133059.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933652",
  "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: \u0027b8504480-8f12-4c01-8d7c-e3a88b373952\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:11:02.708Z",
  "transactionId": 12133059.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933651",
  "pageFaults": 0.0,
  "pageHits": 7.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: \u0027b8504480-8f12-4c01-8d7c-e3a88b373952\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:11:02.695Z",
  "transactionId": 12133058.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933650",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027b8504480-8f12-4c01-8d7c-e3a88b373952\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:11:02.683Z",
  "transactionId": 12133057.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order b8504480-8f12-4c01-8d7c-e3a88b373952
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order b8504480-8f12-4c01-8d7c-e3a88b373952
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order b8504480-8f12-4c01-8d7c-e3a88b373952",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.676Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order b8504480-8f12-4c01-8d7c-e3a88b373952
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order b8504480-8f12-4c01-8d7c-e3a88b373952
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order b8504480-8f12-4c01-8d7c-e3a88b373952",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.676Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=92c52c52-7ac1-4877-9d0f-7459d579dc36 no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=92c52c52-7ac1-4877-9d0f-7459d579dc36 no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=92c52c52-7ac1-4877-9d0f-7459d579dc36 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.676Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933649",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u002792c52c52-7ac1-4877-9d0f-7459d579dc36\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:11:02.671Z",
  "transactionId": 12133056.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933648",
  "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        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: \u002792c52c52-7ac1-4877-9d0f-7459d579dc36\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:11:02.660Z",
  "transactionId": 12133055.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933647",
  "pageFaults": 0.0,
  "pageHits": 8.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: \u002792c52c52-7ac1-4877-9d0f-7459d579dc36\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:11:02.654Z",
  "transactionId": 12133055.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933646",
  "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: \u002792c52c52-7ac1-4877-9d0f-7459d579dc36\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:11:02.642Z",
  "transactionId": 12133054.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933645",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u002792c52c52-7ac1-4877-9d0f-7459d579dc36\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:11:02.629Z",
  "transactionId": 12133053.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 92c52c52-7ac1-4877-9d0f-7459d579dc36
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 92c52c52-7ac1-4877-9d0f-7459d579dc36
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 92c52c52-7ac1-4877-9d0f-7459d579dc36",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.623Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order 92c52c52-7ac1-4877-9d0f-7459d579dc36
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 92c52c52-7ac1-4877-9d0f-7459d579dc36
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 92c52c52-7ac1-4877-9d0f-7459d579dc36",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.623Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=12715bc3-46bf-42d9-a40a-690dfde34bbe no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=12715bc3-46bf-42d9-a40a-690dfde34bbe no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=12715bc3-46bf-42d9-a40a-690dfde34bbe no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.622Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933644",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u002712715bc3-46bf-42d9-a40a-690dfde34bbe\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:11:02.617Z",
  "transactionId": 12133052.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933643",
  "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        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: \u002712715bc3-46bf-42d9-a40a-690dfde34bbe\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:11:02.607Z",
  "transactionId": 12133051.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933642",
  "pageFaults": 0.0,
  "pageHits": 7.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: \u002712715bc3-46bf-42d9-a40a-690dfde34bbe\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:11:02.602Z",
  "transactionId": 12133051.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933641",
  "pageFaults": 0.0,
  "pageHits": 9.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: \u002712715bc3-46bf-42d9-a40a-690dfde34bbe\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:11:02.590Z",
  "transactionId": 12133050.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933640",
  "pageFaults": 0.0,
  "pageHits": 8.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u002712715bc3-46bf-42d9-a40a-690dfde34bbe\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:11:02.576Z",
  "transactionId": 12133049.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 12715bc3-46bf-42d9-a40a-690dfde34bbe
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 12715bc3-46bf-42d9-a40a-690dfde34bbe
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 12715bc3-46bf-42d9-a40a-690dfde34bbe",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.570Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order 12715bc3-46bf-42d9-a40a-690dfde34bbe
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 12715bc3-46bf-42d9-a40a-690dfde34bbe
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 12715bc3-46bf-42d9-a40a-690dfde34bbe",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.569Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=970a6b07-f3d7-4951-b56c-921ab2b9311f no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=970a6b07-f3d7-4951-b56c-921ab2b9311f no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=970a6b07-f3d7-4951-b56c-921ab2b9311f no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.569Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933639",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u0027970a6b07-f3d7-4951-b56c-921ab2b9311f\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:11:02.564Z",
  "transactionId": 12133048.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933638",
  "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        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: \u0027970a6b07-f3d7-4951-b56c-921ab2b9311f\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:11:02.552Z",
  "transactionId": 12133047.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933637",
  "pageFaults": 0.0,
  "pageHits": 7.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: \u0027970a6b07-f3d7-4951-b56c-921ab2b9311f\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:11:02.547Z",
  "transactionId": 12133047.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933636",
  "pageFaults": 0.0,
  "pageHits": 9.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: \u0027970a6b07-f3d7-4951-b56c-921ab2b9311f\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:11:02.536Z",
  "transactionId": 12133046.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933635",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027970a6b07-f3d7-4951-b56c-921ab2b9311f\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:11:02.523Z",
  "transactionId": 12133045.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 970a6b07-f3d7-4951-b56c-921ab2b9311f
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 970a6b07-f3d7-4951-b56c-921ab2b9311f
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 970a6b07-f3d7-4951-b56c-921ab2b9311f",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.517Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order 970a6b07-f3d7-4951-b56c-921ab2b9311f
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 970a6b07-f3d7-4951-b56c-921ab2b9311f
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 970a6b07-f3d7-4951-b56c-921ab2b9311f",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.516Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=1ddd39df-cf15-4b2f-9825-c0855c0485e3 no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=1ddd39df-cf15-4b2f-9825-c0855c0485e3 no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=1ddd39df-cf15-4b2f-9825-c0855c0485e3 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.516Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933634",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u00271ddd39df-cf15-4b2f-9825-c0855c0485e3\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:11:02.511Z",
  "transactionId": 12133044.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933633",
  "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        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: \u00271ddd39df-cf15-4b2f-9825-c0855c0485e3\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:11:02.498Z",
  "transactionId": 12133043.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933632",
  "pageFaults": 0.0,
  "pageHits": 7.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: \u00271ddd39df-cf15-4b2f-9825-c0855c0485e3\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:11:02.493Z",
  "transactionId": 12133043.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933631",
  "pageFaults": 0.0,
  "pageHits": 9.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: \u00271ddd39df-cf15-4b2f-9825-c0855c0485e3\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:11:02.481Z",
  "transactionId": 12133042.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933630",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00271ddd39df-cf15-4b2f-9825-c0855c0485e3\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:11:02.468Z",
  "transactionId": 12133041.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 1ddd39df-cf15-4b2f-9825-c0855c0485e3
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 1ddd39df-cf15-4b2f-9825-c0855c0485e3
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 1ddd39df-cf15-4b2f-9825-c0855c0485e3",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.461Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order 1ddd39df-cf15-4b2f-9825-c0855c0485e3
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 1ddd39df-cf15-4b2f-9825-c0855c0485e3
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 1ddd39df-cf15-4b2f-9825-c0855c0485e3",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.461Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=3e38e7e3-b1ed-4438-a703-280b558c02d4 no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=3e38e7e3-b1ed-4438-a703-280b558c02d4 no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=3e38e7e3-b1ed-4438-a703-280b558c02d4 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.461Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 1.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933629",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u00273e38e7e3-b1ed-4438-a703-280b558c02d4\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:11:02.455Z",
  "transactionId": 12133040.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933628",
  "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        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: \u00273e38e7e3-b1ed-4438-a703-280b558c02d4\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:11:02.443Z",
  "transactionId": 12133039.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933627",
  "pageFaults": 0.0,
  "pageHits": 7.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: \u00273e38e7e3-b1ed-4438-a703-280b558c02d4\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:11:02.437Z",
  "transactionId": 12133039.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933626",
  "pageFaults": 0.0,
  "pageHits": 9.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: \u00273e38e7e3-b1ed-4438-a703-280b558c02d4\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:11:02.424Z",
  "transactionId": 12133038.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933625",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00273e38e7e3-b1ed-4438-a703-280b558c02d4\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:11:02.410Z",
  "transactionId": 12133037.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 3e38e7e3-b1ed-4438-a703-280b558c02d4
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 3e38e7e3-b1ed-4438-a703-280b558c02d4
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 3e38e7e3-b1ed-4438-a703-280b558c02d4",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.404Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order 3e38e7e3-b1ed-4438-a703-280b558c02d4
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 3e38e7e3-b1ed-4438-a703-280b558c02d4
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 3e38e7e3-b1ed-4438-a703-280b558c02d4",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.404Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=70be03b4-fd8b-4959-ac71-76d71911dc43 no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=70be03b4-fd8b-4959-ac71-76d71911dc43 no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=70be03b4-fd8b-4959-ac71-76d71911dc43 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.403Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933624",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u002770be03b4-fd8b-4959-ac71-76d71911dc43\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:11:02.398Z",
  "transactionId": 12133036.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933623",
  "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        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: \u002770be03b4-fd8b-4959-ac71-76d71911dc43\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:11:02.386Z",
  "transactionId": 12133035.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933622",
  "pageFaults": 0.0,
  "pageHits": 8.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: \u002770be03b4-fd8b-4959-ac71-76d71911dc43\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:11:02.381Z",
  "transactionId": 12133035.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933621",
  "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: \u002770be03b4-fd8b-4959-ac71-76d71911dc43\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:11:02.368Z",
  "transactionId": 12133034.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933620",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u002770be03b4-fd8b-4959-ac71-76d71911dc43\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:11:02.353Z",
  "transactionId": 12133033.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 70be03b4-fd8b-4959-ac71-76d71911dc43
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 70be03b4-fd8b-4959-ac71-76d71911dc43
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 70be03b4-fd8b-4959-ac71-76d71911dc43",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.346Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order 70be03b4-fd8b-4959-ac71-76d71911dc43
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 70be03b4-fd8b-4959-ac71-76d71911dc43
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 70be03b4-fd8b-4959-ac71-76d71911dc43",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.346Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=0048b476-9b36-4edb-a532-87a2fcfda468 no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=0048b476-9b36-4edb-a532-87a2fcfda468 no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=0048b476-9b36-4edb-a532-87a2fcfda468 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.345Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933619",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u00270048b476-9b36-4edb-a532-87a2fcfda468\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:11:02.340Z",
  "transactionId": 12133032.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933618",
  "pageFaults": 0.0,
  "pageHits": 8.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: \u00270048b476-9b36-4edb-a532-87a2fcfda468\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:11:02.328Z",
  "transactionId": 12133031.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933617",
  "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        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u00270048b476-9b36-4edb-a532-87a2fcfda468\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:11:02.322Z",
  "transactionId": 12133031.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933616",
  "pageFaults": 0.0,
  "pageHits": 11.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: \u00270048b476-9b36-4edb-a532-87a2fcfda468\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:11:02.309Z",
  "transactionId": 12133030.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933615",
  "pageFaults": 0.0,
  "pageHits": 9.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00270048b476-9b36-4edb-a532-87a2fcfda468\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:11:02.296Z",
  "transactionId": 12133029.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 0048b476-9b36-4edb-a532-87a2fcfda468
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 0048b476-9b36-4edb-a532-87a2fcfda468
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 0048b476-9b36-4edb-a532-87a2fcfda468",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.289Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order 0048b476-9b36-4edb-a532-87a2fcfda468
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 0048b476-9b36-4edb-a532-87a2fcfda468
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 0048b476-9b36-4edb-a532-87a2fcfda468",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.289Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=fd89cb5e-8ae4-49dd-9f14-280a79fa94a3 no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=fd89cb5e-8ae4-49dd-9f14-280a79fa94a3 no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=fd89cb5e-8ae4-49dd-9f14-280a79fa94a3 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.289Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933614",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u0027fd89cb5e-8ae4-49dd-9f14-280a79fa94a3\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:11:02.283Z",
  "transactionId": 12133028.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933613",
  "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        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: \u0027fd89cb5e-8ae4-49dd-9f14-280a79fa94a3\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:11:02.270Z",
  "transactionId": 12133027.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933612",
  "pageFaults": 0.0,
  "pageHits": 8.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: \u0027fd89cb5e-8ae4-49dd-9f14-280a79fa94a3\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:11:02.265Z",
  "transactionId": 12133027.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933611",
  "pageFaults": 0.0,
  "pageHits": 9.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: \u0027fd89cb5e-8ae4-49dd-9f14-280a79fa94a3\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:11:02.253Z",
  "transactionId": 12133026.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933610",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027fd89cb5e-8ae4-49dd-9f14-280a79fa94a3\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:11:02.240Z",
  "transactionId": 12133025.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order fd89cb5e-8ae4-49dd-9f14-280a79fa94a3
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order fd89cb5e-8ae4-49dd-9f14-280a79fa94a3
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order fd89cb5e-8ae4-49dd-9f14-280a79fa94a3",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.233Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order fd89cb5e-8ae4-49dd-9f14-280a79fa94a3
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order fd89cb5e-8ae4-49dd-9f14-280a79fa94a3
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order fd89cb5e-8ae4-49dd-9f14-280a79fa94a3",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.233Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=94df2f63-b1e8-4884-8059-b7c022b2a452 no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=94df2f63-b1e8-4884-8059-b7c022b2a452 no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=94df2f63-b1e8-4884-8059-b7c022b2a452 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.233Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG docproc Reported pending workload
time2026-07-27 01:11:02 UTC
severityDEBUG
servicedocproc
sourcejobs/hpa_pending_workload.py:176
clustermaster
version0.1.0
poddocproc-7bc76669-ljh8h
message
Reported pending workload
raw payload (15 fields)
{
  "backlog_capped": 0.0,
  "caller": "jobs/hpa_pending_workload.py:176",
  "cluster": "master",
  "component": "hpa_pending_workload",
  "environment": "DEVELOPMENT",
  "in_progress_count": 0.0,
  "message": "Reported pending workload",
  "num_replicas": 1.0,
  "recovery_workload": 0.0,
  "service": "docproc",
  "signal": 0.0,
  "timestamp": "2026-07-27T01:11:02.230Z",
  "total_workload": 0.0,
  "unacked": 0.0,
  "version": "0.1.0"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933609",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u002794df2f63-b1e8-4884-8059-b7c022b2a452\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:11:02.228Z",
  "transactionId": 12133024.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j advpsvc match(a:AdvRateRule{deleted:true})-[r]-(b) with distinct a return a.portalorgid, a.tildaid, a.ruletype limit 10
time2026-07-27 01:11:02 UTC
severityINFO
serviceadvpsvc
clustermaster
podserver-1-dev-0
query
match(a:AdvRateRule{deleted:true})-[r]-(b) 
with distinct a 
return a.portalorgid, a.tildaid, a.ruletype 
limit 10
raw payload (15 fields)
{
  "allocatedBytes": 328.0,
  "cpu": 3.0,
  "elapsedTimeMs": 3.0,
  "executionPlanCacheKeyHash": "AFAFBFFB",
  "id": "17458235",
  "pageFaults": 0.0,
  "pageHits": 1146.0,
  "planning": 0.0,
  "query": "match(a:AdvRateRule{deleted:true})-[r]-(b) with distinct a return a.portalorgid, a.tildaid, a.ruletype limit 10",
  "queryParameters": "{}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.8:49782\tserver/10.173.2.71:7688\u003e",
  "timestamp": "2026-07-27T01:11:02.219Z",
  "transactionId": 1773640.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933607",
  "pageFaults": 0.0,
  "pageHits": 7.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: \u002794df2f63-b1e8-4884-8059-b7c022b2a452\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:11:02.215Z",
  "transactionId": 12133023.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933606",
  "pageFaults": 0.0,
  "pageHits": 8.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: \u002794df2f63-b1e8-4884-8059-b7c022b2a452\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:11:02.210Z",
  "transactionId": 12133023.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933605",
  "pageFaults": 0.0,
  "pageHits": 10.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: \u002794df2f63-b1e8-4884-8059-b7c022b2a452\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:11:02.198Z",
  "transactionId": 12133022.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933604",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u002794df2f63-b1e8-4884-8059-b7c022b2a452\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:11:02.185Z",
  "transactionId": 12133021.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 94df2f63-b1e8-4884-8059-b7c022b2a452
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 94df2f63-b1e8-4884-8059-b7c022b2a452
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 94df2f63-b1e8-4884-8059-b7c022b2a452",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.177Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order 94df2f63-b1e8-4884-8059-b7c022b2a452
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 94df2f63-b1e8-4884-8059-b7c022b2a452
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 94df2f63-b1e8-4884-8059-b7c022b2a452",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.177Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=4620dd60-625f-42da-932a-59d7c73740c5 no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=4620dd60-625f-42da-932a-59d7c73740c5 no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=4620dd60-625f-42da-932a-59d7c73740c5 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.177Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933603",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u00274620dd60-625f-42da-932a-59d7c73740c5\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:11:02.172Z",
  "transactionId": 12133020.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG docproc Pub/Sub num_unacked result: project_id=tilda-trial-automation subscription_id_in_filter=tilda-document-master-docproc-sub num_series=1 total=0
time2026-07-27 01:11:02 UTC
severityDEBUG
servicedocproc
sourcejobs/cloud_monitoring_metrics.py:296
clustermaster
version0.1.0
poddocproc-7bc76669-ljh8h
message
Pub/Sub num_unacked result: project_id=tilda-trial-automation subscription_id_in_filter=tilda-document-master-docproc-sub num_series=1 total=0
raw payload (7 fields)
{
  "caller": "jobs/cloud_monitoring_metrics.py:296",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "Pub/Sub num_unacked result: project_id=tilda-trial-automation subscription_id_in_filter=tilda-document-master-docproc-sub num_series=1 total=0",
  "service": "docproc",
  "timestamp": "2026-07-27T01:11:02.160Z",
  "version": "0.1.0"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933602",
  "pageFaults": 0.0,
  "pageHits": 7.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: \u00274620dd60-625f-42da-932a-59d7c73740c5\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:11:02.159Z",
  "transactionId": 12133019.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933601",
  "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        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u00274620dd60-625f-42da-932a-59d7c73740c5\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:11:02.155Z",
  "transactionId": 12133019.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933600",
  "pageFaults": 0.0,
  "pageHits": 10.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: \u00274620dd60-625f-42da-932a-59d7c73740c5\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:11:02.141Z",
  "transactionId": 12133018.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933599",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00274620dd60-625f-42da-932a-59d7c73740c5\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:11:02.128Z",
  "transactionId": 12133017.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 4620dd60-625f-42da-932a-59d7c73740c5
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 4620dd60-625f-42da-932a-59d7c73740c5
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 4620dd60-625f-42da-932a-59d7c73740c5",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.121Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order 4620dd60-625f-42da-932a-59d7c73740c5
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 4620dd60-625f-42da-932a-59d7c73740c5
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 4620dd60-625f-42da-932a-59d7c73740c5",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.121Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=8d19327b-5a03-4bae-bd46-4a2d26dafeb1 no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=8d19327b-5a03-4bae-bd46-4a2d26dafeb1 no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=8d19327b-5a03-4bae-bd46-4a2d26dafeb1 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.120Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933598",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u00278d19327b-5a03-4bae-bd46-4a2d26dafeb1\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:11:02.115Z",
  "transactionId": 12133016.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933597",
  "pageFaults": 0.0,
  "pageHits": 7.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: \u00278d19327b-5a03-4bae-bd46-4a2d26dafeb1\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:11:02.103Z",
  "transactionId": 12133015.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933596",
  "pageFaults": 0.0,
  "pageHits": 8.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: \u00278d19327b-5a03-4bae-bd46-4a2d26dafeb1\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:11:02.097Z",
  "transactionId": 12133015.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933595",
  "pageFaults": 0.0,
  "pageHits": 10.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: \u00278d19327b-5a03-4bae-bd46-4a2d26dafeb1\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:11:02.085Z",
  "transactionId": 12133014.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933594",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00278d19327b-5a03-4bae-bd46-4a2d26dafeb1\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:11:02.071Z",
  "transactionId": 12133013.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 8d19327b-5a03-4bae-bd46-4a2d26dafeb1
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 8d19327b-5a03-4bae-bd46-4a2d26dafeb1
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 8d19327b-5a03-4bae-bd46-4a2d26dafeb1",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.064Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order 8d19327b-5a03-4bae-bd46-4a2d26dafeb1
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 8d19327b-5a03-4bae-bd46-4a2d26dafeb1
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 8d19327b-5a03-4bae-bd46-4a2d26dafeb1",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.064Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=51e31b5f-36e8-4671-ab64-46abb1892e1e no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=51e31b5f-36e8-4671-ab64-46abb1892e1e no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=51e31b5f-36e8-4671-ab64-46abb1892e1e no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.063Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933593",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u002751e31b5f-36e8-4671-ab64-46abb1892e1e\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:11:02.058Z",
  "transactionId": 12133012.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933592",
  "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        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: \u002751e31b5f-36e8-4671-ab64-46abb1892e1e\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:11:02.045Z",
  "transactionId": 12133011.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC ERROR observability: level watcher could not stat config file /etc/config/observability.yaml: stat /etc/config/observability.yaml: no such file or directory
filter by: severity≥ERROR
time2026-07-27 01:11:02 UTC
severityERROR
clustermaster
podexecsvc-5c986994bc-psst2
message
observability: level watcher could not stat config file /etc/config/observability.yaml: stat /etc/config/observability.yaml: no such file or directory
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933591",
  "pageFaults": 0.0,
  "pageHits": 7.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: \u002751e31b5f-36e8-4671-ab64-46abb1892e1e\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:11:02.040Z",
  "transactionId": 12133011.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933590",
  "pageFaults": 0.0,
  "pageHits": 9.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: \u002751e31b5f-36e8-4671-ab64-46abb1892e1e\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:11:02.028Z",
  "transactionId": 12133010.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933589",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u002751e31b5f-36e8-4671-ab64-46abb1892e1e\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:11:02.014Z",
  "transactionId": 12133009.0,
  "waiting": 0.0
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 51e31b5f-36e8-4671-ab64-46abb1892e1e
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 51e31b5f-36e8-4671-ab64-46abb1892e1e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 51e31b5f-36e8-4671-ab64-46abb1892e1e",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.007Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [daily_cron] About to process work order 51e31b5f-36e8-4671-ab64-46abb1892e1e
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 51e31b5f-36e8-4671-ab64-46abb1892e1e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 51e31b5f-36e8-4671-ab64-46abb1892e1e",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.007Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 UTC DEBUG virtual-assistant [reminder] wo=29617008-704f-4bd2-b7b5-2a6488966218 no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:02 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=29617008-704f-4bd2-b7b5-2a6488966218 no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=29617008-704f-4bd2-b7b5-2a6488966218 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:02.007Z",
  "version": "unknown"
}
54s ago2026-07-27 01:11:02 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:11:02 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933588",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u002729617008-704f-4bd2-b7b5-2a6488966218\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:11:02.002Z",
  "transactionId": 12133008.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 UTC neo4j docproc MATCH (o:Organization{orgType:"CRO"})-[:DOC_TO_ORG]-(d:Document)-[:INCLUDES]-(f:Folder) WHERE f.name IN ['Staging', 'Pre-Staging'] ...
time2026-07-27 01:11:01 UTC
severityINFO
servicedocproc
clustermaster
podserver-2-dev-0
query
MATCH (o:Organization{orgType:"CRO"})-[:DOC_TO_ORG]-(d:Document)-[:INCLUDES]-(f:Folder)
        WHERE f.name IN ['Staging', 'Pre-Staging']
        AND d.delpending = false AND d.aiEnabled = true AND d.studyId <> ""
        AND d.primaryVersionId IS NOT NULL AND d.primaryVersionId <> ""
    OPTIONAL MATCH (d)<-[:AI_RUN_TO_DOCUMENT_LATEST]-(ai:AIRun)
    WITH o, d, ai
    ORDER BY d.tildaid, COALESCE(ai.updatedat, ai.createdat) DESC
    WITH o, d, collect(ai)[0] AS latest_ai
    WHERE (
        latest_ai IS NULL
        OR latest_ai.status = "aborted"
        OR (
            latest_ai.status = "failed"
            AND COALESCE(latest_ai.auto_retry_count, 0) < $max_retries
            AND COALESCE(latest_ai.updatedat, latest_ai.createdat) < $threshold_ms
        )
    )
    WITH d
    RETURN count(d) AS total
raw payload (15 fields)
{
  "allocatedBytes": 7666360.0,
  "cpu": 174.0,
  "elapsedTimeMs": 174.0,
  "executionPlanCacheKeyHash": "590286C5",
  "id": "24933568",
  "pageFaults": 0.0,
  "pageHits": 156362.0,
  "planning": 0.0,
  "query": "\n    MATCH (o:Organization{orgType:\"CRO\"})-[:DOC_TO_ORG]-(d:Document)-[:INCLUDES]-(f:Folder)\n        WHERE f.name IN [\u0027Staging\u0027, \u0027Pre-Staging\u0027]\n        AND d.delpending = false AND d.aiEnabled = true AND d.studyId \u003c\u003e \"\"\n        AND d.primaryVersionId IS NOT NULL AND d.primaryVersionId \u003c\u003e \"\"\n    OPTIONAL MATCH (d)\u003c-[:AI_RUN_TO_DOCUMENT_LATEST]-(ai:AIRun)\n    WITH o, d, ai\n    ORDER BY d.tildaid, COALESCE(ai.updatedat, ai.createdat) DESC\n    WITH o, d, collect(ai)[0] AS latest_ai\n    WHERE (\n        latest_ai IS NULL\n        OR latest_ai.status = \"aborted\"\n        OR (\n            latest_ai.status = \"failed\"\n            AND COALESCE(latest_ai.auto_retry_count, 0) \u003c $max_retries\n            AND COALESCE(latest_ai.updatedat, latest_ai.createdat) \u003c $threshold_ms\n        )\n    )\n    WITH d\n    RETURN count(d) AS total\n    ",
  "queryParameters": "{max_retries: 5, threshold_ms: 1785113761818}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/6.2.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.3.15:38308\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T01:11:01.995Z",
  "transactionId": 12132994.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933587",
  "pageFaults": 0.0,
  "pageHits": 7.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: \u002729617008-704f-4bd2-b7b5-2a6488966218\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:11:01.991Z",
  "transactionId": 12133007.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933586",
  "pageFaults": 0.0,
  "pageHits": 8.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: \u002729617008-704f-4bd2-b7b5-2a6488966218\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:11:01.986Z",
  "transactionId": 12133007.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933585",
  "pageFaults": 0.0,
  "pageHits": 10.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: \u002729617008-704f-4bd2-b7b5-2a6488966218\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:11:01.974Z",
  "transactionId": 12133006.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933584",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u002729617008-704f-4bd2-b7b5-2a6488966218\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:11:01.962Z",
  "transactionId": 12133005.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 29617008-704f-4bd2-b7b5-2a6488966218
time2026-07-27 01:11:01 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 29617008-704f-4bd2-b7b5-2a6488966218
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 29617008-704f-4bd2-b7b5-2a6488966218",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:01.955Z",
  "version": "unknown"
}
55s ago2026-07-27 01:11:01 UTC DEBUG virtual-assistant [daily_cron] About to process work order 29617008-704f-4bd2-b7b5-2a6488966218
time2026-07-27 01:11:01 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 29617008-704f-4bd2-b7b5-2a6488966218
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 29617008-704f-4bd2-b7b5-2a6488966218",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:01.955Z",
  "version": "unknown"
}
55s ago2026-07-27 01:11:01 UTC DEBUG virtual-assistant [reminder] wo=cd0d9cb8-c481-46d0-9655-d4da32744635 no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:01 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=cd0d9cb8-c481-46d0-9655-d4da32744635 no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=cd0d9cb8-c481-46d0-9655-d4da32744635 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:01.954Z",
  "version": "unknown"
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933583",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u0027cd0d9cb8-c481-46d0-9655-d4da32744635\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:11:01.950Z",
  "transactionId": 12133004.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933582",
  "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        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: \u0027cd0d9cb8-c481-46d0-9655-d4da32744635\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:11:01.938Z",
  "transactionId": 12133003.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933581",
  "pageFaults": 0.0,
  "pageHits": 7.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: \u0027cd0d9cb8-c481-46d0-9655-d4da32744635\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:11:01.932Z",
  "transactionId": 12133003.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933579",
  "pageFaults": 0.0,
  "pageHits": 9.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: \u0027cd0d9cb8-c481-46d0-9655-d4da32744635\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:11:01.921Z",
  "transactionId": 12133002.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933578",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027cd0d9cb8-c481-46d0-9655-d4da32744635\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:11:01.907Z",
  "transactionId": 12133001.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order cd0d9cb8-c481-46d0-9655-d4da32744635
time2026-07-27 01:11:01 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order cd0d9cb8-c481-46d0-9655-d4da32744635
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order cd0d9cb8-c481-46d0-9655-d4da32744635",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:01.900Z",
  "version": "unknown"
}
55s ago2026-07-27 01:11:01 UTC DEBUG virtual-assistant [daily_cron] About to process work order cd0d9cb8-c481-46d0-9655-d4da32744635
time2026-07-27 01:11:01 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order cd0d9cb8-c481-46d0-9655-d4da32744635
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order cd0d9cb8-c481-46d0-9655-d4da32744635",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:01.900Z",
  "version": "unknown"
}
55s ago2026-07-27 01:11:01 UTC DEBUG virtual-assistant [reminder] wo=c94fc7c7-7dc8-485d-8789-4597ab64f240 no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:01 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=c94fc7c7-7dc8-485d-8789-4597ab64f240 no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=c94fc7c7-7dc8-485d-8789-4597ab64f240 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:01.899Z",
  "version": "unknown"
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933577",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u0027c94fc7c7-7dc8-485d-8789-4597ab64f240\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:11:01.894Z",
  "transactionId": 12133000.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933576",
  "pageFaults": 0.0,
  "pageHits": 7.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: \u0027c94fc7c7-7dc8-485d-8789-4597ab64f240\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:11:01.882Z",
  "transactionId": 12132999.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933575",
  "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        RETURN count(a) as total\n        ",
  "queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u0027c94fc7c7-7dc8-485d-8789-4597ab64f240\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:11:01.877Z",
  "transactionId": 12132999.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933574",
  "pageFaults": 0.0,
  "pageHits": 10.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: \u0027c94fc7c7-7dc8-485d-8789-4597ab64f240\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:11:01.864Z",
  "transactionId": 12132998.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 UTC DEBUG finsvc TransactionID commit
time2026-07-27 01:11:01 UTC
severityDEBUG
servicefinsvc
sourcetildadb/api.go:2575
clustermaster
versionv1
podfinsvc-7cb7dbf559-dsqxb
message
TransactionID commit
raw payload (8 fields)
{
  "caller": "tildadb/api.go:2575",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "TransactionID commit",
  "service": "finsvc",
  "timestamp": "2026-07-27T01:11:01.852Z",
  "transactionID": "FB:kcwQc8qrjECqRtOxBB1HjVmAmsoAPphkkA==",
  "version": "v1"
}
55s ago2026-07-27 01:11:01 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933573",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027c94fc7c7-7dc8-485d-8789-4597ab64f240\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:11:01.852Z",
  "transactionId": 12132997.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 UTC DEBUG finsvc No scheduled budgets to move to active
time2026-07-27 01:11:01 UTC
severityDEBUG
servicefinsvc
sourcerepo/budget.go:1132
clustermaster
versionv1
podfinsvc-7cb7dbf559-dsqxb
message
No scheduled budgets to move to active
raw payload (7 fields)
{
  "caller": "repo/budget.go:1132",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "No scheduled budgets to move to active",
  "service": "finsvc",
  "timestamp": "2026-07-27T01:11:01.849Z",
  "version": "v1"
}
55s ago2026-07-27 01:11:01 UTC neo4j finsvc MATCH (b:Budget) WHERE b.status = "Scheduled" AND date(b.effectiveDate) <= date() RETURN b.tildaid
time2026-07-27 01:11:01 UTC
severityINFO
servicefinsvc
clustermaster
podserver-2-dev-0
query
MATCH (b:Budget)
		WHERE b.status = "Scheduled"
		AND date(b.effectiveDate) <= date()
		RETURN b.tildaid
raw payload (15 fields)
{
  "allocatedBytes": 312.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "C6B1D0AE",
  "id": "24933572",
  "pageFaults": 0.0,
  "pageHits": 57.0,
  "planning": 0.0,
  "query": "\n\t\tMATCH (b:Budget)\n\t\tWHERE b.status = \"Scheduled\"\n\t\tAND date(b.effectiveDate) \u003c= date()\n\t\tRETURN b.tildaid\n\t",
  "queryParameters": "{}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-java/5.28.13-24cd0fecc64de123fd5711190246e8b0f1e16fd0\t\tclient/10.173.0.201:58524\tserver/10.173.0.8:7688\u003e",
  "timestamp": "2026-07-27T01:11:01.848Z",
  "transactionId": 12132996.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 UTC DEBUG finsvc Starting scheduled budgets move to active
time2026-07-27 01:11:01 UTC
severityDEBUG
servicefinsvc
sourcerepo/budget.go:1107
clustermaster
versionv1
podfinsvc-7cb7dbf559-dsqxb
message
Starting scheduled budgets move to active
raw payload (7 fields)
{
  "caller": "repo/budget.go:1107",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "Starting scheduled budgets move to active",
  "service": "finsvc",
  "timestamp": "2026-07-27T01:11:01.846Z",
  "version": "v1"
}
55s ago2026-07-27 01:11:01 UTC DEBUG finsvc TransactionID
time2026-07-27 01:11:01 UTC
severityDEBUG
servicefinsvc
sourcetildadb/api.go:2482
clustermaster
versionv1
podfinsvc-7cb7dbf559-dsqxb
message
TransactionID
raw payload (8 fields)
{
  "caller": "tildadb/api.go:2482",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "TransactionID",
  "service": "finsvc",
  "timestamp": "2026-07-27T01:11:01.845Z",
  "transactionID": "",
  "version": "v1"
}
55s ago2026-07-27 01:11:01 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order c94fc7c7-7dc8-485d-8789-4597ab64f240
time2026-07-27 01:11:01 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order c94fc7c7-7dc8-485d-8789-4597ab64f240
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order c94fc7c7-7dc8-485d-8789-4597ab64f240",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:01.845Z",
  "version": "unknown"
}
55s ago2026-07-27 01:11:01 UTC DEBUG virtual-assistant [daily_cron] About to process work order c94fc7c7-7dc8-485d-8789-4597ab64f240
time2026-07-27 01:11:01 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order c94fc7c7-7dc8-485d-8789-4597ab64f240
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order c94fc7c7-7dc8-485d-8789-4597ab64f240",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:01.845Z",
  "version": "unknown"
}
55s ago2026-07-27 01:11:01 UTC DEBUG virtual-assistant [reminder] wo=dda7f938-2ce5-415e-b6e9-6a204b1e754e no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:01 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=dda7f938-2ce5-415e-b6e9-6a204b1e754e no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=dda7f938-2ce5-415e-b6e9-6a204b1e754e no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:01.844Z",
  "version": "unknown"
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933571",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u0027dda7f938-2ce5-415e-b6e9-6a204b1e754e\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:11:01.839Z",
  "transactionId": 12132995.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933570",
  "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        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: \u0027dda7f938-2ce5-415e-b6e9-6a204b1e754e\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:11:01.828Z",
  "transactionId": 12132993.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933569",
  "pageFaults": 0.0,
  "pageHits": 7.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: \u0027dda7f938-2ce5-415e-b6e9-6a204b1e754e\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:11:01.823Z",
  "transactionId": 12132993.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 UTC neo4j docproc MATCH (ai:AIRun)-[:AI_RUN_TO_DOCUMENT_LATEST]->(d:Document) WHERE d.aiEnabled = true AND ( (ai.status = "in_progress" AND...
time2026-07-27 01:11:01 UTC
severityINFO
servicedocproc
clustermaster
podserver-2-dev-0
query
MATCH (ai:AIRun)-[:AI_RUN_TO_DOCUMENT_LATEST]->(d:Document)
    WHERE d.aiEnabled = true
    AND (
        (ai.status = "in_progress" AND ($cutoff_ms <= 0 OR COALESCE(ai.updatedat, ai.createdat) < $cutoff_ms))
        OR ai.status = "aborted"
    )
    RETURN count(ai) AS total
raw payload (15 fields)
{
  "allocatedBytes": 488.0,
  "cpu": 66.0,
  "elapsedTimeMs": 66.0,
  "executionPlanCacheKeyHash": "E4907905",
  "id": "24933561",
  "pageFaults": 0.0,
  "pageHits": 66825.0,
  "planning": 0.0,
  "query": "\n    MATCH (ai:AIRun)-[:AI_RUN_TO_DOCUMENT_LATEST]-\u003e(d:Document)\n    WHERE d.aiEnabled = true\n    AND (\n        (ai.status = \"in_progress\" AND ($cutoff_ms \u003c= 0 OR COALESCE(ai.updatedat, ai.createdat) \u003c $cutoff_ms))\n        OR ai.status = \"aborted\"\n    )\n    RETURN count(ai) AS total\n    ",
  "queryParameters": "{cutoff_ms: 0}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/6.2.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.3.15:38308\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T01:11:01.816Z",
  "transactionId": 12132987.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933567",
  "pageFaults": 0.0,
  "pageHits": 9.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: \u0027dda7f938-2ce5-415e-b6e9-6a204b1e754e\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:11:01.811Z",
  "transactionId": 12132992.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933566",
  "pageFaults": 0.0,
  "pageHits": 10.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027dda7f938-2ce5-415e-b6e9-6a204b1e754e\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:11:01.799Z",
  "transactionId": 12132991.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order dda7f938-2ce5-415e-b6e9-6a204b1e754e
time2026-07-27 01:11:01 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order dda7f938-2ce5-415e-b6e9-6a204b1e754e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order dda7f938-2ce5-415e-b6e9-6a204b1e754e",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:01.792Z",
  "version": "unknown"
}
55s ago2026-07-27 01:11:01 UTC DEBUG virtual-assistant [daily_cron] About to process work order dda7f938-2ce5-415e-b6e9-6a204b1e754e
time2026-07-27 01:11:01 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order dda7f938-2ce5-415e-b6e9-6a204b1e754e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order dda7f938-2ce5-415e-b6e9-6a204b1e754e",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:01.792Z",
  "version": "unknown"
}
55s ago2026-07-27 01:11:01 UTC DEBUG virtual-assistant [reminder] wo=b1e91e18-3eb3-4da6-941a-c20d13d0e50e no reminder policy (NONE) — nothing to do
time2026-07-27 01:11:01 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=b1e91e18-3eb3-4da6-941a-c20d13d0e50e no reminder policy (NONE) — nothing to do
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:220",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[reminder] wo=b1e91e18-3eb3-4da6-941a-c20d13d0e50e no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:01.791Z",
  "version": "unknown"
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": 624.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "24933565",
  "pageFaults": 0.0,
  "pageHits": 4.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: \u0027b1e91e18-3eb3-4da6-941a-c20d13d0e50e\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:11:01.786Z",
  "transactionId": 12132990.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933564",
  "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        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: \u0027b1e91e18-3eb3-4da6-941a-c20d13d0e50e\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:11:01.773Z",
  "transactionId": 12132989.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933563",
  "pageFaults": 0.0,
  "pageHits": 8.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: \u0027b1e91e18-3eb3-4da6-941a-c20d13d0e50e\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:11:01.768Z",
  "transactionId": 12132989.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 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:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933562",
  "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: \u0027b1e91e18-3eb3-4da6-941a-c20d13d0e50e\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:11:01.754Z",
  "transactionId": 12132988.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 01:11:01 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
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": "24933560",
  "pageFaults": 0.0,
  "pageHits": 11.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027b1e91e18-3eb3-4da6-941a-c20d13d0e50e\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:11:01.741Z",
  "transactionId": 12132986.0,
  "waiting": 0.0
}
55s ago2026-07-27 01:11:01 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order b1e91e18-3eb3-4da6-941a-c20d13d0e50e
time2026-07-27 01:11:01 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order b1e91e18-3eb3-4da6-941a-c20d13d0e50e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order b1e91e18-3eb3-4da6-941a-c20d13d0e50e",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:01.734Z",
  "version": "unknown"
}
55s ago2026-07-27 01:11:01 UTC DEBUG virtual-assistant [daily_cron] About to process work order b1e91e18-3eb3-4da6-941a-c20d13d0e50e
time2026-07-27 01:11:01 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
trace8a050ef26bc16925bf40805e9ed925d6
span6e525e3b630d99db
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order b1e91e18-3eb3-4da6-941a-c20d13d0e50e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order b1e91e18-3eb3-4da6-941a-c20d13d0e50e",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T01:11:01.734Z",
  "version": "unknown"
}

Paginated with Cloud Logging page cursors, so you can walk the whole 6h 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.