Asmitha-28 commited on
Commit
1aa5b7f
·
verified ·
1 Parent(s): a2cb85b

Harden PTIS reviewer boundaries

Browse files
README.md CHANGED
@@ -1,15 +1,15 @@
1
- ---
2
- title: PTIS
3
- sdk: static
4
- app_file: index.html
5
- colorFrom: blue
6
- colorTo: blue
7
- pinned: false
8
- license: mit
9
- ---
10
-
11
- # PTIS
12
-
13
- Public Hugging Face Space for PTIS. This static showcase uses route geometry, replay evidence JSON, and official planning references included in this folder.
14
-
15
- Truth boundary: this is a software replay and public evidence showcase. It is not a live BTP deployment, not live traffic control, and not a field-measured congestion-reduction claim.
 
1
+ ---
2
+ title: PTIS
3
+ sdk: static
4
+ app_file: index.html
5
+ colorFrom: blue
6
+ colorTo: blue
7
+ pinned: false
8
+ license: mit
9
+ ---
10
+
11
+ # PTIS
12
+
13
+ Public Hugging Face Space for PTIS. This static showcase uses route geometry, replay evidence JSON, and official planning references included in this folder.
14
+
15
+ Truth boundary: this is a software replay and public evidence showcase. It is not a live BTP deployment, not live traffic control, not real destination-ground-truth validation, and not a field-measured congestion-reduction claim.
clear.js CHANGED
@@ -74,6 +74,8 @@ function renderNumbers({ latest, suite, extreme, cctv, route, official }) {
74
  setText("#events-metric", fmt.format(stress.observation_count || 0));
75
  setText("#confidence-metric", confidenceText);
76
  setText("#safety-metric", fmt.format(stress.capacity_violation_count || 0));
 
 
77
  setText("#suite-pass", `${fmt.format(suite.passed_count || 0)}/${fmt.format(suite.scenario_count || 0)}`);
78
  setText("#stress-load", fmt.format(stress.vehicle_count || 0));
79
  setText("#observation-count", fmt.format(stress.observation_count || 0));
 
74
  setText("#events-metric", fmt.format(stress.observation_count || 0));
75
  setText("#confidence-metric", confidenceText);
76
  setText("#safety-metric", fmt.format(stress.capacity_violation_count || 0));
77
+ const calibrationError = Number(stress.mean_synthetic_od_abs_rate_error || 0) * 100;
78
+ setText("#synthetic-calibration", `Synthetic OD calibration rate error: ${calibrationError.toFixed(2)}% in stress replay. This is synthetic calibration, not field OD accuracy.`);
79
  setText("#suite-pass", `${fmt.format(suite.passed_count || 0)}/${fmt.format(suite.scenario_count || 0)}`);
80
  setText("#stress-load", fmt.format(stress.vehicle_count || 0));
81
  setText("#observation-count", fmt.format(stress.observation_count || 0));
evidence/batch_report.json CHANGED
@@ -23,7 +23,27 @@
23
  },
24
  "estimated_destination_demand_vpm": 53.73134328358214,
25
  "link_id": "sl_marathahalli_whitefield",
26
- "sample_count": 63
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  }
28
  ],
29
  "assertions": [
@@ -61,9 +81,27 @@
61
  },
62
  "name": "activations_exist",
63
  "passed": true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
  }
65
  ],
66
- "generated_at": "2026-07-03T14:39:51+00:00",
67
  "metrics": {
68
  "activation_count": 1,
69
  "actual_destination_counts": {
@@ -80,6 +118,9 @@
80
  "mean_abs_demand_error_vpm": 5.951196398957535,
81
  "mean_activation_confidence": 0.6716417910447768,
82
  "mean_activation_lead_junctions": 3,
 
 
 
83
  "observation_count": 689,
84
  "overcommand_count": 0,
85
  "vehicle_count": 240
@@ -94,16 +135,16 @@
94
  {
95
  "entry_junction_id": "silk_board",
96
  "junction_id": "hsr_layout",
97
- "source": "fastag",
98
- "timestamp": "2026-07-03T14:39:51+00:00",
99
  "turned": false,
100
  "vehicle_id": "BATCH00000"
101
  },
102
  {
103
  "entry_junction_id": null,
104
  "junction_id": "sony_world",
105
- "source": "fastag",
106
- "timestamp": "2026-07-03T14:39:51+00:00",
107
  "turned": true,
108
  "vehicle_id": "BATCH00000"
109
  }
@@ -118,32 +159,32 @@
118
  {
119
  "entry_junction_id": "silk_board",
120
  "junction_id": "hsr_layout",
121
- "source": "fastag",
122
- "timestamp": "2026-07-03T14:39:51+00:00",
123
  "turned": false,
124
  "vehicle_id": "BATCH00001"
125
  },
126
  {
127
  "entry_junction_id": null,
128
  "junction_id": "sony_world",
129
- "source": "fastag",
130
- "timestamp": "2026-07-03T14:39:51+00:00",
131
  "turned": false,
132
  "vehicle_id": "BATCH00001"
133
  },
134
  {
135
  "entry_junction_id": null,
136
  "junction_id": "marathahalli",
137
- "source": "fastag",
138
- "timestamp": "2026-07-03T14:39:51+00:00",
139
  "turned": false,
140
  "vehicle_id": "BATCH00001"
141
  },
142
  {
143
  "entry_junction_id": null,
144
  "junction_id": "doddanekkundi",
145
- "source": "fastag",
146
- "timestamp": "2026-07-03T14:39:51+00:00",
147
  "turned": true,
148
  "vehicle_id": "BATCH00001"
149
  }
@@ -158,8 +199,8 @@
158
  {
159
  "entry_junction_id": "silk_board",
160
  "junction_id": "hsr_layout",
161
- "source": "fastag",
162
- "timestamp": "2026-07-03T14:39:51+00:00",
163
  "turned": true,
164
  "vehicle_id": "BATCH00002"
165
  }
@@ -174,8 +215,8 @@
174
  {
175
  "entry_junction_id": "silk_board",
176
  "junction_id": "hsr_layout",
177
- "source": "fastag",
178
- "timestamp": "2026-07-03T14:39:51+00:00",
179
  "turned": true,
180
  "vehicle_id": "BATCH00003"
181
  }
@@ -190,16 +231,16 @@
190
  {
191
  "entry_junction_id": "silk_board",
192
  "junction_id": "hsr_layout",
193
- "source": "fastag",
194
- "timestamp": "2026-07-03T14:39:51+00:00",
195
  "turned": false,
196
  "vehicle_id": "BATCH00004"
197
  },
198
  {
199
  "entry_junction_id": null,
200
  "junction_id": "sony_world",
201
- "source": "fastag",
202
- "timestamp": "2026-07-03T14:39:51+00:00",
203
  "turned": true,
204
  "vehicle_id": "BATCH00004"
205
  }
@@ -214,16 +255,16 @@
214
  {
215
  "entry_junction_id": "silk_board",
216
  "junction_id": "hsr_layout",
217
- "source": "fastag",
218
- "timestamp": "2026-07-03T14:39:51+00:00",
219
  "turned": false,
220
  "vehicle_id": "BATCH00005"
221
  },
222
  {
223
  "entry_junction_id": null,
224
  "junction_id": "sony_world",
225
- "source": "fastag",
226
- "timestamp": "2026-07-03T14:39:51+00:00",
227
  "turned": true,
228
  "vehicle_id": "BATCH00005"
229
  }
@@ -238,48 +279,48 @@
238
  {
239
  "entry_junction_id": "silk_board",
240
  "junction_id": "hsr_layout",
241
- "source": "fastag",
242
- "timestamp": "2026-07-03T14:39:51+00:00",
243
  "turned": false,
244
  "vehicle_id": "BATCH00006"
245
  },
246
  {
247
  "entry_junction_id": null,
248
  "junction_id": "sony_world",
249
- "source": "fastag",
250
- "timestamp": "2026-07-03T14:39:51+00:00",
251
  "turned": false,
252
  "vehicle_id": "BATCH00006"
253
  },
254
  {
255
  "entry_junction_id": null,
256
  "junction_id": "marathahalli",
257
- "source": "fastag",
258
- "timestamp": "2026-07-03T14:39:51+00:00",
259
  "turned": false,
260
  "vehicle_id": "BATCH00006"
261
  },
262
  {
263
  "entry_junction_id": null,
264
  "junction_id": "doddanekkundi",
265
- "source": "fastag",
266
- "timestamp": "2026-07-03T14:39:51+00:00",
267
  "turned": false,
268
  "vehicle_id": "BATCH00006"
269
  },
270
  {
271
  "entry_junction_id": null,
272
  "junction_id": "itpl",
273
- "source": "fastag",
274
- "timestamp": "2026-07-03T14:39:51+00:00",
275
  "turned": false,
276
  "vehicle_id": "BATCH00006"
277
  },
278
  {
279
  "entry_junction_id": null,
280
  "junction_id": "whitefield",
281
- "source": "fastag",
282
- "timestamp": "2026-07-03T14:39:51+00:00",
283
  "turned": true,
284
  "vehicle_id": "BATCH00006"
285
  }
@@ -294,8 +335,8 @@
294
  {
295
  "entry_junction_id": "silk_board",
296
  "junction_id": "hsr_layout",
297
- "source": "fastag",
298
- "timestamp": "2026-07-03T14:39:51+00:00",
299
  "turned": true,
300
  "vehicle_id": "BATCH00007"
301
  }
@@ -310,24 +351,24 @@
310
  {
311
  "entry_junction_id": "silk_board",
312
  "junction_id": "hsr_layout",
313
- "source": "fastag",
314
- "timestamp": "2026-07-03T14:39:51+00:00",
315
  "turned": false,
316
  "vehicle_id": "BATCH00008"
317
  },
318
  {
319
  "entry_junction_id": null,
320
  "junction_id": "sony_world",
321
- "source": "fastag",
322
- "timestamp": "2026-07-03T14:39:51+00:00",
323
  "turned": false,
324
  "vehicle_id": "BATCH00008"
325
  },
326
  {
327
  "entry_junction_id": null,
328
  "junction_id": "marathahalli",
329
- "source": "fastag",
330
- "timestamp": "2026-07-03T14:39:51+00:00",
331
  "turned": true,
332
  "vehicle_id": "BATCH00008"
333
  }
@@ -342,32 +383,32 @@
342
  {
343
  "entry_junction_id": "silk_board",
344
  "junction_id": "hsr_layout",
345
- "source": "fastag",
346
- "timestamp": "2026-07-03T14:39:51+00:00",
347
  "turned": false,
348
  "vehicle_id": "BATCH00009"
349
  },
350
  {
351
  "entry_junction_id": null,
352
  "junction_id": "sony_world",
353
- "source": "fastag",
354
- "timestamp": "2026-07-03T14:39:51+00:00",
355
  "turned": false,
356
  "vehicle_id": "BATCH00009"
357
  },
358
  {
359
  "entry_junction_id": null,
360
  "junction_id": "marathahalli",
361
- "source": "fastag",
362
- "timestamp": "2026-07-03T14:39:51+00:00",
363
  "turned": false,
364
  "vehicle_id": "BATCH00009"
365
  },
366
  {
367
  "entry_junction_id": null,
368
  "junction_id": "doddanekkundi",
369
- "source": "fastag",
370
- "timestamp": "2026-07-03T14:39:51+00:00",
371
  "turned": true,
372
  "vehicle_id": "BATCH00009"
373
  }
@@ -377,7 +418,7 @@
377
  ],
378
  "scenario_id": "silk_board_whitefield_capacity_safe_v1",
379
  "scenario_name": "Silk Board to Whitefield capacity-safe activation",
380
- "scenario_sha256": "8c72518e1e07a472b15739f3d56fcfcfcdbc16bdb8b44f5eb9620b8ff5ff43c9",
381
  "seed": 42,
382
  "vehicle_count": 240
383
  }
 
