---
title: "Agent Smith arms-race co-evolution timeline (briefing)."
method: GET
path: "/smith/evolutions"
tags: ["Dojo"]
---

# Agent Smith arms-race co-evolution timeline (briefing).

`GET /smith/evolutions`

## Request

- Base URL: `https://api.mnemom.ai/v1`
- URL: `https://api.mnemom.ai/v1/smith/evolutions`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Mnemom-Api-Key`

Returns the red/blue arms-race timeline for one scenario (`?scenario=` required): red Agent Smith evolutions (QD archive cells, oldest first) interleaved with the blue AEGIS counters that neutralised them, stable-sorted by timestamp. A red evolution is flagged `countered` once a later AEGIS edge lands against it. Briefing-class read, all authenticated users (NOT admin-only). MNE-818.

## Query parameters

- `scenario` string, required

## Response `200`

The interleaved red/blue arms-race timeline.

- object
  - `scenario` string, required
  - `events` object[], required
    - `side` 'smith' | 'aegis', required: smith = a red attacker evolution; aegis = a blue defensive counter.
    - `ts` string, required: ISO timestamp the event landed.
    - `evo_version` integer
    - `technique_id` string
    - `name` string
    - `strategy` string
    - `tactic` 'pretext' | 'authority-spoof' | 'injection' | 'rationalized-destruction' | 'exfiltration'
    - `triggering_verdict` 'held' | 'caught' | 'leak' | 'contagion' | 'bent' | 'null', nullable
    - `countered` boolean
    - `countered_by` string
    - `patch_id` string
    - `counters_technique_id` string
    - `inferred` boolean: Whether the counter is telemetry-inferred (not a hand-verified causal link).

## Other responses

- `400`: Bad request
- `401`: Authentication required
- `429`: Rate-limit exceeded. The global per-IP limiter (100 requests/minute, applied to every `/v1/*` route) rejected this request. Back off until the window resets — `Retry-After` carries the cooldown in seconds and `X-RateLimit-Reset` the absolute reset time.
- `500`: Server error — request was well-formed but the server failed to fulfill it. Typically a downstream dependency (DB / RPC / external API) returned an unexpected error.

---

[API](https://skmtc.dev/mnemom/apis/mnemom-api.md) · [All operations](https://skmtc.dev/mnemom/apis/mnemom-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mnemom/apis/mnemom-api/revisions/274b7a6ea182?raw)
