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

Logs

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

reset
10s ago2026-07-27 02:20:04 UTC DEBUG virtual-assistant 🔍 AUTH_DEBUG: Path in UNPROTECTED_ENDPOINTS: True
time2026-07-27 02:20:04 UTC
severityDEBUG
servicevirtual-assistant
sourceapi/api.py:491
clustermaster
versionunknown
trace6b62908e5de4c3a105033b5581bf71da
spancbda65367d43f9fa
podvirtual-assistant-65b975d66b-l8wpw
message
🔍 AUTH_DEBUG: Path in UNPROTECTED_ENDPOINTS: True
raw payload (9 fields)
{
  "caller": "api/api.py:491",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "\ud83d\udd0d AUTH_DEBUG: Path in UNPROTECTED_ENDPOINTS: True",
  "method": "GET",
  "path": "/health",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:04.111Z",
  "version": "unknown"
}
10s ago2026-07-27 02:20:04 UTC DEBUG virtual-assistant 🔍 AUTH_DEBUG: Method: GET
time2026-07-27 02:20:04 UTC
severityDEBUG
servicevirtual-assistant
sourceapi/api.py:489
clustermaster
versionunknown
trace6b62908e5de4c3a105033b5581bf71da
spancbda65367d43f9fa
podvirtual-assistant-65b975d66b-l8wpw
message
🔍 AUTH_DEBUG: Method: GET
raw payload (9 fields)
{
  "caller": "api/api.py:489",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "\ud83d\udd0d AUTH_DEBUG: Method: GET",
  "method": "GET",
  "path": "/health",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:04.110Z",
  "version": "unknown"
}
10s ago2026-07-27 02:20:04 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 02:20:04 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376206",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u0027d9a00897-e444-4038-8df0-84f654496d17\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:04.105Z",
  "transactionId": 12251001.0,
  "waiting": 0.0
}
10s ago2026-07-27 02:20:04 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:04 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376205",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027d9a00897-e444-4038-8df0-84f654496d17\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:04.097Z",
  "transactionId": 12251000.0,
  "waiting": 0.0
}
10s ago2026-07-27 02:20:04 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order d9a00897-e444-4038-8df0-84f654496d17
time2026-07-27 02:20:04 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order d9a00897-e444-4038-8df0-84f654496d17
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order d9a00897-e444-4038-8df0-84f654496d17",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:04.093Z",
  "version": "unknown"
}
10s ago2026-07-27 02:20:04 UTC DEBUG virtual-assistant [daily_cron] About to process work order d9a00897-e444-4038-8df0-84f654496d17
time2026-07-27 02:20:04 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order d9a00897-e444-4038-8df0-84f654496d17
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order d9a00897-e444-4038-8df0-84f654496d17",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:04.092Z",
  "version": "unknown"
}
10s ago2026-07-27 02:20:04 UTC DEBUG virtual-assistant [reminder] wo=857364a4-8eda-4af5-ba6d-af9130c38fb7 no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:04 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=857364a4-8eda-4af5-ba6d-af9130c38fb7 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=857364a4-8eda-4af5-ba6d-af9130c38fb7 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:04.092Z",
  "version": "unknown"
}
10s ago2026-07-27 02:20:04 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 02:20:04 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376204",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u0027857364a4-8eda-4af5-ba6d-af9130c38fb7\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:04.089Z",
  "transactionId": 12250999.0,
  "waiting": 0.0
}
10s ago2026-07-27 02:20:04 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 02:20:04 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376203",
  "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: \u0027857364a4-8eda-4af5-ba6d-af9130c38fb7\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:04.081Z",
  "transactionId": 12250998.0,
  "waiting": 0.0
}
10s ago2026-07-27 02:20:04 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 02:20:04 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376202",
  "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: \u0027857364a4-8eda-4af5-ba6d-af9130c38fb7\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:04.078Z",
  "transactionId": 12250998.0,
  "waiting": 0.0
}
10s ago2026-07-27 02:20:04 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 02:20:04 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376201",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u0027857364a4-8eda-4af5-ba6d-af9130c38fb7\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:04.071Z",
  "transactionId": 12250997.0,
  "waiting": 0.0
}
10s ago2026-07-27 02:20:04 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:04 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376200",
  "pageFaults": 0.0,
  "pageHits": 8.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027857364a4-8eda-4af5-ba6d-af9130c38fb7\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:04.063Z",
  "transactionId": 12250996.0,
  "waiting": 0.0
}
10s ago2026-07-27 02:20:04 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 857364a4-8eda-4af5-ba6d-af9130c38fb7
time2026-07-27 02:20:04 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 857364a4-8eda-4af5-ba6d-af9130c38fb7
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 857364a4-8eda-4af5-ba6d-af9130c38fb7",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:04.059Z",
  "version": "unknown"
}
10s ago2026-07-27 02:20:04 UTC DEBUG virtual-assistant [daily_cron] About to process work order 857364a4-8eda-4af5-ba6d-af9130c38fb7
time2026-07-27 02:20:04 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 857364a4-8eda-4af5-ba6d-af9130c38fb7
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 857364a4-8eda-4af5-ba6d-af9130c38fb7",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:04.059Z",
  "version": "unknown"
}
10s ago2026-07-27 02:20:04 UTC DEBUG virtual-assistant [reminder] wo=97eedaca-3ec5-4b5e-9791-a4e92daf3619 no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:04 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=97eedaca-3ec5-4b5e-9791-a4e92daf3619 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=97eedaca-3ec5-4b5e-9791-a4e92daf3619 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:04.058Z",
  "version": "unknown"
}
10s ago2026-07-27 02:20:04 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 02:20:04 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376199",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u002797eedaca-3ec5-4b5e-9791-a4e92daf3619\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:04.055Z",
  "transactionId": 12250995.0,
  "waiting": 0.0
}
10s ago2026-07-27 02:20:04 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 02:20:04 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376198",
  "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: \u002797eedaca-3ec5-4b5e-9791-a4e92daf3619\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:04.048Z",
  "transactionId": 12250994.0,
  "waiting": 0.0
}
10s ago2026-07-27 02:20:04 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 02:20:04 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376197",
  "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: \u002797eedaca-3ec5-4b5e-9791-a4e92daf3619\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:04.044Z",
  "transactionId": 12250994.0,
  "waiting": 0.0
}
10s ago2026-07-27 02:20:04 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 02:20:04 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376196",
  "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: \u002797eedaca-3ec5-4b5e-9791-a4e92daf3619\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:04.037Z",
  "transactionId": 12250993.0,
  "waiting": 0.0
}
10s ago2026-07-27 02:20:04 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:04 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376195",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u002797eedaca-3ec5-4b5e-9791-a4e92daf3619\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:04.029Z",
  "transactionId": 12250992.0,
  "waiting": 0.0
}
10s ago2026-07-27 02:20:04 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 97eedaca-3ec5-4b5e-9791-a4e92daf3619
time2026-07-27 02:20:04 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 97eedaca-3ec5-4b5e-9791-a4e92daf3619
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 97eedaca-3ec5-4b5e-9791-a4e92daf3619",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:04.025Z",
  "version": "unknown"
}
10s ago2026-07-27 02:20:04 UTC DEBUG virtual-assistant [daily_cron] About to process work order 97eedaca-3ec5-4b5e-9791-a4e92daf3619
time2026-07-27 02:20:04 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 97eedaca-3ec5-4b5e-9791-a4e92daf3619
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 97eedaca-3ec5-4b5e-9791-a4e92daf3619",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:04.024Z",
  "version": "unknown"
}
10s ago2026-07-27 02:20:04 UTC DEBUG virtual-assistant [reminder] wo=ba632485-d0d5-4383-b30d-64efbf67babb no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:04 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=ba632485-d0d5-4383-b30d-64efbf67babb 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=ba632485-d0d5-4383-b30d-64efbf67babb no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:04.024Z",
  "version": "unknown"
}
10s ago2026-07-27 02:20:04 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
time2026-07-27 02:20:04 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376194",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027ba632485-d0d5-4383-b30d-64efbf67babb\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:04.021Z",
  "transactionId": 12250991.0,
  "waiting": 0.0
}
10s ago2026-07-27 02:20:04 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 02:20:04 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376193",
  "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: \u0027ba632485-d0d5-4383-b30d-64efbf67babb\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:04.014Z",
  "transactionId": 12250990.0,
  "waiting": 0.0
}
10s ago2026-07-27 02:20:04 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 02:20:04 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376192",
  "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: \u0027ba632485-d0d5-4383-b30d-64efbf67babb\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:04.010Z",
  "transactionId": 12250990.0,
  "waiting": 0.0
}
10s ago2026-07-27 02:20:04 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
time2026-07-27 02:20:04 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376191",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u0027ba632485-d0d5-4383-b30d-64efbf67babb\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:04.003Z",
  "transactionId": 12250989.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376190",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027ba632485-d0d5-4383-b30d-64efbf67babb\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.995Z",
  "transactionId": 12250988.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order ba632485-d0d5-4383-b30d-64efbf67babb
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order ba632485-d0d5-4383-b30d-64efbf67babb
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order ba632485-d0d5-4383-b30d-64efbf67babb",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.991Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order ba632485-d0d5-4383-b30d-64efbf67babb
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order ba632485-d0d5-4383-b30d-64efbf67babb
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order ba632485-d0d5-4383-b30d-64efbf67babb",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.991Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=f04cb9e4-efd9-4ee7-a26c-7ec289e70864 no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=f04cb9e4-efd9-4ee7-a26c-7ec289e70864 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=f04cb9e4-efd9-4ee7-a26c-7ec289e70864 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.990Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376189",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u0027f04cb9e4-efd9-4ee7-a26c-7ec289e70864\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.987Z",
  "transactionId": 12250987.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376188",
  "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: \u0027f04cb9e4-efd9-4ee7-a26c-7ec289e70864\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.980Z",
  "transactionId": 12250986.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376187",
  "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: \u0027f04cb9e4-efd9-4ee7-a26c-7ec289e70864\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.977Z",
  "transactionId": 12250986.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376186",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u0027f04cb9e4-efd9-4ee7-a26c-7ec289e70864\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.970Z",
  "transactionId": 12250985.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376185",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027f04cb9e4-efd9-4ee7-a26c-7ec289e70864\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.963Z",
  "transactionId": 12250984.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order f04cb9e4-efd9-4ee7-a26c-7ec289e70864
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order f04cb9e4-efd9-4ee7-a26c-7ec289e70864
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order f04cb9e4-efd9-4ee7-a26c-7ec289e70864",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.958Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order f04cb9e4-efd9-4ee7-a26c-7ec289e70864
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order f04cb9e4-efd9-4ee7-a26c-7ec289e70864
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order f04cb9e4-efd9-4ee7-a26c-7ec289e70864",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.958Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=67cee07f-2a42-4a39-9305-5f04a5c9ccc8 no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=67cee07f-2a42-4a39-9305-5f04a5c9ccc8 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=67cee07f-2a42-4a39-9305-5f04a5c9ccc8 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.958Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376184",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u002767cee07f-2a42-4a39-9305-5f04a5c9ccc8\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.955Z",
  "transactionId": 12250983.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376183",
  "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: \u002767cee07f-2a42-4a39-9305-5f04a5c9ccc8\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.949Z",
  "transactionId": 12250982.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376182",
  "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: \u002767cee07f-2a42-4a39-9305-5f04a5c9ccc8\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.946Z",
  "transactionId": 12250982.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376181",
  "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: \u002767cee07f-2a42-4a39-9305-5f04a5c9ccc8\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.939Z",
  "transactionId": 12250981.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376180",
  "pageFaults": 0.0,
  "pageHits": 8.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u002767cee07f-2a42-4a39-9305-5f04a5c9ccc8\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.931Z",
  "transactionId": 12250980.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 67cee07f-2a42-4a39-9305-5f04a5c9ccc8
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 67cee07f-2a42-4a39-9305-5f04a5c9ccc8
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 67cee07f-2a42-4a39-9305-5f04a5c9ccc8",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.927Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order 67cee07f-2a42-4a39-9305-5f04a5c9ccc8
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 67cee07f-2a42-4a39-9305-5f04a5c9ccc8
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 67cee07f-2a42-4a39-9305-5f04a5c9ccc8",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.927Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=fbe59871-1a57-4ebc-9529-cf1bfc096799 no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=fbe59871-1a57-4ebc-9529-cf1bfc096799 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=fbe59871-1a57-4ebc-9529-cf1bfc096799 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.927Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376179",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027fbe59871-1a57-4ebc-9529-cf1bfc096799\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.924Z",
  "transactionId": 12250979.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376178",
  "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: \u0027fbe59871-1a57-4ebc-9529-cf1bfc096799\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.916Z",
  "transactionId": 12250978.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376177",
  "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: \u0027fbe59871-1a57-4ebc-9529-cf1bfc096799\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.913Z",
  "transactionId": 12250978.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376176",
  "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: \u0027fbe59871-1a57-4ebc-9529-cf1bfc096799\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.906Z",
  "transactionId": 12250977.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376175",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027fbe59871-1a57-4ebc-9529-cf1bfc096799\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.898Z",
  "transactionId": 12250976.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order fbe59871-1a57-4ebc-9529-cf1bfc096799
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order fbe59871-1a57-4ebc-9529-cf1bfc096799
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order fbe59871-1a57-4ebc-9529-cf1bfc096799",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.894Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order fbe59871-1a57-4ebc-9529-cf1bfc096799
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order fbe59871-1a57-4ebc-9529-cf1bfc096799
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order fbe59871-1a57-4ebc-9529-cf1bfc096799",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.894Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=d6a6b7d3-8226-48cd-aeb4-c3e95931488e no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=d6a6b7d3-8226-48cd-aeb4-c3e95931488e 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=d6a6b7d3-8226-48cd-aeb4-c3e95931488e no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.893Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376174",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "\n            MATCH (w:WorkOrder {tildaid: $work_order_id})\u003c-[:FACT_TO_WORK_ORDER]-(f:Fact)\n            WHERE f.delpending = false\n            RETURN f\n            ORDER BY f.createdat ASC\n            ",
  "queryParameters": "{work_order_id: \u0027d6a6b7d3-8226-48cd-aeb4-c3e95931488e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.890Z",
  "transactionId": 12250975.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376173",
  "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: \u0027d6a6b7d3-8226-48cd-aeb4-c3e95931488e\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.883Z",
  "transactionId": 12250974.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376172",
  "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: \u0027d6a6b7d3-8226-48cd-aeb4-c3e95931488e\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.880Z",
  "transactionId": 12250974.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376171",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u0027d6a6b7d3-8226-48cd-aeb4-c3e95931488e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.873Z",
  "transactionId": 12250973.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376170",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027d6a6b7d3-8226-48cd-aeb4-c3e95931488e\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.866Z",
  "transactionId": 12250972.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order d6a6b7d3-8226-48cd-aeb4-c3e95931488e
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order d6a6b7d3-8226-48cd-aeb4-c3e95931488e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order d6a6b7d3-8226-48cd-aeb4-c3e95931488e",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.861Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order d6a6b7d3-8226-48cd-aeb4-c3e95931488e
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order d6a6b7d3-8226-48cd-aeb4-c3e95931488e
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order d6a6b7d3-8226-48cd-aeb4-c3e95931488e",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.861Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=96671982-d1d4-4d21-a767-3d93a1e1088a no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=96671982-d1d4-4d21-a767-3d93a1e1088a 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=96671982-d1d4-4d21-a767-3d93a1e1088a no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.861Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376169",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u002796671982-d1d4-4d21-a767-3d93a1e1088a\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.858Z",
  "transactionId": 12250971.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376168",
  "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: \u002796671982-d1d4-4d21-a767-3d93a1e1088a\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.851Z",
  "transactionId": 12250970.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376167",
  "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: \u002796671982-d1d4-4d21-a767-3d93a1e1088a\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.848Z",
  "transactionId": 12250970.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376166",
  "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: \u002796671982-d1d4-4d21-a767-3d93a1e1088a\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.842Z",
  "transactionId": 12250969.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376165",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u002796671982-d1d4-4d21-a767-3d93a1e1088a\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.834Z",
  "transactionId": 12250968.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376164",
  "pageFaults": 0.0,
  "pageHits": 5.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: \u00273f21527f-00e5-422f-962a-f1a0768e5b8f\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.826Z",
  "transactionId": 12250967.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376163",
  "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: \u00273f21527f-00e5-422f-962a-f1a0768e5b8f\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.819Z",
  "transactionId": 12250966.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376162",
  "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: \u00273f21527f-00e5-422f-962a-f1a0768e5b8f\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.816Z",
  "transactionId": 12250966.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376161",
  "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: \u00273f21527f-00e5-422f-962a-f1a0768e5b8f\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.810Z",
  "transactionId": 12250965.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376160",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00273f21527f-00e5-422f-962a-f1a0768e5b8f\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.803Z",
  "transactionId": 12250964.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376159",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u0027c057290a-35cc-46e8-8a17-156fa06ec17f\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.795Z",
  "transactionId": 12250963.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376158",
  "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: \u0027c057290a-35cc-46e8-8a17-156fa06ec17f\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.788Z",
  "transactionId": 12250962.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376157",
  "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: \u0027c057290a-35cc-46e8-8a17-156fa06ec17f\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.785Z",
  "transactionId": 12250962.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376156",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u0027c057290a-35cc-46e8-8a17-156fa06ec17f\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.778Z",
  "transactionId": 12250961.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376155",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027c057290a-35cc-46e8-8a17-156fa06ec17f\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.771Z",
  "transactionId": 12250960.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376154",
  "pageFaults": 0.0,
  "pageHits": 5.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: \u0027dd52b6db-8cda-47c4-96dd-f40951ea1861\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.763Z",
  "transactionId": 12250959.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376153",
  "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: \u0027dd52b6db-8cda-47c4-96dd-f40951ea1861\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.756Z",
  "transactionId": 12250958.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376152",
  "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: \u0027dd52b6db-8cda-47c4-96dd-f40951ea1861\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.753Z",
  "transactionId": 12250958.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376151",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u0027dd52b6db-8cda-47c4-96dd-f40951ea1861\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.745Z",
  "transactionId": 12250957.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376150",
  "pageFaults": 0.0,
  "pageHits": 8.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027dd52b6db-8cda-47c4-96dd-f40951ea1861\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.737Z",
  "transactionId": 12250956.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376149",
  "pageFaults": 0.0,
  "pageHits": 5.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: \u0027479f8a2e-3260-44e7-9ab3-a93706a18161\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.729Z",
  "transactionId": 12250955.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376148",
  "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: \u0027479f8a2e-3260-44e7-9ab3-a93706a18161\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.722Z",
  "transactionId": 12250954.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376147",
  "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: \u0027479f8a2e-3260-44e7-9ab3-a93706a18161\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.719Z",
  "transactionId": 12250954.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376146",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u0027479f8a2e-3260-44e7-9ab3-a93706a18161\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.711Z",
  "transactionId": 12250953.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376145",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027479f8a2e-3260-44e7-9ab3-a93706a18161\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.703Z",
  "transactionId": 12250952.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 479f8a2e-3260-44e7-9ab3-a93706a18161
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 479f8a2e-3260-44e7-9ab3-a93706a18161
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 479f8a2e-3260-44e7-9ab3-a93706a18161",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.699Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376144",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u0027d24c077e-163d-4a65-92e7-d9a71c6920b5\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.696Z",
  "transactionId": 12250951.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376143",
  "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: \u0027d24c077e-163d-4a65-92e7-d9a71c6920b5\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.689Z",
  "transactionId": 12250950.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376142",
  "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: \u0027d24c077e-163d-4a65-92e7-d9a71c6920b5\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.686Z",
  "transactionId": 12250950.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376141",
  "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: \u0027d24c077e-163d-4a65-92e7-d9a71c6920b5\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.679Z",
  "transactionId": 12250949.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376140",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027d24c077e-163d-4a65-92e7-d9a71c6920b5\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.671Z",
  "transactionId": 12250948.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order d24c077e-163d-4a65-92e7-d9a71c6920b5
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order d24c077e-163d-4a65-92e7-d9a71c6920b5
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order d24c077e-163d-4a65-92e7-d9a71c6920b5",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.666Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=4e9864d6-77e6-44ca-a2b0-214d9169bd87 no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=4e9864d6-77e6-44ca-a2b0-214d9169bd87 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=4e9864d6-77e6-44ca-a2b0-214d9169bd87 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.666Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376139",
  "pageFaults": 0.0,
  "pageHits": 5.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: \u00274e9864d6-77e6-44ca-a2b0-214d9169bd87\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.663Z",
  "transactionId": 12250947.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376138",
  "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: \u00274e9864d6-77e6-44ca-a2b0-214d9169bd87\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.656Z",
  "transactionId": 12250946.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376137",
  "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: \u00274e9864d6-77e6-44ca-a2b0-214d9169bd87\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.653Z",
  "transactionId": 12250946.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376136",
  "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: \u00274e9864d6-77e6-44ca-a2b0-214d9169bd87\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.646Z",
  "transactionId": 12250945.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376135",
  "pageFaults": 0.0,
  "pageHits": 8.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00274e9864d6-77e6-44ca-a2b0-214d9169bd87\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.638Z",
  "transactionId": 12250944.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=304e4cdc-f6eb-46af-8837-97bb6718f5e5 no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=304e4cdc-f6eb-46af-8837-97bb6718f5e5 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=304e4cdc-f6eb-46af-8837-97bb6718f5e5 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.633Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376134",
  "pageFaults": 0.0,
  "pageHits": 5.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: \u0027304e4cdc-f6eb-46af-8837-97bb6718f5e5\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.630Z",
  "transactionId": 12250943.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376133",
  "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: \u0027304e4cdc-f6eb-46af-8837-97bb6718f5e5\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.623Z",
  "transactionId": 12250942.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376132",
  "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: \u0027304e4cdc-f6eb-46af-8837-97bb6718f5e5\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.620Z",
  "transactionId": 12250942.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376131",
  "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: \u0027304e4cdc-f6eb-46af-8837-97bb6718f5e5\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.613Z",
  "transactionId": 12250941.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376130",
  "pageFaults": 0.0,
  "pageHits": 8.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027304e4cdc-f6eb-46af-8837-97bb6718f5e5\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.606Z",
  "transactionId": 12250940.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order 304e4cdc-f6eb-46af-8837-97bb6718f5e5
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 304e4cdc-f6eb-46af-8837-97bb6718f5e5
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 304e4cdc-f6eb-46af-8837-97bb6718f5e5",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.601Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=8eab57ad-e817-421c-83da-ff6cd0c73e36 no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=8eab57ad-e817-421c-83da-ff6cd0c73e36 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=8eab57ad-e817-421c-83da-ff6cd0c73e36 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.601Z",
  "version": "unknown"
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376129",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u00278eab57ad-e817-421c-83da-ff6cd0c73e36\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.598Z",
  "transactionId": 12250939.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376128",
  "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: \u00278eab57ad-e817-421c-83da-ff6cd0c73e36\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.591Z",
  "transactionId": 12250938.0,
  "waiting": 0.0
}
11s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376127",
  "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: \u00278eab57ad-e817-421c-83da-ff6cd0c73e36\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.588Z",
  "transactionId": 12250938.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376126",
  "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: \u00278eab57ad-e817-421c-83da-ff6cd0c73e36\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.581Z",
  "transactionId": 12250937.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376124",
  "pageFaults": 0.0,
  "pageHits": 8.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00278eab57ad-e817-421c-83da-ff6cd0c73e36\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.574Z",
  "transactionId": 12250936.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376123",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u00276ce6590b-9e20-4c4a-a82f-e537e655b0c4\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.566Z",
  "transactionId": 12250935.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376122",
  "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: \u00276ce6590b-9e20-4c4a-a82f-e537e655b0c4\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.560Z",
  "transactionId": 12250934.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376121",
  "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: \u00276ce6590b-9e20-4c4a-a82f-e537e655b0c4\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.557Z",
  "transactionId": 12250934.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376120",
  "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: \u00276ce6590b-9e20-4c4a-a82f-e537e655b0c4\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.549Z",
  "transactionId": 12250933.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376119",
  "pageFaults": 0.0,
  "pageHits": 8.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00276ce6590b-9e20-4c4a-a82f-e537e655b0c4\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.542Z",
  "transactionId": 12250932.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order 6ce6590b-9e20-4c4a-a82f-e537e655b0c4
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 6ce6590b-9e20-4c4a-a82f-e537e655b0c4
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 6ce6590b-9e20-4c4a-a82f-e537e655b0c4",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.538Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=1bf45591-3aa6-429e-83b0-dda74806de6d no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=1bf45591-3aa6-429e-83b0-dda74806de6d 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=1bf45591-3aa6-429e-83b0-dda74806de6d no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.537Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376118",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u00271bf45591-3aa6-429e-83b0-dda74806de6d\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.534Z",
  "transactionId": 12250931.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376117",
  "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: \u00271bf45591-3aa6-429e-83b0-dda74806de6d\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.528Z",
  "transactionId": 12250930.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376116",
  "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: \u00271bf45591-3aa6-429e-83b0-dda74806de6d\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.525Z",
  "transactionId": 12250930.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376115",
  "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: \u00271bf45591-3aa6-429e-83b0-dda74806de6d\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.518Z",
  "transactionId": 12250929.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376114",
  "pageFaults": 0.0,
  "pageHits": 6.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00271bf45591-3aa6-429e-83b0-dda74806de6d\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.510Z",
  "transactionId": 12250928.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order 1bf45591-3aa6-429e-83b0-dda74806de6d
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 1bf45591-3aa6-429e-83b0-dda74806de6d
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 1bf45591-3aa6-429e-83b0-dda74806de6d",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.506Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376113",
  "pageFaults": 0.0,
  "pageHits": 5.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: \u0027b5e85669-440b-4ed4-9a3b-a5ef3e757025\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.503Z",
  "transactionId": 12250927.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376112",
  "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: \u0027b5e85669-440b-4ed4-9a3b-a5ef3e757025\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.496Z",
  "transactionId": 12250926.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376111",
  "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: \u0027b5e85669-440b-4ed4-9a3b-a5ef3e757025\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.493Z",
  "transactionId": 12250926.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376110",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u0027b5e85669-440b-4ed4-9a3b-a5ef3e757025\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.486Z",
  "transactionId": 12250925.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376109",
  "pageFaults": 0.0,
  "pageHits": 8.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027b5e85669-440b-4ed4-9a3b-a5ef3e757025\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.479Z",
  "transactionId": 12250924.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order b5e85669-440b-4ed4-9a3b-a5ef3e757025
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order b5e85669-440b-4ed4-9a3b-a5ef3e757025
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order b5e85669-440b-4ed4-9a3b-a5ef3e757025",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.475Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order b5e85669-440b-4ed4-9a3b-a5ef3e757025
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order b5e85669-440b-4ed4-9a3b-a5ef3e757025
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order b5e85669-440b-4ed4-9a3b-a5ef3e757025",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.474Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=8d54cbba-0f84-4ae4-8024-95201b1e08ac no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=8d54cbba-0f84-4ae4-8024-95201b1e08ac 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=8d54cbba-0f84-4ae4-8024-95201b1e08ac no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.474Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376106",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u00278d54cbba-0f84-4ae4-8024-95201b1e08ac\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.471Z",
  "transactionId": 12250923.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376105",
  "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: \u00278d54cbba-0f84-4ae4-8024-95201b1e08ac\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.465Z",
  "transactionId": 12250922.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376104",
  "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: \u00278d54cbba-0f84-4ae4-8024-95201b1e08ac\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.462Z",
  "transactionId": 12250922.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376103",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u00278d54cbba-0f84-4ae4-8024-95201b1e08ac\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.455Z",
  "transactionId": 12250921.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376102",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00278d54cbba-0f84-4ae4-8024-95201b1e08ac\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.448Z",
  "transactionId": 12250920.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 8d54cbba-0f84-4ae4-8024-95201b1e08ac
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 8d54cbba-0f84-4ae4-8024-95201b1e08ac
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 8d54cbba-0f84-4ae4-8024-95201b1e08ac",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.443Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order 8d54cbba-0f84-4ae4-8024-95201b1e08ac
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 8d54cbba-0f84-4ae4-8024-95201b1e08ac
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 8d54cbba-0f84-4ae4-8024-95201b1e08ac",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.443Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=512f7ef6-244f-4acb-bc39-d5310d516a16 no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=512f7ef6-244f-4acb-bc39-d5310d516a16 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=512f7ef6-244f-4acb-bc39-d5310d516a16 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.443Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376100",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u0027512f7ef6-244f-4acb-bc39-d5310d516a16\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.440Z",
  "transactionId": 12250919.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376099",
  "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: \u0027512f7ef6-244f-4acb-bc39-d5310d516a16\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.433Z",
  "transactionId": 12250918.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376098",
  "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: \u0027512f7ef6-244f-4acb-bc39-d5310d516a16\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.429Z",
  "transactionId": 12250918.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376097",
  "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: \u0027512f7ef6-244f-4acb-bc39-d5310d516a16\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.423Z",
  "transactionId": 12250917.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376096",
  "pageFaults": 0.0,
  "pageHits": 8.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027512f7ef6-244f-4acb-bc39-d5310d516a16\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.415Z",
  "transactionId": 12250916.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 512f7ef6-244f-4acb-bc39-d5310d516a16
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 512f7ef6-244f-4acb-bc39-d5310d516a16
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 512f7ef6-244f-4acb-bc39-d5310d516a16",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.412Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order 512f7ef6-244f-4acb-bc39-d5310d516a16
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 512f7ef6-244f-4acb-bc39-d5310d516a16
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 512f7ef6-244f-4acb-bc39-d5310d516a16",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.411Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=f073acec-7df2-493c-bf8a-d8afa95dbd24 no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=f073acec-7df2-493c-bf8a-d8afa95dbd24 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=f073acec-7df2-493c-bf8a-d8afa95dbd24 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.411Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376095",
  "pageFaults": 0.0,
  "pageHits": 5.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: \u0027f073acec-7df2-493c-bf8a-d8afa95dbd24\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.408Z",
  "transactionId": 12250915.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376094",
  "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: \u0027f073acec-7df2-493c-bf8a-d8afa95dbd24\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.402Z",
  "transactionId": 12250914.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376093",
  "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: \u0027f073acec-7df2-493c-bf8a-d8afa95dbd24\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.399Z",
  "transactionId": 12250914.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376091",
  "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: \u0027f073acec-7df2-493c-bf8a-d8afa95dbd24\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.392Z",
  "transactionId": 12250913.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376090",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027f073acec-7df2-493c-bf8a-d8afa95dbd24\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.384Z",
  "transactionId": 12250912.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order f073acec-7df2-493c-bf8a-d8afa95dbd24
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order f073acec-7df2-493c-bf8a-d8afa95dbd24
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order f073acec-7df2-493c-bf8a-d8afa95dbd24",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.380Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order f073acec-7df2-493c-bf8a-d8afa95dbd24
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order f073acec-7df2-493c-bf8a-d8afa95dbd24
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order f073acec-7df2-493c-bf8a-d8afa95dbd24",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.380Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=0a69237d-45f5-43de-ac1a-da07c8789e19 no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=0a69237d-45f5-43de-ac1a-da07c8789e19 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=0a69237d-45f5-43de-ac1a-da07c8789e19 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.380Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376089",
  "pageFaults": 0.0,
  "pageHits": 5.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: \u00270a69237d-45f5-43de-ac1a-da07c8789e19\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.377Z",
  "transactionId": 12250911.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376087",
  "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: \u00270a69237d-45f5-43de-ac1a-da07c8789e19\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.370Z",
  "transactionId": 12250910.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376086",
  "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: \u00270a69237d-45f5-43de-ac1a-da07c8789e19\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.367Z",
  "transactionId": 12250910.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376085",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u00270a69237d-45f5-43de-ac1a-da07c8789e19\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.360Z",
  "transactionId": 12250909.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376083",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u00270a69237d-45f5-43de-ac1a-da07c8789e19\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.352Z",
  "transactionId": 12250908.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 0a69237d-45f5-43de-ac1a-da07c8789e19
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 0a69237d-45f5-43de-ac1a-da07c8789e19
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 0a69237d-45f5-43de-ac1a-da07c8789e19",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.348Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order 0a69237d-45f5-43de-ac1a-da07c8789e19
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 0a69237d-45f5-43de-ac1a-da07c8789e19
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 0a69237d-45f5-43de-ac1a-da07c8789e19",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.348Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=aa0a076c-7e7b-4b4a-8a1c-5fc6c13d1e01 no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=aa0a076c-7e7b-4b4a-8a1c-5fc6c13d1e01 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=aa0a076c-7e7b-4b4a-8a1c-5fc6c13d1e01 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.347Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376081",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u0027aa0a076c-7e7b-4b4a-8a1c-5fc6c13d1e01\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.344Z",
  "transactionId": 12250907.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376080",
  "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: \u0027aa0a076c-7e7b-4b4a-8a1c-5fc6c13d1e01\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.338Z",
  "transactionId": 12250906.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376079",
  "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: \u0027aa0a076c-7e7b-4b4a-8a1c-5fc6c13d1e01\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.334Z",
  "transactionId": 12250906.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376077",
  "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: \u0027aa0a076c-7e7b-4b4a-8a1c-5fc6c13d1e01\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.328Z",
  "transactionId": 12250905.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376075",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027aa0a076c-7e7b-4b4a-8a1c-5fc6c13d1e01\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.321Z",
  "transactionId": 12250904.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order aa0a076c-7e7b-4b4a-8a1c-5fc6c13d1e01
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order aa0a076c-7e7b-4b4a-8a1c-5fc6c13d1e01
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order aa0a076c-7e7b-4b4a-8a1c-5fc6c13d1e01",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.316Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order aa0a076c-7e7b-4b4a-8a1c-5fc6c13d1e01
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order aa0a076c-7e7b-4b4a-8a1c-5fc6c13d1e01
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order aa0a076c-7e7b-4b4a-8a1c-5fc6c13d1e01",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.316Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=239d1e20-d4d0-40ca-9fde-e06cf02875cf no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=239d1e20-d4d0-40ca-9fde-e06cf02875cf 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=239d1e20-d4d0-40ca-9fde-e06cf02875cf no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.316Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376073",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u0027239d1e20-d4d0-40ca-9fde-e06cf02875cf\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.313Z",
  "transactionId": 12250903.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376071",
  "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: \u0027239d1e20-d4d0-40ca-9fde-e06cf02875cf\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.306Z",
  "transactionId": 12250902.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376070",
  "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: \u0027239d1e20-d4d0-40ca-9fde-e06cf02875cf\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.303Z",
  "transactionId": 12250902.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 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 02:20:03 UTC