23
  },
24
  "estimated_destination_demand_vpm": 53.73134328358214,
25
  "link_id": "sl_marathahalli_whitefield",
26
+ "sample_count": 63,
27
+ "target_calibration": {
28
+ "absolute_rate_error": 0.07438995498696988,
29
+ "bins": [
30
+ {
31
+ "absolute_error": 0.07438995498696988,
32
+ "count": 63,
33
+ "lower": 0.6,
34
+ "mean_probability": 0.6716417910447762,
35
+ "observed_rate": 0.746031746031746,
36
+ "upper": 0.8
37
+ }
38
+ ],
39
+ "boundary": "synthetic replay calibration, not field OD accuracy",
40
+ "brier_score": 0.19500224534753383,
41
+ "destination_id": "whitefield",
42
+ "expected_calibration_error": 0.07438995498696988,
43
+ "mean_probability": 0.6716417910447762,
44
+ "observed_rate": 0.746031746031746,
45
+ "sample_count": 63
46
+ }
47
  }
48
  ],
49
  "assertions": [
 
81
  },
82
  "name": "activations_exist",
83
  "passed": true
84
+ },
85
+ {
86
+ "details": {
87
+ "boundary": "synthetic replay calibration, not field OD accuracy",
88
+ "mean_abs_rate_error": 0.07438995498696988,
89
+ "mean_brier_score": 0.19500224534753383
90
+ },
91
+ "name": "synthetic_od_calibration_reported",
92
+ "passed": true
93
+ },
94
+ {
95
+ "details": {
96
+ "actual": 0.07438995498696988,
97
+ "boundary": "sampling-tolerant synthetic replay check",
98
+ "maximum": 0.15
99
+ },
100
+ "name": "synthetic_od_rate_error_below_tolerance",
101
+ "passed": true
102
  }
103
  ],
