OpenSquared
2dc4d8e91b
feat: wavelets
2026-07-14 16:40:19 +02:00
OpenSquared
b693aca2dc
feat: wavelets
2026-07-14 16:23:18 +02:00
OpenSquared
090c75c182
feat: new cockpit
2026-07-14 13:52:24 +02:00
OpenSquared
7d348d5c25
feat: new cockpit
2026-07-14 13:43:34 +02:00
OpenSquared
922bb76567
feat: new cockpit
2026-07-14 13:22:13 +02:00
OpenSquared
09b9efeda7
feat: new cockpit
2026-07-14 12:17:15 +02:00
OpenSquared
ad07c8d886
feat: new cockpit
2026-07-14 11:21:43 +02:00
OpenSquared
3be72e44cc
feat: instrument model
2026-07-03 21:48:55 +02:00
OpenSquared
716d8fa56c
feat: instrument model
2026-07-03 17:39:44 +02:00
OpenSquared
ff551deecd
feat: instrument model
2026-07-03 17:20:22 +02:00
OpenSquared
2bb8109eb4
feat: instrument model
2026-07-03 16:03:59 +02:00
OpenSquared
2d8cccec07
feat: instrument model
2026-07-03 15:34:48 +02:00
OpenSquared
05ee909ee4
feat: instrument model
2026-07-03 13:27:09 +02:00
OpenSquared
90f894e5c6
feat: instrument model
2026-07-03 11:55:51 +02:00
OpenSquared
352fd48e46
feat: instrument model
2026-07-03 11:25:13 +02:00
OpenSquared
8f51e0de7b
feat: instrument model
2026-07-03 11:00:23 +02:00
OpenSquared
c3e9b21bda
feat: instrument model
2026-07-03 10:17:02 +02:00
OpenSquared
f4e57e9d84
feat: instrument model
2026-07-03 09:59:26 +02:00
OpenSquared
980c797f53
feat: instrument model
2026-07-03 09:43:39 +02:00
OpenSquared
d9e9d30889
feat: instrument model
2026-07-03 00:31:30 +02:00
OpenSquared
a8ee808937
feat: instrument model
2026-07-03 00:04:37 +02:00
OpenSquared
ff6f0b390d
feat: instrument model
2026-07-02 23:36:06 +02:00
OpenSquared
e2144d93e9
feat: instrument model
2026-07-02 22:46:55 +02:00
OpenSquared
7f7c343c9e
feat: instrument model
2026-07-02 22:34:16 +02:00
OpenSquared
aecbdc9929
feat: instrument model
2026-07-02 20:31:30 +02:00
OpenSquared
ae5865a156
feat: pressure
2026-07-02 18:07:21 +02:00
OpenSquared
82739e8140
feat: instrument analysis
2026-07-02 14:21:57 +02:00
OpenSquared
0d5ad88b1c
feat: causal graph
2026-07-02 13:57:43 +02:00
OpenSquared
5081514898
feat: calendar
2026-07-02 11:27:45 +02:00
OpenSquared
e1681edffc
feat: causal lab
2026-07-01 21:01:00 +02:00
OpenSquared
1829335ad1
feat: macro series
2026-07-01 17:38:33 +02:00
OpenSquared
776c19e1ae
feat: macro series
2026-07-01 15:58:47 +02:00
OpenSquared
292d2c6413
feat: bank forceasts
2026-06-30 21:47:20 +02:00
OpenSquared
bb614936c3
feat: macro series
2026-06-30 19:08:33 +02:00
OpenSquared
b8a1d2ad07
feat: instrument analysis
2026-06-30 18:45:12 +02:00
OpenSquared
479b2b7b05
feat: instrument analysis
2026-06-30 18:31:43 +02:00
OpenSquared
75489a54bd
feat: instrument analysis
2026-06-30 18:09:29 +02:00
OpenSquared
c3cebc2d7e
feat: instrument analysis
2026-06-30 17:23:51 +02:00
OpenSquared
7f3cce69b9
feat: instrument analysis
2026-06-30 17:03:36 +02:00
OpenSquared
9711f0921c
feat: instrument analysis
2026-06-30 16:56:27 +02:00
OpenSquared
ecb9b74b20
feat: instrument analysis
2026-06-30 16:50:26 +02:00
OpenSquared
9ffcfeeb71
feat: instrument analysis
2026-06-30 16:32:08 +02:00
OpenSquared
9904c066b2
feat: instrument analysis
2026-06-30 16:15:39 +02:00
OpenSquared
69ca36bd7e
feat: market event
2026-06-30 13:55:03 +02:00
OpenSquared
2b1a43a093
feat: market event
2026-06-30 12:22:14 +02:00
OpenSquared
12c298cf83
fix: graphe calculation
2026-06-30 12:00:42 +02:00
OpenSquared
05d2a2c841
fix: add save buttons at bottom of grammar panel in causal editor
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-30 11:17:43 +02:00
OpenSquared
9e929cf47f
feat: export current graph as grammar with copy button for external AI analysis
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-30 09:36:34 +02:00
OpenSquared
f9dddb7184
feat: graph patch grammar DSL for causal editor
...
New grammar panel replaces free-text AI prompt with a two-step workflow:
1. NL to Grammar: GPT-4o converts description to patch ops (new endpoint ai-to-grammar)
2. Apply: frontend parser applies grammar locally without AI
Grammar syntax: (+|-|~)(node|edge|coef|input|instruments) key=val key=val
Sign shortcuts: + positive, - negative, = neutral
Auto-positions new nodes when x/y omitted.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-30 09:30:17 +02:00
OpenSquared
9a1e943be0
feat: multi-tab instrument analysis
...
Each /instruments/:id navigation opens a persistent tab in the TabBar.
Multiple instruments can be open simultaneously — state is preserved when switching.
- TabsContext: adds instrumentIds[], openInstrument(), closeInstrument()
- TabBar: renders instrument tabs (teal, monospaced, TrendingUp icon) after static tabs, separated by a divider
- InstrumentDashboard: accepts instrumentIdProp so keep-alive instances use the right id regardless of URL
- App: InstrumentRoute registers the tab on navigation; InstrumentKeepAlive mounts one dashboard per open instrument; NormalRoutes hides on instrument paths (hidden div, Routes still fires)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-30 09:17:05 +02:00