Forge
markdowndeeb25a2
1# AEE Orion local test-drive (v1)
2
3Сценарии от ревью Orion, привязка к **MLP** (текущая реализация) и автоматизация.
4
5## Быстрый запуск
6
7```powershell
8pwsh -File scripts/aee/orion-test-drive.ps1
9pwsh -File scripts/aee/orion-test-drive.ps1 -Ui # + чеклист в IDE
10```
11
12Фильтр xUnit: `Category=AgentEnvironment` → класс `AgentEnvironmentOrionStressTests`.
13
14## 1. Stale context & epochs (выносливость)
15
16| Orion | MLP сейчас | Как проверить |
17|-------|------------|---------------|
18| Микро-правки 500 ms + `/agent verify` | `AgentVerifyEpochTracker` → `AgentVerifyEpochStale`; новый verify **отменяет** предыдущий (`superseded`) | `Stress_MicroWrites_*`, `Stress_RapidVerify_*`, `Stress_RapidVerifyAndMicroWrites_*` |
19| Coalesce 1.5 s схлопывает запросы | **Только L2 build** внутри одного climb (`EnvironmentTaskDedup`), не очередь slash-verify | `Stress_Dedup_*` |
20| Очередь CancellationToken | Один `_activeCts` на run; при новом verify — cancel + dispose | `Stress_RapidVerify_SupersedesPredecessor_*` |
21
22**В IDE:** открыть solution → `/agent verify standard` → править `.cs` каждые ~500 ms → `/agent status` (не должен зависать).
23
24## 2. Substrate bundle (глухая изоляция)
25
26| Orion | MLP сейчас | Как проверить |
27|-------|------------|---------------|
28| `_cide_sandbox/{run_id}` | `%LocalAppData%/CascadeIDE/agent-runs/{run_id}/substrate/` | `/agent sandbox agent_ephemeral` |
29| Порты без `SocketException` | `AgentSandboxSubstrate.ReserveFreeTcpPort()` на run | `Stress_ParallelSubstrate_*` |
30| БД не протекает между run | `wit.db` + `owner.txt` per run; `RecreateSubstrateBeforeTests` перед L3 | тот же тест |
31
32## 3. Supervised host death
33
34| Orion | MLP сейчас | Как проверить |
35|-------|------------|---------------|
36| `FailFast` / kill MSBuild worker | Host kind `supervised-inproc`; смерть job → `AgentEnvironmentTaskDied` | `Stress_HostDeath_*` (`TestJobStatusFactory` → null status) |
37| UI glyph Died | DataBus → `RefreshPfdBackgroundStatusBar` (нет отдельного glyph W3+) | UI: убить dotnet во время verify (ручной краш) |
38| Чат не зависает | `AgentRunCompleted` / cancel; chat projection async | UI: `/agent cancel` после сбоя |
39
40**Идеал (не MLP gate):** отдельный supervised MSBuild process + auto-restart (ADR §8.1.5 open Q #10).
41
42## Ограничения тестов без IDE
43
44- Интеграция с реальным `CascadeIDE.sln` — тесты ищут solution вверх от `bin/`; если нет — часть тестов no-op `return`.
45- `Environment.FailFast` в процессе теста убьёт весь test host — используем симуляцию через `job not found` → `TaskDied`.
46
47## Связанные документы
48
49- [ADR 0148](../adr/0148-agent-execution-environment-verification-ladder-and-native-tooling.md)
50- [playbook-agent-environment-v1.md](playbook-agent-environment-v1.md)
51
View only · write via MCP/CIDE