104
+ "generated_at": "2026-07-07T07:13:35+00:00",
105
  "metrics": {
106
  "activation_count": 1,
107
  "actual_destination_counts": {
 
118
  "mean_abs_demand_error_vpm": 5.951196398957535,
119
  "mean_activation_confidence": 0.6716417910447768,
120
  "mean_activation_lead_junctions": 3,
121
+ "mean_synthetic_od_abs_rate_error": 0.07438995498696988,
122
+ "mean_synthetic_od_brier_score": 0.19500224534753383,
123
+ "mean_synthetic_od_expected_calibration_error": 0.07438995498696988,
124
  "observation_count": 689,
125
  "overcommand_count": 0,
126
  "vehicle_count": 240
 
135
  {
136
  "entry_junction_id": "silk_board",
137
  "junction_id": "hsr_layout",
138
+ "source": "anonymous_replay_token",
139
+ "timestamp": "2026-07-07T07:13:35+00:00",
140
  "turned": false,
141
  "vehicle_id": "BATCH00000"
142
  },
143
  {
144
  "entry_junction_id": null,
145
  "junction_id": "sony_world",
146
+ "source": "anonymous_replay_token",
147
+ "timestamp": "2026-07-07T07:13:35+00:00",
148
  "turned": true,
149
  "vehicle_id": "BATCH00000"
150
  }
 
159
  {
160
  "entry_junction_id": "silk_board",
161
  "junction_id": "hsr_layout",
162
+ "source": "anonymous_replay_token",
163
+ "timestamp": "2026-07-07T07:13:35+00:00",
164
  "turned": false,
165
  "vehicle_id": "BATCH00001"
166
  },
167
  {
168
  "entry_junction_id": null,
169
  "junction_id": "sony_world",
170
+ "source": "anonymous_replay_token",
171
+ "timestamp": "2026-07-07T07:13:35+00:00",
172
  "turned": false,
173
  "vehicle_id": "BATCH00001"
174
  },
175
  {
176
  "entry_junction_id": null,
177
  "junction_id": "marathahalli",
178
+ "source": "anonymous_replay_token",
179
+ "timestamp": "2026-07-07T07:13:35+00:00",
180
  "turned": false,
181
  "vehicle_id": "BATCH00001"
182
  },
183
  {
184
  "entry_junction_id": null,
185
  "junction_id": "doddanekkundi",
186
+ "source": "anonymous_replay_token",
187
+ "timestamp": "2026-07-07T07:13:35+00:00",
188
  "turned": true,
189
  "vehicle_id": "BATCH00001"
190
  }
 
199
  {
200
  "entry_junction_id": "silk_board",
201
  "junction_id": "hsr_layout",
202
+ "source": "anonymous_replay_token",
203
+ "timestamp": "2026-07-07T07:13:35+00:00",
204
  "turned": true,
205
  "vehicle_id": "BATCH00002"
206
  }
 
215
  {
216
  "entry_junction_id": "silk_board",
217
  "junction_id": "hsr_layout",
218
+ "source": "anonymous_replay_token",
219
+ "timestamp": "2026-07-07T07:13:35+00:00",
220
  "turned": true,
221
  "vehicle_id": "BATCH00003"
222
  }
 
231
  {
232
  "entry_junction_id": "silk_board",
233
  "junction_id": "hsr_layout",
234
+ "source": "anonymous_replay_token",
235
+ "timestamp": "2026-07-07T07:13:35+00:00",
236
  "turned": false,
237
  "vehicle_id": "BATCH00004"
238
  },
239
  {
240
  "entry_junction_id": null,
241
  "junction_id": "sony_world",
242
+ "source": "anonymous_replay_token",
243
+ "timestamp": "2026-07-07T07:13:35+00:00",
244
  "turned": true,
245
  "vehicle_id": "BATCH00004"
246
  }
 
255
  {
256
  "entry_junction_id": "silk_board",
257
  "junction_id": "hsr_layout",
258
+ "source": "anonymous_replay_token",
259
+ "timestamp": "2026-07-07T07:13:35+00:00",
260
  "turned": false,
261
  "vehicle_id": "BATCH00005"
262
  },
263
  {
264
  "entry_junction_id": null,
265
  "junction_id": "sony_world",
266
+ "source": "anonymous_replay_token",
267
+ "timestamp": "2026-07-07T07:13:35+00:00",
268
  "turned": true,
269
  "vehicle_id": "BATCH00005"
270
  }
 
279
  {
280
  "entry_junction_id": "silk_board",
281
  "junction_id": "hsr_layout",
282
+ "source": "anonymous_replay_token",
283
+ "timestamp": "2026-07-07T07:13:35+00:00",
284
  "turned": false,
285
  "vehicle_id": "BATCH00006"
286
  },
287
  {
288
  "entry_junction_id": null,
289
  "junction_id": "sony_world",
290
+ "source": "anonymous_replay_token",
291
+ "timestamp": "2026-07-07T07:13:35+00:00",
292
  "turned": false,
293
  "vehicle_id": "BATCH00006"
294
  },
295
  {
296
  "entry_junction_id": null,
297
  "junction_id": "marathahalli",
298
+ "source": "anonymous_replay_token",
299
+ "timestamp": "2026-07-07T07:13:35+00:00",
300
  "turned": false,
301
  "vehicle_id": "BATCH00006"
302
  },
303
  {
304
  "entry_junction_id": null,
305
  "junction_id": "doddanekkundi",
306
+ "source": "anonymous_replay_token",
307
+ "timestamp": "2026-07-07T07:13:35+00:00",
308
  "turned": false,
309
  "vehicle_id": "BATCH00006"
310
  },
311
  {
312
  "entry_junction_id": null,
313
  "junction_id": "itpl",
314
+ "source": "anonymous_replay_token",
315
+ "timestamp": "2026-07-07T07:13:35+00:00",
316
  "turned": false,
317
  "vehicle_id": "BATCH00006"
318
  },
319
  {
320
  "entry_junction_id": null,
321
  "junction_id": "whitefield",
322
+ "source": "anonymous_replay_token",
323
+ "timestamp": "2026-07-07T07:13:35+00:00",
324
  "turned": true,
325
  "vehicle_id": "BATCH00006"
326
  }
 
335
  {
336
  "entry_junction_id": "silk_board",
337
  "junction_id": "hsr_layout",
338
+ "source": "anonymous_replay_token",
339
+ "timestamp": "2026-07-07T07:13:35+00:00",
340
  "turned": true,
341
  "vehicle_id": "BATCH00007"
342
  }
 
351
  {
352
  "entry_junction_id": "silk_board",
353
  "junction_id": "hsr_layout",
354
+ "source": "anonymous_replay_token",
355
+ "timestamp": "2026-07-07T07:13:35+00:00",
356
  "turned": false,
357
  "vehicle_id": "BATCH00008"
358
  },
359
  {
360
  "entry_junction_id": null,
361
  "junction_id": "sony_world",
362
+ "source": "anonymous_replay_token",
363
+ "timestamp": "2026-07-07T07:13:35+00:00",
364
  "turned": false,
365
  "vehicle_id": "BATCH00008"
366
  },
367
  {
368
  "entry_junction_id": null,
369
  "junction_id": "marathahalli",
370
+ "source": "anonymous_replay_token",
371
+ "timestamp": "2026-07-07T07:13:35+00:00",
372
  "turned": true,
373
  "vehicle_id": "BATCH00008"
374
  }
 
383
  {
384
  "entry_junction_id": "silk_board",
385
  "junction_id": "hsr_layout",
386
+ "source": "anonymous_replay_token",
387
+ "timestamp": "2026-07-07T07:13:35+00:00",
388
  "turned": false,
389
  "vehicle_id": "BATCH00009"
390
  },
391
  {
392
  "entry_junction_id": null,
393
  "junction_id": "sony_world",
394
+ "source": "anonymous_replay_token",
395
+ "timestamp": "2026-07-07T07:13:35+00:00",
396
  "turned": false,
397
  "vehicle_id": "BATCH00009"
398
  },
399
  {
400
  "entry_junction_id": null,
401
  "junction_id": "marathahalli",
402
+ "source": "anonymous_replay_token",
403
+ "timestamp": "2026-07-07T07:13:35+00:00",
404
  "turned": false,
405
  "vehicle_id": "BATCH00009"
406
  },
407
  {
408
  "entry_junction_id": null,
409
  "junction_id": "doddanekkundi",
410
+ "source": "anonymous_replay_token",
411
+ "timestamp": "2026-07-07T07:13:35+00:00",
412
  "turned": true,
413
  "vehicle_id": "BATCH00009"
414
  }
 
418
  ],
419
  "scenario_id": "silk_board_whitefield_capacity_safe_v1",
420
  "scenario_name": "Silk Board to Whitefield capacity-safe activation",
421
+ "scenario_sha256": "0ce8d4436adafb9576ce90a44976c045dff619965a1b933b486121b5020ae4e6",
422
  "seed": 42,
423
  "vehicle_count": 240
424
  }
evidence/cctv_bmd45_report.json CHANGED
@@ -163,7 +163,7 @@
163
  "metadata": "Real data\\BMD-45-Val\\metadata.jsonl",
164
  "sample_root": "Real data\\BMD-45-Val"
165
  },
166
- "generated_at": "2026-07-03T14:39:55.357169+00:00",
167
  "manifest": {
168
  "errors": [],
169
  "path": "data\\bmd45_cctv_manifest.json",
 
163
  "metadata": "Real data\\BMD-45-Val\\metadata.jsonl",
164
  "sample_root": "Real data\\BMD-45-Val"
165
  },
166
+ "generated_at": "2026-07-07T07:13:38.636876+00:00",
167
  "manifest": {
168
  "errors": [],
169
  "path": "data\\bmd45_cctv_manifest.json",
evidence/extreme_batch_report.json CHANGED
@@ -23,7 +23,27 @@
23
  },
24
  "estimated_destination_demand_vpm": 53.73134328358034,
25
  "link_id": "sl_marathahalli_whitefield",
26
- "sample_count": 2096
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  }
28
  ],
29
  "assertions": [
@@ -61,9 +81,27 @@
61
  },
62
  "name": "activations_exist",
63
  "passed": true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
64
  }
65
  ],
