Logs
Live Cloud Logging query (nothing stored) · master ·
last 6h ·
newest first · page 1 (200/page) · 200 entries in 2489 ms
all
app
neo4j
weaviate
time
relative
absolute
35s ago2026-07-27 02:30:09 UTC DEBUG virtual-assistant ✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=11295e01ef2cc7e8…
open trace flow ›
time2026-07-27 02:30:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:377
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace11295e01ef2cc7e86c294e639f944aee
spanfe20e38e7bcf9b94
podvirtual-assistant-65b975d66b-l8wpw
message
✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:377",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\u2705 Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:30:09.771Z",
"version": "unknown"
}35s ago2026-07-27 02:30:09 UTC DEBUG virtual-assistant [reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) — nothing to do
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=11295e01ef2cc7e8…
open trace flow ›
time2026-07-27 02:30:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace11295e01ef2cc7e86c294e639f944aee
spanfe20e38e7bcf9b94
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e 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=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) \u2014 nothing to do",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:30:09.771Z",
"version": "unknown"
}35s ago2026-07-27 02:30:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=11295e01ef2cc7e8…
open trace flow ›
time2026-07-27 02:30:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace11295e01ef2cc7e86c294e639f944aee
spanfe20e38e7bcf9b94
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:30:09.737Z",
"version": "unknown"
}35s ago2026-07-27 02:30:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=11295e01ef2cc7e8…
open trace flow ›
time2026-07-27 02:30:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace11295e01ef2cc7e86c294e639f944aee
spanfe20e38e7bcf9b94
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:30:09.737Z",
"version": "unknown"
}35s ago2026-07-27 02:30:09 UTC DEBUG virtual-assistant [reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=11295e01ef2cc7e8…
open trace flow ›
time2026-07-27 02:30:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:200
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace11295e01ef2cc7e86c294e639f944aee
spanfe20e38e7bcf9b94
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:200",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending \u2014 skipping reminder (no send, no draft) to preserve user intent",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:30:09.737Z",
"version": "unknown"
}35s ago2026-07-27 02:30:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=11295e01ef2cc7e8…
open trace flow ›
time2026-07-27 02:30:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace11295e01ef2cc7e86c294e639f944aee
spanfe20e38e7bcf9b94
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:30:09.691Z",
"version": "unknown"
}35s ago2026-07-27 02:30:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=11295e01ef2cc7e8…
open trace flow ›
time2026-07-27 02:30:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace11295e01ef2cc7e86c294e639f944aee
spanfe20e38e7bcf9b94
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:30:09.691Z",
"version": "unknown"
}35s ago2026-07-27 02:30:09 UTC DEBUG virtual-assistant 🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=11295e01ef2cc7e8…
open trace flow ›
time2026-07-27 02:30:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:362
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace11295e01ef2cc7e86c294e639f944aee
spanfe20e38e7bcf9b94
podvirtual-assistant-65b975d66b-l8wpw
message
🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:362",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\ud83c\udfe2 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:30:09.691Z",
"version": "unknown"
}1m ago2026-07-27 02:29:09 UTC DEBUG virtual-assistant ✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:377
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
podvirtual-assistant-65b975d66b-l8wpw
message
✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:377",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\u2705 Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:29:09.644Z",
"version": "unknown"
}1m ago2026-07-27 02:29:09 UTC DEBUG virtual-assistant [reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) — nothing to do
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e 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=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) \u2014 nothing to do",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:29:09.643Z",
"version": "unknown"
}1m ago2026-07-27 02:29:09 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
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": "25431126",
"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: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:29:09.640Z",
"transactionId": 12267984.0,
"waiting": 0.0
}1m ago2026-07-27 02:29:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
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": "25431125",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:29:09.634Z",
"transactionId": 12267983.0,
"waiting": 0.0
}1m ago2026-07-27 02:29:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
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": "25431124",
"pageFaults": 0.0,
"pageHits": 10.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n RETURN count(a) as total\n ",
"queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:29:09.630Z",
"transactionId": 12267983.0,
"waiting": 0.0
}1m ago2026-07-27 02:29:09 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
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": "25431123",
"pageFaults": 0.0,
"pageHits": 14.0,
"planning": 0.0,
"query": "\n MATCH (wo:WorkOrder {tildaid: $wo_id})\n OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n ",
"queryParameters": "{wo_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:29:09.623Z",
"transactionId": 12267982.0,
"waiting": 0.0
}1m ago2026-07-27 02:29:09 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
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": "25431122",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:29:09.614Z",
"transactionId": 12267981.0,
"waiting": 0.0
}1m ago2026-07-27 02:29:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:29:09.611Z",
"version": "unknown"
}1m ago2026-07-27 02:29:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:29:09.610Z",
"version": "unknown"
}1m ago2026-07-27 02:29:09 UTC DEBUG virtual-assistant [reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:200
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:200",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending \u2014 skipping reminder (no send, no draft) to preserve user intent",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:29:09.610Z",
"version": "unknown"
}1m ago2026-07-27 02:29:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
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": 7656.0,
"cpu": 0.0,
"elapsedTimeMs": 1.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25431121",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 25, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:29:09.607Z",
"transactionId": 12267980.0,
"waiting": 0.0
}1m ago2026-07-27 02:29:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
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": "25431120",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:29:09.603Z",
"transactionId": 12267980.0,
"waiting": 0.0
}1m ago2026-07-27 02:29:09 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization) RETURN...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization)
RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required
raw payload (15 fields)
{
"allocatedBytes": 328.0,
"cpu": 0.0,
"elapsedTimeMs": 0.0,
"executionPlanCacheKeyHash": "E5CF3BBC",
"id": "25431119",
"pageFaults": 0.0,
"pageHits": 8.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]-\u003e(o:Organization)\n RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required\n ",
"queryParameters": "{wo: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:29:09.597Z",
"transactionId": 12267979.0,
"waiting": 0.0
}1m ago2026-07-27 02:29:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
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": 7560.0,
"cpu": 0.0,
"elapsedTimeMs": 1.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25431118",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:29:09.590Z",
"transactionId": 12267978.0,
"waiting": 0.0
}1m ago2026-07-27 02:29:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
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": "25431117",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:29:09.586Z",
"transactionId": 12267978.0,
"waiting": 0.0
}1m ago2026-07-27 02:29:09 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
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": "25431116",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:29:09.580Z",
"transactionId": 12267977.0,
"waiting": 0.0
}1m ago2026-07-27 02:29:09 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
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": "25431115",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:29:09.573Z",
"transactionId": 12267976.0,
"waiting": 0.0
}1m ago2026-07-27 02:29:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:29:09.568Z",
"version": "unknown"
}1m ago2026-07-27 02:29:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:29:09.568Z",
"version": "unknown"
}1m ago2026-07-27 02:29:09 UTC DEBUG virtual-assistant 🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=3dade72b224fb1d7…
open trace flow ›
time2026-07-27 02:29:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:362
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace3dade72b224fb1d7e51acb8ec441abad
spanc8dd47304184f437
podvirtual-assistant-65b975d66b-l8wpw
message
🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:362",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\ud83c\udfe2 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:29:09.568Z",
"version": "unknown"
}2m ago2026-07-27 02:28:09 UTC DEBUG virtual-assistant ✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:377
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
podvirtual-assistant-65b975d66b-l8wpw
message
✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:377",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\u2705 Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:28:09.893Z",
"version": "unknown"
}2m ago2026-07-27 02:28:09 UTC DEBUG virtual-assistant [reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) — nothing to do
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e 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=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) \u2014 nothing to do",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:28:09.893Z",
"version": "unknown"
}2m ago2026-07-27 02:28:09 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
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": "25427836",
"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: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:28:09.890Z",
"transactionId": 12266283.0,
"waiting": 0.0
}2m ago2026-07-27 02:28:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
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": "25427835",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:28:09.884Z",
"transactionId": 12266282.0,
"waiting": 0.0
}2m ago2026-07-27 02:28:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
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": "25427834",
"pageFaults": 0.0,
"pageHits": 10.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n RETURN count(a) as total\n ",
"queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:28:09.880Z",
"transactionId": 12266282.0,
"waiting": 0.0
}2m ago2026-07-27 02:28:09 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
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": "25427833",
"pageFaults": 0.0,
"pageHits": 14.0,
"planning": 0.0,
"query": "\n MATCH (wo:WorkOrder {tildaid: $wo_id})\n OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n ",
"queryParameters": "{wo_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:28:09.873Z",
"transactionId": 12266281.0,
"waiting": 0.0
}2m ago2026-07-27 02:28:09 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
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": "25427832",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:28:09.865Z",
"transactionId": 12266280.0,
"waiting": 0.0
}2m ago2026-07-27 02:28:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:28:09.861Z",
"version": "unknown"
}2m ago2026-07-27 02:28:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:28:09.861Z",
"version": "unknown"
}2m ago2026-07-27 02:28:09 UTC DEBUG virtual-assistant [reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:200
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:200",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending \u2014 skipping reminder (no send, no draft) to preserve user intent",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:28:09.861Z",
"version": "unknown"
}2m ago2026-07-27 02:28:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
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": 7656.0,
"cpu": 0.0,
"elapsedTimeMs": 1.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25427831",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 25, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:28:09.857Z",
"transactionId": 12266279.0,
"waiting": 0.0
}2m ago2026-07-27 02:28:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
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": "25427830",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:28:09.854Z",
"transactionId": 12266279.0,
"waiting": 0.0
}2m ago2026-07-27 02:28:09 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization) RETURN...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization)
RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required
raw payload (15 fields)
{
"allocatedBytes": 328.0,
"cpu": 0.0,
"elapsedTimeMs": 0.0,
"executionPlanCacheKeyHash": "E5CF3BBC",
"id": "25427829",
"pageFaults": 0.0,
"pageHits": 6.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]-\u003e(o:Organization)\n RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required\n ",
"queryParameters": "{wo: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:28:09.847Z",
"transactionId": 12266278.0,
"waiting": 0.0
}2m ago2026-07-27 02:28:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
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": 7560.0,
"cpu": 0.0,
"elapsedTimeMs": 1.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25427828",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:28:09.840Z",
"transactionId": 12266277.0,
"waiting": 0.0
}2m ago2026-07-27 02:28:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
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": "25427827",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:28:09.837Z",
"transactionId": 12266277.0,
"waiting": 0.0
}2m ago2026-07-27 02:28:09 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
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": "25427826",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:28:09.830Z",
"transactionId": 12266276.0,
"waiting": 0.0
}2m ago2026-07-27 02:28:09 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
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": "25427825",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:28:09.822Z",
"transactionId": 12266275.0,
"waiting": 0.0
}2m ago2026-07-27 02:28:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:28:09.818Z",
"version": "unknown"
}2m ago2026-07-27 02:28:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:28:09.818Z",
"version": "unknown"
}2m ago2026-07-27 02:28:09 UTC DEBUG virtual-assistant 🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=384299f28513acf5…
open trace flow ›
time2026-07-27 02:28:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:362
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace384299f28513acf552759326e581897d
span0325ea4b39ebaa63
podvirtual-assistant-65b975d66b-l8wpw
message
🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:362",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\ud83c\udfe2 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:28:09.818Z",
"version": "unknown"
}3m ago2026-07-27 02:27:09 UTC DEBUG virtual-assistant ✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:377
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
podvirtual-assistant-65b975d66b-l8wpw
message
✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:377",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\u2705 Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:27:09.100Z",
"version": "unknown"
}3m ago2026-07-27 02:27:09 UTC DEBUG virtual-assistant [reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) — nothing to do
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e 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=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) \u2014 nothing to do",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:27:09.099Z",
"version": "unknown"
}3m ago2026-07-27 02:27:09 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
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": "25423565",
"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: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:27:09.096Z",
"transactionId": 12264577.0,
"waiting": 0.0
}3m ago2026-07-27 02:27:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
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": "25423564",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:27:09.089Z",
"transactionId": 12264576.0,
"waiting": 0.0
}3m ago2026-07-27 02:27:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
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": "25423563",
"pageFaults": 0.0,
"pageHits": 10.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n RETURN count(a) as total\n ",
"queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:27:09.086Z",
"transactionId": 12264576.0,
"waiting": 0.0
}3m ago2026-07-27 02:27:09 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
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": "25423562",
"pageFaults": 0.0,
"pageHits": 14.0,
"planning": 0.0,
"query": "\n MATCH (wo:WorkOrder {tildaid: $wo_id})\n OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n ",
"queryParameters": "{wo_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:27:09.079Z",
"transactionId": 12264575.0,
"waiting": 0.0
}3m ago2026-07-27 02:27:09 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
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": "25423561",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:27:09.072Z",
"transactionId": 12264574.0,
"waiting": 0.0
}3m ago2026-07-27 02:27:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:27:09.068Z",
"version": "unknown"
}3m ago2026-07-27 02:27:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:27:09.068Z",
"version": "unknown"
}3m ago2026-07-27 02:27:09 UTC DEBUG virtual-assistant [reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:200
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:200",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending \u2014 skipping reminder (no send, no draft) to preserve user intent",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:27:09.067Z",
"version": "unknown"
}3m ago2026-07-27 02:27:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
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": 7656.0,
"cpu": 1.0,
"elapsedTimeMs": 1.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25423560",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 25, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:27:09.064Z",
"transactionId": 12264573.0,
"waiting": 0.0
}3m ago2026-07-27 02:27:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
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": "25423559",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:27:09.061Z",
"transactionId": 12264573.0,
"waiting": 0.0
}3m ago2026-07-27 02:27:09 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization) RETURN...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization)
RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required
raw payload (15 fields)
{
"allocatedBytes": 328.0,
"cpu": 0.0,
"elapsedTimeMs": 0.0,
"executionPlanCacheKeyHash": "E5CF3BBC",
"id": "25423558",
"pageFaults": 0.0,
"pageHits": 8.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]-\u003e(o:Organization)\n RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required\n ",
"queryParameters": "{wo: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:27:09.054Z",
"transactionId": 12264572.0,
"waiting": 0.0
}3m ago2026-07-27 02:27:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
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": 7560.0,
"cpu": 1.0,
"elapsedTimeMs": 1.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25423557",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:27:09.046Z",
"transactionId": 12264571.0,
"waiting": 0.0
}3m ago2026-07-27 02:27:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
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": "25423556",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:27:09.042Z",
"transactionId": 12264571.0,
"waiting": 0.0
}3m ago2026-07-27 02:27:09 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
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": "25423555",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:27:09.035Z",
"transactionId": 12264570.0,
"waiting": 0.0
}3m ago2026-07-27 02:27:09 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
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": "25423554",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:27:09.028Z",
"transactionId": 12264569.0,
"waiting": 0.0
}3m ago2026-07-27 02:27:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:27:09.023Z",
"version": "unknown"
}3m ago2026-07-27 02:27:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:27:09.023Z",
"version": "unknown"
}3m ago2026-07-27 02:27:09 UTC DEBUG virtual-assistant 🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=e9fe1eac8f95352d…
open trace flow ›
time2026-07-27 02:27:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:362
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracee9fe1eac8f95352d4e284afe8d42f77d
span50a7c2572d8f23fa
podvirtual-assistant-65b975d66b-l8wpw
message
🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:362",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\ud83c\udfe2 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:27:09.023Z",
"version": "unknown"
}4m ago2026-07-27 02:26:09 UTC DEBUG virtual-assistant ✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:377
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
podvirtual-assistant-65b975d66b-l8wpw
message
✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:377",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\u2705 Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:26:09.345Z",
"version": "unknown"
}4m ago2026-07-27 02:26:09 UTC DEBUG virtual-assistant [reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) — nothing to do
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e 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=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) \u2014 nothing to do",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:26:09.345Z",
"version": "unknown"
}4m ago2026-07-27 02:26:09 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
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": "25420282",
"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: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:26:09.342Z",
"transactionId": 12262835.0,
"waiting": 0.0
}4m ago2026-07-27 02:26:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
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": "25420281",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:26:09.335Z",
"transactionId": 12262834.0,
"waiting": 0.0
}4m ago2026-07-27 02:26:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
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": "25420280",
"pageFaults": 0.0,
"pageHits": 10.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n RETURN count(a) as total\n ",
"queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:26:09.332Z",
"transactionId": 12262834.0,
"waiting": 0.0
}4m ago2026-07-27 02:26:09 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
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": "25420279",
"pageFaults": 0.0,
"pageHits": 14.0,
"planning": 0.0,
"query": "\n MATCH (wo:WorkOrder {tildaid: $wo_id})\n OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n ",
"queryParameters": "{wo_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:26:09.325Z",
"transactionId": 12262833.0,
"waiting": 0.0
}4m ago2026-07-27 02:26:09 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
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": "25420278",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:26:09.318Z",
"transactionId": 12262832.0,
"waiting": 0.0
}4m ago2026-07-27 02:26:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:26:09.314Z",
"version": "unknown"
}4m ago2026-07-27 02:26:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:26:09.314Z",
"version": "unknown"
}4m ago2026-07-27 02:26:09 UTC DEBUG virtual-assistant [reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:200
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:200",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending \u2014 skipping reminder (no send, no draft) to preserve user intent",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:26:09.313Z",
"version": "unknown"
}4m ago2026-07-27 02:26:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
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": 7656.0,
"cpu": 1.0,
"elapsedTimeMs": 1.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25420277",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 25, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:26:09.310Z",
"transactionId": 12262831.0,
"waiting": 0.0
}4m ago2026-07-27 02:26:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
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": "25420276",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:26:09.307Z",
"transactionId": 12262831.0,
"waiting": 0.0
}4m ago2026-07-27 02:26:09 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization) RETURN...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization)
RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required
raw payload (15 fields)
{
"allocatedBytes": 328.0,
"cpu": 0.0,
"elapsedTimeMs": 0.0,
"executionPlanCacheKeyHash": "E5CF3BBC",
"id": "25420275",
"pageFaults": 0.0,
"pageHits": 6.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]-\u003e(o:Organization)\n RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required\n ",
"queryParameters": "{wo: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:26:09.300Z",
"transactionId": 12262830.0,
"waiting": 0.0
}4m ago2026-07-27 02:26:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
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": 7560.0,
"cpu": 1.0,
"elapsedTimeMs": 1.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25420274",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:26:09.293Z",
"transactionId": 12262829.0,
"waiting": 0.0
}4m ago2026-07-27 02:26:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
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": "25420273",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:26:09.290Z",
"transactionId": 12262829.0,
"waiting": 0.0
}4m ago2026-07-27 02:26:09 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
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": "25420272",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:26:09.282Z",
"transactionId": 12262828.0,
"waiting": 0.0
}4m ago2026-07-27 02:26:09 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
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": "25420271",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:26:09.275Z",
"transactionId": 12262827.0,
"waiting": 0.0
}4m ago2026-07-27 02:26:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:26:09.270Z",
"version": "unknown"
}4m ago2026-07-27 02:26:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:26:09.270Z",
"version": "unknown"
}4m ago2026-07-27 02:26:09 UTC DEBUG virtual-assistant 🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=7ae614a89c2f4f25…
open trace flow ›
time2026-07-27 02:26:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:362
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace7ae614a89c2f4f25f86b38d661411c1c
spaneb9a9e8800f4e802
podvirtual-assistant-65b975d66b-l8wpw
message
🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:362",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\ud83c\udfe2 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:26:09.270Z",
"version": "unknown"
}5m ago2026-07-27 02:25:09 UTC DEBUG virtual-assistant ✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:377
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
podvirtual-assistant-65b975d66b-l8wpw
message
✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:377",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\u2705 Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:25:09.577Z",
"version": "unknown"
}5m ago2026-07-27 02:25:09 UTC DEBUG virtual-assistant [reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) — nothing to do
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e 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=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) \u2014 nothing to do",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:25:09.576Z",
"version": "unknown"
}5m ago2026-07-27 02:25:09 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
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": "25415145",
"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: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:25:09.573Z",
"transactionId": 12260735.0,
"waiting": 0.0
}5m ago2026-07-27 02:25:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
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": "25415144",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:25:09.567Z",
"transactionId": 12260734.0,
"waiting": 0.0
}5m ago2026-07-27 02:25:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
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": "25415143",
"pageFaults": 0.0,
"pageHits": 10.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n RETURN count(a) as total\n ",
"queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:25:09.564Z",
"transactionId": 12260734.0,
"waiting": 0.0
}5m ago2026-07-27 02:25:09 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
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": "25415141",
"pageFaults": 0.0,
"pageHits": 14.0,
"planning": 0.0,
"query": "\n MATCH (wo:WorkOrder {tildaid: $wo_id})\n OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n ",
"queryParameters": "{wo_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:25:09.557Z",
"transactionId": 12260733.0,
"waiting": 0.0
}5m ago2026-07-27 02:25:09 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
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": "25415139",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:25:09.550Z",
"transactionId": 12260732.0,
"waiting": 0.0
}5m ago2026-07-27 02:25:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:25:09.546Z",
"version": "unknown"
}5m ago2026-07-27 02:25:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:25:09.545Z",
"version": "unknown"
}5m ago2026-07-27 02:25:09 UTC DEBUG virtual-assistant [reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:200
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:200",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending \u2014 skipping reminder (no send, no draft) to preserve user intent",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:25:09.545Z",
"version": "unknown"
}5m ago2026-07-27 02:25:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
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": 7656.0,
"cpu": 0.0,
"elapsedTimeMs": 1.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25415138",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 25, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:25:09.542Z",
"transactionId": 12260731.0,
"waiting": 0.0
}5m ago2026-07-27 02:25:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
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": "25415136",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:25:09.539Z",
"transactionId": 12260731.0,
"waiting": 0.0
}5m ago2026-07-27 02:25:09 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization) RETURN...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization)
RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required
raw payload (15 fields)
{
"allocatedBytes": 328.0,
"cpu": 0.0,
"elapsedTimeMs": 0.0,
"executionPlanCacheKeyHash": "E5CF3BBC",
"id": "25415134",
"pageFaults": 0.0,
"pageHits": 6.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]-\u003e(o:Organization)\n RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required\n ",
"queryParameters": "{wo: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:25:09.532Z",
"transactionId": 12260729.0,
"waiting": 0.0
}5m ago2026-07-27 02:25:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
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": 7560.0,
"cpu": 0.0,
"elapsedTimeMs": 1.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25415130",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:25:09.526Z",
"transactionId": 12260726.0,
"waiting": 0.0
}5m ago2026-07-27 02:25:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
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": "25415128",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:25:09.522Z",
"transactionId": 12260726.0,
"waiting": 0.0
}5m ago2026-07-27 02:25:09 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
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": "25415126",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:25:09.515Z",
"transactionId": 12260724.0,
"waiting": 0.0
}5m ago2026-07-27 02:25:09 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
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": "25415122",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:25:09.508Z",
"transactionId": 12260721.0,
"waiting": 0.0
}5m ago2026-07-27 02:25:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:25:09.504Z",
"version": "unknown"
}5m ago2026-07-27 02:25:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:25:09.504Z",
"version": "unknown"
}5m ago2026-07-27 02:25:09 UTC DEBUG virtual-assistant 🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=056971c6a673638d…
open trace flow ›
time2026-07-27 02:25:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:362
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace056971c6a673638dd8bd7f9805ae574e
span82254bf293b1665a
podvirtual-assistant-65b975d66b-l8wpw
message
🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:362",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\ud83c\udfe2 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:25:09.504Z",
"version": "unknown"
}6m ago2026-07-27 02:24:09 UTC DEBUG virtual-assistant ✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:377
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
podvirtual-assistant-65b975d66b-l8wpw
message
✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:377",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\u2705 Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:24:09.953Z",
"version": "unknown"
}6m ago2026-07-27 02:24:09 UTC DEBUG virtual-assistant [reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) — nothing to do
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e 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=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) \u2014 nothing to do",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:24:09.953Z",
"version": "unknown"
}6m ago2026-07-27 02:24:09 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
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": "25406620",
"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: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:24:09.950Z",
"transactionId": 12258798.0,
"waiting": 0.0
}6m ago2026-07-27 02:24:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
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": "25406617",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:24:09.943Z",
"transactionId": 12258797.0,
"waiting": 0.0
}6m ago2026-07-27 02:24:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
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": "25406615",
"pageFaults": 0.0,
"pageHits": 10.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n RETURN count(a) as total\n ",
"queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:24:09.940Z",
"transactionId": 12258797.0,
"waiting": 0.0
}6m ago2026-07-27 02:24:09 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
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": "25406614",
"pageFaults": 0.0,
"pageHits": 14.0,
"planning": 0.0,
"query": "\n MATCH (wo:WorkOrder {tildaid: $wo_id})\n OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n ",
"queryParameters": "{wo_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:24:09.933Z",
"transactionId": 12258796.0,
"waiting": 0.0
}6m ago2026-07-27 02:24:09 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
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": "25406612",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:24:09.925Z",
"transactionId": 12258795.0,
"waiting": 0.0
}6m ago2026-07-27 02:24:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:24:09.921Z",
"version": "unknown"
}6m ago2026-07-27 02:24:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:24:09.921Z",
"version": "unknown"
}6m ago2026-07-27 02:24:09 UTC DEBUG virtual-assistant [reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:200
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:200",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending \u2014 skipping reminder (no send, no draft) to preserve user intent",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:24:09.921Z",
"version": "unknown"
}6m ago2026-07-27 02:24:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
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": 7656.0,
"cpu": 0.0,
"elapsedTimeMs": 0.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25406609",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 25, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:24:09.917Z",
"transactionId": 12258794.0,
"waiting": 0.0
}6m ago2026-07-27 02:24:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
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": "25406607",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:24:09.914Z",
"transactionId": 12258794.0,
"waiting": 0.0
}6m ago2026-07-27 02:24:09 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization) RETURN...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization)
RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required
raw payload (15 fields)
{
"allocatedBytes": 328.0,
"cpu": 0.0,
"elapsedTimeMs": 0.0,
"executionPlanCacheKeyHash": "E5CF3BBC",
"id": "25406605",
"pageFaults": 0.0,
"pageHits": 6.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]-\u003e(o:Organization)\n RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required\n ",
"queryParameters": "{wo: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:24:09.908Z",
"transactionId": 12258793.0,
"waiting": 0.0
}6m ago2026-07-27 02:24:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
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": 7560.0,
"cpu": 1.0,
"elapsedTimeMs": 1.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25406603",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:24:09.900Z",
"transactionId": 12258792.0,
"waiting": 0.0
}6m ago2026-07-27 02:24:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
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": "25406601",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:24:09.897Z",
"transactionId": 12258792.0,
"waiting": 0.0
}6m ago2026-07-27 02:24:09 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
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": "25406599",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:24:09.890Z",
"transactionId": 12258791.0,
"waiting": 0.0
}6m ago2026-07-27 02:24:09 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
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": "25406596",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:24:09.882Z",
"transactionId": 12258790.0,
"waiting": 0.0
}6m ago2026-07-27 02:24:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:24:09.878Z",
"version": "unknown"
}6m ago2026-07-27 02:24:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:24:09.878Z",
"version": "unknown"
}6m ago2026-07-27 02:24:09 UTC DEBUG virtual-assistant 🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=e7dbddd46e096642…
open trace flow ›
time2026-07-27 02:24:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:362
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracee7dbddd46e096642a30e9f1705fb2de3
span3062e267c3c1a7b7
podvirtual-assistant-65b975d66b-l8wpw
message
🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:362",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\ud83c\udfe2 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:24:09.878Z",
"version": "unknown"
}7m ago2026-07-27 02:23:09 UTC DEBUG virtual-assistant ✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:377
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
podvirtual-assistant-65b975d66b-l8wpw
message
✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:377",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\u2705 Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:23:09.693Z",
"version": "unknown"
}7m ago2026-07-27 02:23:09 UTC DEBUG virtual-assistant [reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) — nothing to do
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e 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=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) \u2014 nothing to do",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:23:09.692Z",
"version": "unknown"
}7m ago2026-07-27 02:23:09 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
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": "25398599",
"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: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:23:09.689Z",
"transactionId": 12257046.0,
"waiting": 0.0
}7m ago2026-07-27 02:23:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
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": "25398598",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:23:09.682Z",
"transactionId": 12257045.0,
"waiting": 0.0
}7m ago2026-07-27 02:23:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
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": "25398597",
"pageFaults": 0.0,
"pageHits": 10.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n RETURN count(a) as total\n ",
"queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:23:09.680Z",
"transactionId": 12257045.0,
"waiting": 0.0
}7m ago2026-07-27 02:23:09 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
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": "25398596",
"pageFaults": 0.0,
"pageHits": 14.0,
"planning": 0.0,
"query": "\n MATCH (wo:WorkOrder {tildaid: $wo_id})\n OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n ",
"queryParameters": "{wo_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:23:09.673Z",
"transactionId": 12257044.0,
"waiting": 0.0
}7m ago2026-07-27 02:23:09 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
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": "25398595",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:23:09.666Z",
"transactionId": 12257043.0,
"waiting": 0.0
}7m ago2026-07-27 02:23:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:23:09.662Z",
"version": "unknown"
}7m ago2026-07-27 02:23:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:23:09.662Z",
"version": "unknown"
}7m ago2026-07-27 02:23:09 UTC DEBUG virtual-assistant [reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:200
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:200",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending \u2014 skipping reminder (no send, no draft) to preserve user intent",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:23:09.661Z",
"version": "unknown"
}7m ago2026-07-27 02:23:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
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": 7656.0,
"cpu": 0.0,
"elapsedTimeMs": 0.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25398593",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 25, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:23:09.658Z",
"transactionId": 12257041.0,
"waiting": 0.0
}7m ago2026-07-27 02:23:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
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": "25398592",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:23:09.654Z",
"transactionId": 12257041.0,
"waiting": 0.0
}7m ago2026-07-27 02:23:09 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization) RETURN...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization)
RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required
raw payload (15 fields)
{
"allocatedBytes": 328.0,
"cpu": 0.0,
"elapsedTimeMs": 0.0,
"executionPlanCacheKeyHash": "E5CF3BBC",
"id": "25398591",
"pageFaults": 0.0,
"pageHits": 6.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]-\u003e(o:Organization)\n RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required\n ",
"queryParameters": "{wo: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:23:09.648Z",
"transactionId": 12257040.0,
"waiting": 0.0
}7m ago2026-07-27 02:23:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
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": 7560.0,
"cpu": 0.0,
"elapsedTimeMs": 0.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25398590",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:23:09.641Z",
"transactionId": 12257039.0,
"waiting": 0.0
}7m ago2026-07-27 02:23:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
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": "25398589",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:23:09.638Z",
"transactionId": 12257039.0,
"waiting": 0.0
}7m ago2026-07-27 02:23:09 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
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": "25398588",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:23:09.631Z",
"transactionId": 12257038.0,
"waiting": 0.0
}7m ago2026-07-27 02:23:09 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
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": "25398587",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:23:09.624Z",
"transactionId": 12257037.0,
"waiting": 0.0
}7m ago2026-07-27 02:23:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:23:09.620Z",
"version": "unknown"
}7m ago2026-07-27 02:23:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:23:09.620Z",
"version": "unknown"
}7m ago2026-07-27 02:23:09 UTC DEBUG virtual-assistant 🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=f9000f802b1b9ce5…
open trace flow ›
time2026-07-27 02:23:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:362
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracef9000f802b1b9ce5e4ab5a2563be8a56
span3e1175e67cde3362
podvirtual-assistant-65b975d66b-l8wpw
message
🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:362",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\ud83c\udfe2 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:23:09.619Z",
"version": "unknown"
}8m ago2026-07-27 02:22:10 UTC DEBUG virtual-assistant ✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:377
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
podvirtual-assistant-65b975d66b-l8wpw
message
✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:377",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\u2705 Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:22:10.825Z",
"version": "unknown"
}8m ago2026-07-27 02:22:10 UTC DEBUG virtual-assistant [reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) — nothing to do
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e 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=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) \u2014 nothing to do",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:22:10.825Z",
"version": "unknown"
}8m ago2026-07-27 02:22:10 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
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": "25390688",
"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: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:22:10.822Z",
"transactionId": 12255157.0,
"waiting": 0.0
}8m ago2026-07-27 02:22:10 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
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": "25390686",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:22:10.815Z",
"transactionId": 12255156.0,
"waiting": 0.0
}8m ago2026-07-27 02:22:10 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
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": "25390685",
"pageFaults": 0.0,
"pageHits": 10.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n RETURN count(a) as total\n ",
"queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:22:10.812Z",
"transactionId": 12255156.0,
"waiting": 0.0
}8m ago2026-07-27 02:22:10 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
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": "25390684",
"pageFaults": 0.0,
"pageHits": 14.0,
"planning": 0.0,
"query": "\n MATCH (wo:WorkOrder {tildaid: $wo_id})\n OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n ",
"queryParameters": "{wo_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:22:10.806Z",
"transactionId": 12255155.0,
"waiting": 0.0
}8m ago2026-07-27 02:22:10 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
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": "25390682",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:22:10.798Z",
"transactionId": 12255154.0,
"waiting": 0.0
}8m ago2026-07-27 02:22:10 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:22:10.794Z",
"version": "unknown"
}8m ago2026-07-27 02:22:10 UTC DEBUG virtual-assistant [daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:22:10.794Z",
"version": "unknown"
}8m ago2026-07-27 02:22:10 UTC DEBUG virtual-assistant [reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:200
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:200",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending \u2014 skipping reminder (no send, no draft) to preserve user intent",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:22:10.794Z",
"version": "unknown"
}8m ago2026-07-27 02:22:10 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
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": 7656.0,
"cpu": 0.0,
"elapsedTimeMs": 0.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25390681",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 25, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:22:10.790Z",
"transactionId": 12255153.0,
"waiting": 0.0
}8m ago2026-07-27 02:22:10 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
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": "25390680",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:22:10.787Z",
"transactionId": 12255153.0,
"waiting": 0.0
}8m ago2026-07-27 02:22:10 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization) RETURN...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization)
RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required
raw payload (15 fields)
{
"allocatedBytes": 328.0,
"cpu": 0.0,
"elapsedTimeMs": 0.0,
"executionPlanCacheKeyHash": "E5CF3BBC",
"id": "25390678",
"pageFaults": 0.0,
"pageHits": 6.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]-\u003e(o:Organization)\n RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required\n ",
"queryParameters": "{wo: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:22:10.781Z",
"transactionId": 12255152.0,
"waiting": 0.0
}8m ago2026-07-27 02:22:10 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
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": 7560.0,
"cpu": 0.0,
"elapsedTimeMs": 1.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25390676",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:22:10.774Z",
"transactionId": 12255151.0,
"waiting": 0.0
}8m ago2026-07-27 02:22:10 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
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": "25390675",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:22:10.770Z",
"transactionId": 12255151.0,
"waiting": 0.0
}8m ago2026-07-27 02:22:10 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
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": "25390674",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:22:10.764Z",
"transactionId": 12255150.0,
"waiting": 0.0
}8m ago2026-07-27 02:22:10 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
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": "25390673",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:22:10.756Z",
"transactionId": 12255149.0,
"waiting": 0.0
}8m ago2026-07-27 02:22:10 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:22:10.752Z",
"version": "unknown"
}8m ago2026-07-27 02:22:10 UTC DEBUG virtual-assistant [daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:22:10.752Z",
"version": "unknown"
}8m ago2026-07-27 02:22:10 UTC DEBUG virtual-assistant 🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=a4e90dba790548da…
open trace flow ›
time2026-07-27 02:22:10 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:362
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
tracea4e90dba790548da15bd1efcdf5b3d34
spand1b2322a5833d532
podvirtual-assistant-65b975d66b-l8wpw
message
🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:362",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\ud83c\udfe2 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:22:10.752Z",
"version": "unknown"
}9m ago2026-07-27 02:21:10 UTC DEBUG virtual-assistant ✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:377
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
podvirtual-assistant-65b975d66b-l8wpw
message
✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:377",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\u2705 Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:21:10.132Z",
"version": "unknown"
}9m ago2026-07-27 02:21:10 UTC DEBUG virtual-assistant [reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) — nothing to do
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e 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=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) \u2014 nothing to do",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:21:10.132Z",
"version": "unknown"
}9m ago2026-07-27 02:21:10 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
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": "25381885",
"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: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:21:10.129Z",
"transactionId": 12253439.0,
"waiting": 0.0
}9m ago2026-07-27 02:21:10 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
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": "25381884",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:21:10.121Z",
"transactionId": 12253438.0,
"waiting": 0.0
}9m ago2026-07-27 02:21:10 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
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": "25381883",
"pageFaults": 0.0,
"pageHits": 10.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n RETURN count(a) as total\n ",
"queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:21:10.118Z",
"transactionId": 12253438.0,
"waiting": 0.0
}9m ago2026-07-27 02:21:10 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
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": "25381881",
"pageFaults": 0.0,
"pageHits": 14.0,
"planning": 0.0,
"query": "\n MATCH (wo:WorkOrder {tildaid: $wo_id})\n OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n ",
"queryParameters": "{wo_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:21:10.111Z",
"transactionId": 12253437.0,
"waiting": 0.0
}9m ago2026-07-27 02:21:10 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
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": "25381880",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:21:10.103Z",
"transactionId": 12253436.0,
"waiting": 0.0
}9m ago2026-07-27 02:21:10 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:21:10.098Z",
"version": "unknown"
}9m ago2026-07-27 02:21:10 UTC DEBUG virtual-assistant [daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:21:10.098Z",
"version": "unknown"
}9m ago2026-07-27 02:21:10 UTC DEBUG virtual-assistant [reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:200
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:200",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending \u2014 skipping reminder (no send, no draft) to preserve user intent",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:21:10.098Z",
"version": "unknown"
}9m ago2026-07-27 02:21:10 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
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": 7656.0,
"cpu": 0.0,
"elapsedTimeMs": 1.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25381878",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 25, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:21:10.094Z",
"transactionId": 12253435.0,
"waiting": 0.0
}9m ago2026-07-27 02:21:10 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
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": "25381877",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:21:10.091Z",
"transactionId": 12253435.0,
"waiting": 0.0
}9m ago2026-07-27 02:21:10 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization) RETURN...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
podserver-2-dev-0
query
MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]->(o:Organization)
RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required
raw payload (15 fields)
{
"allocatedBytes": 328.0,
"cpu": 0.0,
"elapsedTimeMs": 0.0,
"executionPlanCacheKeyHash": "E5CF3BBC",
"id": "25381876",
"pageFaults": 0.0,
"pageHits": 6.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $wo})-[:WORK_ORDER_TO_ORGANIZATION]-\u003e(o:Organization)\n RETURN COALESCE(o.reminderApprovalRequired, true) AS approval_required\n ",
"queryParameters": "{wo: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:21:10.085Z",
"transactionId": 12253434.0,
"waiting": 0.0
}9m ago2026-07-27 02:21:10 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
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": 7560.0,
"cpu": 1.0,
"elapsedTimeMs": 1.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25381875",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:21:10.077Z",
"transactionId": 12253433.0,
"waiting": 0.0
}9m ago2026-07-27 02:21:10 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
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": "25381874",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:21:10.073Z",
"transactionId": 12253433.0,
"waiting": 0.0
}9m ago2026-07-27 02:21:10 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
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": "25381873",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:21:10.066Z",
"transactionId": 12253432.0,
"waiting": 0.0
}9m ago2026-07-27 02:21:10 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
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": "25381871",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:21:10.059Z",
"transactionId": 12253431.0,
"waiting": 0.0
}9m ago2026-07-27 02:21:10 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:21:10.055Z",
"version": "unknown"
}9m ago2026-07-27 02:21:10 UTC DEBUG virtual-assistant [daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order d4a889a1-a6b0-4bdd-9ede-fae571005b67",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:21:10.054Z",
"version": "unknown"
}9m ago2026-07-27 02:21:10 UTC DEBUG virtual-assistant 🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=2ce7cf386aaeb774…
open trace flow ›
time2026-07-27 02:21:10 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:362
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace2ce7cf386aaeb774eb15c5b3556df1a0
span396ab5bef8a6ace0
podvirtual-assistant-65b975d66b-l8wpw
message
🏢 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:362",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\ud83c\udfe2 Processing organization 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 (2 work orders)",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:21:10.054Z",
"version": "unknown"
}10m ago2026-07-27 02:20:09 UTC DEBUG virtual-assistant ✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=50cedc26cd308dff…
open trace flow ›
time2026-07-27 02:20:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:377
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace50cedc26cd308dff9dc8fc10c628c349
span45246ac4bd9762fc
podvirtual-assistant-65b975d66b-l8wpw
message
✅ Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:377",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "\u2705 Org 8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30 summary: processed=2, reminders_sent=0, moved_to_need_attention=0",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:20:09.425Z",
"version": "unknown"
}10m ago2026-07-27 02:20:09 UTC DEBUG virtual-assistant [reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) — nothing to do
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=50cedc26cd308dff…
open trace flow ›
time2026-07-27 02:20:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:220
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace50cedc26cd308dff9dc8fc10c628c349
span45246ac4bd9762fc
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e 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=57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e no reminder policy (NONE) \u2014 nothing to do",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:20:09.424Z",
"version": "unknown"
}10m ago2026-07-27 02:20:09 UTC neo4j virtual-assistant MATCH (w:WorkOrder {tildaid: $work_order_id})<-[:FACT_TO_WORK_ORDER]-(f:Fact) WHERE f.delpending = false ...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=50cedc26cd308dff…
open trace flow ›
time2026-07-27 02:20:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace50cedc26cd308dff9dc8fc10c628c349
span45246ac4bd9762fc
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": "25377206",
"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: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:09.421Z",
"transactionId": 12251657.0,
"waiting": 0.0
}10m ago2026-07-27 02:20:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=50cedc26cd308dff…
open trace flow ›
time2026-07-27 02:20:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace50cedc26cd308dff9dc8fc10c628c349
span45246ac4bd9762fc
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": "25377204",
"pageFaults": 0.0,
"pageHits": 9.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 1, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:09.415Z",
"transactionId": 12251656.0,
"waiting": 0.0
}10m ago2026-07-27 02:20:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=50cedc26cd308dff…
open trace flow ›
time2026-07-27 02:20:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace50cedc26cd308dff9dc8fc10c628c349
span45246ac4bd9762fc
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": "25377203",
"pageFaults": 0.0,
"pageHits": 10.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n RETURN count(a) as total\n ",
"queryParameters": "{statuses: [\u0027DRAFT\u0027], work_order_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:09.412Z",
"transactionId": 12251656.0,
"waiting": 0.0
}10m ago2026-07-27 02:20:09 UTC neo4j virtual-assistant MATCH (wo:WorkOrder {tildaid: $wo_id}) OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]->(a:WorkOrderActivity {activity_type:...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=50cedc26cd308dff…
open trace flow ›
time2026-07-27 02:20:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace50cedc26cd308dff9dc8fc10c628c349
span45246ac4bd9762fc
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": "25377200",
"pageFaults": 0.0,
"pageHits": 14.0,
"planning": 0.0,
"query": "\n MATCH (wo:WorkOrder {tildaid: $wo_id})\n OPTIONAL MATCH (wo)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity {activity_type: \u0027U_REPLY\u0027})\n RETURN wo.createdat AS created_at, max(a.timestamp) AS latest_reply_ts\n ",
"queryParameters": "{wo_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:09.406Z",
"transactionId": 12251655.0,
"waiting": 0.0
}10m ago2026-07-27 02:20:09 UTC neo4j virtual-assistant MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=50cedc26cd308dff…
open trace flow ›
time2026-07-27 02:20:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace50cedc26cd308dff9dc8fc10c628c349
span45246ac4bd9762fc
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": "25377199",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "MATCH (n:WorkOrder {tildaid: $node_id}) RETURN n",
"queryParameters": "{node_id: \u002757c957cb-a23f-4f3a-8bf1-bb9e566a2b6e\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:09.399Z",
"transactionId": 12251654.0,
"waiting": 0.0
}10m ago2026-07-27 02:20:09 UTC DEBUG virtual-assistant [daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=50cedc26cd308dff…
open trace flow ›
time2026-07-27 02:20:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:135
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace50cedc26cd308dff9dc8fc10c628c349
span45246ac4bd9762fc
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:135",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] Starting processing for work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:20:09.395Z",
"version": "unknown"
}10m ago2026-07-27 02:20:09 UTC DEBUG virtual-assistant [daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=50cedc26cd308dff…
open trace flow ›
time2026-07-27 02:20:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:368
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace50cedc26cd308dff9dc8fc10c628c349
span45246ac4bd9762fc
podvirtual-assistant-65b975d66b-l8wpw
message
[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:368",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[daily_cron] About to process work order 57c957cb-a23f-4f3a-8bf1-bb9e566a2b6e",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:20:09.395Z",
"version": "unknown"
}10m ago2026-07-27 02:20:09 UTC DEBUG virtual-assistant [reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥DEBUG
trace=50cedc26cd308dff…
open trace flow ›
time2026-07-27 02:20:09 UTC
severityDEBUG
servicevirtual-assistant
sourcejobs/daily_work_order_cron.py:200
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
versionunknown
trace50cedc26cd308dff9dc8fc10c628c349
span45246ac4bd9762fc
podvirtual-assistant-65b975d66b-l8wpw
message
[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending — skipping reminder (no send, no draft) to preserve user intent
raw payload (8 fields)
{
"caller": "jobs/daily_work_order_cron.py:200",
"cluster": "master",
"environment": "DEVELOPMENT",
"message": "[reminder] wo=d4a889a1-a6b0-4bdd-9ede-fae571005b67 draft already pending \u2014 skipping reminder (no send, no draft) to preserve user intent",
"org_alias": "8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30",
"service": "virtual-assistant",
"timestamp": "2026-07-27T02:20:09.395Z",
"version": "unknown"
}10m ago2026-07-27 02:20:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=50cedc26cd308dff…
open trace flow ›
time2026-07-27 02:20:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace50cedc26cd308dff9dc8fc10c628c349
span45246ac4bd9762fc
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": 7656.0,
"cpu": 0.0,
"elapsedTimeMs": 1.0,
"executionPlanCacheKeyHash": "2A13D7A9",
"id": "25377197",
"pageFaults": 0.0,
"pageHits": 11.0,
"planning": 0.0,
"query": "\n MATCH (w:WorkOrder {tildaid: $work_order_id})-[:WORK_ORDER_TO_ACTIVITY]-\u003e(a:WorkOrderActivity)\n WHERE 1=1 AND a.activity_type IN $activity_types AND a.status IN $statuses \n OPTIONAL MATCH (d:Document)\n WHERE d.tildaid IN COALESCE(a.docIds, [])\n WITH w, a, COLLECT(DISTINCT {tildaid: d.tildaid, fileName: d.fileName, contentType: d.contentType}) as documents\n // Compute latest AI_MSG draft id per work order for gating REGENERATE\n OPTIONAL MATCH (w)-[:WORK_ORDER_TO_ACTIVITY]-\u003e(ai:WorkOrderActivity)\n WHERE ai.activity_type = \u0027AI_MSG\u0027 // any status: a newer SENT/QUEUED must supersede an older FindingsChanged draft, else REGENERATE stays stuck\n WITH w, a, documents,\n max(coalesce(ai.updatedat, ai.createdat)) AS latest_any_ts,\n collect({id: ai.tildaid, ts: coalesce(ai.updatedat, ai.createdat), status: ai.status, ignoreType: ai.ignoreType}) AS ai_msgs\n WITH a, documents,\n CASE\n WHEN size(ai_msgs) = 0 THEN false\n ELSE any(x IN ai_msgs WHERE x.id = a.tildaid AND x.ts = latest_any_ts)\n END AS is_latest_draft\n RETURN a,\n CASE WHEN size(documents) \u003e 0 AND documents[0].tildaid IS NOT NULL THEN documents ELSE [] END AS documents,\n is_latest_draft\n ORDER BY a.createdat DESC\n SKIP $skip\n LIMIT $limit\n ",
"queryParameters": "{limit: 25, statuses: [\u0027DRAFT\u0027], skip: 0, work_order_id: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:09.392Z",
"transactionId": 12251652.0,
"waiting": 0.0
}10m ago2026-07-27 02:20:09 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...
filter by:
service=virtual-assistant
org=8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
severity≥INFO
trace=50cedc26cd308dff…
open trace flow ›
time2026-07-27 02:20:09 UTC
severityINFO
servicevirtual-assistant
clustermaster
org8a8c3a76-7bd6-45d4-9ca3-c9330f4aba30
trace50cedc26cd308dff9dc8fc10c628c349
span45246ac4bd9762fc
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": "25377194",
"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: \u0027d4a889a1-a6b0-4bdd-9ede-fae571005b67\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:09.388Z",
"transactionId": 12251652.0,
"waiting": 0.0
}Paginated with Cloud Logging page cursors, so you can walk the whole 6h window — not just the newest page. Click any filter by value to scope the view (resets to page 1). Paste a trace id to see every log line across all services for that one request.