Alert Triage: environment #2, built end to end by the pipeline
The first environment shipped through .claude/workflows/new-environment.js: specification, three adversarial reviews (all 'fixable', none fatal), the Python environment, the TypeScript port, captured rollouts, and the demo page. Eleven agents, no errors. The proof that the platform scales is one line long. Alert Triage has a completely different shape from Word Five — JSON actions, priced lookups, an analyst screen instead of a grid — and the only change under src/components/demo/ is a comment edit, because the isolation lint refused the word "wordle" there. Zero shell code changed. 415 contract checks now pass against two demos, up from 206 against one. The environment is honest by construction. Every alert is synthetic, generated from the seed, and the banner saying so sits inside the board surface. Two of the eleven scenario templates are hidden-suspicious: generated by the same code as their benign twin with the signal overlaid only in lookup data, so the free screen is identically distributed and a screen-only policy STRUCTURALLY cannot tell them apart. The probe ladder measures it: `fast` catches 0.0 of hidden seeds. That is the counterweight made real rather than asserted. Twelve policies, thirteen ladder assertions, a genuine three-way trade: fast 0.846 wins hours (0.85), misses every hidden case targeted 0.894 wins the shipped total thorough 0.820 wins evidence (1.00), spends 2.9 hours None dominates. 92 Python tests, 35 TypeScript tests, 65 fixtures replaying at delta 0, and conformance gated on world + scorer + protocol so the browser shows the same alert for ?seed= that Python generated. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019mt6sHQHEnEYrJZvoMCJSB
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"runId": "targeted-s2",
|
||||
"seed": 2,
|
||||
"model": "targeted-analyst",
|
||||
"capturedAt": "2026-08-28",
|
||||
"rewards": {
|
||||
"caught": 1.0,
|
||||
"hours": 0.34146341463414637,
|
||||
"evidence": 1.0
|
||||
},
|
||||
"metrics": {
|
||||
"hours_spent": 2.05,
|
||||
"reference_hours": 0.7,
|
||||
"lookups": 4.0,
|
||||
"turns_used": 5.0,
|
||||
"rejected_replies": 0.0,
|
||||
"false_escalation": 0.0,
|
||||
"missed": 0.0,
|
||||
"typology_match": null
|
||||
},
|
||||
"truncated": false,
|
||||
"outcome": "solved",
|
||||
"info": {
|
||||
"label": "benign",
|
||||
"template": "B6",
|
||||
"overlay": null,
|
||||
"typology": null,
|
||||
"planted": [
|
||||
[
|
||||
"doc.D-aded"
|
||||
]
|
||||
],
|
||||
"reference_minutes": 42,
|
||||
"reference_policy": "fast",
|
||||
"held_out": false,
|
||||
"tier": "benign",
|
||||
"screen": "ALERT A-9760 rule R-DORM-05 \u2014 Large credit to an account with no material activity for nine months\n fired 2026-04-23\n triggering transactions:\n T-4 2026-04-18 wire_in 356,000.00 USD CP-1\n T-5 2026-04-19 wire_out 291,900.00 USD CP-2\nKYC FILE C-7059 Gabriela Kowalczyk\n kyc.account_opened = 2012-03-09\n kyc.country = United States\n kyc.customer_type = individual\n kyc.expected_activity = Retired; low activity expected.\n kyc.expected_monthly_cash = 0.00 USD\n kyc.kyc_refreshed = 2025-12-12\n kyc.occupation = retired\n kyc.pep = False\n kyc.prior_alerts = 2\n kyc.prior_sars = 0\n kyc.remittance_declared = none declared\n kyc.stated_income = 31,000.00 USD\nTWELVE-MONTH SUMMARY (USD)\n month cash in cash out wires in wires out ach in ach out txns\n 2025-05 0 0 0 0 0 0 0\n 2025-06 0 0 0 0 0 0 0\n 2025-07 0 170 0 0 0 0 1\n 2025-08 0 0 0 0 0 0 0\n 2025-09 0 0 0 0 0 0 0\n 2025-10 0 0 0 0 0 0 0\n 2025-11 0 0 0 0 0 0 0\n 2025-12 0 120 0 0 0 0 1\n 2026-01 0 170 0 0 0 0 1\n 2026-02 0 0 0 0 0 0 0\n 2026-03 0 0 0 0 0 0 0\n 2026-04 0 0 356,000 291,900 0 0 2\nCOUNTERPARTIES on screen (top by twelve-month volume):\n CP-1 in 1 txns 356,000.00 USD\n CP-2 out 1 txns 291,900.00 USD\nReporting threshold in this jurisdiction: 10,000.00 USD\nSYNTHETIC DATA \u2014 no real customer, account or transaction.\n\nHours spent so far: 0.50. You have 8 replies left."
|
||||
},
|
||||
"turns": [
|
||||
{
|
||||
"reply": "{\"action\": \"lookup\", \"what\": \"documents\"}",
|
||||
"reasoning": null,
|
||||
"call": {
|
||||
"promptTokens": null,
|
||||
"completionTokens": null,
|
||||
"reasoningTokens": null,
|
||||
"durationMs": null,
|
||||
"finishReason": "generated"
|
||||
},
|
||||
"info": {
|
||||
"action": {
|
||||
"action": "lookup",
|
||||
"what": "documents"
|
||||
},
|
||||
"rejection": null,
|
||||
"observation": "DOCUMENTS ON FILE:\n doc.D-3211 [identity] Government-issued identity document, verified at onboarding\n doc.D-aded [executor_letter] Letter from Alicia Haddad, executor, via Eskildsen & Laurent LLP, client trust account: distribution from the estate of Aaron Eskildsen to the named beneficiary.\n\nHours spent so far: 0.65. You have 7 replies left."
|
||||
}
|
||||
},
|
||||
{
|
||||
"reply": "{\"action\": \"lookup\", \"what\": \"prior_alerts\"}",
|
||||
"reasoning": null,
|
||||
"call": {
|
||||
"promptTokens": null,
|
||||
"completionTokens": null,
|
||||
"reasoningTokens": null,
|
||||
"durationMs": null,
|
||||
"finishReason": "generated"
|
||||
},
|
||||
"info": {
|
||||
"action": {
|
||||
"action": "lookup",
|
||||
"what": "prior_alerts"
|
||||
},
|
||||
"rejection": null,
|
||||
"observation": "PRIOR ALERTS:\n A-4278 R-DORM-05 fired 2024-12-23 closed after 9 day(s) by Amara Tanaka\n Closed: reactivation explained by a documented source of funds; document reviewed and retained.\n A-4841 R-WIRE-04 fired 2026-02-02 closed after 5 day(s) by Alicia Haddad\n Closed: destination and amount match the remittance declared at onboarding; within stated income.\n\nHours spent so far: 1.10. You have 6 replies left."
|
||||
}
|
||||
},
|
||||
{
|
||||
"reply": "{\"action\": \"lookup\", \"what\": \"counterparty\", \"id\": \"CP-1\"}",
|
||||
"reasoning": null,
|
||||
"call": {
|
||||
"promptTokens": null,
|
||||
"completionTokens": null,
|
||||
"reasoningTokens": null,
|
||||
"durationMs": null,
|
||||
"finishReason": "generated"
|
||||
},
|
||||
"info": {
|
||||
"action": {
|
||||
"action": "lookup",
|
||||
"what": "counterparty",
|
||||
"id": "CP-1"
|
||||
},
|
||||
"rejection": null,
|
||||
"observation": "COUNTERPARTY CP-1 Eskildsen & Laurent LLP, client trust account\n type law_firm_trust; jurisdiction United States; first seen 2026-04-18\n other alerted accounts sharing this counterparty in twelve months: 0\n transactions: T-4\n\nHours spent so far: 1.55. You have 5 replies left."
|
||||
}
|
||||
},
|
||||
{
|
||||
"reply": "{\"action\": \"lookup\", \"what\": \"counterparty\", \"id\": \"CP-2\"}",
|
||||
"reasoning": null,
|
||||
"call": {
|
||||
"promptTokens": null,
|
||||
"completionTokens": null,
|
||||
"reasoningTokens": null,
|
||||
"durationMs": null,
|
||||
"finishReason": "generated"
|
||||
},
|
||||
"info": {
|
||||
"action": {
|
||||
"action": "lookup",
|
||||
"what": "counterparty",
|
||||
"id": "CP-2"
|
||||
},
|
||||
"rejection": null,
|
||||
"observation": "COUNTERPARTY CP-2 Brightwater Securities\n type brokerage; jurisdiction United States; first seen 2026-04-19\n other alerted accounts sharing this counterparty in twelve months: 1\n transactions: T-5\n\nHours spent so far: 2.00. You have 4 replies left."
|
||||
}
|
||||
},
|
||||
{
|
||||
"reply": "{\"action\": \"close\", \"reason\": \"DOCUMENTED_SOURCE_OF_FUNDS\", \"cites\": [\"doc.D-aded\"], \"note\": \"Source of funds documented: executor_letter.\"}",
|
||||
"reasoning": null,
|
||||
"call": {
|
||||
"promptTokens": null,
|
||||
"completionTokens": null,
|
||||
"reasoningTokens": null,
|
||||
"durationMs": null,
|
||||
"finishReason": "generated"
|
||||
},
|
||||
"info": {
|
||||
"action": {
|
||||
"action": "close",
|
||||
"reason": "DOCUMENTED_SOURCE_OF_FUNDS",
|
||||
"cites": [
|
||||
"doc.D-aded"
|
||||
],
|
||||
"note": "Source of funds documented: executor_letter."
|
||||
},
|
||||
"rejection": null,
|
||||
"observation": "Disposition recorded. The episode is over."
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user