66
- "generated_at": "2026-07-03T14:39:53+00:00",
67
  "metrics": {
68
  "activation_count": 1,
69
  "actual_destination_counts": {
@@ -80,6 +118,9 @@
80
  "mean_abs_demand_error_vpm": 0.48706847442002754,
81
  "mean_activation_confidence": 0.6716417910447542,
82
  "mean_activation_lead_junctions": 3,
 
 
 
83
  "observation_count": 23314,
84
  "overcommand_count": 0,
85
  "vehicle_count": 8000
@@ -94,16 +135,16 @@
94
  {
95
  "entry_junction_id": "silk_board",
96
  "junction_id": "hsr_layout",
97
- "source": "fastag",
98
- "timestamp": "2026-07-03T14:39:52+00:00",
99
  "turned": false,
100
  "vehicle_id": "BATCH00000"
101
  },
102
  {
103
  "entry_junction_id": null,
104
  "junction_id": "sony_world",
105
- "source": "fastag",
106
- "timestamp": "2026-07-03T14:39:52+00:00",
107
  "turned": true,
108
  "vehicle_id": "BATCH00000"
109
  }
@@ -118,32 +159,32 @@
118
  {
119
  "entry_junction_id": "silk_board",
120
  "junction_id": "hsr_layout",
121
- "source": "fastag",
122
- "timestamp": "2026-07-03T14:39:52+00:00",
123
  "turned": false,
124
  "vehicle_id": "BATCH00001"
125
  },
126
  {
127
  "entry_junction_id": null,
128
  "junction_id": "sony_world",
129
- "source": "fastag",
130
- "timestamp": "2026-07-03T14:39:52+00:00",
131
  "turned": false,
132
  "vehicle_id": "BATCH00001"
133
  },
134
  {
135
  "entry_junction_id": null,
136
  "junction_id": "marathahalli",
137
- "source": "fastag",
138
- "timestamp": "2026-07-03T14:39:52+00:00",
139
  "turned": false,
140
  "vehicle_id": "BATCH00001"
141
  },
142
  {
143
  "entry_junction_id": null,
144
  "junction_id": "doddanekkundi",
145
- "source": "fastag",
146
- "timestamp": "2026-07-03T14:39:52+00:00",
147
  "turned": true,
148
  "vehicle_id": "BATCH00001"
149
  }
@@ -158,8 +199,8 @@
158
  {
159
  "entry_junction_id": "silk_board",
160
  "junction_id": "hsr_layout",
161
- "source": "fastag",
162
- "timestamp": "2026-07-03T14:39:52+00:00",
163
  "turned": true,
164
  "vehicle_id": "BATCH00002"
165
  }
@@ -174,8 +215,8 @@
174
  {
175
  "entry_junction_id": "silk_board",
176
  "junction_id": "hsr_layout",
177
- "source": "fastag",
178
- "timestamp": "2026-07-03T14:39:52+00:00",
179
  "turned": true,
180
  "vehicle_id": "BATCH00003"
181
  }
@@ -190,16 +231,16 @@
190
  {
191
  "entry_junction_id": "silk_board",
192
  "junction_id": "hsr_layout",
193
- "source": "fastag",
194
- "timestamp": "2026-07-03T14:39:52+00:00",
195
  "turned": false,
196
  "vehicle_id": "BATCH00004"
197
  },
198
  {
199
  "entry_junction_id": null,
200
  "junction_id": "sony_world",
201
- "source": "fastag",
202
- "timestamp": "2026-07-03T14:39:52+00:00",
203
  "turned": true,
204
  "vehicle_id": "BATCH00004"
205
  }
@@ -214,16 +255,16 @@
214
  {
215
  "entry_junction_id": "silk_board",
216
  "junction_id": "hsr_layout",
217
- "source": "fastag",
218
- "timestamp": "2026-07-03T14:39:52+00:00",
219
  "turned": false,
220
  "vehicle_id": "BATCH00005"
221
  },
222
  {
223
  "entry_junction_id": null,
224
  "junction_id": "sony_world",
225
- "source": "fastag",
226
- "timestamp": "2026-07-03T14:39:52+00:00",
227
  "turned": true,
228
  "vehicle_id": "BATCH00005"
229
  }
@@ -238,48 +279,48 @@
238
  {
239
  "entry_junction_id": "silk_board",
240
  "junction_id": "hsr_layout",
241
- "source": "fastag",
242
- "timestamp": "2026-07-03T14:39:52+00:00",
243
  "turned": false,
244
  "vehicle_id": "BATCH00006"
245
  },
246
  {
247
  "entry_junction_id": null,
248
  "junction_id": "sony_world",
249
- "source": "fastag",
250
- "timestamp": "2026-07-03T14:39:52+00:00",
251
  "turned": false,
252
  "vehicle_id": "BATCH00006"
253
  },
254
  {
255
  "entry_junction_id": null,
256
  "junction_id": "marathahalli",
257
- "source": "fastag",
258
- "timestamp": "2026-07-03T14:39:52+00:00",
259
  "turned": false,
260
  "vehicle_id": "BATCH00006"
261
  },
262
  {
263
  "entry_junction_id": null,
264
  "junction_id": "doddanekkundi",
265
- "source": "fastag",
266
- "timestamp": "2026-07-03T14:39:52+00:00",
267
  "turned": false,
268
  "vehicle_id": "BATCH00006"
269
  },
270
  {
271
  "entry_junction_id": null,
272
  "junction_id": "itpl",
273
- "source": "fastag",
274
- "timestamp": "2026-07-03T14:39:52+00:00",
275
  "turned": false,
276
  "vehicle_id": "BATCH00006"
277
  },
278
  {
279
  "entry_junction_id": null,
280
  "junction_id": "whitefield",
281
- "source": "fastag",
282
- "timestamp": "2026-07-03T14:39:52+00:00",
283
  "turned": true,
284
  "vehicle_id": "BATCH00006"
285
  }
@@ -294,8 +335,8 @@
294
  {
295
  "entry_junction_id": "silk_board",
296
  "junction_id": "hsr_layout",
297
- "source": "fastag",
298
- "timestamp": "2026-07-03T14:39:52+00:00",
299
  "turned": true,
300
  "vehicle_id": "BATCH00007"
301
  }
@@ -310,24 +351,24 @@
310
  {
311
  "entry_junction_id": "silk_board",
312
  "junction_id": "hsr_layout",
313
- "source": "fastag",
314
- "timestamp": "2026-07-03T14:39:52+00:00",
315
  "turned": false,
316
  "vehicle_id": "BATCH00008"
317
  },
318
  {
319
  "entry_junction_id": null,
320
  "junction_id": "sony_world",
321
- "source": "fastag",
322
- "timestamp": "2026-07-03T14:39:52+00:00",
323
  "turned": false,
324
  "vehicle_id": "BATCH00008"
325
  },
326
  {
327
  "entry_junction_id": null,
328
  "junction_id": "marathahalli",
329
- "source": "fastag",
330
- "timestamp": "2026-07-03T14:39:52+00:00",
331
  "turned": true,
332
  "vehicle_id": "BATCH00008"
333
  }
@@ -342,32 +383,32 @@
342
  {
343
  "entry_junction_id": "silk_board",
344
  "junction_id": "hsr_layout",
345
- "source": "fastag",
346
- "timestamp": "2026-07-03T14:39:52+00:00",
347
  "turned": false,
348
  "vehicle_id": "BATCH00009"
349
  },
350
  {
351
  "entry_junction_id": null,
352
  "junction_id": "sony_world",
353
- "source": "fastag",
354
- "timestamp": "2026-07-03T14:39:52+00:00",
355
  "turned": false,
356
  "vehicle_id": "BATCH00009"
357
  },
358
  {
359
  "entry_junction_id": null,
360
  "junction_id": "marathahalli",
361
- "source": "fastag",
362
- "timestamp": "2026-07-03T14:39:52+00:00",
363
  "turned": false,
364
  "vehicle_id": "BATCH00009"
365
  },
366
  {
367
  "entry_junction_id": null,
368
  "junction_id": "doddanekkundi",
369
- "source": "fastag",
370
- "timestamp": "2026-07-03T14:39:52+00:00",
371
  "turned": true,
372
  "vehicle_id": "BATCH00009"
373
  }
@@ -377,7 +418,7 @@
377
  ],
378
  "scenario_id": "silk_board_whitefield_capacity_safe_v1",
379
  "scenario_name": "Silk Board to Whitefield capacity-safe activation",
380
- "scenario_sha256": "8c72518e1e07a472b15739f3d56fcfcfcdbc16bdb8b44f5eb9620b8ff5ff43c9",
381
  "seed": 42,
382
  "vehicle_count": 8000
383
  }
 
23
  },
24
  "estimated_destination_demand_vpm": 53.73134328358034,
25
  "link_id": "sl_marathahalli_whitefield",
26
+ "sample_count": 2096,
27
+ "target_calibration": {
28
+ "absolute_rate_error": 0.006088355930272349,
29
+ "bins": [
30
+ {
31
+ "absolute_error": 0.006088355930272349,
32
+ "count": 2096,
33
+ "lower": 0.6,
34
+ "mean_probability": 0.6716417910447762,
35
+ "observed_rate": 0.6655534351145038,
36
+ "upper": 0.8
37
+ }
38
+ ],
39
+ "boundary": "synthetic replay calibration, not field OD accuracy",
40
+ "brier_score": 0.22262912819972144,
41
+ "destination_id": "whitefield",
42
+ "expected_calibration_error": 0.006088355930272349,
43
+ "mean_probability": 0.6716417910447762,
44
+ "observed_rate": 0.6655534351145038,
45
+ "sample_count": 2096
46
+ }
47
  }
48
  ],
49
  "assertions": [
 
81
  },
82
  "name": "activations_exist",
83
  "passed": true
84
+ },
85
+ {
86
+ "details": {
87
+ "boundary": "synthetic replay calibration, not field OD accuracy",
88
+ "mean_abs_rate_error": 0.006088355930272349,
89
+ "mean_brier_score": 0.22262912819972144
90
+ },
91
+ "name": "synthetic_od_calibration_reported",
92
+ "passed": true
93
+ },
94
+ {
95
+ "details": {
96
+ "actual": 0.006088355930272349,
97
+ "boundary": "sampling-tolerant synthetic replay check",
98
+ "maximum": 0.15
99
+ },
100
+ "name": "synthetic_od_rate_error_below_tolerance",
101
+ "passed": true
102
  }
