Krishna commited on
Commit
e20eb24
Β·
1 Parent(s): f73e388

Architecture final

Browse files
Files changed (1) hide show
  1. ARCHITECTURE.md +14 -14
ARCHITECTURE.md CHANGED
@@ -10,27 +10,27 @@ The Macro Signal Engine is an OpenEnv environment where an LLM agent acts as a m
10
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
11
  β”‚ inference.py / training code β”‚
12
  β”‚ β”‚
13
- β”‚ client = MacroSignalEnv(base_url=HF_SPACE_URL) β”‚
14
- β”‚ result = client.reset(task_type="causal_chain") β”‚
15
- β”‚ result = client.step(MacroSignalAction(...)) β”‚
16
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
17
  β”‚ WebSocket /ws (primary transport)
18
  β”‚ HTTP /reset /step (debug only)
19
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
20
  β”‚ FastAPI Server (app.py) β”‚
21
  β”‚ β”‚
22
- β”‚ Each WebSocket connection gets a fresh env instance. β”‚
23
  β”‚ β”‚
24
- β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
25
- β”‚ β”‚ MacroSignalEnvironment (environment.py) β”‚ β”‚
26
- β”‚ β”‚ β”‚ β”‚
27
- β”‚ β”‚ _portfolio _prices _step _history β”‚ β”‚
28
- β”‚ β”‚ _scenario loaded from data/scenarios.json β”‚ β”‚
29
- β”‚ β”‚ β”‚ β”‚
30
- β”‚ β”‚ reset() MacroSignalObservation β”‚ β”‚
31
- β”‚ β”‚ step() MacroSignalObservation + reward β”‚ β”‚
32
- β”‚ β”‚ state() MacroSignalState β”‚ β”‚
33
- β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
34
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
35
  ```
36
 
 
10
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
11
  β”‚ inference.py / training code β”‚
12
  β”‚ β”‚
13
+ β”‚ client = MacroSignalEnv(base_url=HF_SPACE_URL) β”‚
14
+ β”‚ result = client.reset(task_type="causal_chain") β”‚
15
+ β”‚ result = client.step(MacroSignalAction(...)) β”‚
16
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
17
  β”‚ WebSocket /ws (primary transport)
18
  β”‚ HTTP /reset /step (debug only)
19
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
20
  β”‚ FastAPI Server (app.py) β”‚
21
  β”‚ β”‚
22
+ β”‚ Each WebSocket connection gets a fresh env instance. β”‚
23
  β”‚ β”‚
24
+ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
25
+ β”‚ β”‚ MacroSignalEnvironment (environment.py) β”‚ β”‚
26
+ β”‚ β”‚ β”‚ β”‚
27
+ β”‚ β”‚ _portfolio _prices _step _history β”‚ β”‚
28
+ β”‚ β”‚ _scenario loaded from data/scenarios.json β”‚ β”‚
29
+ β”‚ β”‚ β”‚ β”‚
30
+ β”‚ β”‚ reset() MacroSignalObservation β”‚ β”‚
31
+ β”‚ β”‚ step() MacroSignalObservation + reward β”‚ β”‚
32
+ β”‚ β”‚ state() MacroSignalState β”‚ β”‚
33
+ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
34
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
35
  ```
36