File size: 4,051 Bytes
cb330aa
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Architecture

SYNAPSE-X models decision-making as a balance between risk, uncertainty, and reward over time.

The structure keeps the system easy to inspect while preserving meaningful decision complexity.

SYNAPSE-X is organized as a small benchmark stack with clear boundaries between environment logic, agents, serving, and evaluation.

## Component Map

| Area | Responsibility |
| --- | --- |
| `env/` | core environment mechanics, predictive features, reward shaping, and deterministic grading |
| `agents/` | reusable policies for comparison and benchmarking |
| `api/` | FastAPI application that exposes the benchmark over HTTP |
| `scripts/` | runnable entrypoints for verification, benchmarking, reporting, and inference |
| `configs/` | lightweight configuration values and metadata |
| `docs/` | submission-facing narrative and technical notes |

## Core Runtime Flow

1. A task preset is selected from [env/grader.py](../env/grader.py).
2. [env/environment.py](../env/environment.py) resets the episode and initializes seeded runtime state.
3. [env/echo.py](../env/echo.py) enriches each task with predictive signals: `future_risk` and `deadline_pressure`.
4. An agent selects `execute`, `delay`, or `reallocate` using current and predictive state.
5. [env/prism.py](../env/prism.py) resolves execution uncertainty, introducing controlled stochastic outcomes.
6. [env/reward.py](../env/reward.py) computes dense step rewards.
7. [env/grader.py](../env/grader.py) converts the resulting action trace into a deterministic final score.

## System Flow

`STATE -> ECHO -> AGENT -> PRISM -> REWARD -> GRADER`

## CASCADE-X Crisis Dynamics

Hard mode adds dependency propagation and a nonlinear crisis transition on top of the base scheduler.

- `system_pressure` is normalized before it is fed into risk, deadline, and phase calculations
- the normalized pressure signal is bounded to `(0, 1)`, which keeps downstream tooling and metrics stable
- once normalized pressure crosses the phase threshold of `0.75`, the environment enters a nonlinear crisis regime
- `reallocate` restores at most `0.2` resources per step, which intentionally limits recovery speed during crisis handling

## Environment Contract

### Observation

Each observation contains:

- `tasks`: sorted task list
- `time`: current timestep
- `resources`: current resource pool
- `episode_done`: terminal flag

Each task includes priority, risk, uncertainty, deadline, resource cost, completion state, and the predictive fields produced by `ECHO`.

### Actions

The environment accepts a compact action interface:

- `execute(task_id)`
- `delay(task_id)`
- `reallocate(task_id)`

This keeps the API simple while still forcing meaningful strategy choices.

The `reallocate` action has a hard resource-recovery cap of `0.2` per step.

## API Surface

The local API in [api/app.py](../api/app.py) exposes the benchmark in a submission-friendly way:

| Endpoint | Method | Purpose |
| --- | --- | --- |
| `/health` | `GET` | confirm server availability |
| `/reset` | `GET`, `POST` | start a new episode |
| `/step` | `POST` | apply one action |
| `/state` | `GET` | inspect current state |
| `/tasks` | `GET` | enumerate task presets |
| `/grade` | `POST` | score an action trace |

## Design Guarantees

- reproducibility: stochastic execution is seed-controlled
- stability: rewards are clamped and observations are sorted
- clarity: evaluation logic is separated from deployment and agent code
- portability: the same benchmark can run locally, through the API, or via Docker

## Why This Structure Works

- judges can inspect environment logic without reading serving code
- baseline and comparison agents are easy to run side by side
- benchmark verification is a single script instead of a manual checklist
- the repository stays focused on the benchmark rather than optional product layers

## Summary

SYNAPSE-X separates prediction (ECHO), uncertainty (PRISM), and evaluation (grader) to produce a reproducible, interpretable benchmark for strategic decision-making.