103
  ],
104
+ "generated_at": "2026-07-07T07:13:36+00:00",
105
  "metrics": {
106
  "activation_count": 1,
107
  "actual_destination_counts": {
 
118
  "mean_abs_demand_error_vpm": 0.48706847442002754,
119
  "mean_activation_confidence": 0.6716417910447542,
120
  "mean_activation_lead_junctions": 3,
121
+ "mean_synthetic_od_abs_rate_error": 0.006088355930272349,
122
+ "mean_synthetic_od_brier_score": 0.22262912819972144,
123
+ "mean_synthetic_od_expected_calibration_error": 0.006088355930272349,
124
  "observation_count": 23314,
125
  "overcommand_count": 0,
126
  "vehicle_count": 8000
 
135
  {
136
  "entry_junction_id": "silk_board",
137
  "junction_id": "hsr_layout",
138
+ "source": "anonymous_replay_token",
139
+ "timestamp": "2026-07-07T07:13:35+00:00",
140
  "turned": false,
141
  "vehicle_id": "BATCH00000"
142
  },
143
  {
144
  "entry_junction_id": null,
145
  "junction_id": "sony_world",
146
+ "source": "anonymous_replay_token",
147
+ "timestamp": "2026-07-07T07:13:35+00:00",
148
  "turned": true,
149
  "vehicle_id": "BATCH00000"
150
  }
 
159
  {
160
  "entry_junction_id": "silk_board",
161
  "junction_id": "hsr_layout",
162
+ "source": "anonymous_replay_token",
163
+ "timestamp": "2026-07-07T07:13:35+00:00",
164
  "turned": false,
165
  "vehicle_id": "BATCH00001"
166
  },
167
  {
168
  "entry_junction_id": null,
169
  "junction_id": "sony_world",
170
+ "source": "anonymous_replay_token",
171
+ "timestamp": "2026-07-07T07:13:35+00:00",
172
  "turned": false,
173
  "vehicle_id": "BATCH00001"
174
  },
175
  {
176
  "entry_junction_id": null,
177
  "junction_id": "marathahalli",
178
+ "source": "anonymous_replay_token",
179
+ "timestamp": "2026-07-07T07:13:35+00:00",
180
  "turned": false,
181
  "vehicle_id": "BATCH00001"
182
  },
183
  {
184
  "entry_junction_id": null,
185
  "junction_id": "doddanekkundi",
186
+ "source": "anonymous_replay_token",
187
+ "timestamp": "2026-07-07T07:13:35+00:00",
188
  "turned": true,
189
  "vehicle_id": "BATCH00001"
190
  }
 
199
  {
200
  "entry_junction_id": "silk_board",
201
  "junction_id": "hsr_layout",
202
+ "source": "anonymous_replay_token",
203
+ "timestamp": "2026-07-07T07:13:35+00:00",
204
  "turned": true,
205
  "vehicle_id": "BATCH00002"
206
  }
 
215
  {
216
  "entry_junction_id": "silk_board",
217
  "junction_id": "hsr_layout",
218
+ "source": "anonymous_replay_token",
219
+ "timestamp": "2026-07-07T07:13:35+00:00",
220
  "turned": true,
221
  "vehicle_id": "BATCH00003"
222
  }
 
231
  {
232
  "entry_junction_id": "silk_board",
233
  "junction_id": "hsr_layout",
234
+ "source": "anonymous_replay_token",
235
+ "timestamp": "2026-07-07T07:13:35+00:00",
236
  "turned": false,
237
  "vehicle_id": "BATCH00004"
238
  },
239
  {
240
  "entry_junction_id": null,
241
  "junction_id": "sony_world",
242
+ "source": "anonymous_replay_token",
243
+ "timestamp": "2026-07-07T07:13:35+00:00",
244
  "turned": true,
245
  "vehicle_id": "BATCH00004"
246
  }
 
255
  {
256
  "entry_junction_id": "silk_board",
257
  "junction_id": "hsr_layout",
258
+ "source": "anonymous_replay_token",
259
+ "timestamp": "2026-07-07T07:13:35+00:00",
260
  "turned": false,
261
  "vehicle_id": "BATCH00005"
262
  },
263
  {
264
  "entry_junction_id": null,
265
  "junction_id": "sony_world",
266
+ "source": "anonymous_replay_token",
267
+ "timestamp": "2026-07-07T07:13:35+00:00",
268
  "turned": true,
269
  "vehicle_id": "BATCH00005"
270
  }
 
279
  {
280
  "entry_junction_id": "silk_board",
281
  "junction_id": "hsr_layout",
282
+ "source": "anonymous_replay_token",
283
+ "timestamp": "2026-07-07T07:13:35+00:00",
284
  "turned": false,
285
  "vehicle_id": "BATCH00006"
286
  },
287
  {
288
  "entry_junction_id": null,
289
  "junction_id": "sony_world",
290
+ "source": "anonymous_replay_token",
291
+ "timestamp": "2026-07-07T07:13:35+00:00",
292
  "turned": false,
293
  "vehicle_id": "BATCH00006"
294
  },
295
  {
296
  "entry_junction_id": null,
297
  "junction_id": "marathahalli",
298
+ "source": "anonymous_replay_token",
299
+ "timestamp": "2026-07-07T07:13:35+00:00",
300
  "turned": false,
301
  "vehicle_id": "BATCH00006"
302
  },
303
  {
304
  "entry_junction_id": null,
305
  "junction_id": "doddanekkundi",
306
+ "source": "anonymous_replay_token",
307
+ "timestamp": "2026-07-07T07:13:35+00:00",
308
  "turned": false,
309
  "vehicle_id": "BATCH00006"
310
  },
311
  {
312
  "entry_junction_id": null,
313
  "junction_id": "itpl",
314
+ "source": "anonymous_replay_token",
315
+ "timestamp": "2026-07-07T07:13:35+00:00",
316
  "turned": false,
317
  "vehicle_id": "BATCH00006"
318
  },
319
  {
320
  "entry_junction_id": null,
321
  "junction_id": "whitefield",
322
+ "source": "anonymous_replay_token",
323
+ "timestamp": "2026-07-07T07:13:35+00:00",
324
  "turned": true,
325
  "vehicle_id": "BATCH00006"
326
  }
 
335
  {
336
  "entry_junction_id": "silk_board",
337
  "junction_id": "hsr_layout",
338
+ "source": "anonymous_replay_token",
339
+ "timestamp": "2026-07-07T07:13:35+00:00",
340
  "turned": true,
341
  "vehicle_id": "BATCH00007"
342
  }
 
351
  {
352
  "entry_junction_id": "silk_board",
353
  "junction_id": "hsr_layout",
354
+ "source": "anonymous_replay_token",
355
+ "timestamp": "2026-07-07T07:13:35+00:00",
356
  "turned": false,
357
  "vehicle_id": "BATCH00008"
358
  },
359
  {
360
  "entry_junction_id": null,
361
  "junction_id": "sony_world",
362
+ "source": "anonymous_replay_token",
363
+ "timestamp": "2026-07-07T07:13:35+00:00",
364
  "turned": false,
365
  "vehicle_id": "BATCH00008"
366
  },
367
  {
368
  "entry_junction_id": null,
369
  "junction_id": "marathahalli",
370
+ "source": "anonymous_replay_token",
371
+ "timestamp": "2026-07-07T07:13:35+00:00",
372
  "turned": true,
373
  "vehicle_id": "BATCH00008"
374
  }
 
383
  {
384
  "entry_junction_id": "silk_board",
385
  "junction_id": "hsr_layout",
386
+ "source": "anonymous_replay_token",
387
+ "timestamp": "2026-07-07T07:13:35+00:00",
388
  "turned": false,
389
  "vehicle_id": "BATCH00009"
390
  },
391
  {
392
  "entry_junction_id": null,
393
  "junction_id": "sony_world",
394
+ "source": "anonymous_replay_token",
395
+ "timestamp": "2026-07-07T07:13:35+00:00",
396
  "turned": false,
397
  "vehicle_id": "BATCH00009"
398
  },
399
  {
400
  "entry_junction_id": null,
401
  "junction_id": "marathahalli",
402
+ "source": "anonymous_replay_token",
403
+ "timestamp": "2026-07-07T07:13:35+00:00",
404
  "turned": false,
405
  "vehicle_id": "BATCH00009"
406
  },
407
  {
408
  "entry_junction_id": null,
409
  "junction_id": "doddanekkundi",
410
+ "source": "anonymous_replay_token",
411
+ "timestamp": "2026-07-07T07:13:35+00:00",
412
  "turned": true,
413
  "vehicle_id": "BATCH00009"
414
  }
 
418
  ],
419
  "scenario_id": "silk_board_whitefield_capacity_safe_v1",
420
  "scenario_name": "Silk Board to Whitefield capacity-safe activation",
421
+ "scenario_sha256": "0ce8d4436adafb9576ce90a44976c045dff619965a1b933b486121b5020ae4e6",
422
  "seed": 42,
423
  "vehicle_count": 8000
424
  }
