The first run never arrives
Runagentegrity pro first. It checks the token and URL and prints exactly which one fails:
agentegrity: streaming session data to ... when it attaches; if that line is missing, the variables did not reach it.
A TypeScript agent uses the Python variable. The TypeScript packages read AGENTEGRITY_URL, not AGENTEGRITY_EXPORTER_URL, and otherwise send to http://localhost:8787. See TypeScript.
The URL has a path. Use the bare origin, https://app.cogensec.com. A trailing slash is fine; a path such as /api is not.
The token belongs to another workspace. A token from a different workspace authenticates and delivers there. Create one in the workspace you are looking at.
The process exits before anything is sent. The Python exporter sends from a background thread and, at a normal exit, waits up to 5 seconds for its queue to drain. A process killed with SIGKILL, or one that exits through os._exit, skips that wait and can lose everything it queued. A session sent without its end request still appears, but it stays open until the console seals it after 2 idle hours (through a daily job), and only then gets its certificate.
The token reached the console but no run landed. The wizard says this when the token’s Last used time moved but no session or trace started after you opened the step. The token and URL are right, so look at the agent side: agentegrity pro --push on its own only checks the token, so run the agent itself, and check the exporter’s warnings for dropped requests.
Ingest errors
The Python exporter logs these as warnings and drops the request; the agent is never interrupted. The TypeScript packages pass them toonError.
A session has no certificate
The certificate page says why.- “server scored only”. Every event was scored by the console, which happens with the TypeScript packages. Server-scored events are never signed. See Server-scored events.
- “no SDK evaluations”. The library sent no evaluated events, for example because the session ended before its first tool call.
- Preview only. The session is still open. It is signed when it ends or is sealed.
Chain shows “not reported”
The library reports the state of its local chain in its end request. A session sealed by the console after going idle never sent one, so its chain, attestation count and enforce mode stay “not reported”. Threats in that session that were live on a tool call the agent should have stopped show as Unconfirmed.Server scoring stopped
The session page states why server scoring halted. The common causes are a risk tier that is missing or not one oflow, medium, high or critical, capabilities that are not a list of strings, and the first multi-agent event. See Server-scored events.
An alert did not arrive
Open Settings, the Alert deliveries tab. If there is no row, either no rule matched (check the rule’s minimum severity, category and detector, and that it is enabled), or the finding was already sent to that rule recently: within an hour after a success, or 5 minutes after a failure, no new attempt is made or logged. If there is a row, its error says why.HTTP <code>: your endpoint answered with something other than 2xx.blocked_address,blocked_host,blocked_port,unresolvable_host: the URL failed the webhook URL checks.org_delivery_budget_exceeded: more than 60 deliveries in a minute.- Muted: the email recipient turned that topic off in their notifications.
Duplicate agents
An agent that reports through both the library and OpenTelemetry, or under two spellings of its id, can appear twice. Ids that differ only in case or separators are merged automatically. For anything else, setagentegrity.agent.id on the OpenTelemetry stream, or have an admin use Merge duplicates on the Agents screen. See How agents are identified.
