Add Handbook.md benchmark tasks

This commit is contained in:
DerekSurge
2026-06-24 12:44:34 -07:00
commit 72f9a65917
1800 changed files with 323589 additions and 0 deletions
@@ -0,0 +1,7 @@
FROM handbook_base
COPY initial_external_services/ /data/
COPY initial_external_services/ /initial_data/
COPY initial_workspace/ /workdir/
ENV INPUTDIR=/data OUTPUTDIR=/data WORLDBENCH_TOOL_SETS="syntara_ds_all google_mail_contacts slack_core google_mail_core google_calendar_core jira_core shopify_core"
@@ -0,0 +1,123 @@
{
"events": {
"evt-001": {
"summary": "Northeast Client Tour - Acme Corp & Partners",
"start": {
"date": "2026-04-01"
},
"end": {
"date": "2026-04-03"
},
"description": "Multi-day client visit covering Hartford, Stamford, and New Haven accounts. Includes site tours and contract review sessions.",
"location": "Hartford / Stamford / New Haven, CT",
"id": "evt-001"
},
"evt-002": {
"summary": "Client Meeting - Acme Corp Q2 Planning",
"start": {
"dateTime": "2026-04-02T12:00:00-04:00",
"timeZone": "America/New_York"
},
"end": {
"dateTime": "2026-04-02T14:00:00-04:00",
"timeZone": "America/New_York"
},
"description": "Quarterly planning session with Acme Corp procurement team. Location: Acme Corp Hartford office.",
"location": "Acme Corp, 200 Main St, Hartford, CT",
"id": "evt-002"
},
"evt-003": {
"summary": "Sales Team Standup",
"start": {
"dateTime": "2026-03-30T09:00:00-04:00",
"timeZone": "America/New_York"
},
"end": {
"dateTime": "2026-03-30T09:30:00-04:00",
"timeZone": "America/New_York"
},
"description": "Weekly sales team standup. Dial-in available.",
"location": "Conference Room B / Zoom",
"id": "evt-003"
},
"evt-005": {
"summary": "Site Visit - TechForward Inc.",
"start": {
"dateTime": "2026-04-03T10:00:00-04:00",
"timeZone": "America/New_York"
},
"end": {
"dateTime": "2026-04-03T15:00:00-04:00",
"timeZone": "America/New_York"
},
"description": "On-site demo and needs assessment at TechForward headquarters.",
"location": "TechForward Inc., 500 Innovation Dr, Bridgeport, CT",
"id": "evt-005"
},
"evt-006": {
"summary": "Quarterly Business Review - All Sales",
"start": {
"dateTime": "2026-04-03T09:00:00-04:00",
"timeZone": "America/New_York"
},
"end": {
"dateTime": "2026-04-03T16:00:00-04:00",
"timeZone": "America/New_York"
},
"description": "Full-day QBR covering Q1 results and Q2 targets. Lunch will be working session.",
"location": "Main Conference Room, Hartford HQ",
"id": "evt-006"
},
"evt-007": {
"summary": "West Coast Insurance Innovation Conference",
"start": {
"date": "2026-04-04"
},
"end": {
"date": "2026-04-08"
},
"description": "Annual industry conference. Travel day Saturday April 4.",
"location": "Moscone Center, San Francisco, CA",
"id": "evt-007"
},
"evt-008": {
"summary": "All-Hands Meeting",
"start": {
"dateTime": "2026-04-06T14:00:00-04:00",
"timeZone": "America/New_York"
},
"end": {
"dateTime": "2026-04-06T15:00:00-04:00",
"timeZone": "America/New_York"
},
"description": "Monthly all-hands with leadership updates.",
"location": "Auditorium / Zoom",
"id": "evt-008"
},
"evt-009": {
"summary": "HR Benefits Enrollment Deadline",
"start": {
"date": "2026-04-10"
},
"end": {
"date": "2026-04-11"
},
"description": "Last day for Q2 benefits enrollment changes.",
"id": "evt-009"
},
"evt-010": {
"summary": "Sales Pipeline Review",
"start": {
"dateTime": "2026-04-02T09:00:00-04:00",
"timeZone": "America/New_York"
},
"end": {
"dateTime": "2026-04-02T10:00:00-04:00",
"timeZone": "America/New_York"
},
"description": "Weekly pipeline review with Diana Park.",
"location": "Sales War Room",
"id": "evt-010"
}
}
}
@@ -0,0 +1,187 @@
{
"mailbox": {
"email": "taylor.morgan@vanguardshield.com",
"name": "Taylor Morgan"
},
"contacts": [
{
"email": "rachel.foster@vanguardshield.com",
"name": "Rachel Foster"
},
{
"email": "sarah.jenkins@vanguardshield.com",
"name": "Sarah Jenkins"
},
{
"email": "diana.park@vanguardshield.com",
"name": "Diana Park"
},
{
"email": "jun.nakamura@vanguardshield.com",
"name": "Jun Nakamura"
},
{
"email": "nathan.briggs@vanguardshield.com",
"name": "Nathan Briggs"
},
{
"email": "lisa.tran@vanguardshield.com",
"name": "Lisa Tran"
},
{
"email": "hrops@vanguardshield.com",
"name": "HR Operations"
},
{
"email": "people@vanguardshield.com",
"name": "People Directory"
},
{
"email": "support@vanguardshield.com",
"name": "Vanguard Shield Support"
},
{
"email": "ap.exceptions@vanguardshield.com",
"name": "AP Exceptions"
},
{
"email": "james.hartley@globalofficesupply.com",
"name": "James Hartley"
},
{
"email": "sandra.mitchell@premiumlogistics.com",
"name": "Sandra Mitchell"
},
{
"email": "accounts@globalofficesupply.com",
"name": "Global Office Supply - Accounts"
},
{
"email": "billing@premiumlogistics.com",
"name": "Premium Logistics - Billing"
}
],
"groups": [
{
"email": "finance.ops@vanguardshield.com",
"name": "Finance Operations",
"members": [
"taylor.morgan@vanguardshield.com",
"rachel.foster@vanguardshield.com"
]
}
],
"folders": [
{
"name": "Vendor Inquiries"
},
{
"name": "AP Processing"
}
],
"emails": [
{
"email_id": "1",
"folder": "INBOX",
"subject": "Payment Inquiry - Invoice #7891",
"from_addr": "james.hartley@globalofficesupply.com",
"to_addr": "taylor.morgan@vanguardshield.com",
"cc_addr": "accounts@globalofficesupply.com",
"bcc_addr": null,
"date": "2026-04-03T10:22:00-04:00",
"message_id": "msg-ext-001@globalofficesupply.com",
"in_reply_to": null,
"body_text": "Dear Taylor,\n\nI hope this message finds you well. I'm writing to follow up on Invoice #7891 in the amount of $12,450.00 dated March 15, 2026. As of today, our records do not show receipt of this payment.\n\nCould you please check the status on your end and confirm whether payment has been issued? If it has been sent, could you provide the trace number or proof of payment so we can follow up with our bank?\n\nThank you for your prompt attention to this matter.\n\nBest regards,\nJames Hartley\nAccounts Receivable Manager\nGlobal Office Supply Inc.\njames.hartley@globalofficesupply.com\n(860) 555-0142",
"body_html": null,
"is_read": false,
"is_important": false,
"attachments": []
},
{
"email_id": "2",
"folder": "INBOX",
"subject": "Urgent: Missing Payment - Invoice #7892",
"from_addr": "james.hartley@globalofficesupply.com",
"to_addr": "taylor.morgan@vanguardshield.com",
"cc_addr": null,
"bcc_addr": null,
"date": "2026-04-03T13:15:00-04:00",
"message_id": "msg-ext-002@globalofficesupply.com",
"in_reply_to": null,
"body_text": "Dear Taylor,\n\nI am following up regarding Invoice #7892 for $8,750.00, dated March 18, 2026. This was flagged as an emergency order, and we expected payment within the standard 15-day terms.\n\nIt has now been over two weeks and we have not received the funds. Can you please look into this and let us know the payment status?\n\nThank you,\nJames Hartley\nAccounts Receivable Manager\nGlobal Office Supply Inc.",
"body_html": null,
"is_read": false,
"is_important": true,
"attachments": []
},
{
"email_id": "3",
"folder": "INBOX",
"subject": "Payment Status Check - Invoice #7893",
"from_addr": "sandra.mitchell@premiumlogistics.com",
"to_addr": "taylor.morgan@vanguardshield.com",
"cc_addr": "billing@premiumlogistics.com",
"bcc_addr": null,
"date": "2026-04-03T14:45:00-04:00",
"message_id": "msg-ext-003@premiumlogistics.com",
"in_reply_to": null,
"body_text": "Hi Taylor,\n\nI wanted to check on the status of Invoice #7893 for $3,200.00 (March freight services). Our standard terms are Net 30, but I wanted to confirm the payment is in process on your side.\n\nNo rush - just doing our monthly reconciliation.\n\nThanks,\nSandra Mitchell\nBilling Coordinator\nPremium Logistics Corp.\nsandra.mitchell@premiumlogistics.com\n(203) 555-0198",
"body_html": null,
"is_read": true,
"is_important": false,
"attachments": []
},
{
"email_id": "4",
"folder": "INBOX",
"subject": "Payment Confirmation Needed - Invoice #7895",
"from_addr": "sandra.mitchell@premiumlogistics.com",
"to_addr": "taylor.morgan@vanguardshield.com",
"cc_addr": null,
"bcc_addr": null,
"date": "2026-04-03T15:30:00-04:00",
"message_id": "msg-ext-004@premiumlogistics.com",
"in_reply_to": null,
"body_text": "Hi Taylor,\n\nOur accounting team is asking for confirmation on Invoice #7895 ($15,800.00 for Q1 warehousing). Your AP department mentioned the payment was issued, but we haven't seen the funds hit our account yet.\n\nIf available, could you send over the payment confirmation or clearing documentation? That would help us sort this out on our end.\n\nThank you,\nSandra Mitchell\nBilling Coordinator\nPremium Logistics Corp.",
"body_html": null,
"is_read": false,
"is_important": false,
"attachments": []
},
{
"email_id": "5",
"folder": "INBOX",
"subject": "Weekly AP Processing Report",
"from_addr": "rachel.foster@vanguardshield.com",
"to_addr": "taylor.morgan@vanguardshield.com",
"cc_addr": null,
"bcc_addr": null,
"date": "2026-04-03T08:00:00-04:00",
"message_id": "msg-int-005@vanguardshield.com",
"in_reply_to": null,
"body_text": "Hi Taylor,\n\nAttached is this week's AP processing summary. Please review the outstanding vendor inquiries queue and follow up as needed. Vendor response SLA is 2 business days.\n\nThanks,\nRachel",
"body_html": null,
"is_read": true,
"is_important": false,
"attachments": []
},
{
"email_id": "6",
"folder": "Sent",
"subject": "Re: Weekly AP Processing Report",
"from_addr": "taylor.morgan@vanguardshield.com",
"to_addr": "rachel.foster@vanguardshield.com",
"cc_addr": null,
"bcc_addr": null,
"date": "2026-04-03T09:15:00-04:00",
"message_id": "msg-int-006@vanguardshield.com",
"in_reply_to": "msg-int-005@vanguardshield.com",
"body_text": "Thanks Rachel, will work through the queue today and Monday.\n\n- Taylor",
"body_html": null,
"is_read": true,
"is_important": false,
"attachments": []
}
],
"next_email_id": 7
}
@@ -0,0 +1,571 @@
{
"products": {
"gid://shopify/Product/5001": {
"id": "gid://shopify/Product/5001",
"title": "Vanguard Shield Branded Notebook Set",
"description": "Premium hardcover notebook set with Vanguard Shield logo. Pack of 10. For client gifts and onboarding kits.",
"descriptionHtml": "<p>Premium hardcover notebook set with Vanguard Shield logo. Pack of 10. For client gifts and onboarding kits.</p>",
"handle": "vanguard-shield-branded-notebook-set",
"productType": "Client Gifts",
"vendor": "Vanguard Shield Internal",
"tags": [
"branded",
"notebook",
"client-gift",
"merch"
],
"availableForSale": true,
"priceRange": {
"minVariantPrice": {
"amount": "35.00",
"currencyCode": "USD"
},
"maxVariantPrice": {
"amount": "35.00",
"currencyCode": "USD"
}
},
"options": [
{
"id": "opt-5001-1",
"name": "Pack Size",
"values": [
"10-Pack"
]
}
],
"variants": [
{
"id": "gid://shopify/ProductVariant/5001-10",
"title": "10-Pack",
"price": {
"amount": "35.00",
"currencyCode": "USD"
},
"availableForSale": true,
"sku": "VS-NOTE-10PK",
"selectedOptions": [
{
"name": "Pack Size",
"value": "10-Pack"
}
],
"requiresShipping": true,
"taxable": false
}
],
"createdAt": "2025-09-01T12:00:00.000000Z",
"updatedAt": "2026-03-15T10:00:00.000000Z",
"publishedAt": "2025-09-01T12:00:00.000000Z",
"totalInventory": 200
},
"gid://shopify/Product/5002": {
"id": "gid://shopify/Product/5002",
"title": "Vanguard Shield Custom Polo Shirt",
"description": "Custom embroidered polo shirt with Vanguard Shield branding. Available in S, M, L, XL. For trade shows and events.",
"descriptionHtml": "<p>Custom embroidered polo shirt with Vanguard Shield branding. Available in S, M, L, XL. For trade shows and events.</p>",
"handle": "vanguard-shield-custom-polo-shirt",
"productType": "Marketing Promo",
"vendor": "Vanguard Shield Internal",
"tags": [
"branded",
"polo",
"trade-show",
"promo",
"merch"
],
"availableForSale": true,
"priceRange": {
"minVariantPrice": {
"amount": "28.00",
"currencyCode": "USD"
},
"maxVariantPrice": {
"amount": "28.00",
"currencyCode": "USD"
}
},
"options": [
{
"id": "opt-5002-1",
"name": "Size",
"values": [
"S",
"M",
"L",
"XL"
]
}
],
"variants": [
{
"id": "gid://shopify/ProductVariant/5002-s",
"title": "S",
"price": {
"amount": "28.00",
"currencyCode": "USD"
},
"availableForSale": true,
"sku": "VS-POLO-S",
"selectedOptions": [
{
"name": "Size",
"value": "S"
}
]
},
{
"id": "gid://shopify/ProductVariant/5002-m",
"title": "M",
"price": {
"amount": "28.00",
"currencyCode": "USD"
},
"availableForSale": true,
"sku": "VS-POLO-M",
"selectedOptions": [
{
"name": "Size",
"value": "M"
}
]
},
{
"id": "gid://shopify/ProductVariant/5002-l",
"title": "L",
"price": {
"amount": "28.00",
"currencyCode": "USD"
},
"availableForSale": true,
"sku": "VS-POLO-L",
"selectedOptions": [
{
"name": "Size",
"value": "L"
}
]
},
{
"id": "gid://shopify/ProductVariant/5002-xl",
"title": "XL",
"price": {
"amount": "28.00",
"currencyCode": "USD"
},
"availableForSale": true,
"sku": "VS-POLO-XL",
"selectedOptions": [
{
"name": "Size",
"value": "XL"
}
]
}
],
"createdAt": "2025-06-15T12:00:00.000000Z",
"updatedAt": "2026-02-20T10:00:00.000000Z",
"publishedAt": "2025-06-15T12:00:00.000000Z",
"totalInventory": 150
},
"gid://shopify/Product/5003": {
"id": "gid://shopify/Product/5003",
"title": "Vanguard Shield Tote Bag",
"description": "Canvas tote bag with Vanguard Shield logo. Great for conferences and client events.",
"descriptionHtml": "<p>Canvas tote bag with Vanguard Shield logo. Great for conferences and client events.</p>",
"handle": "vanguard-shield-tote-bag",
"productType": "Client Gifts",
"vendor": "Vanguard Shield Internal",
"tags": [
"branded",
"tote",
"conference",
"merch"
],
"availableForSale": true,
"priceRange": {
"minVariantPrice": {
"amount": "15.00",
"currencyCode": "USD"
},
"maxVariantPrice": {
"amount": "15.00",
"currencyCode": "USD"
}
},
"options": [
{
"id": "opt-5003-1",
"name": "Color",
"values": [
"Navy",
"White"
]
}
],
"variants": [
{
"id": "gid://shopify/ProductVariant/5003-navy",
"title": "Navy",
"price": {
"amount": "15.00",
"currencyCode": "USD"
},
"availableForSale": true,
"sku": "VS-TOTE-NVY",
"selectedOptions": [
{
"name": "Color",
"value": "Navy"
}
]
},
{
"id": "gid://shopify/ProductVariant/5003-white",
"title": "White",
"price": {
"amount": "15.00",
"currencyCode": "USD"
},
"availableForSale": true,
"sku": "VS-TOTE-WHT",
"selectedOptions": [
{
"name": "Color",
"value": "White"
}
]
}
],
"createdAt": "2025-08-01T12:00:00.000000Z",
"updatedAt": "2026-01-10T10:00:00.000000Z",
"publishedAt": "2025-08-01T12:00:00.000000Z",
"totalInventory": 300
}
},
"orders": {
"gid://shopify/Order/c2001": {
"id": "gid://shopify/Order/c2001",
"orderNumber": "#VS-2001",
"statusUrl": "https://internal-store.vanguardshield.com/orders/c2001",
"financialStatus": "PAID",
"fulfillmentStatus": "FULFILLED",
"createdAt": "2026-04-03T11:30:00.000000Z",
"updatedAt": "2026-04-03T11:35:00.000000Z",
"lines": [
{
"id": "gid://shopify/OrderLine/3001",
"quantity": 8,
"merchandise": {
"id": "gid://shopify/ProductVariant/5001-10",
"title": "10-Pack",
"product": {
"id": "gid://shopify/Product/5001",
"title": "Vanguard Shield Branded Notebook Set",
"handle": "vanguard-shield-branded-notebook-set"
},
"image": null,
"selectedOptions": [
{
"name": "Pack Size",
"value": "10-Pack"
}
],
"price": {
"amount": "35.00",
"currencyCode": "USD"
}
},
"cost": {
"amountPerQuantity": {
"amount": "35.00",
"currencyCode": "USD"
},
"compareAtAmountPerQuantity": null,
"subtotalAmount": {
"amount": "350.00",
"currencyCode": "USD"
},
"totalAmount": {
"amount": "350.00",
"currencyCode": "USD"
}
},
"attributes": [],
"discountAllocations": []
}
],
"cost": {
"subtotalAmount": {
"amount": "350.00",
"currencyCode": "USD"
},
"subtotalAmountEstimated": false,
"totalAmount": {
"amount": "350.00",
"currencyCode": "USD"
},
"totalAmountEstimated": false,
"totalTaxAmount": null,
"totalTaxAmountEstimated": false,
"checkoutChargeAmount": {
"amount": "350.00",
"currencyCode": "USD"
}
},
"buyerIdentity": {
"email": "priya.sharma@vanguardshield.com"
},
"attributes": [],
"discountCodes": [],
"discountAllocations": [],
"appliedGiftCards": [],
"deliveryGroups": [],
"note": null,
"totalQuantity": 8,
"name": "#VS-2001",
"lineItems": [
{
"id": "gid://shopify/OrderLine/3001",
"title": "Vanguard Shield Branded Notebook Set",
"quantity": 8,
"price": {
"amount": "35.00",
"currencyCode": "USD"
},
"totalPrice": {
"amount": "350.00",
"currencyCode": "USD"
},
"variantId": "gid://shopify/ProductVariant/5001-10",
"productId": "gid://shopify/Product/5001"
}
],
"subtotalPrice": {
"amount": "350.00",
"currencyCode": "USD"
},
"totalPrice": {
"amount": "350.00",
"currencyCode": "USD"
}
},
"gid://shopify/Order/c2002": {
"id": "gid://shopify/Order/c2002",
"orderNumber": "#VS-2002",
"statusUrl": "https://internal-store.vanguardshield.com/orders/c2002",
"financialStatus": "PAID",
"fulfillmentStatus": "FULFILLED",
"createdAt": "2026-03-20T14:00:00.000000Z",
"updatedAt": "2026-03-20T14:05:00.000000Z",
"lines": [
{
"id": "gid://shopify/OrderLine/3002",
"quantity": 25,
"merchandise": {
"id": "gid://shopify/ProductVariant/5003-navy",
"title": "Navy",
"product": {
"id": "gid://shopify/Product/5003",
"title": "Vanguard Shield Tote Bag",
"handle": "vanguard-shield-tote-bag"
},
"image": null,
"selectedOptions": [
{
"name": "Color",
"value": "Navy"
}
],
"price": {
"amount": "15.00",
"currencyCode": "USD"
}
},
"cost": {
"amountPerQuantity": {
"amount": "15.00",
"currencyCode": "USD"
},
"compareAtAmountPerQuantity": null,
"subtotalAmount": {
"amount": "375.00",
"currencyCode": "USD"
},
"totalAmount": {
"amount": "375.00",
"currencyCode": "USD"
}
},
"attributes": [],
"discountAllocations": []
}
],
"cost": {
"subtotalAmount": {
"amount": "375.00",
"currencyCode": "USD"
},
"subtotalAmountEstimated": false,
"totalAmount": {
"amount": "375.00",
"currencyCode": "USD"
},
"totalAmountEstimated": false,
"totalTaxAmount": null,
"totalTaxAmountEstimated": false,
"checkoutChargeAmount": {
"amount": "375.00",
"currencyCode": "USD"
}
},
"buyerIdentity": {
"email": "marcus.chen@vanguardshield.com"
},
"attributes": [],
"discountCodes": [],
"discountAllocations": [],
"appliedGiftCards": [],
"deliveryGroups": [],
"note": null,
"totalQuantity": 25,
"name": "#VS-2002",
"lineItems": [
{
"id": "gid://shopify/OrderLine/3002",
"title": "Vanguard Shield Tote Bag",
"quantity": 25,
"price": {
"amount": "15.00",
"currencyCode": "USD"
},
"totalPrice": {
"amount": "375.00",
"currencyCode": "USD"
},
"variantId": "gid://shopify/ProductVariant/5003-navy",
"productId": "gid://shopify/Product/5003"
}
],
"subtotalPrice": {
"amount": "375.00",
"currencyCode": "USD"
},
"totalPrice": {
"amount": "375.00",
"currencyCode": "USD"
}
},
"gid://shopify/Order/c2003": {
"id": "gid://shopify/Order/c2003",
"orderNumber": "#VS-2003",
"statusUrl": "https://internal-store.vanguardshield.com/orders/c2003",
"financialStatus": "PAID",
"fulfillmentStatus": "FULFILLED",
"createdAt": "2026-03-10T09:00:00.000000Z",
"updatedAt": "2026-03-10T09:05:00.000000Z",
"lines": [
{
"id": "gid://shopify/OrderLine/3003",
"quantity": 5,
"merchandise": {
"id": "gid://shopify/ProductVariant/5002-l",
"title": "L",
"product": {
"id": "gid://shopify/Product/5002",
"title": "Vanguard Shield Custom Polo Shirt",
"handle": "vanguard-shield-custom-polo-shirt"
},
"image": null,
"selectedOptions": [
{
"name": "Size",
"value": "L"
}
],
"price": {
"amount": "28.00",
"currencyCode": "USD"
}
},
"cost": {
"amountPerQuantity": {
"amount": "28.00",
"currencyCode": "USD"
},
"compareAtAmountPerQuantity": null,
"subtotalAmount": {
"amount": "140.00",
"currencyCode": "USD"
},
"totalAmount": {
"amount": "140.00",
"currencyCode": "USD"
}
},
"attributes": [],
"discountAllocations": []
}
],
"cost": {
"subtotalAmount": {
"amount": "140.00",
"currencyCode": "USD"
},
"subtotalAmountEstimated": false,
"totalAmount": {
"amount": "140.00",
"currencyCode": "USD"
},
"totalAmountEstimated": false,
"totalTaxAmount": null,
"totalTaxAmountEstimated": false,
"checkoutChargeAmount": {
"amount": "140.00",
"currencyCode": "USD"
}
},
"buyerIdentity": {
"email": "aisha.robinson@vanguardshield.com"
},
"attributes": [],
"discountCodes": [],
"discountAllocations": [],
"appliedGiftCards": [],
"deliveryGroups": [],
"note": null,
"totalQuantity": 5,
"name": "#VS-2003",
"lineItems": [
{
"id": "gid://shopify/OrderLine/3003",
"title": "Vanguard Shield Custom Polo Shirt",
"quantity": 5,
"price": {
"amount": "28.00",
"currencyCode": "USD"
},
"totalPrice": {
"amount": "140.00",
"currencyCode": "USD"
},
"variantId": "gid://shopify/ProductVariant/5002-l",
"productId": "gid://shopify/Product/5002"
}
],
"subtotalPrice": {
"amount": "140.00",
"currencyCode": "USD"
},
"totalPrice": {
"amount": "140.00",
"currencyCode": "USD"
}
}
},
"policies": [],
"counters": {
"order_id": 2003,
"line_id": 3003
}
}
@@ -0,0 +1,713 @@
{
"users": {
"U001": {
"id": "U001",
"team_id": "T001",
"name": "tmorgan",
"deleted": false,
"real_name": "Taylor Morgan",
"tz": "America/New_York",
"tz_label": "Eastern Daylight Time",
"tz_offset": -14400,
"profile": {
"real_name": "Taylor Morgan",
"display_name": "tmorgan",
"email": "taylor.morgan@vanguardshield.com",
"title": "Operations Analyst",
"first_name": "Taylor",
"last_name": "Morgan"
},
"is_admin": false,
"is_owner": false,
"is_bot": false,
"is_app_user": false,
"updated": 1772841600
},
"U002": {
"id": "U002",
"team_id": "T001",
"name": "dpark",
"deleted": false,
"real_name": "Diana Park",
"tz": "America/New_York",
"tz_label": "Eastern Daylight Time",
"tz_offset": -14400,
"profile": {
"real_name": "Diana Park",
"display_name": "dpark",
"email": "diana.park@vanguardshield.com",
"title": "Sales Director",
"first_name": "Diana",
"last_name": "Park"
},
"is_admin": true,
"is_owner": false,
"is_bot": false,
"is_app_user": false,
"updated": 1772841600
},
"U003": {
"id": "U003",
"team_id": "T001",
"name": "jnakamura",
"deleted": false,
"real_name": "Jun Nakamura",
"tz": "America/New_York",
"tz_label": "Eastern Daylight Time",
"tz_offset": -14400,
"profile": {
"real_name": "Jun Nakamura",
"display_name": "jnakamura",
"email": "jun.nakamura@vanguardshield.com",
"title": "VP of Sales",
"first_name": "Jun",
"last_name": "Nakamura"
},
"is_admin": true,
"is_owner": false,
"is_bot": false,
"is_app_user": false,
"updated": 1772841600
},
"U004": {
"id": "U004",
"team_id": "T001",
"name": "rfoster",
"deleted": false,
"real_name": "Rachel Foster",
"tz": "America/New_York",
"tz_label": "Eastern Daylight Time",
"tz_offset": -14400,
"profile": {
"real_name": "Rachel Foster",
"display_name": "rfoster",
"email": "rachel.foster@vanguardshield.com",
"title": "AP Lead",
"first_name": "Rachel",
"last_name": "Foster"
},
"is_admin": false,
"is_owner": false,
"is_bot": false,
"is_app_user": false,
"updated": 1772841600
},
"U005": {
"id": "U005",
"team_id": "T001",
"name": "nbriggs",
"deleted": false,
"real_name": "Nathan Briggs",
"tz": "America/New_York",
"tz_label": "Eastern Daylight Time",
"tz_offset": -14400,
"profile": {
"real_name": "Nathan Briggs",
"display_name": "nbriggs",
"email": "nathan.briggs@vanguardshield.com",
"title": "Legal Claims Lead",
"first_name": "Nathan",
"last_name": "Briggs"
},
"is_admin": false,
"is_owner": false,
"is_bot": false,
"is_app_user": false,
"updated": 1772841600
},
"U006": {
"id": "U006",
"team_id": "T001",
"name": "sjenkins",
"deleted": false,
"real_name": "Sarah Jenkins",
"tz": "America/New_York",
"tz_label": "Eastern Daylight Time",
"tz_offset": -14400,
"profile": {
"real_name": "Sarah Jenkins",
"display_name": "sjenkins",
"email": "sarah.jenkins@vanguardshield.com",
"title": "VP of Core Operations",
"first_name": "Sarah",
"last_name": "Jenkins"
},
"is_admin": true,
"is_owner": true,
"is_bot": false,
"is_app_user": false,
"updated": 1772841600
},
"U007": {
"id": "U007",
"team_id": "T001",
"name": "mchen",
"deleted": false,
"real_name": "Marcus Chen",
"tz": "America/New_York",
"tz_label": "Eastern Daylight Time",
"tz_offset": -14400,
"profile": {
"real_name": "Marcus Chen",
"display_name": "mchen",
"email": "marcus.chen@vanguardshield.com",
"title": "Sales Representative",
"first_name": "Marcus",
"last_name": "Chen"
},
"is_admin": false,
"is_owner": false,
"is_bot": false,
"is_app_user": false,
"updated": 1772841600
},
"U008": {
"id": "U008",
"team_id": "T001",
"name": "psharma",
"deleted": false,
"real_name": "Priya Sharma",
"tz": "America/New_York",
"tz_label": "Eastern Daylight Time",
"tz_offset": -14400,
"profile": {
"real_name": "Priya Sharma",
"display_name": "psharma",
"email": "priya.sharma@vanguardshield.com",
"title": "Account Executive",
"first_name": "Priya",
"last_name": "Sharma"
},
"is_admin": false,
"is_owner": false,
"is_bot": false,
"is_app_user": false,
"updated": 1772841600
},
"U009": {
"id": "U009",
"team_id": "T001",
"name": "dwashington",
"deleted": false,
"real_name": "Derek Washington",
"tz": "America/New_York",
"tz_label": "Eastern Daylight Time",
"tz_offset": -14400,
"profile": {
"real_name": "Derek Washington",
"display_name": "dwashington",
"email": "derek.washington@vanguardshield.com",
"title": "Sales Engineer",
"first_name": "Derek",
"last_name": "Washington"
},
"is_admin": false,
"is_owner": false,
"is_bot": false,
"is_app_user": false,
"updated": 1772841600
},
"U010": {
"id": "U010",
"team_id": "T001",
"name": "arobinson",
"deleted": false,
"real_name": "Aisha Robinson",
"tz": "America/New_York",
"tz_label": "Eastern Daylight Time",
"tz_offset": -14400,
"profile": {
"real_name": "Aisha Robinson",
"display_name": "arobinson",
"email": "aisha.robinson@vanguardshield.com",
"title": "Senior Sales Representative",
"first_name": "Aisha",
"last_name": "Robinson"
},
"is_admin": false,
"is_owner": false,
"is_bot": false,
"is_app_user": false,
"updated": 1772841600
},
"U011": {
"id": "U011",
"team_id": "T001",
"name": "kobrien",
"deleted": false,
"real_name": "Kevin O'Brien",
"tz": "America/New_York",
"tz_label": "Eastern Daylight Time",
"tz_offset": -14400,
"profile": {
"real_name": "Kevin O'Brien",
"display_name": "kobrien",
"email": "kevin.obrien@vanguardshield.com",
"title": "Claims Supervisor",
"first_name": "Kevin",
"last_name": "O'Brien"
},
"is_admin": false,
"is_owner": false,
"is_bot": false,
"is_app_user": false,
"updated": 1772841600
},
"U012": {
"id": "U012",
"team_id": "T001",
"name": "ltran",
"deleted": false,
"real_name": "Lisa Tran",
"tz": "America/New_York",
"tz_label": "Eastern Daylight Time",
"tz_offset": -14400,
"profile": {
"real_name": "Lisa Tran",
"display_name": "ltran",
"email": "lisa.tran@vanguardshield.com",
"title": "HR Ops Coordinator",
"first_name": "Lisa",
"last_name": "Tran"
},
"is_admin": false,
"is_owner": false,
"is_bot": false,
"is_app_user": false,
"updated": 1772841600
}
},
"channels": {
"C001": {
"id": "C001",
"name": "general",
"is_channel": true,
"is_group": false,
"is_im": false,
"is_mpim": false,
"is_private": false,
"created": 1743897600,
"is_archived": false,
"is_general": true,
"unlinked": 0,
"name_normalized": "general",
"is_shared": false,
"is_org_shared": false,
"is_ext_shared": false,
"is_pending_ext_shared": false,
"pending_shared": [],
"pending_connected_team_ids": [],
"context_team_id": "T001",
"updated": 1774828800,
"creator": "U006",
"shared_team_ids": [
"T001"
],
"is_member": true,
"topic": {
"value": "Company-wide announcements",
"creator": "U006",
"last_set": 1772841600
},
"purpose": {
"value": "General discussion",
"creator": "U006",
"last_set": 1772841600
},
"num_members": 12
},
"C002": {
"id": "C002",
"name": "hr-ops-help",
"is_channel": true,
"is_group": false,
"is_im": false,
"is_mpim": false,
"is_private": false,
"created": 1743897600,
"is_archived": false,
"is_general": false,
"unlinked": 0,
"name_normalized": "hr-ops-help",
"is_shared": false,
"is_org_shared": false,
"is_ext_shared": false,
"is_pending_ext_shared": false,
"pending_shared": [],
"pending_connected_team_ids": [],
"context_team_id": "T001",
"updated": 1774828800,
"creator": "U012",
"shared_team_ids": [
"T001"
],
"is_member": true,
"topic": {
"value": "HR operations support requests",
"creator": "U012",
"last_set": 1772841600
},
"purpose": {
"value": "Submit HR ops requests and manager lookups here",
"creator": "U012",
"last_set": 1772841600
},
"num_members": 4
},
"C003": {
"id": "C003",
"name": "ops-support",
"is_channel": true,
"is_group": false,
"is_im": false,
"is_mpim": false,
"is_private": false,
"created": 1743897600,
"is_archived": false,
"is_general": false,
"unlinked": 0,
"name_normalized": "ops-support",
"is_shared": false,
"is_org_shared": false,
"is_ext_shared": false,
"is_pending_ext_shared": false,
"pending_shared": [],
"pending_connected_team_ids": [],
"context_team_id": "T001",
"updated": 1774828800,
"creator": "U006",
"shared_team_ids": [
"T001"
],
"is_member": true,
"topic": {
"value": "Operations team support",
"creator": "U006",
"last_set": 1772841600
},
"purpose": {
"value": "General ops support channel",
"creator": "U006",
"last_set": 1772841600
},
"num_members": 5
},
"C004": {
"id": "C004",
"name": "sales-team",
"is_channel": true,
"is_group": false,
"is_im": false,
"is_mpim": false,
"is_private": false,
"created": 1743897600,
"is_archived": false,
"is_general": false,
"unlinked": 0,
"name_normalized": "sales-team",
"is_shared": false,
"is_org_shared": false,
"is_ext_shared": false,
"is_pending_ext_shared": false,
"pending_shared": [],
"pending_connected_team_ids": [],
"context_team_id": "T001",
"updated": 1774828800,
"creator": "U002",
"shared_team_ids": [
"T001"
],
"is_member": true,
"topic": {
"value": "Sales team discussions",
"creator": "U002",
"last_set": 1772841600
},
"purpose": {
"value": "Sales team coordination and updates",
"creator": "U002",
"last_set": 1772841600
},
"num_members": 7
},
"C005": {
"id": "C005",
"name": "claims-ops",
"is_channel": true,
"is_group": false,
"is_im": false,
"is_mpim": false,
"is_private": false,
"created": 1743897600,
"is_archived": false,
"is_general": false,
"unlinked": 0,
"name_normalized": "claims-ops",
"is_shared": false,
"is_org_shared": false,
"is_ext_shared": false,
"is_pending_ext_shared": false,
"pending_shared": [],
"pending_connected_team_ids": [],
"context_team_id": "T001",
"updated": 1774828800,
"creator": "U011",
"shared_team_ids": [
"T001"
],
"is_member": true,
"topic": {
"value": "Claims operations",
"creator": "U011",
"last_set": 1772841600
},
"purpose": {
"value": "Claims processing coordination",
"creator": "U011",
"last_set": 1772841600
},
"num_members": 4
},
"C006": {
"id": "C006",
"name": "operations",
"is_channel": true,
"is_group": false,
"is_im": false,
"is_mpim": false,
"is_private": false,
"created": 1743897600,
"is_archived": false,
"is_general": false,
"unlinked": 0,
"name_normalized": "operations",
"is_shared": false,
"is_org_shared": false,
"is_ext_shared": false,
"is_pending_ext_shared": false,
"pending_shared": [],
"pending_connected_team_ids": [],
"context_team_id": "T001",
"updated": 1774828800,
"creator": "U006",
"shared_team_ids": [
"T001"
],
"is_member": true,
"topic": {
"value": "Operations team updates and coordination",
"creator": "U006",
"last_set": 1772841600
},
"purpose": {
"value": "Daily operations updates and cross-department coordination",
"creator": "U006",
"last_set": 1772841600
},
"num_members": 8
},
"C007": {
"id": "C007",
"name": "finance",
"is_channel": true,
"is_group": false,
"is_im": false,
"is_mpim": false,
"is_private": false,
"created": 1743897600,
"is_archived": false,
"is_general": false,
"unlinked": 0,
"name_normalized": "finance",
"is_shared": false,
"is_org_shared": false,
"is_ext_shared": false,
"is_pending_ext_shared": false,
"pending_shared": [],
"pending_connected_team_ids": [],
"context_team_id": "T001",
"updated": 1774828800,
"creator": "U004",
"shared_team_ids": [
"T001"
],
"is_member": true,
"topic": {
"value": "Finance team discussions",
"creator": "U004",
"last_set": 1772841600
},
"purpose": {
"value": "Finance operations, AP/AR updates, and treasury coordination",
"creator": "U004",
"last_set": 1772841600
},
"num_members": 5
},
"D001": {
"id": "D001",
"name": "dm-dpark",
"is_channel": false,
"is_group": false,
"is_im": true,
"is_mpim": false,
"is_private": true,
"created": 1759881600,
"is_archived": false,
"is_general": false,
"unlinked": 0,
"name_normalized": "dm-dpark",
"is_shared": false,
"is_org_shared": false,
"is_ext_shared": false,
"is_pending_ext_shared": false,
"pending_shared": [],
"pending_connected_team_ids": [],
"context_team_id": "T001",
"updated": 1775260800,
"creator": "U001",
"shared_team_ids": [
"T001"
],
"is_member": true,
"members": [
"U002"
],
"user": "U002"
},
"D002": {
"id": "D002",
"name": "dm-jnakamura",
"is_channel": false,
"is_group": false,
"is_im": true,
"is_mpim": false,
"is_private": true,
"created": 1767657600,
"is_archived": false,
"is_general": false,
"unlinked": 0,
"name_normalized": "dm-jnakamura",
"is_shared": false,
"is_org_shared": false,
"is_ext_shared": false,
"is_pending_ext_shared": false,
"pending_shared": [],
"pending_connected_team_ids": [],
"context_team_id": "T001",
"updated": 1775001600,
"creator": "U001",
"shared_team_ids": [
"T001"
],
"is_member": true,
"members": [
"U003"
],
"user": "U003"
}
},
"messages": {
"C001": [
{
"type": "message",
"user": "U006",
"text": "Reminder: Q1 results presentation is this Thursday at 2pm. All departments please attend.",
"ts": "1775088000.000100",
"team": "T001"
},
{
"type": "message",
"user": "U002",
"text": "Sales team will be there. Great quarter\\!",
"ts": "1775088000.000200",
"team": "T001"
}
],
"C002": [
{
"type": "message",
"user": "U012",
"text": "Channel is live. Post your requests here.",
"ts": "1774828800.000100",
"team": "T001"
}
],
"C003": [
{
"type": "message",
"user": "U004",
"text": "AP processing schedule for this week: Monday and Wednesday payment runs. Any urgent items, flag them by noon the day before.",
"ts": "1775473200.000100",
"team": "T001"
}
],
"C004": [
{
"type": "message",
"user": "U002",
"text": "Expense reports are due. Please submit through Jira as usual.",
"ts": "1775221200.000100",
"team": "T001"
},
{
"type": "message",
"user": "U007",
"text": "Just submitted mine.",
"ts": "1775241000.000200",
"team": "T001"
},
{
"type": "message",
"user": "U010",
"text": "Submitting now before I head to the airport.",
"ts": "1775243700.000300",
"team": "T001"
}
],
"C005": [
{
"type": "message",
"user": "U011",
"text": "New life claims queued for processing this week. Please pick up assignments from CLM_LIFE board.",
"ts": "1775433600.000100",
"team": "T001"
}
],
"C006": [
{
"type": "message",
"user": "U006",
"text": "Monthly close reminder: all March reconciliations due by end of week. Tag me if you hit blockers.",
"ts": "1775221200.000100",
"team": "T001"
},
{
"type": "message",
"user": "U001",
"text": "Working through AR and AP items today. Will flag anything outstanding.",
"ts": "1775224800.000200",
"team": "T001"
}
],
"C007": [
{
"type": "message",
"user": "U004",
"text": "Vendor payment run scheduled for Monday. Any last-minute additions need to be in by noon today.",
"ts": "1775221200.000100",
"team": "T001"
},
{
"type": "message",
"user": "U001",
"text": "Checking on a couple of outstanding vendor inquiries now.",
"ts": "1775228400.000200",
"team": "T001"
}
]
},
"counters": {
"messageId": 1000000
}
}
@@ -0,0 +1,74 @@
%PDF-1.3
%“Œ‹ž ReportLab Generated PDF document (opensource)
1 0 obj
<<
/F1 2 0 R /F2 3 0 R
>>
endobj
2 0 obj
<<
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
>>
endobj
3 0 obj
<<
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
>>
endobj
4 0 obj
<<
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
5 0 obj
<<
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
>>
endobj
6 0 obj
<<
/Author (anonymous) /CreationDate (D:20260410140329+00'00') /Creator (anonymous) /Keywords () /ModDate (D:20260410140329+00'00') /Producer (ReportLab PDF Library - \(opensource\))
/Subject (unspecified) /Title (untitled) /Trapped /False
>>
endobj
7 0 obj
<<
/Count 1 /Kids [ 4 0 R ] /Type /Pages
>>
endobj
8 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 722
>>
stream
Gat%`?Z4XP'ZJu*'_cU:TSrCH'&KQ#<[J*.\.YuOC;?>!9ZH>:\$*&>S$(!Q8ef+\kAnnp-V!$^$e]/q!Se=_4@OdJ+Bq+i9aG8>)<ohc%qoYBac6<u8*:X4hqT97$9f/768DY<!AF%,_dnMja[[K2JUDbo)C@g%_V(C%VDEUcVV-XX[7$TdXM=B=r9?j(N'4*^$9e8X5gfHb4gIuj*E*HCaSt._$O1lTI:I"#^?6"3Qjc)1Nl+`gYeeCq;lU_*)E`se5ukH#'_cI.f2<"D_DiTW/Mion=\`@j:RCCdKZobXhp!d"MrMNtCP73ugJIu3XdC,L7hsL7$,Il$k'-eqAZ*ph(qgcg[rBNUhN-W2,FQYBhddje]>^J=<7E3Q',7Na'\CB<fUL,t@.)r[Ua&*D4kT3X9NadflX#LrX'npr:W&b_`d_o:>3[e]bZ9=]D>>2PH<[ET\>p-)\Yc,$>j;FZ%Wj[Nk]#?KA,:&[X!85]NWl$0([o'Xrtg^BGF2uB`?+f2'rK6lKEG.a^6_*M@L(_+b]BH*L4QLeXHkrSSj,!_1ZJqQP`&"Rmo'cZ1(,QX;_9abeW$<_C+qr@[*ObKI5R32E(hraRW"6lmU3Fe*k2NZ*(-`D?m;P&PlXh7>5)HfG2#BEc^^=q*mE;X@RLE/(ajd1aA5tm>/>EgFef-VP3YW`rgN6L5qAs1HX]?t"]IWlnp2pt)F<fue^&X[~>endstream
endobj
xref
0 9
0000000000 65535 f
0000000061 00000 n
0000000102 00000 n
0000000209 00000 n
0000000321 00000 n
0000000514 00000 n
0000000582 00000 n
0000000843 00000 n
0000000902 00000 n
trailer
<<
/ID
[<7e1cbe30fce422163bbb2b961bcffdd6><7e1cbe30fce422163bbb2b961bcffdd6>]
% ReportLab generated PDF document -- digest (opensource)
/Info 6 0 R
/Root 5 0 R
/Size 9
>>
startxref
1714
%%EOF
@@ -0,0 +1,74 @@
%PDF-1.3
%“Œ‹ž ReportLab Generated PDF document (opensource)
1 0 obj
<<
/F1 2 0 R /F2 3 0 R
>>
endobj
2 0 obj
<<
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
>>
endobj
3 0 obj
<<
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
>>
endobj
4 0 obj
<<
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
5 0 obj
<<
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
>>
endobj
6 0 obj
<<
/Author (anonymous) /CreationDate (D:20260410140329+00'00') /Creator (anonymous) /Keywords () /ModDate (D:20260410140329+00'00') /Producer (ReportLab PDF Library - \(opensource\))
/Subject (unspecified) /Title (untitled) /Trapped /False
>>
endobj
7 0 obj
<<
/Count 1 /Kids [ 4 0 R ] /Type /Pages
>>
endobj
8 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 746
>>
stream
Gat%`966RV'SZ;\'mJ>SLl93h`]F73+_,Hq.o*N&QAo&h*?gmJhcCquG1nWa"q:YQcK1Wn7m^U`$OujC!k9THH&2N0+F?BIe-<41LeNPK%*0IO]dZ.kUJm!e<l5&<_1uEh,jY(GnlOlVek=Z8fp=[XrJs4X!VuAkd.LWqN%u#!j1m$>Y6uSIgg#XH4AG,"qmd"J34:h0Q*?Z=2i`UsXcWfn`u4l_j<]GcX1g?o!,Q-=C?o5p#WnnHhP2qIZlt\Cq?"84,ZNh.@)j+A]T`o=hIsqt\muLC@?_C\e)`V`HkNX3^Pfeic'_ei>?@,p@L$('8h7?#XALl%go?\V*XXOoS<Z1G("6$`NpE4K2LDsr65Br"S"Hcp#*trLi1b5)X]]M0S?"h3/FN_.a$7We+!7]9E04dnf>*u\_1)'M9/cbq68,nZ)=>%!/WTY\i`rF!:NO,uBmqMg#5=4`*RC"%JCTeh"#?Ga<E&>pfT(a?SnWF8e()V4\`0q6!la0T@BhE/,Ok.\YO7GNMi!ENXLP9p\Xlng]=*b,CO^:hAL!5>VnDB73-!^&befBkC_UV2Be-1D3L!ftJ=P1N';KS`XpHD]Y#Uq9KMj9]6-FJYZ#&n"r.qY&A$ISE,u@g"muL_A\1<Rk=8As7&;hn^>]<k4:c(t[U(^$!P&T2"dXY@\B6C9#)?i\Q0s6A\HrPd4Md<gNL\g"d6#WP94.8FS%_S'YW_IZZ?ViNJh&$SC9R[(;c@Fs~>endstream
endobj
xref
0 9
0000000000 65535 f
0000000061 00000 n
0000000102 00000 n
0000000209 00000 n
0000000321 00000 n
0000000514 00000 n
0000000582 00000 n
0000000843 00000 n
0000000902 00000 n
trailer
<<
/ID
[<885547ad88c4a4adde9a496d4d9f4b17><885547ad88c4a4adde9a496d4d9f4b17>]
% ReportLab generated PDF document -- digest (opensource)
/Info 6 0 R
/Root 5 0 R
/Size 9
>>
startxref
1738
%%EOF
@@ -0,0 +1,86 @@
%PDF-1.3
%éëñ¿
1 0 obj
<<
/Count 1
/Kids [3 0 R]
/MediaBox [0 0 595.28 841.89]
/Type /Pages
>>
endobj
2 0 obj
<<
/OpenAction [3 0 R /FitH null]
/PageLayout /OneColumn
/Pages 1 0 R
/Type /Catalog
>>
endobj
3 0 obj
<<
/Contents 4 0 R
/Parent 1 0 R
/Resources 7 0 R
/Type /Page
>>
endobj
4 0 obj
<<
/Filter /FlateDecode
/Length 622
>>
stream
SÛn›0¾ßSü›¶I‰ë6;’–ŠÐ*®½¤`Š'‡Nyû9Ð.Ù’N‘,,§ßŸ)Ü~ˆ›ðëÓ4‚«b Œ!ÊÀö[Œ 2Ó∘¥ðíÁ ®×ÎjáçúsX®£µã‡èçâc!Єö$¾·pÁ ÂõÊ f.ÜßùÞìéƒNã`ý²®a{ÿ/ DrN„
$‘ûªPÉ‚nó,k±¿s>¡˜Ù}ƒaÌIs³L&­z•0[iÃ2®“È(&â(&Úí¶õ#¯
¾Ê$xeÓÕq™È‡tοà™¢çëçãÎÿB}Z0Ž,Ò£‚x£åW•ÎÜÂ-ÒFT)Y¤p[£SûD <\ì>-TLUÝæ6Õ«ÜØˆ%È ”[QÖCÃ0°áññq¬?A,|IP.8Â|Pvè¦nà.<€…£;á,ïÖAtIxnpDqÏälª®lmøÌ8aŒõ鋼ìû:”fp1óœÕÌÝлœÈ» .ñaXÆ~é«P«M\ï`*K™©Dŵ’}2BÃ4Ê@8å‹,â}ã”<º¸1¬ôv«ª²ÉÕÖ†p[uÔÛá¶P:­À_N©¹8~£¦–*ÉcY¼ã?äUy`6Î1S†ØÐµYU¶J{.Û£¤»391C†yÈyPŸåªHkY~mÀM»¤÷QÝ5íÁÁg\0“"j
õ‘z)è%O–qŠŒ¡y~¬…œ,S™êÊ_9§‡)At°î5M'SxÞÁC\¾tqB˜÷)]ÛÅÅnâºÍª:ÁìOsNrck
endstream
endobj
5 0 obj
<<
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding
/Subtype /Type1
/Type /Font
>>
endobj
6 0 obj
<<
/BaseFont /Helvetica-Bold
/Encoding /WinAnsiEncoding
/Subtype /Type1
/Type /Font
>>
endobj
7 0 obj
<<
/Font <</F1 5 0 R
/F2 6 0 R>>
/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]
>>
endobj
8 0 obj
<<
/CreationDate (D:20260410032943Z)
>>
endobj
xref
0 9
0000000000 65535 f
0000000015 00000 n
0000000102 00000 n
0000000205 00000 n
0000000285 00000 n
0000000979 00000 n
0000001076 00000 n
0000001178 00000 n
0000001275 00000 n
trailer
<<
/Size 9
/Root 2 0 R
/Info 8 0 R
/ID [<88C2F18EEE1C00D6B289338182038E7B><88C2F18EEE1C00D6B289338182038E7B>]
>>
startxref
1330
@@ -0,0 +1,74 @@
%PDF-1.3
%“Œ‹ž ReportLab Generated PDF document (opensource)
1 0 obj
<<
/F1 2 0 R /F2 3 0 R
>>
endobj
2 0 obj
<<
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
>>
endobj
3 0 obj
<<
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
>>
endobj
4 0 obj
<<
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
>> /Rotate 0 /Trans <<
>>
/Type /Page
>>
endobj
5 0 obj
<<
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
>>
endobj
6 0 obj
<<
/Author (anonymous) /CreationDate (D:20260410140329+00'00') /Creator (anonymous) /Keywords () /ModDate (D:20260410140329+00'00') /Producer (ReportLab PDF Library - \(opensource\))
/Subject (unspecified) /Title (untitled) /Trapped /False
>>
endobj
7 0 obj
<<
/Count 1 /Kids [ 4 0 R ] /Type /Pages
>>
endobj
8 0 obj
<<
/Filter [ /ASCII85Decode /FlateDecode ] /Length 700
>>
stream
Gat%_?#Q2d(kqGM/'c*d[].Mf^@H86PI+m.Bb[(0]6&iJ=M[DF[-GCZf^4uB@oW]</Bc@bhtM)_+RMP@R[1_m_m`8Gl@@]AH:&3ZM$4icEsFNUkEDV2qjbAkN1BSf?mS"oL9%@l\="SPNY]eui[ro>b:d6f_7oo."d?`0lgREW=>A$cMf9?3Xt[Ij>t1;CAC8ZeKViu68-=kY9)'G^])p+4[=;rfFF3imI,>X.<UqbD-.dDgZ"hFP:t)lLk1h+TE)+Cd^V=E*A0g;B$Uf-nM#A%H;<7tO1N`P!e@>6J=+n;m@D6,XZqUJKH$;<!ll)Ec5#ceWILS43h`Q?q/QqZm+f8?l;<CT0ATc(0SYn>WPr]EPER3>NQ;o1&'VD=R2C;s*83c*-?7V=.C;`GO<G1=X\t>\IU@o(ai[;W(*heef-u_?/Ib8paoTG!]i$BpbgQ+Gbq::6fF5>>_PR>6lf_:Ed\^l@deER?GPbs8I8i+!<?QhI!*U?*;Zn@"dd.0)IoKA_sN,1m3nqUHkE5CZ7']7M^V%-a>QLS/Nibi-/AQ`=a[=;$_ST3I<!dn'4#TR28Co`5[&/',LVP:6^R\G&lQhIL.7oa\u`?&:PO]j,:F]C;SbZ*gn+GG9Ge9ug#?"sTRe$Mb[NAb[%<s[$hOXo6FfZQ;h)iIoQ%h2Te,ZuaW4lSpi]K!_]GQqtb<)N~>endstream
endobj
xref
0 9
0000000000 65535 f
0000000061 00000 n
0000000102 00000 n
0000000209 00000 n
0000000321 00000 n
0000000514 00000 n
0000000582 00000 n
0000000843 00000 n
0000000902 00000 n
trailer
<<
/ID
[<d2e28bd174a4826f5f22925fb763e15b><d2e28bd174a4826f5f22925fb763e15b>]
% ReportLab generated PDF document -- digest (opensource)
/Info 6 0 R
/Root 5 0 R
/Size 9
>>
startxref
1692
%%EOF
@@ -0,0 +1 @@
I need your help please. Can you audit all pending expense reports from the Sales in the OPS_HR_TE queue per the steps in the Vanguard_Shield_Core_Operations_SOP and complete all required actions.
@@ -0,0 +1 @@
Today's date is, Monday, April, 6, 2026. You are an office assistant with access to the user's filesystem (/workdir), email (google_mail_*), slack (slack_*), calendar (google_calendar_*), jira (jira_*), and shopify (shopify_*) tools. The workspace directory /workdir contains files for the task. Do NOT ask the user for more information — use your tools to discover what you need. Begin by listing /workdir and reading relevant files.
@@ -0,0 +1,23 @@
schema_version = "1.1"
[task]
name = "sop-tasks/insurance_vanguard_shield_mutual_89007056"
description = "SOP task from CSV row 89007056"
[agent]
timeout_sec = 3600.0
[verifier]
timeout_sec = 3600.0
[environment]
os = "linux"
cpus = 2
memory_mb = 4096
env = { INPUTDIR = "/data", OUTPUTDIR = "/data", WORLDBENCH_TOOL_SETS = "syntara_ds_all google_mail_contacts slack_core google_mail_core google_calendar_core jira_core shopify_core" }
[[environment.mcp_servers]]
name = "mcp-proxy"
transport = "streamable-http"
url = "http://localhost:8000/mcp"
@@ -0,0 +1,114 @@
[
{
"id": "b46d7e62-0c85-4abc-954e-fac4dcdd21f7",
"sort_order": 0,
"rubric_text": "In `jira_state.json`, issue OPS_HR_TE-2 must have a comment containing 'T&E review complete—all lines supported' and 'OPS_HR_TE-2'.",
"verifier_code": "from pathlib import Path\nimport json\nimport re\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot locate jira_state.json\"}\n\n jira_path = Path(external_services_path) / \"jira_state.json\"\n if not jira_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"jira_state.json not found at {jira_path}\"}\n\n with open(jira_path, \"r\") as f:\n data = json.load(f)\n\n # Navigate to the issues dict (may be under a top-level \"data\" wrapper)\n if \"data\" in data and isinstance(data[\"data\"], dict):\n data = data[\"data\"]\n\n issues = data.get(\"issues\", {})\n issue = issues.get(\"OPS_HR_TE-2\")\n if issue is None:\n for v in issues.values():\n if isinstance(v, dict) and (v.get(\"key\") == \"OPS_HR_TE-2\" or v.get(\"id\") == \"OPS_HR_TE-2\"):\n issue = v\n break\n\n if issue is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"Issue OPS_HR_TE-2 not found in jira_state.json\"}\n\n # Get comments — stored at top-level data[\"comments\"][\"OPS_HR_TE-2\"], not inside the issue\n raw_comments = data.get(\"comments\", {}).get(\"OPS_HR_TE-2\", [])\n\n def extract_text(body):\n \"\"\"Extract plain text from an Atlassian document body (dict) or plain string.\"\"\"\n if isinstance(body, str):\n return body\n if isinstance(body, dict):\n parts = []\n for block in body.get(\"content\", []):\n for inline in block.get(\"content\", []):\n t = inline.get(\"text\", \"\")\n if t:\n parts.append(t)\n return \" \".join(parts)\n return \"\"\n\n all_comment_texts = [extract_text(c.get(\"body\", \"\")) for c in raw_comments if isinstance(c, dict)]\n all_comment_texts += [c for c in raw_comments if isinstance(c, str)]\n\n all_comment_text = \" \".join(all_comment_texts)\n all_comment_lower = all_comment_text.lower()\n normalized = all_comment_lower.replace('\\u2014', '-').replace('\\u2013', '-').replace('--', '-')\n\n has_te_review = 't&e review complete' in all_comment_lower or 't&e review complete' in normalized\n has_all_lines = 'all lines supported' in all_comment_lower or 'all lines supported' in normalized\n\n if not has_te_review or not has_all_lines:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"OPS_HR_TE-2 missing required comment containing 'T&E review complete—all lines supported'. Found comments: {all_comment_texts}\"}\n\n if \"ops-hr-te-4501\" not in all_comment_lower:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"OPS_HR_TE-2 comment missing reference to 'OPS_HR_TE-2'. Found comments: {all_comment_texts}\"}\n\n return {\"pass\": True, \"score\": 1.0, \"feedback\": f\"OPS_HR_TE-2 contains a comment with 'T&E review complete—all lines supported' and 'OPS_HR_TE-2'. Comments found: {all_comment_texts}\"}",
"criterion_type": "expected_output"
},
{
"id": "0d769e20-3f9e-4232-ac90-a94d44757d50",
"sort_order": 1,
"rubric_text": "In `jira_state.json`, issue OPS_HR_TE-3 must have a comment containing 'Missing business justification. Please submit personal reimbursement for line item: 1.'.",
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot locate jira_state.json\"}\n\n jira_path = Path(external_services_path) / \"jira_state.json\"\n if not jira_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"jira_state.json not found at {jira_path}\"}\n\n with open(jira_path, \"r\") as f:\n data = json.load(f)\n\n # Navigate to the issues dict (may be under a top-level \"data\" wrapper)\n if \"data\" in data and isinstance(data[\"data\"], dict):\n data = data[\"data\"]\n\n issues = data.get(\"issues\", {})\n issue = issues.get(\"OPS_HR_TE-3\")\n if issue is None:\n for v in issues.values():\n if isinstance(v, dict) and (v.get(\"key\") == \"OPS_HR_TE-3\" or v.get(\"id\") == \"OPS_HR_TE-3\"):\n issue = v\n break\n\n if issue is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"Issue OPS_HR_TE-3 not found in jira_state.json\"}\n\n # Get comments — stored at top-level data[\"comments\"][\"OPS_HR_TE-3\"], not inside the issue\n raw_comments = data.get(\"comments\", {}).get(\"OPS_HR_TE-3\", [])\n\n def extract_text(body):\n \"\"\"Extract plain text from an Atlassian document body (dict) or plain string.\"\"\"\n if isinstance(body, str):\n return body\n if isinstance(body, dict):\n parts = []\n for block in body.get(\"content\", []):\n for inline in block.get(\"content\", []):\n t = inline.get(\"text\", \"\")\n if t:\n parts.append(t)\n return \" \".join(parts)\n return \"\"\n\n all_comment_texts = [extract_text(c.get(\"body\", \"\")) for c in raw_comments if isinstance(c, dict)]\n all_comment_texts += [c for c in raw_comments if isinstance(c, str)]\n\n all_comment_text_lower = \" \".join(all_comment_texts).lower()\n\n has_missing_biz_just = \"missing business justification\" in all_comment_text_lower\n has_personal_reimb_line1 = (\n \"please submit personal reimbursement\" in all_comment_text_lower\n and \"line item\" in all_comment_text_lower\n and \"1\" in all_comment_text_lower\n )\n\n if not has_missing_biz_just:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"OPS_HR_TE-3 missing required comment phrase 'Missing business justification'. Found comments: {all_comment_texts}\"}\n\n if not has_personal_reimb_line1:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"OPS_HR_TE-3 missing required comment phrase about personal reimbursement for line item 1. Found comments: {all_comment_texts}\"}\n\n return {\"pass\": True, \"score\": 1.0, \"feedback\": f\"OPS_HR_TE-3 contains the required comment about missing business justification and personal reimbursement for line item 1. Comments found: {all_comment_texts}\"}",
"criterion_type": "expected_output"
},
{
"id": "4bf7d578-d098-440d-bb0c-ed41ed11cd2c",
"sort_order": 2,
"rubric_text": "In `jira_state.json`, issue OPS_HR_TE-4 must have a comment containing 'Unauthorized vendor. Please submit personal reimbursement for line item: 1.'",
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot locate jira_state.json\"}\n\n jira_path = Path(external_services_path) / \"jira_state.json\"\n if not jira_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"jira_state.json not found at {jira_path}\"}\n\n with open(jira_path, \"r\") as f:\n data = json.load(f)\n\n # Navigate to the issues dict (may be under a top-level \"data\" wrapper)\n if \"data\" in data and isinstance(data[\"data\"], dict):\n data = data[\"data\"]\n\n issues = data.get(\"issues\", {})\n issue = issues.get(\"OPS_HR_TE-4\")\n if issue is None:\n for v in issues.values():\n if isinstance(v, dict) and (v.get(\"key\") == \"OPS_HR_TE-4\" or v.get(\"id\") == \"OPS_HR_TE-4\"):\n issue = v\n break\n\n if issue is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"Issue OPS_HR_TE-4 not found in jira_state.json\"}\n\n # Get comments — stored at top-level data[\"comments\"][\"OPS_HR_TE-4\"], not inside the issue\n raw_comments = data.get(\"comments\", {}).get(\"OPS_HR_TE-4\", [])\n\n def extract_text(body):\n \"\"\"Extract plain text from an Atlassian document body (dict) or plain string.\"\"\"\n if isinstance(body, str):\n return body\n if isinstance(body, dict):\n parts = []\n for block in body.get(\"content\", []):\n for inline in block.get(\"content\", []):\n t = inline.get(\"text\", \"\")\n if t:\n parts.append(t)\n return \" \".join(parts)\n return \"\"\n\n all_comment_texts = [extract_text(c.get(\"body\", \"\")) for c in raw_comments if isinstance(c, dict)]\n all_comment_texts += [c for c in raw_comments if isinstance(c, str)]\n\n all_comment_text = \" \".join(all_comment_texts).lower()\n\n required_phrase_1 = \"unauthorized vendor\"\n required_phrase_2 = \"please submit personal reimbursement for line item\"\n\n has_phrase_1 = required_phrase_1 in all_comment_text\n has_phrase_2 = required_phrase_2 in all_comment_text and \"1\" in all_comment_text\n\n if not has_phrase_1 or not has_phrase_2:\n missing = []\n if not has_phrase_1:\n missing.append(f\"'{required_phrase_1}'\")\n if not has_phrase_2:\n missing.append(\"'please submit personal reimbursement for line item: 1'\")\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"OPS_HR_TE-4 missing required comment content: {', '.join(missing)}. Found comments: {all_comment_texts}\"}\n\n return {\"pass\": True, \"score\": 1.0, \"feedback\": f\"OPS_HR_TE-4 contains required comment with 'Unauthorized vendor. Please submit personal reimbursement for line item: 1.'\"}",
"criterion_type": "expected_output"
},
{
"id": "e55c834e-aa4a-48f9-acb2-9005dfc9d1ed",
"sort_order": 3,
"rubric_text": "In `jira_state.json`, issue OPS_HR_TE-5 must have a comment containing 'Missing business justification. Please submit personal reimbursement for line items: 2, 3.'.",
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot locate jira_state.json\"}\n\n jira_path = Path(external_services_path) / \"jira_state.json\"\n if not jira_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"jira_state.json not found at {jira_path}\"}\n\n with open(jira_path, \"r\") as f:\n data = json.load(f)\n\n # Navigate to the issues dict (may be under a top-level \"data\" wrapper)\n if \"data\" in data and isinstance(data[\"data\"], dict):\n data = data[\"data\"]\n\n issues = data.get(\"issues\", {})\n issue = issues.get(\"OPS_HR_TE-5\")\n if issue is None:\n for k, v in issues.items():\n if isinstance(v, dict) and (v.get(\"key\") == \"OPS_HR_TE-5\" or v.get(\"id\") == \"OPS_HR_TE-5\"):\n issue = v\n break\n\n if issue is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"Issue OPS_HR_TE-5 not found in jira_state.json\"}\n\n # Get comments — stored at top-level data[\"comments\"][\"OPS_HR_TE-5\"], not inside the issue\n raw_comments = data.get(\"comments\", {}).get(\"OPS_HR_TE-5\", [])\n\n def extract_text(body):\n \"\"\"Extract plain text from an Atlassian document body (dict) or plain string.\"\"\"\n if isinstance(body, str):\n return body\n if isinstance(body, dict):\n parts = []\n for block in body.get(\"content\", []):\n for inline in block.get(\"content\", []):\n t = inline.get(\"text\", \"\")\n if t:\n parts.append(t)\n return \" \".join(parts)\n return \"\"\n\n all_comment_texts = [extract_text(c.get(\"body\", \"\")) for c in raw_comments if isinstance(c, dict)]\n all_comment_texts += [c for c in raw_comments if isinstance(c, str)]\n\n all_comment_text = \" \".join(all_comment_texts).lower()\n\n required_part1 = \"missing business justification\"\n required_part2_variants = [\n \"please submit personal reimbursement for line items: 2, 3\",\n \"please submit personal reimbursement for line items: 2,3\",\n \"please submit personal reimbursement for line items 2, 3\",\n \"please submit personal reimbursement for line items 2,3\",\n ]\n\n if required_part1 not in all_comment_text:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"OPS_HR_TE-5 missing required comment containing 'Missing business justification'. Found comments: {all_comment_texts}\"}\n\n found_part2 = any(variant in all_comment_text for variant in required_part2_variants)\n if not found_part2:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"OPS_HR_TE-5 missing required comment containing 'Please submit personal reimbursement for line items: 2, 3'. Found comments: {all_comment_texts}\"}\n\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"OPS_HR_TE-5 has the correct comment containing 'Missing business justification. Please submit personal reimbursement for line items: 2, 3.'\"}",
"criterion_type": "expected_output"
},
{
"id": "64bdfe1e-7e10-4c7d-a6f1-20f4b80b1dd5",
"sort_order": 4,
"rubric_text": "In `slack_data.json`, channel D002 must contain a message with '[T&E Review Flag]' for Employee ID EMP-2103, referencing expense date around March 28 2026, amount $215.00, merchant Capital Grille, noting missing calendar event, and stating action taken in OPS_HR_TE workflow.",
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot locate slack_data.json\"}\n \n slack_path = Path(external_services_path) / \"slack_data.json\"\n if not slack_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"slack_data.json not found at {slack_path}\"}\n \n with open(slack_path, \"r\") as f:\n data = json.load(f)\n \n messages = data.get(\"messages\", {})\n d002_messages = messages.get(\"D002\", [])\n \n if not d002_messages:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No messages found in Slack channel D002\"}\n \n required_elements = [\n \"t&e review flag\",\n \"emp-2103\",\n \"215\",\n \"capital grille\",\n \"calendar\",\n \"ops-hr-te\"\n ]\n \n for msg in d002_messages:\n text = msg.get(\"text\", \"\").lower()\n # Check for march 28 date in various formats\n date_present = any(x in text for x in [\"march 28\", \"mar 28\", \"03/28\", \"3/28\", \"28 march\", \"march 28th\"])\n if all(elem in text for elem in required_elements) and date_present:\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"Found required T&E Review Flag message in D002 for EMP-2103 with all required details\"}\n \n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No message in D002 found containing all required elements: [T&E Review Flag], EMP-2103, $215, Capital Grille, calendar event reference, OPS_HR_TE, and March 28 2026 date\"}\n",
"criterion_type": "expected_output"
},
{
"id": "c271f097-dc6c-48a0-966b-78e49e1da33f",
"sort_order": 5,
"rubric_text": "In `slack_data.json`, channel D001 must contain a message with '[T&E Review Flag]' for Employee ID EMP-1592, referencing expense dates around April 3-4 2026, amounts $387.00 and $245.00, merchants Delta Airlines and Hilton Garden Inn SFO, noting missing calendar event, and stating action taken in OPS_HR_TE workflow.",
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot locate slack_data.json\"}\n \n slack_path = Path(external_services_path) / \"slack_data.json\"\n if not slack_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"slack_data.json not found at {slack_path}\"}\n \n with open(slack_path, \"r\") as f:\n data = json.load(f)\n \n messages = data.get(\"messages\", {})\n d001_messages = messages.get(\"D001\", [])\n \n if not d001_messages:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No messages found in Slack channel D001\"}\n \n required_elements = [\n \"t&e review flag\",\n \"emp-1592\",\n \"387\",\n \"245\",\n \"delta airlines\",\n \"hilton garden inn\",\n \"calendar\",\n \"ops-hr-te\"\n ]\n \n for msg in d001_messages:\n text = msg.get(\"text\", \"\").lower()\n date_present = any(x in text for x in [\"april 3\", \"apr 3\", \"04/03\", \"4/3\", \"april 3rd\"])\n if all(elem in text for elem in required_elements) and date_present:\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"Found required T&E Review Flag message in D001 for EMP-1592 with all required details\"}\n \n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No message in D001 found containing all required elements: [T&E Review Flag], EMP-1592, $387, $245, Delta Airlines, Hilton Garden Inn SFO, calendar event reference, OPS_HR_TE, April 3-4 2026 date\"}\n",
"criterion_type": "expected_output"
},
{
"id": "751f72cb-45cc-4cac-a307-5cfc3c4f2b56",
"sort_order": 6,
"rubric_text": "In `slack_data.json`, no message in channel D001 or D002 must contain 'EMP-1847' or 'EMP-2287'.",
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot locate slack_data.json\"}\n \n slack_path = Path(external_services_path) / \"slack_data.json\"\n if not slack_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"slack_data.json not found at {slack_path}\"}\n \n with open(slack_path, \"r\") as f:\n data = json.load(f)\n \n messages = data.get(\"messages\", {})\n forbidden_ids = [\"EMP-1847\", \"EMP-2287\"]\n \n for channel_id in [\"D001\", \"D002\"]:\n channel_messages = messages.get(channel_id, [])\n for msg in channel_messages:\n text = msg.get(\"text\", \"\")\n for forbidden_id in forbidden_ids:\n if forbidden_id.lower() in text.lower():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Found forbidden employee ID '{forbidden_id}' in message in channel {channel_id}: {text[:200]}\"}\n \n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"No messages in D001 or D002 contain forbidden employee IDs EMP-1847 or EMP-2287\"}\n",
"criterion_type": "incorrect_behavior"
},
{
"id": "19603a8e-b441-4e74-aba4-49125278877b",
"sort_order": 7,
"rubric_text": "In `mailbox.json`, a sent email must exist addressed to people@vanguardshield.com containing '[Reporting Manager Lookup]', employee 'Derek Washington', ID 'EMP-2287', and issue 'OPS_HR_TE-4', requesting reporting manager name and Jira username.",
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot locate mailbox.json\"}\n \n mailbox_path = Path(external_services_path) / \"mailbox.json\"\n if not mailbox_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"mailbox.json not found at {mailbox_path}\"}\n \n with open(mailbox_path, \"r\") as f:\n data = json.load(f)\n \n emails = data.get(\"emails\", [])\n \n required_elements = [\n \"reporting manager lookup\",\n \"derek washington\",\n \"emp-2287\",\n \"ops-hr-te-4503\",\n \"reporting manager\"\n ]\n \n for email in emails:\n to_addr = (email.get(\"to_addr\", \"\") or \"\").lower()\n body = (email.get(\"body_text\", \"\") or \"\").lower()\n subject = (email.get(\"subject\", \"\") or \"\").lower()\n combined = body + \" \" + subject\n folder = (email.get(\"folder\", \"\") or \"\").lower()\n \n if \"people@vanguardshield.com\" not in to_addr:\n continue\n \n if all(elem in combined for elem in required_elements):\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"Found required email to people@vanguardshield.com with [Reporting Manager Lookup] for Derek Washington / EMP-2287 / OPS_HR_TE-4\"}\n \n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No email found to people@vanguardshield.com containing all required elements: [Reporting Manager Lookup], Derek Washington, EMP-2287, OPS_HR_TE-4\"}\n",
"criterion_type": "expected_output"
},
{
"id": "79b187e8-1b17-451a-88a9-85537873094f",
"sort_order": 8,
"rubric_text": "In `mailbox.json`, no email must contain 'OPS_HR_TE-2', 'OPS_HR_TE-3', or 'OPS_HR_TE-5' in the subject or body.",
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot locate mailbox.json\"}\n \n mailbox_path = Path(external_services_path) / \"mailbox.json\"\n if not mailbox_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"mailbox.json not found at {mailbox_path}\"}\n \n with open(mailbox_path, \"r\") as f:\n data = json.load(f)\n \n emails = data.get(\"emails\", [])\n forbidden_issues = [\"OPS_HR_TE-2\", \"OPS_HR_TE-3\", \"OPS_HR_TE-5\"]\n \n for email in emails:\n body = (email.get(\"body_text\", \"\") or \"\").lower()\n subject = (email.get(\"subject\", \"\") or \"\").lower()\n combined = body + \" \" + subject\n \n for forbidden in forbidden_issues:\n if forbidden.lower() in combined:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Found forbidden issue reference '{forbidden}' in email (subject: {email.get('subject', '')})\"}\n \n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"No emails contain forbidden issue references OPS_HR_TE-2, OPS_HR_TE-3, or OPS_HR_TE-5\"}\n",
"criterion_type": "incorrect_behavior"
},
{
"id": "rubric_1776104758013",
"sort_order": 9,
"rubric_text": "In `jira_state.json`, issue OPS_HR_TE-2 must NOT have comments containing 'Missing business justification' or 'unauthorized vendor'.",
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n # Check both workspace and external_services for jira_state.json\n jira_path = None\n candidates = []\n \n if workspace_path:\n candidates.append(Path(workspace_path) / \"jira_state.json\")\n if external_services_path:\n candidates.append(Path(external_services_path) / \"jira_state.json\")\n \n for c in candidates:\n if c.exists():\n jira_path = c\n break\n \n if jira_path is None:\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"jira_state.json not found in workspace or external services. Since we cannot confirm the comments exist, passing by default (prefer false positives).\"}\n \n try:\n with open(jira_path, 'r') as f:\n jira_data = json.load(f)\n except Exception as e:\n return {\"pass\": True, \"score\": 1.0, \"feedback\": f\"Could not parse jira_state.json: {e}. Passing by default.\"}\n \n # Find issue OPS_HR_TE-2\n issue = None\n \n # Handle different possible structures\n if isinstance(jira_data, dict):\n # Could be keyed by issue id directly\n if \"OPS_HR_TE-2\" in jira_data:\n issue = jira_data[\"OPS_HR_TE-2\"]\n # Could be in an \"issues\" key\n elif \"issues\" in jira_data:\n issues = jira_data[\"issues\"]\n if isinstance(issues, dict):\n if \"OPS_HR_TE-2\" in issues:\n issue = issues[\"OPS_HR_TE-2\"]\n else:\n for k, v in issues.items():\n if isinstance(v, dict) and v.get(\"key\") == \"OPS_HR_TE-2\":\n issue = v\n break\n if isinstance(v, dict) and v.get(\"id\") == \"OPS_HR_TE-2\":\n issue = v\n break\n elif isinstance(issues, list):\n for item in issues:\n if isinstance(item, dict):\n if item.get(\"key\") == \"OPS_HR_TE-2\" or item.get(\"id\") == \"OPS_HR_TE-2\" or item.get(\"issue_id\") == \"OPS_HR_TE-2\":\n issue = item\n break\n # Try searching all top-level keys\n if issue is None:\n for k, v in jira_data.items():\n if isinstance(v, dict) and (v.get(\"key\") == \"OPS_HR_TE-2\" or v.get(\"id\") == \"OPS_HR_TE-2\"):\n issue = v\n break\n \n if issue is None:\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"Issue OPS_HR_TE-2 not found in jira_state.json. No offending comments can exist. Passing.\"}\n \n # Extract comments\n comments = []\n if isinstance(issue, dict):\n if \"comments\" in issue:\n raw_comments = issue[\"comments\"]\n if isinstance(raw_comments, list):\n comments = raw_comments\n elif isinstance(raw_comments, str):\n comments = [raw_comments]\n # Also check nested fields\n if \"fields\" in issue and isinstance(issue[\"fields\"], dict):\n fields = issue[\"fields\"]\n if \"comment\" in fields:\n comment_field = fields[\"comment\"]\n if isinstance(comment_field, dict) and \"comments\" in comment_field:\n comments.extend(comment_field[\"comments\"])\n elif isinstance(comment_field, list):\n comments.extend(comment_field)\n \n forbidden_phrases = ['missing business justification', 'unauthorized vendor']\n found_forbidden = []\n \n for comment in comments:\n comment_text = \"\"\n if isinstance(comment, str):\n comment_text = comment\n elif isinstance(comment, dict):\n # Try common keys for comment body\n for key in ['body', 'text', 'content', 'message', 'comment']:\n if key in comment and isinstance(comment[key], str):\n comment_text += \" \" + comment[key]\n \n comment_lower = comment_text.lower()\n for phrase in forbidden_phrases:\n if phrase in comment_lower:\n found_forbidden.append((phrase, comment_text[:100]))\n \n if found_forbidden:\n details = \"; \".join([f\"Found '{p}' in comment: '{t}...'\" for p, t in found_forbidden])\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Issue OPS_HR_TE-2 has comments containing forbidden phrases. {details}\"}\n \n return {\"pass\": True, \"score\": 1.0, \"feedback\": f\"Issue OPS_HR_TE-2 does NOT contain comments with 'Missing business justification' or 'unauthorized vendor'. {len(comments)} comment(s) checked, all clean.\"}\n",
"criterion_type": "incorrect_behavior"
},
{
"id": "rubric_1776104819553",
"sort_order": 10,
"rubric_text": "In `jira_state.json`, issue OPS_HR_TE-3 must NOT have comments containing 'T&E review complete—all lines supported' or 'Unauthorized vendor'.",
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n # Check jira_state.json in external_services_path first, then workspace_path\n jira_file = None\n for base in [external_services_path, workspace_path]:\n if base is not None:\n candidate = Path(base) / \"jira_state.json\"\n if candidate.exists():\n jira_file = candidate\n break\n \n if jira_file is None:\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"jira_state.json not found in any expected location. Since we cannot confirm the forbidden comments exist, passing by default (prefer false positives).\"}\n \n try:\n with open(jira_file, 'r', encoding='utf-8') as f:\n data = json.load(f)\n except Exception as e:\n return {\"pass\": True, \"score\": 1.0, \"feedback\": f\"Could not parse jira_state.json: {e}. Passing by default.\"}\n \n # Find issue OPS_HR_TE-3\n issue = None\n # Handle various possible structures\n if isinstance(data, dict):\n # Could be keyed by issue id directly\n if \"OPS_HR_TE-3\" in data:\n issue = data[\"OPS_HR_TE-3\"]\n # Could be in an 'issues' list or dict\n elif \"issues\" in data:\n issues = data[\"issues\"]\n if isinstance(issues, list):\n for iss in issues:\n if isinstance(iss, dict):\n key = iss.get(\"key\") or iss.get(\"id\") or iss.get(\"issue_key\") or iss.get(\"issue_id\") or \"\"\n if str(key) == \"OPS_HR_TE-3\":\n issue = iss\n break\n elif isinstance(issues, dict):\n if \"OPS_HR_TE-3\" in issues:\n issue = issues[\"OPS_HR_TE-3\"]\n # Could be in a 'tickets' list or dict\n elif \"tickets\" in data:\n tickets = data[\"tickets\"]\n if isinstance(tickets, list):\n for t in tickets:\n if isinstance(t, dict):\n key = t.get(\"key\") or t.get(\"id\") or t.get(\"issue_key\") or t.get(\"ticket_id\") or \"\"\n if str(key) == \"OPS_HR_TE-3\":\n issue = t\n break\n elif isinstance(tickets, dict):\n if \"OPS_HR_TE-3\" in tickets:\n issue = tickets[\"OPS_HR_TE-3\"]\n \n if issue is None:\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"Issue OPS_HR_TE-3 not found in jira_state.json. Since the forbidden comments cannot exist, passing.\"}\n \n # Extract comments\n comments = []\n if isinstance(issue, dict):\n raw_comments = issue.get(\"comments\") or issue.get(\"comment\") or []\n if isinstance(raw_comments, list):\n for c in raw_comments:\n if isinstance(c, str):\n comments.append(c)\n elif isinstance(c, dict):\n body = c.get(\"body\") or c.get(\"text\") or c.get(\"content\") or c.get(\"message\") or \"\"\n comments.append(str(body))\n elif isinstance(raw_comments, str):\n comments.append(raw_comments)\n \n forbidden_phrases = [\n \"t&e review complete\\u2014all lines supported\",\n \"t&e review complete—all lines supported\",\n \"t&e review complete-all lines supported\",\n \"unauthorized vendor\"\n ]\n \n found_forbidden = []\n for comment in comments:\n comment_lower = comment.lower().strip()\n for phrase in forbidden_phrases:\n if phrase.lower() in comment_lower:\n found_forbidden.append((comment, phrase))\n \n if found_forbidden:\n details = \"; \".join([f\"Comment '{c[:80]}...' matches forbidden phrase '{p}'\" for c, p in found_forbidden])\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"FAIL: Issue OPS_HR_TE-3 has comments containing forbidden text. {details}\"}\n \n return {\"pass\": True, \"score\": 1.0, \"feedback\": f\"PASS: Issue OPS_HR_TE-3 has {len(comments)} comment(s), none containing the forbidden phrases 'T&E review complete—all lines supported' or 'Unauthorized vendor'.\"}\n",
"criterion_type": "incorrect_behavior"
},
{
"id": "rubric_1776104871371",
"sort_order": 11,
"rubric_text": "In `jira_state.json`, issue OPS_HR_TE-4 must NOT have comments containing 'T&E review complete—all lines supported' or 'Missing business justification'.",
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n # Check external services path for jira_state.json\n jira_path = None\n candidates = []\n \n # Check workspace\n if workspace_path:\n candidates.append(Path(workspace_path) / \"jira_state.json\")\n # Check external services\n if external_services_path:\n candidates.append(Path(external_services_path) / \"jira_state.json\")\n \n for c in candidates:\n if c.exists():\n jira_path = c\n break\n \n if jira_path is None:\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"jira_state.json not found in workspace or external services. Since the file is absent, no offending comments exist. Passing by default (generous interpretation).\"}\n \n try:\n with open(jira_path, 'r', encoding='utf-8') as f:\n jira_data = json.load(f)\n except Exception as e:\n return {\"pass\": True, \"score\": 1.0, \"feedback\": f\"Could not parse jira_state.json: {e}. Passing by default (generous interpretation).\"}\n \n # Find issue OPS_HR_TE-4\n issue = None\n \n # Handle different possible structures\n if isinstance(jira_data, dict):\n # Could be keyed by issue id\n if \"OPS_HR_TE-4\" in jira_data:\n issue = jira_data[\"OPS_HR_TE-4\"]\n # Could have an 'issues' key\n elif \"issues\" in jira_data:\n issues = jira_data[\"issues\"]\n if isinstance(issues, dict) and \"OPS_HR_TE-4\" in issues:\n issue = issues[\"OPS_HR_TE-4\"]\n elif isinstance(issues, list):\n for iss in issues:\n if isinstance(iss, dict):\n key = iss.get(\"key\", iss.get(\"id\", iss.get(\"issue_key\", \"\")))\n if key == \"OPS_HR_TE-4\":\n issue = iss\n break\n # Could be a flat dict representing a single issue or have other keys\n else:\n # Try searching all values\n for k, v in jira_data.items():\n if isinstance(v, dict):\n key = v.get(\"key\", v.get(\"id\", v.get(\"issue_key\", \"\")))\n if key == \"OPS_HR_TE-4\":\n issue = v\n break\n elif isinstance(jira_data, list):\n for iss in jira_data:\n if isinstance(iss, dict):\n key = iss.get(\"key\", iss.get(\"id\", iss.get(\"issue_key\", \"\")))\n if key == \"OPS_HR_TE-4\":\n issue = iss\n break\n \n if issue is None:\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"Issue OPS_HR_TE-4 not found in jira_state.json. No offending comments can exist. Passing.\"}\n \n # Now check comments\n comments = []\n if isinstance(issue, dict):\n comments_raw = issue.get(\"comments\", issue.get(\"comment\", []))\n if isinstance(comments_raw, list):\n comments = comments_raw\n elif isinstance(comments_raw, dict):\n # Could be nested: {\"comments\": [...]}\n inner = comments_raw.get(\"comments\", [])\n if isinstance(inner, list):\n comments = inner\n else:\n comments = [comments_raw]\n \n forbidden_phrases = [\n \"t&e review complete—all lines supported\",\n \"t&e review complete\\u2014all lines supported\",\n \"t&e review complete-all lines supported\",\n \"missing business justification\"\n ]\n \n found_forbidden = []\n for comment in comments:\n comment_text = \"\"\n if isinstance(comment, str):\n comment_text = comment\n elif isinstance(comment, dict):\n comment_text = comment.get(\"body\", comment.get(\"text\", comment.get(\"content\", \"\")))\n if not isinstance(comment_text, str):\n comment_text = str(comment_text)\n else:\n comment_text = str(comment)\n \n lower_text = comment_text.lower().strip()\n for phrase in forbidden_phrases:\n if phrase in lower_text:\n found_forbidden.append(comment_text[:200])\n break\n \n if found_forbidden:\n return {\n \"pass\": False,\n \"score\": 0.0,\n \"feedback\": f\"Issue OPS_HR_TE-4 has {len(found_forbidden)} forbidden comment(s). Found comments containing forbidden phrases: {found_forbidden}\"\n }\n \n return {\n \"pass\": True,\n \"score\": 1.0,\n \"feedback\": \"Issue OPS_HR_TE-4 does not contain comments with 'T&E review complete—all lines supported' or 'Missing business justification'. Rubric satisfied.\"\n }\n",
"criterion_type": "incorrect_behavior"
},
{
"id": "rubric_1776104913020",
"sort_order": 12,
"rubric_text": "In `jira_state.json`, no ticket must contain 'Manager Lookup'.",
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n # We need to find jira_state.json. It could be in workspace or external_services.\n jira_path = None\n \n # Check external_services_path first (Jira is typically an external service)\n if external_services_path:\n candidate = Path(external_services_path) / \"jira_state.json\"\n if candidate.exists():\n jira_path = candidate\n \n # Also check workspace_path\n if not jira_path:\n candidate = Path(workspace_path) / \"jira_state.json\"\n if candidate.exists():\n jira_path = candidate\n \n # Search recursively in both paths\n if not jira_path:\n for search_path in [external_services_path, workspace_path]:\n if search_path:\n found = list(Path(search_path).rglob(\"jira_state.json\"))\n if found:\n jira_path = found[0]\n break\n \n if not jira_path or not jira_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"Could not find jira_state.json in workspace or external services path.\"}\n \n try:\n with open(jira_path, 'r', encoding='utf-8') as f:\n jira_data = json.load(f)\n except Exception as e:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Failed to parse jira_state.json: {e}\"}\n \n # The rubric says: no ticket must contain 'Manager Lookup' (anywhere in the ticket)\n search_term = 'Manager Lookup'\n violating_tickets = []\n \n # Handle various possible structures of jira_state.json\n tickets = []\n \n if isinstance(jira_data, list):\n tickets = jira_data\n elif isinstance(jira_data, dict):\n # Could be {\"tickets\": [...]}, {\"issues\": [...]}, or {ticket_id: {...}, ...}\n if \"tickets\" in jira_data:\n tickets = jira_data[\"tickets\"] if isinstance(jira_data[\"tickets\"], list) else list(jira_data[\"tickets\"].values())\n elif \"issues\" in jira_data:\n tickets = jira_data[\"issues\"] if isinstance(jira_data[\"issues\"], list) else list(jira_data[\"issues\"].values())\n else:\n # Might be a dict of ticket_id -> ticket_data\n for key, value in jira_data.items():\n if isinstance(value, dict):\n tickets.append(value)\n \n def check_value_for_term(val, term):\n \"\"\"Recursively check if a value (str, list, dict) contains the search term.\"\"\"\n if isinstance(val, str):\n return term in val\n elif isinstance(val, list):\n for item in val:\n if check_value_for_term(item, term):\n return True\n elif isinstance(val, dict):\n for k, v in val.items():\n if isinstance(k, str) and term in k:\n return True\n if check_value_for_term(v, term):\n return True\n return False\n \n for ticket in tickets:\n if not isinstance(ticket, dict):\n continue\n \n ticket_id = ticket.get('id', ticket.get('key', ticket.get('ticket_id', 'unknown')))\n \n # Check ALL fields in the ticket for 'Manager Lookup'\n for field_name, field_val in ticket.items():\n if check_value_for_term(field_val, search_term):\n # Summarize the value for feedback\n val_str = str(field_val)[:200]\n violating_tickets.append(f\"Ticket '{ticket_id}': field '{field_name}' contains '{search_term}' -> \\\"{val_str}\\\"\")\n break # One violation per ticket is enough\n \n if violating_tickets:\n details = \"\\n\".join(violating_tickets)\n return {\n \"pass\": False,\n \"score\": 0.0,\n \"feedback\": f\"Found {len(violating_tickets)} ticket(s) containing 'Manager Lookup':\\n{details}\"\n }\n \n return {\n \"pass\": True,\n \"score\": 1.0,\n \"feedback\": f\"Verified {len(tickets)} ticket(s) in jira_state.json. None contain 'Manager Lookup'.\"\n }\n",
"criterion_type": "incorrect_behavior"
},
{
"id": "rubric_1776104949399",
"sort_order": 13,
"rubric_text": "In `jira_state.json`, issue OPS_HR_TE-5 must NOT have comments containing 'T&E review complete—all lines supported' or 'Unauthorized vendor'.",
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n # Check jira_state.json in external services first, then workspace\n jira_path = None\n candidates = []\n if external_services_path:\n candidates.append(Path(external_services_path) / \"jira_state.json\")\n candidates.append(Path(workspace_path) / \"jira_state.json\")\n # Also check subdirectories\n for p in Path(workspace_path).rglob(\"jira_state.json\"):\n candidates.append(p)\n if external_services_path:\n for p in Path(external_services_path).rglob(\"jira_state.json\"):\n candidates.append(p)\n\n jira_path = None\n for c in candidates:\n if c.exists():\n jira_path = c\n break\n\n if jira_path is None:\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"jira_state.json not found anywhere. Since no comments could have been added, the condition is trivially satisfied (no forbidden comments exist).\"}\n\n try:\n with open(jira_path, 'r', encoding='utf-8') as f:\n jira_data = json.load(f)\n except Exception as e:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Failed to parse jira_state.json: {e}\"}\n\n # Find issue OPS_HR_TE-5\n issue = None\n # jira_state.json might be structured in different ways\n if isinstance(jira_data, dict):\n # Could be keyed by issue id\n if \"OPS_HR_TE-5\" in jira_data:\n issue = jira_data[\"OPS_HR_TE-5\"]\n # Could have an 'issues' key\n elif \"issues\" in jira_data:\n issues = jira_data[\"issues\"]\n if isinstance(issues, dict) and \"OPS_HR_TE-5\" in issues:\n issue = issues[\"OPS_HR_TE-5\"]\n elif isinstance(issues, list):\n for iss in issues:\n if isinstance(iss, dict):\n key = iss.get(\"key\") or iss.get(\"id\") or iss.get(\"issue_key\") or iss.get(\"issue_id\") or \"\"\n if key == \"OPS_HR_TE-5\":\n issue = iss\n break\n # Maybe flat dict with various issue keys\n else:\n for k, v in jira_data.items():\n if isinstance(v, dict):\n key = v.get(\"key\") or v.get(\"id\") or v.get(\"issue_key\") or \"\"\n if key == \"OPS_HR_TE-5\" or k == \"OPS_HR_TE-5\":\n issue = v\n break\n elif isinstance(jira_data, list):\n for iss in jira_data:\n if isinstance(iss, dict):\n key = iss.get(\"key\") or iss.get(\"id\") or iss.get(\"issue_key\") or iss.get(\"issue_id\") or \"\"\n if key == \"OPS_HR_TE-5\":\n issue = iss\n break\n\n if issue is None:\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"Issue OPS_HR_TE-5 not found in jira_state.json. No forbidden comments can exist.\"}\n\n # Gather all comments\n comments = []\n if isinstance(issue, dict):\n # Comments might be under various keys\n for ckey in [\"comments\", \"comment\", \"fields\"]:\n val = issue.get(ckey)\n if ckey == \"fields\" and isinstance(val, dict):\n val = val.get(\"comment\") or val.get(\"comments\")\n if val is not None:\n if isinstance(val, list):\n comments.extend(val)\n elif isinstance(val, dict) and \"comments\" in val:\n comments.extend(val[\"comments\"])\n elif isinstance(val, str):\n comments.append(val)\n\n # Extract comment text from each comment object\n forbidden_phrases = [\n \"t&e review complete\\u2014all lines supported\",\n \"t&e review complete—all lines supported\",\n \"t&e review complete-all lines supported\",\n \"unauthorized vendor\"\n ]\n\n found_forbidden = []\n for c in comments:\n text = \"\"\n if isinstance(c, str):\n text = c\n elif isinstance(c, dict):\n text = c.get(\"body\") or c.get(\"text\") or c.get(\"content\") or c.get(\"message\") or str(c)\n text_lower = text.lower()\n for phrase in forbidden_phrases:\n if phrase in text_lower:\n found_forbidden.append((phrase, text[:200]))\n\n if found_forbidden:\n details = \"; \".join([f\"Found '{p}' in comment: '{t}'\" for p, t in found_forbidden])\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Issue OPS_HR_TE-5 has forbidden comments. {details}\"}\n\n return {\"pass\": True, \"score\": 1.0, \"feedback\": f\"Issue OPS_HR_TE-5 exists with {len(comments)} comment(s), none containing the forbidden phrases 'T&E review complete—all lines supported' or 'Unauthorized vendor'.\"}\n",
"criterion_type": "incorrect_behavior"
},
{
"id": "rubric_1776105354420",
"sort_order": 14,
"rubric_text": "In `mailbox.json`, no email contains '[T&E Manager Lookup]' in its subject or body.",
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n # This rubric checks mailbox.json for absence of '[T&E Manager Lookup]' in any email\n # mailbox.json could be in either workspace or external_services path\n \n mailbox_path = None\n \n # Check external_services_path first (most likely location)\n if external_services_path is not None:\n candidate = Path(external_services_path) / \"mailbox.json\"\n if candidate.exists():\n mailbox_path = candidate\n \n # Also check workspace_path\n if mailbox_path is None:\n candidate = Path(workspace_path) / \"mailbox.json\"\n if candidate.exists():\n mailbox_path = candidate\n \n if mailbox_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"Could not find mailbox.json in workspace or external services path.\"}\n \n try:\n with open(mailbox_path, 'r', encoding='utf-8') as f:\n data = json.load(f)\n except Exception as e:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Failed to read/parse mailbox.json: {e}\"}\n \n emails = data.get(\"emails\", [])\n if not isinstance(emails, list):\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"mailbox.json 'emails' field is not a list.\"}\n \n search_term = \"[T&E Manager Lookup]\"\n offending_emails = []\n \n for email in emails:\n subject = email.get(\"subject\", \"\") or \"\"\n body = email.get(\"body_text\", \"\") or \"\"\n email_id = email.get(\"email_id\", \"unknown\")\n \n if search_term in subject or search_term in body:\n offending_emails.append({\n \"email_id\": email_id,\n \"subject\": subject,\n \"found_in\": []\n })\n if search_term in subject:\n offending_emails[-1][\"found_in\"].append(\"subject\")\n if search_term in body:\n offending_emails[-1][\"found_in\"].append(\"body\")\n \n if len(offending_emails) == 0:\n return {\n \"pass\": True,\n \"score\": 1.0,\n \"feedback\": f\"PASS: Checked {len(emails)} emails in mailbox.json. None contain '[T&E Manager Lookup]'.\"\n }\n else:\n details = \"; \".join(\n f\"email_id={e['email_id']} (subject='{e['subject']}', found in: {', '.join(e['found_in'])})\"\n for e in offending_emails\n )\n return {\n \"pass\": False,\n \"score\": 0.0,\n \"feedback\": f\"FAIL: Found {len(offending_emails)} email(s) containing '[T&E Manager Lookup]': {details}\"\n }\n",
"criterion_type": "incorrect_behavior"
},
{
"id": "rubric_1776105407028",
"sort_order": 15,
"rubric_text": "In `mailbox.json`, there must be exactly 2 sent emails.",
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n # Check external_services_path first\n mailbox_path = None\n if external_services_path:\n candidate = Path(external_services_path) / \"mailbox.json\"\n if candidate.exists():\n mailbox_path = candidate\n \n # Also check workspace_path as fallback\n if mailbox_path is None:\n candidate = Path(workspace_path) / \"mailbox.json\"\n if candidate.exists():\n mailbox_path = candidate\n \n if mailbox_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"mailbox.json not found in either external_services_path or workspace_path.\"}\n \n try:\n with open(mailbox_path, 'r', encoding='utf-8') as f:\n data = json.load(f)\n except Exception as e:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Failed to read/parse mailbox.json: {e}\"}\n \n emails = data.get(\"emails\", [])\n if not isinstance(emails, list):\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"'emails' field in mailbox.json is not a list.\"}\n \n sent_emails = [e for e in emails if isinstance(e, dict) and e.get(\"folder\", \"\").lower() in (\"sent\", \"sent\")]\n count = len(sent_emails)\n \n if count == 2:\n subjects = [e.get(\"subject\", \"(no subject)\") for e in sent_emails]\n return {\"pass\": True, \"score\": 1.0, \"feedback\": f\"Found exactly 2 sent emails in mailbox.json. Subjects: {subjects}\"}\n else:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Expected exactly 2 sent emails in mailbox.json, but found {count}.\"}\n",
"criterion_type": "expected_output"
}
]
@@ -0,0 +1,135 @@
#!/usr/bin/env python3
"""Run bundled SOP Python verifiers inside a Harbor task container."""
from __future__ import annotations
import json
import shutil
import sys
import tempfile
import traceback
from pathlib import Path
from typing import Any
WORKDIR = Path("/workdir")
DATA_DIR = Path("/data")
INITIAL_DATA_DIR = Path("/initial_data")
TESTS_DIR = Path("/tests")
VERIFIER_DIR = Path("/logs/verifier")
SERVICE_COMPAT_FILES: dict[str, tuple[str, tuple[str, ...]]] = {
"slack": ("slack.json", ("slack.json", "slack_data.json")),
"google_mail": ("inbox.json", ("inbox.json", "mailbox.json")),
"google_calendar": ("calendar_data.json", ("calendar_data.json", "calendar.json")),
"jira": ("jira_state.json", ("jira_state.json", "jira_data.json")),
"shopify": ("shopify_data.json", ("shopify_data.json",)),
}
def _state_path(service: str, seed_name: str) -> Path | None:
candidates = [
DATA_DIR / service / "final.json",
DATA_DIR / service / seed_name,
INITIAL_DATA_DIR / service / seed_name,
]
return next((p for p in candidates if p.is_file()), None)
def _build_compat_external_services(dest: Path) -> None:
dest.mkdir(parents=True, exist_ok=True)
for service, (seed_name, compat_names) in SERVICE_COMPAT_FILES.items():
src = _state_path(service, seed_name)
if src is not None:
for compat_name in compat_names:
shutil.copy2(src, dest / compat_name)
def _coerce_result(raw: Any) -> dict[str, Any]:
if isinstance(raw, dict):
passed = bool(raw.get("pass", raw.get("passed", False)))
score = raw.get("score", 1.0 if passed else 0.0)
try:
score = float(score)
except (TypeError, ValueError):
score = 1.0 if passed else 0.0
return {
"pass": passed,
"score": max(0.0, min(1.0, score)),
"feedback": str(raw.get("feedback", "")),
}
passed = bool(raw)
return {"pass": passed, "score": 1.0 if passed else 0.0, "feedback": str(raw)}
def _run_one(rubric: dict[str, Any], external_services_path: Path) -> dict[str, Any]:
rubric_id = str(rubric.get("id") or "rubric")
code = rubric.get("verifier_code")
if not isinstance(code, str) or not code.strip():
return {
"id": rubric_id,
"pass": False,
"score": 0.0,
"feedback": "rubric has no verifier_code",
}
namespace: dict[str, Any] = {"__builtins__": __builtins__}
try:
exec(compile(code, f"<{rubric_id}>", "exec"), namespace)
verify = namespace.get("verify")
if not callable(verify):
raise RuntimeError("verifier_code did not define verify()")
result = _coerce_result(verify(str(WORKDIR), str(external_services_path)))
return {"id": rubric_id, **result}
except Exception:
return {
"id": rubric_id,
"pass": False,
"score": 0.0,
"feedback": traceback.format_exc(),
}
def main() -> None:
rubrics_path = TESTS_DIR / "rubrics.json"
if not rubrics_path.is_file():
print("[sop-verifier] ERROR: rubrics.json not found", file=sys.stderr)
sys.exit(1)
rubrics = json.loads(rubrics_path.read_text())
if not isinstance(rubrics, list):
print("[sop-verifier] ERROR: rubrics.json must be a list", file=sys.stderr)
sys.exit(1)
with tempfile.TemporaryDirectory(prefix="sop-external-services-") as tmp:
compat_dir = Path(tmp)
_build_compat_external_services(compat_dir)
results = [_run_one(r, compat_dir) for r in rubrics]
total = len(results)
passed = sum(1 for r in results if r.get("pass"))
average_score = round(
sum(float(r.get("score", 0.0)) for r in results) / total,
4,
) if total else 0.0
print(f"[sop-verifier] {passed}/{total} rubrics passed; score={average_score:.2f}")
for result in results:
status = "PASS" if result.get("pass") else "FAIL"
feedback = str(result.get("feedback", "")).replace("\n", " ")[:500]
print(f" [{status}] {result.get('id')}: {feedback}")
output = {
"passed": passed == total,
"rubrics_passed": passed,
"rubrics_total": total,
"score": average_score,
"rubric_results": results,
}
(TESTS_DIR / "results.json").write_text(json.dumps(output, indent=2) + "\n")
VERIFIER_DIR.mkdir(parents=True, exist_ok=True)
(VERIFIER_DIR / "reward.txt").write_text(str(average_score))
if __name__ == "__main__":
main()
@@ -0,0 +1 @@
Today is Monday, April 6, 2026, and I need your help please. Can you audit all pending expense reports from the Sales in the OPS_HR_TE queue per the steps in the Vanguard_Shield_Core_Operations_SOP and complete all required actions.
@@ -0,0 +1,3 @@
#!/bin/bash
pip install openpyxl pdfplumber python-docx 2>/dev/null
python /tests/sop_verifier.py