evidence/latest_run.json CHANGED
@@ -152,8 +152,8 @@
152
  "observation": {
153
  "entry_junction_id": "silk_board",
154
  "junction_id": "hsr_layout",
155
- "source": "fastag",
156
- "timestamp": "2026-07-03T14:39:53+00:00",
157
  "turned": false,
158
  "vehicle_id": "KA01AB1234"
159
  },
@@ -188,8 +188,8 @@
188
  "observation": {
189
  "entry_junction_id": null,
190
  "junction_id": "sony_world",
191
- "source": "fastag",
192
- "timestamp": "2026-07-03T14:39:53+00:00",
193
  "turned": false,
194
  "vehicle_id": "KA01AB1234"
195
  },
@@ -234,8 +234,8 @@
234
  "observation": {
235
  "entry_junction_id": null,
236
  "junction_id": "marathahalli",
237
- "source": "fastag",
238
- "timestamp": "2026-07-03T14:39:53+00:00",
239
  "turned": false,
240
  "vehicle_id": "KA01AB1234"
241
  },
@@ -246,9 +246,9 @@
246
  }
247
  }
248
  ],
249
- "generated_at": "2026-07-03T14:39:53+00:00",
250
  "passed": true,
251
  "scenario_id": "silk_board_whitefield_capacity_safe_v1",
252
  "scenario_name": "Silk Board to Whitefield capacity-safe activation",
253
- "scenario_sha256": "8c72518e1e07a472b15739f3d56fcfcfcdbc16bdb8b44f5eb9620b8ff5ff43c9"
254
  }
 
152
  "observation": {
153
  "entry_junction_id": "silk_board",
154
  "junction_id": "hsr_layout",
155
+ "source": "anonymous_replay_token",
156
+ "timestamp": "2026-07-07T07:13:36+00:00",
157
  "turned": false,
158
  "vehicle_id": "KA01AB1234"
159
  },
 
188
  "observation": {
189
  "entry_junction_id": null,
190
  "junction_id": "sony_world",
191
+ "source": "anonymous_replay_token",
192
+ "timestamp": "2026-07-07T07:13:36+00:00",
193
  "turned": false,
194
  "vehicle_id": "KA01AB1234"
195
  },
 
234
  "observation": {
235
  "entry_junction_id": null,
236
  "junction_id": "marathahalli",
237
+ "source": "anonymous_replay_token",
238
+ "timestamp": "2026-07-07T07:13:36+00:00",
239
  "turned": false,
240
  "vehicle_id": "KA01AB1234"
241
  },
 
246
  }
247
  }
248
  ],
249
+ "generated_at": "2026-07-07T07:13:36+00:00",
250
  "passed": true,
251
  "scenario_id": "silk_board_whitefield_capacity_safe_v1",
252
  "scenario_name": "Silk Board to Whitefield capacity-safe activation",
253
+ "scenario_sha256": "0ce8d4436adafb9576ce90a44976c045dff619965a1b933b486121b5020ae4e6"
254
  }
evidence/suite_report.json CHANGED
@@ -161,8 +161,8 @@
161
  "observation": {
162
  "entry_junction_id": "silk_board",
163
  "junction_id": "hsr_layout",
164
- "source": "fastag",
165
- "timestamp": "2026-07-03T14:39:51+00:00",
166
  "turned": false,
167
  "vehicle_id": "KA01AB1234"
168
  },
@@ -197,8 +197,8 @@
197
  "observation": {
198
  "entry_junction_id": null,
199
  "junction_id": "sony_world",
200
- "source": "fastag",
201
- "timestamp": "2026-07-03T14:39:51+00:00",
202
  "turned": false,
203
  "vehicle_id": "KA01AB1234"
204
  },
@@ -243,8 +243,8 @@
243
  "observation": {
244
  "entry_junction_id": null,
245
  "junction_id": "marathahalli",
246
- "source": "fastag",
247
- "timestamp": "2026-07-03T14:39:51+00:00",
248
  "turned": false,
249
  "vehicle_id": "KA01AB1234"
250
  },
@@ -255,11 +255,11 @@
255
  }
256
  }
257
  ],
258
- "generated_at": "2026-07-03T14:39:51+00:00",
259
  "passed": true,
260
  "scenario_id": "full_capacity_blocks_activation_v1",
261
  "scenario_name": "Full receiving capacity blocks otherwise confident activation",
262
- "scenario_sha256": "649acbb892bfb1a7c06c13440e3249a0c3c7d44d9385f4bb1d9fe13b14d38e71"
263
  },
264
  {
265
  "assertions": [
@@ -443,8 +443,8 @@
443
  "observation": {
444
  "entry_junction_id": "silk_board",
445
  "junction_id": "hsr_layout",
446
- "source": "fastag",
447
- "timestamp": "2026-07-03T14:39:51+00:00",
448
  "turned": false,
449
  "vehicle_id": "KA01AB1234"
450
  },
@@ -479,8 +479,8 @@
479
  "observation": {
480
  "entry_junction_id": null,
481
  "junction_id": "sony_world",
482
- "source": "fastag",
483
- "timestamp": "2026-07-03T14:39:51+00:00",
484
  "turned": false,
485
  "vehicle_id": "KA01AB1234"
486
  },
@@ -525,8 +525,8 @@
525
  "observation": {
526
  "entry_junction_id": null,
527
  "junction_id": "marathahalli",
528
- "source": "fastag",
529
- "timestamp": "2026-07-03T14:39:51+00:00",
530
  "turned": false,
531
  "vehicle_id": "KA01AB1234"
532
  },
@@ -537,11 +537,11 @@
537
  }
538
  }
539
  ],
540
- "generated_at": "2026-07-03T14:39:51+00:00",
541
  "passed": true,
542
  "scenario_id": "low_compliance_capacity_safe_v1",
543
  "scenario_name": "Low measured compliance raises command scale without breaking capacity cap",
544
- "scenario_sha256": "be406094dccf41de2cc619b978d1f34f23ed022ce1842ad950cca398e7fa50a1"
545
  },
546
  {
547
  "assertions": [
@@ -711,8 +711,8 @@
711
  "observation": {
712
  "entry_junction_id": "silk_board",
713
  "junction_id": "hsr_layout",
714
- "source": "fastag",
715
- "timestamp": "2026-07-03T14:39:51+00:00",
716
  "turned": false,
717
  "vehicle_id": "KA01LOWCONF"
718
  },
@@ -725,11 +725,11 @@
725
  }
726
  }
727
  ],
728
- "generated_at": "2026-07-03T14:39:51+00:00",
729
  "passed": true,
730
  "scenario_id": "low_confidence_no_activation_v1",
731
  "scenario_name": "Low-confidence observation does not activate diversion",
732
- "scenario_sha256": "9d26e521d6f63951f19d1d69500bf317d48bc5708ae6bece45af7728809dfd03"
733
  },
734
  {
735
  "assertions": [
@@ -902,7 +902,7 @@
902
  "entry_junction_id": "marathahalli",
903
  "junction_id": "marathahalli",
904
  "source": "unknown",
905
- "timestamp": "2026-07-03T14:39:51+00:00",
906
  "turned": false,
907
  "vehicle_id": "UNKNOWNMID001"
908
  },
@@ -936,7 +936,7 @@
936
  "entry_junction_id": null,
937
  "junction_id": "doddanekkundi",
938
  "source": "unknown",
939
- "timestamp": "2026-07-03T14:39:51+00:00",
940
  "turned": false,
941
  "vehicle_id": "UNKNOWNMID001"
942
  },
@@ -980,7 +980,7 @@
980
  "entry_junction_id": null,
981
  "junction_id": "itpl",
982
  "source": "unknown",
983
- "timestamp": "2026-07-03T14:39:51+00:00",
984
  "turned": false,
985
  "vehicle_id": "UNKNOWNMID001"
986
  },
@@ -989,11 +989,11 @@
989
  }
990
  }
991
  ],
992
- "generated_at": "2026-07-03T14:39:51+00:00",
993
  "passed": true,
994
  "scenario_id": "mid_route_unknown_converges_v1",
995
  "scenario_name": "Mid-route unknown vehicle converges only after downstream observations",
