(name)
| 150 | // names as the success signal — they're the closest thing to a structured |
| 151 | // event we can observe from outside the agent. |
| 152 | const toolFired = (name) => new RegExp(`⚙\\s*${name}`).test(merged); |
| 153 | const sawCreate = toolFired('contract_create'); |
| 154 | const sawPass = toolFired('contract_assert_pass'); |
| 155 | const sawGuard = /CONTRACT-GUARD/.test(merged) || /contract guard:/.test(merged); |