severityERROR
clustermaster
podadvpsvc-66c87987bc-6vk8q
message
observability: level watcher could not stat config file /etc/config/observability.yaml: stat /etc/config/observability.yaml: no such file or directory
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376068",
  "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: \u0027239d1e20-d4d0-40ca-9fde-e06cf02875cf\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.296Z",
  "transactionId": 12250901.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376067",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027239d1e20-d4d0-40ca-9fde-e06cf02875cf\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.288Z",
  "transactionId": 12250900.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 239d1e20-d4d0-40ca-9fde-e06cf02875cf
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 239d1e20-d4d0-40ca-9fde-e06cf02875cf
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 239d1e20-d4d0-40ca-9fde-e06cf02875cf",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.284Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order 239d1e20-d4d0-40ca-9fde-e06cf02875cf
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 239d1e20-d4d0-40ca-9fde-e06cf02875cf
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 239d1e20-d4d0-40ca-9fde-e06cf02875cf",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.284Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=a9774ec2-37cc-48de-ab14-38aa2b1c40f4 no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=a9774ec2-37cc-48de-ab14-38aa2b1c40f4 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=a9774ec2-37cc-48de-ab14-38aa2b1c40f4 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.284Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376065",
  "pageFaults": 0.0,
  "pageHits": 5.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: \u0027a9774ec2-37cc-48de-ab14-38aa2b1c40f4\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.280Z",
  "transactionId": 12250899.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376062",
  "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: \u0027a9774ec2-37cc-48de-ab14-38aa2b1c40f4\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.273Z",
  "transactionId": 12250898.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376061",
  "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: \u0027a9774ec2-37cc-48de-ab14-38aa2b1c40f4\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.270Z",
  "transactionId": 12250898.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376060",
  "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: \u0027a9774ec2-37cc-48de-ab14-38aa2b1c40f4\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.263Z",
  "transactionId": 12250897.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376058",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u0027a9774ec2-37cc-48de-ab14-38aa2b1c40f4\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.256Z",
  "transactionId": 12250896.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order a9774ec2-37cc-48de-ab14-38aa2b1c40f4
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order a9774ec2-37cc-48de-ab14-38aa2b1c40f4
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order a9774ec2-37cc-48de-ab14-38aa2b1c40f4",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.251Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order a9774ec2-37cc-48de-ab14-38aa2b1c40f4
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order a9774ec2-37cc-48de-ab14-38aa2b1c40f4
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order a9774ec2-37cc-48de-ab14-38aa2b1c40f4",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.251Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=59d39bc5-a5a4-4b22-83f3-7dc9aa032353 no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=59d39bc5-a5a4-4b22-83f3-7dc9aa032353 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=59d39bc5-a5a4-4b22-83f3-7dc9aa032353 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.250Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": 724.0,
  "cpu": 0.0,
  "elapsedTimeMs": 0.0,
  "executionPlanCacheKeyHash": "23A43F51",
  "id": "25376056",
  "pageFaults": 0.0,
  "pageHits": 5.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: \u002759d39bc5-a5a4-4b22-83f3-7dc9aa032353\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.247Z",
  "transactionId": 12250895.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376055",
  "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: \u002759d39bc5-a5a4-4b22-83f3-7dc9aa032353\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.240Z",
  "transactionId": 12250894.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376054",
  "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: \u002759d39bc5-a5a4-4b22-83f3-7dc9aa032353\u0027, activity_types: [\u0027AI_MSG\u0027]}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.237Z",
  "transactionId": 12250894.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20: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 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376053",
  "pageFaults": 0.0,
  "pageHits": 6.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: \u002759d39bc5-a5a4-4b22-83f3-7dc9aa032353\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.230Z",
  "transactionId": 12250893.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