996
- "scenario_sha256": "2ec8fdf013beb291f0a55ffea8be996eed8da7b6534a04968ea3b62533289edf"
997
  },
998
  {
999
  "assertions": [
@@ -1152,8 +1152,8 @@
1152
  "observation": {
1153
  "entry_junction_id": "silk_board",
1154
  "junction_id": "hsr_layout",
1155
- "source": "fastag",
1156
- "timestamp": "2026-07-03T14:39:51+00:00",
1157
  "turned": false,
1158
  "vehicle_id": "KA01AB1234"
1159
  },
@@ -1188,8 +1188,8 @@
1188
  "observation": {
1189
  "entry_junction_id": null,
1190
  "junction_id": "sony_world",
1191
- "source": "fastag",
1192
- "timestamp": "2026-07-03T14:39:51+00:00",
1193
  "turned": false,
1194
  "vehicle_id": "KA01AB1234"
1195
  },
@@ -1234,8 +1234,8 @@
1234
  "observation": {
1235
  "entry_junction_id": null,
1236
  "junction_id": "marathahalli",
1237
- "source": "fastag",
1238
- "timestamp": "2026-07-03T14:39:51+00:00",
1239
  "turned": false,
1240
  "vehicle_id": "KA01AB1234"
1241
  },
@@ -1246,11 +1246,11 @@
1246
  }
1247
  }
1248
  ],
1249
- "generated_at": "2026-07-03T14:39:51+00:00",
1250
  "passed": true,
1251
  "scenario_id": "navigation_load_blocks_activation_v1",
1252
  "scenario_name": "Navigation-shadow load reserves capacity and blocks activation",
1253
- "scenario_sha256": "263295108636f621bb5e9ec1dfeac1d6b324af2c6c02f88e438b06f8c3baed5d"
1254
  },
1255
  {
1256
  "assertions": [
@@ -1406,8 +1406,8 @@
1406
  "observation": {
1407
  "entry_junction_id": "silk_board",
1408
  "junction_id": "hsr_layout",
1409
- "source": "fastag",
1410
- "timestamp": "2026-07-03T14:39:51+00:00",
1411
  "turned": false,
1412
  "vehicle_id": "KA01AB1234"
1413
  },
@@ -1442,8 +1442,8 @@
1442
  "observation": {
1443
  "entry_junction_id": null,
1444
  "junction_id": "sony_world",
1445
- "source": "fastag",
1446
- "timestamp": "2026-07-03T14:39:51+00:00",
1447
  "turned": false,
1448
  "vehicle_id": "KA01AB1234"
1449
  },
@@ -1488,8 +1488,8 @@
1488
  "observation": {
1489
  "entry_junction_id": null,
1490
  "junction_id": "marathahalli",
1491
- "source": "fastag",
1492
- "timestamp": "2026-07-03T14:39:51+00:00",
1493
  "turned": false,
1494
  "vehicle_id": "KA01AB1234"
1495
  },
@@ -1500,11 +1500,11 @@
1500
  }
1501
  }
1502
  ],
1503
- "generated_at": "2026-07-03T14:39:51+00:00",
1504
  "passed": true,
1505
  "scenario_id": "silk_board_whitefield_capacity_safe_v1",
1506
  "scenario_name": "Silk Board to Whitefield capacity-safe activation",
1507
- "scenario_sha256": "8c72518e1e07a472b15739f3d56fcfcfcdbc16bdb8b44f5eb9620b8ff5ff43c9"
1508
  }
1509
  ]
1510
  }
 
161
  "observation": {
162
  "entry_junction_id": "silk_board",
163
  "junction_id": "hsr_layout",
164
+ "source": "anonymous_replay_token",
165
+ "timestamp": "2026-07-07T07:13:34+00:00",
166
  "turned": false,
167
  "vehicle_id": "KA01AB1234"
168
  },
 
197
  "observation": {
198
  "entry_junction_id": null,
199
  "junction_id": "sony_world",
200
+ "source": "anonymous_replay_token",
201
+ "timestamp": "2026-07-07T07:13:34+00:00",
202
  "turned": false,
203
  "vehicle_id": "KA01AB1234"
204
  },
 
243
  "observation": {
244
  "entry_junction_id": null,
245
  "junction_id": "marathahalli",
246
+ "source": "anonymous_replay_token",
247
+ "timestamp": "2026-07-07T07:13:34+00:00",
248
  "turned": false,
249
  "vehicle_id": "KA01AB1234"
250
  },
 
255
  }
256
  }
257
  ],
258
+ "generated_at": "2026-07-07T07:13:34+00:00",
259
  "passed": true,
260
  "scenario_id": "full_capacity_blocks_activation_v1",
261
  "scenario_name": "Full receiving capacity blocks otherwise confident activation",
262
+ "scenario_sha256": "197f17162c9927ab7b803028ec088f43985a4b2e22a7ddacd71ebd95bec8ae11"
263
  },
264
  {
265
  "assertions": [
 
443
  "observation": {
444
  "entry_junction_id": "silk_board",
445
  "junction_id": "hsr_layout",
446
+ "source": "anonymous_replay_token",
447
+ "timestamp": "2026-07-07T07:13:34+00:00",
448
  "turned": false,
449
  "vehicle_id": "KA01AB1234"
450
  },
 
479
  "observation": {
480
  "entry_junction_id": null,
481
  "junction_id": "sony_world",
482
+ "source": "anonymous_replay_token",
483
+ "timestamp": "2026-07-07T07:13:34+00:00",
484
  "turned": false,
485
  "vehicle_id": "KA01AB1234"
486
  },
 
525
  "observation": {
526
  "entry_junction_id": null,
527
  "junction_id": "marathahalli",
528
+ "source": "anonymous_replay_token",
529
+ "timestamp": "2026-07-07T07:13:34+00:00",
530
  "turned": false,
531
  "vehicle_id": "KA01AB1234"
532
  },
 
537
  }
538
  }
539
  ],
540
+ "generated_at": "2026-07-07T07:13:34+00:00",
541
  "passed": true,
542
  "scenario_id": "low_compliance_capacity_safe_v1",
543
  "scenario_name": "Low measured compliance raises command scale without breaking capacity cap",
544
+ "scenario_sha256": "072faba725186d54c6536c81cd4fe371c6eb1e0f29aef51ea6db6cd9eaad5fcd"
545
  },
546
  {
547
  "assertions": [
 
711
  "observation": {
712
  "entry_junction_id": "silk_board",
713
  "junction_id": "hsr_layout",
714
+ "source": "anonymous_replay_token",
715
+ "timestamp": "2026-07-07T07:13:34+00:00",
716
  "turned": false,
717
  "vehicle_id": "KA01LOWCONF"
718
  },
 
725
  }
726
  }
727
  ],
728
+ "generated_at": "2026-07-07T07:13:34+00:00",
729
  "passed": true,
730
  "scenario_id": "low_confidence_no_activation_v1",
731
  "scenario_name": "Low-confidence observation does not activate diversion",
732
+ "scenario_sha256": "7353a23156a05fe15383210fb3b1eab55fbbec0e5c5a41b27f362eb2d5ab8c6f"
733
  },
734
  {
735
  "assertions": [
 
902
  "entry_junction_id": "marathahalli",
903
  "junction_id": "marathahalli",
904
  "source": "unknown",
905
+ "timestamp": "2026-07-07T07:13:34+00:00",
906
  "turned": false,
907
  "vehicle_id": "UNKNOWNMID001"
908
  },
 
936
  "entry_junction_id": null,
937
  "junction_id": "doddanekkundi",
938
  "source": "unknown",
939
+ "timestamp": "2026-07-07T07:13:34+00:00",
940
  "turned": false,
941
  "vehicle_id": "UNKNOWNMID001"
942
  },
 
980
  "entry_junction_id": null,
981
  "junction_id": "itpl",
982
  "source": "unknown",
983
+ "timestamp": "2026-07-07T07:13:34+00:00",
984
  "turned": false,
985
  "vehicle_id": "UNKNOWNMID001"
986
  },
 
989
  }
990
  }
991
  ],
992
+ "generated_at": "2026-07-07T07:13:34+00:00",
993
  "passed": true,
994
  "scenario_id": "mid_route_unknown_converges_v1",
995
  "scenario_name": "Mid-route unknown vehicle converges only after downstream observations",
996
+ "scenario_sha256": "7548ae32b37780bd8e7e699cc121d0638f01a8738ec60739cef65226ec068e23"
997
  },
998
  {
999
  "assertions": [
 
1152
  "observation": {
1153
  "entry_junction_id": "silk_board",
1154
  "junction_id": "hsr_layout",
1155
+ "source": "anonymous_replay_token",
1156
+ "timestamp": "2026-07-07T07:13:34+00:00",
1157
  "turned": false,
1158
  "vehicle_id": "KA01AB1234"
1159
  },
 
1188
  "observation": {
1189
  "entry_junction_id": null,
1190
  "junction_id": "sony_world",
1191
+ "source": "anonymous_replay_token",
1192
+ "timestamp": "2026-07-07T07:13:34+00:00",
1193
  "turned": false,
1194
  "vehicle_id": "KA01AB1234"
1195
  },
 
1234
  "observation": {
1235
  "entry_junction_id": null,
1236
  "junction_id": "marathahalli",
1237
+ "source": "anonymous_replay_token",
1238
+ "timestamp": "2026-07-07T07:13:34+00:00",
1239
  "turned": false,
1240
  "vehicle_id": "KA01AB1234"
1241
  },
 
1246
  }
1247
  }
1248
  ],
1249
+ "generated_at": "2026-07-07T07:13:34+00:00",
1250
  "passed": true,
1251
  "scenario_id": "navigation_load_blocks_activation_v1",
1252
  "scenario_name": "Navigation-shadow load reserves capacity and blocks activation",
1253
+ "scenario_sha256": "3544accf42f49857d2baa360323e3decb2073f9136eb7d5bda0246ea062184c1"
1254
  },
1255
  {
1256
  "assertions": [
 
1406
  "observation": {
1407
  "entry_junction_id": "silk_board",
1408
  "junction_id": "hsr_layout",
1409
+ "source": "anonymous_replay_token",
1410
+ "timestamp": "2026-07-07T07:13:34+00:00",
1411
  "turned": false,
1412
  "vehicle_id": "KA01AB1234"
1413
  },
 
1442
  "observation": {
1443
  "entry_junction_id": null,
1444
  "junction_id": "sony_world",
1445
+ "source": "anonymous_replay_token",
1446
+ "timestamp": "2026-07-07T07:13:34+00:00",
1447
  "turned": false,
1448
  "vehicle_id": "KA01AB1234"
1449
  },
 
1488
  "observation": {
1489
  "entry_junction_id": null,
1490
  "junction_id": "marathahalli",
1491
+ "source": "anonymous_replay_token",
1492
+ "timestamp": "2026-07-07T07:13:34+00:00",
1493
  "turned": false,
1494
  "vehicle_id": "KA01AB1234"
1495
  },
 
1500
  }
1501
  }
1502
  ],
1503
+ "generated_at": "2026-07-07T07:13:34+00:00",
1504
  "passed": true,
1505
  "scenario_id": "silk_board_whitefield_capacity_safe_v1",
1506
  "scenario_name": "Silk Board to Whitefield capacity-safe activation",
1507
+ "scenario_sha256": "0ce8d4436adafb9576ce90a44976c045dff619965a1b933b486121b5020ae4e6"
1508
  }
1509
  ]
1510
  }
index.html CHANGED
@@ -5,7 +5,7 @@
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
  <title>PTIS</title>
7
  <link rel="stylesheet" href="https://unpkg.com/maplibre-gl/dist/maplibre-gl.css" />
8
- <link rel="stylesheet" href="./clear.css?v=walkthrough-1" />
9
  </head>
10
  <body>
11
  <header class="topbar">
@@ -115,7 +115,7 @@
115
  <section id="decision" class="section decision-section" aria-label="How PTIS decides">
116
  <div class="section-title"><p class="eyebrow">The idea in one flow</p><h2>Do not wait for the jam to become obvious.</h2></div>
117
  <div class="decision-flow">
118
- <article class="flow-card observe"><div class="step-row"><span class="step-number">1</span><span class="flow-icon"><svg viewBox="0 0 24 24"><path d="M6 19V9m6 10V5m6 14v-8" /><path d="M4 19h16" /></svg></span></div><h3>Observe</h3><p>Use checkpoint counts. No GPS path, no number plates, no face data.</p></article>
119
  <article class="flow-card eliminate"><div class="step-row"><span class="step-number">2</span><span class="flow-icon"><svg viewBox="0 0 24 24"><path d="M4 5h16l-6.5 7.5V19l-3 1v-7.5L4 5Z" /></svg></span></div><h3>Eliminate</h3><p>Every passed junction removes one possible destination from the belief set.</p></article>
120
  <article class="flow-card gate"><div class="step-row"><span class="step-number">3</span><span class="flow-icon"><svg viewBox="0 0 24 24"><path d="M12 3 19 6v5c0 4.5-2.9 7.7-7 10-4.1-2.3-7-5.5-7-10V6l7-3Z" /><path d="m9 12 2 2 4-5" /></svg></span></div><h3>Gate</h3><p>Activate only when belief is high and the connector has safe capacity.</p></article>
121
  </div>
@@ -134,11 +134,11 @@
134
  </section>
135
 
136
  <section id="boundary" class="section boundary-section" aria-label="Truth boundary">
137
- <div class="boundary-card"><div><p class="eyebrow">Truth boundary</p><h2>What this page is allowed to claim</h2></div><div class="boundary-columns"><article><h3>Claimed</h3><p>Replay software works on deterministic scenarios, stress load, real route geometry, public CCTV detection evidence, and official planning references.</p></article><article><h3>Not claimed yet</h3><p>No live BTP deployment, no Google Maps integration, no field-measured congestion reduction, and no agency-controlled checkpoint pilot yet.</p></article></div></div>
138
  </section>
139
  </main>
140
 
141
  <script src="https://unpkg.com/maplibre-gl/dist/maplibre-gl.js"></script>
142
- <script src="./clear.js?v=walkthrough-1"></script>
143
  </body>
144
  </html>
 
5
  <meta name="viewport" content="width=device-width, initial-scale=1" />
6
  <title>PTIS</title>
7
  <link rel="stylesheet" href="https://unpkg.com/maplibre-gl/dist/maplibre-gl.css" />
8
+ <link rel="stylesheet" href="./clear.css?v=reviewer-hardening-1" />
9
  </head>
10
  <body>
11
  <header class="topbar">
 
115
  <section id="decision" class="section decision-section" aria-label="How PTIS decides">
116
  <div class="section-title"><p class="eyebrow">The idea in one flow</p><h2>Do not wait for the jam to become obvious.</h2></div>
117
  <div class="decision-flow">
118
+ <article class="flow-card observe"><div class="step-row"><span class="step-number">1</span><span class="flow-icon"><svg viewBox="0 0 24 24"><path d="M6 19V9m6 10V5m6 14v-8" /><path d="M4 19h16" /></svg></span></div><h3>Observe</h3><p>Use checkpoint counts or anonymized linkage tokens. No GPS path, no number plates, no face data.</p></article>
119
  <article class="flow-card eliminate"><div class="step-row"><span class="step-number">2</span><span class="flow-icon"><svg viewBox="0 0 24 24"><path d="M4 5h16l-6.5 7.5V19l-3 1v-7.5L4 5Z" /></svg></span></div><h3>Eliminate</h3><p>Every passed junction removes one possible destination from the belief set.</p></article>
120
  <article class="flow-card gate"><div class="step-row"><span class="step-number">3</span><span class="flow-icon"><svg viewBox="0 0 24 24"><path d="M12 3 19 6v5c0 4.5-2.9 7.7-7 10-4.1-2.3-7-5.5-7-10V6l7-3Z" /><path d="m9 12 2 2 4-5" /></svg></span></div><h3>Gate</h3><p>Activate only when belief is high and the connector has safe capacity.</p></article>
121
  </div>
 
134
  </section>
135
 
136
  <section id="boundary" class="section boundary-section" aria-label="Truth boundary">
137
+ <div class="boundary-card"><div><p class="eyebrow">Truth boundary</p><h2>What this page is allowed to claim</h2></div><div class="boundary-columns"><article><h3>Claimed</h3><p><strong id="synthetic-calibration">Synthetic OD calibration is loading.</strong> Replay software works on deterministic scenarios, stress load, real route geometry, public CCTV detection evidence, and official planning references.</p></article><article><h3>Not claimed yet</h3><p>No live BTP deployment, no Google Maps integration, no field-measured congestion reduction, no real destination-ground-truth validation, and no proven field re-identification method yet. Checkpoint gaps and slip roads remain pilot-design risks.</p></article></div></div>
138
  </section>
139
  </main>
140
 
141
  <script src="https://unpkg.com/maplibre-gl/dist/maplibre-gl.js"></script>
142
+ <script src="./clear.js?v=reviewer-hardening-1"></script>
143
  </body>
144
  </html>