time2026-07-27 02:20:03 UTC
severityINFO
servicevirtual-assistant
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
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": "25376052",
  "pageFaults": 0.0,
  "pageHits": 7.0,
  "planning": 0.0,
  "query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
  "queryParameters": "{node_id: \u002759d39bc5-a5a4-4b22-83f3-7dc9aa032353\u0027}",
  "runtime": "pipelined",
  "source": "bolt-session\tbolt\tneo4j-python/5.28.0 Python/3.12.13-final-0 (linux)\t\tclient/10.129.4.156:51512\tserver/10.173.0.8:7687\u003e",
  "timestamp": "2026-07-27T02:20:03.222Z",
  "transactionId": 12250892.0,
  "waiting": 0.0
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 59d39bc5-a5a4-4b22-83f3-7dc9aa032353
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 59d39bc5-a5a4-4b22-83f3-7dc9aa032353
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:135",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] Starting processing for work order 59d39bc5-a5a4-4b22-83f3-7dc9aa032353",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.218Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [daily_cron] About to process work order 59d39bc5-a5a4-4b22-83f3-7dc9aa032353
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 59d39bc5-a5a4-4b22-83f3-7dc9aa032353
raw payload (8 fields)
{
  "caller": "jobs/daily_work_order_cron.py:368",
  "cluster": "master",
  "environment": "DEVELOPMENT",
  "message": "[daily_cron] About to process work order 59d39bc5-a5a4-4b22-83f3-7dc9aa032353",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.218Z",
  "version": "unknown"
}
12s ago2026-07-27 02:20:03 UTC DEBUG virtual-assistant [reminder] wo=17eabf1f-53f5-4e97-a255-ecd11d8e3405 no reminder policy (NONE) — nothing to do
time2026-07-27 02:20:03 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org02bcadc5-e03b-44d6-842c-db76b3734289
versionunknown
traceff72cd76c6789e1c39ba0da50b87e87a
spana747f789d61fc462
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=17eabf1f-53f5-4e97-a255-ecd11d8e3405 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=17eabf1f-53f5-4e97-a255-ecd11d8e3405 no reminder policy (NONE) \u2014 nothing to do",
  "org_alias": "02bcadc5-e03b-44d6-842c-db76b3734289",
  "service": "virtual-assistant",
  "timestamp": "2026-07-27T02:20:03.217Z",
  "version": "unknown"
}

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