Skip to content

Commit 2eb10a8

Browse files
NoamGaashclaude
andcommitted
Add 21 phase-2 issue drafts for review (#35-#55)
Covers the three standalone dashboards, the never-ported notebooks, the reusable infrastructure, and the public-appeal update. Not yet filed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent cc35433 commit 2eb10a8

24 files changed

Lines changed: 2069 additions & 0 deletions

scripts/gen_issues_phase2.py

Lines changed: 810 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
> ### ⚠️ AI-generated draft — needs human validation
2+
>
3+
> This issue was **written by an AI agent** from materials produced during the
4+
> hasadna Open Bus hackathon (July 2026). The underlying analysis was built fast,
5+
> under hackathon conditions, and **has not been peer-reviewed**. Figures,
6+
> endpoint behaviour and conclusions all need independent verification before
7+
> anyone acts on them or quotes them publicly.
8+
>
9+
> **Please validate before implementing. Corrections very welcome.**
10+
11+
## What
12+
13+
The hackathon produced a full bunching dashboard that works today and is not
14+
reachable from דאטאבוס. Link or embed it as a first step, while the individual
15+
charts get ported natively (#36#40).
16+
17+
![Headline and KPI tiles](https://raw.githubusercontent.com/hasadna/open-bus-hackathon-26/main/algorithms/img/dashboards/bunch-header-kpis.png)
18+
19+
*Headline and KPI tiles*
20+
21+
**709 line-directions · 138,716 rides · 127,754 consecutive pairs**, over 5 term-time weekdays (2026-05-13 → 06-14). Source: SIRI vehicle telemetry joined to the GTFS timetable.
22+
23+
Headline numbers: **9.9% of consecutive pairs ran bunched** (12,674 nose-to-tail),
24+
**13% were already bunched leaving the terminal**, **50% of the route is ridden
25+
bunched** on average, worst line 4 (דן) at 32%.
26+
27+
## Where
28+
29+
`/gaps_patterns` is the natural home, or a link from the dashboard page.
30+
31+
## Caveats to carry across
32+
33+
It is a **fixed 5-day sample**, not a live view — the page states its own window,
34+
and any link should too. The "grow the sample" button needs the original
35+
hackathon server and will fail politely if the page is served standalone.
36+
37+
The page is **self-contained** — download it and open it in a browser, or run `./dev` in the hackathon repo and visit the path directly. No server, no build, no credentials.
38+
39+
File: [`frontend/public/bunching-reasons.html`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/frontend/public/bunching-reasons.html)
40+
41+
---
42+
43+
**Credit & provenance**
44+
Found during the hasadna Open Bus hackathon, July 2026 — the hackathon team.
45+
· Source material, republished with the participants' permission: [`source-material/`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/source-material/README.md)
46+
· Per-solution write-ups: [`bus-bunching.md`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/algorithms/bus-bunching.md)
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
> ### ⚠️ AI-generated draft — needs human validation
2+
>
3+
> This issue was **written by an AI agent** from materials produced during the
4+
> hasadna Open Bus hackathon (July 2026). The underlying analysis was built fast,
5+
> under hackathon conditions, and **has not been peer-reviewed**. Figures,
6+
> endpoint behaviour and conclusions all need independent verification before
7+
> anyone acts on them or quotes them publicly.
8+
>
9+
> **Please validate before implementing. Corrections very welcome.**
10+
11+
## What
12+
13+
The single most valuable thing in the bunching dashboard, and nothing comparable
14+
exists in דאטאבוס: **every bunching event attributed to a cause.**
15+
16+
![Share of all bunching events by cause](https://raw.githubusercontent.com/hasadna/open-bus-hackathon-26/main/algorithms/img/dashboards/bunch-why-decomposition.png)
17+
18+
*Share of all bunching events by cause*
19+
20+
| Cause | Share | Meaning |
21+
|---|---|---|
22+
| **Late departure** | 13% | Already bunched leaving the terminal — the leader left late, the follower left early, or the timetable left no gap |
23+
| **First 20% of route** | 10% | Left with a healthy gap, collapsed within the first fifth |
24+
| **En route** | 73% | Collapsed after the 20% mark — classic traffic-and-dwell feedback |
25+
| **Origin outside area** | rest | Entered the observed area already bunched; onset not visible |
26+
27+
## Why it matters
28+
29+
It separates problems with **different owners**. 13% born at the terminal is a
30+
dispatch and timetabling problem the operator can fix this week. 73% en route is a
31+
road-priority and dwell-time problem that needs infrastructure. Publishing a single
32+
"bunching rate" hides that split and points everyone at the wrong lever.
33+
34+
## Suggested next step
35+
36+
Per-operator and per-corridor breakdowns of the same split. An operator whose
37+
bunching is mostly terminal-born is failing at something entirely different from
38+
one whose bunching is mostly en route.
39+
40+
**709 line-directions · 138,716 rides · 127,754 consecutive pairs**, over 5 term-time weekdays (2026-05-13 → 06-14). Source: SIRI vehicle telemetry joined to the GTFS timetable.
41+
42+
---
43+
44+
**Credit & provenance**
45+
Found during the hasadna Open Bus hackathon, July 2026 — the hackathon team.
46+
· Source material, republished with the participants' permission: [`source-material/`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/source-material/README.md)
47+
· Per-solution write-ups: [`bus-bunching.md`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/algorithms/bus-bunching.md)
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
> ### ⚠️ AI-generated draft — needs human validation
2+
>
3+
> This issue was **written by an AI agent** from materials produced during the
4+
> hasadna Open Bus hackathon (July 2026). The underlying analysis was built fast,
5+
> under hackathon conditions, and **has not been peer-reviewed**. Figures,
6+
> endpoint behaviour and conclusions all need independent verification before
7+
> anyone acts on them or quotes them publicly.
8+
>
9+
> **Please validate before implementing. Corrections very welcome.**
10+
11+
## What
12+
13+
Two rider-facing measures from the bunching dashboard that the current metrics
14+
miss entirely.
15+
16+
**Effective gap** — when two buses arrive nose-to-tail they are one arrival from a
17+
passenger's point of view. Counting them as two makes the service look twice as
18+
frequent as it is.
19+
20+
**Actual wait vs planned wait** — the honest cost of that. Examples from the
21+
ranked table:
22+
23+
| Line | Planned gap | Effective gap | Planned wait | **Actual wait** |
24+
|---|---|---|---|---|
25+
| 4 (דן) | 7 min | 9 min | 3.5 min | **7.9 min** |
26+
| 18 | 10 min | 12 min | 4.8 min | **9.0 min** |
27+
| 142 | 13 min | 15 min | 6.5 min | **11.5 min** |
28+
29+
![Planned vs effective gap and planned vs actual wait, per line](https://raw.githubusercontent.com/hasadna/open-bus-hackathon-26/main/algorithms/img/dashboards/bunch-ranked-table.png)
30+
31+
*Planned vs effective gap and planned vs actual wait, per line*
32+
33+
## Why it matters
34+
35+
**Riders on line 4 wait more than twice as long as the timetable implies** — 7.9
36+
minutes against 3.5. That gap is invisible in any punctuality metric, because the
37+
buses may all be individually "on time". It is the number a passenger would
38+
recognise as their own experience.
39+
40+
## Suggested next step
41+
42+
Publish actual-wait alongside planned-wait everywhere frequency is shown, and
43+
consider it as a headline service metric in its own right.
44+
45+
**709 line-directions · 138,716 rides · 127,754 consecutive pairs**, over 5 term-time weekdays (2026-05-13 → 06-14). Source: SIRI vehicle telemetry joined to the GTFS timetable.
46+
47+
---
48+
49+
**Credit & provenance**
50+
Found during the hasadna Open Bus hackathon, July 2026 — the hackathon team.
51+
· Source material, republished with the participants' permission: [`source-material/`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/source-material/README.md)
52+
· Per-solution write-ups: [`bus-bunching.md`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/algorithms/bus-bunching.md)
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
> ### ⚠️ AI-generated draft — needs human validation
2+
>
3+
> This issue was **written by an AI agent** from materials produced during the
4+
> hasadna Open Bus hackathon (July 2026). The underlying analysis was built fast,
5+
> under hackathon conditions, and **has not been peer-reviewed**. Figures,
6+
> endpoint behaviour and conclusions all need independent verification before
7+
> anyone acts on them or quotes them publicly.
8+
>
9+
> **Please validate before implementing. Corrections very welcome.**
10+
11+
## What
12+
13+
Clicking a line in the bunching dashboard draws its **Marey diagram** — every ride
14+
as a path down the route, so bunching is visible as converging lines.
15+
16+
## Relationship to #1783
17+
18+
#1783 proposes a Marey diagram from the live-card analysis, which samples **up to
19+
60 rides** over a ≤10-day window. This one is drawn from **138,716 rides**. Same
20+
visual grammar, very different evidential weight — worth building once, with the
21+
data source configurable.
22+
23+
## Why it matters
24+
25+
A Marey diagram is the only chart where bunching is *self-evident* rather than
26+
inferred: two trajectories converging and then travelling together is the
27+
phenomenon itself, not a statistic about it.
28+
29+
## Suggested next step
30+
31+
Overlay the cause attribution from #36 — colour each convergence by whether it was
32+
terminal-born or en-route — so the diagram explains itself.
33+
34+
**709 line-directions · 138,716 rides · 127,754 consecutive pairs**, over 5 term-time weekdays (2026-05-13 → 06-14). Source: SIRI vehicle telemetry joined to the GTFS timetable.
35+
36+
---
37+
38+
**Credit & provenance**
39+
Found during the hasadna Open Bus hackathon, July 2026 — the hackathon team.
40+
· Source material, republished with the participants' permission: [`source-material/`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/source-material/README.md)
41+
· Per-solution write-ups: [`bus-bunching.md`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/algorithms/bus-bunching.md)
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
> ### ⚠️ AI-generated draft — needs human validation
2+
>
3+
> This issue was **written by an AI agent** from materials produced during the
4+
> hasadna Open Bus hackathon (July 2026). The underlying analysis was built fast,
5+
> under hackathon conditions, and **has not been peer-reviewed**. Figures,
6+
> endpoint behaviour and conclusions all need independent verification before
7+
> anyone acts on them or quotes them publicly.
8+
>
9+
> **Please validate before implementing. Corrections very welcome.**
10+
11+
## What
12+
13+
The navigational layer of the bunching dashboard: **602 line-directions with at
14+
least 30 pairs**, ranked, filterable by city / operator / line, with a
15+
pairs-by-hour histogram driving a time filter.
16+
17+
![Pairs by hour, with city, operator and line filters](https://raw.githubusercontent.com/hasadna/open-bus-hackathon-26/main/algorithms/img/dashboards/bunch-hour-and-filters.png)
18+
19+
*Pairs by hour, with city, operator and line filters*
20+
21+
Columns: planned gap · effective gap · pairs · bunched % · cause split as a stacked
22+
bar · planned wait · actual wait · late-start caused · route ridden bunched.
23+
24+
## Why it matters
25+
26+
The cause split renders **inline per row**, so a reader scanning the table sees
27+
immediately that two lines with the same 26% bunching rate have completely
28+
different causes. That is the design idea worth copying, more than the table
29+
itself.
30+
31+
## Suggested next step
32+
33+
CSV export, and a permalink that encodes the active filters so a finding can be
34+
cited.
35+
36+
**709 line-directions · 138,716 rides · 127,754 consecutive pairs**, over 5 term-time weekdays (2026-05-13 → 06-14). Source: SIRI vehicle telemetry joined to the GTFS timetable.
37+
38+
---
39+
40+
**Credit & provenance**
41+
Found during the hasadna Open Bus hackathon, July 2026 — the hackathon team.
42+
· Source material, republished with the participants' permission: [`source-material/`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/source-material/README.md)
43+
· Per-solution write-ups: [`bus-bunching.md`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/algorithms/bus-bunching.md)
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
> ### ⚠️ AI-generated draft — needs human validation
2+
>
3+
> This issue was **written by an AI agent** from materials produced during the
4+
> hasadna Open Bus hackathon (July 2026). The underlying analysis was built fast,
5+
> under hackathon conditions, and **has not been peer-reviewed**. Figures,
6+
> endpoint behaviour and conclusions all need independent verification before
7+
> anyone acts on them or quotes them publicly.
8+
>
9+
> **Please validate before implementing. Corrections very welcome.**
10+
11+
## What
12+
13+
The bunching dashboard opens on a 5-day sample and offers **"add N random
14+
weekdays"**, which probes the archive for healthy days and loads them in the
15+
background. The page stays fully usable while they land, and a progress panel
16+
reports coverage — *"2,880 / 2,880 five-min slices · 100.0%"*.
17+
18+
## Why it matters
19+
20+
It is a direct answer to the cost problem behind half the tickets in this
21+
milestone. Several analyses take 1–2 minutes per line because they derive data the
22+
API does not serve. The usual options are a slow page or a small sample; this is a
23+
third — **start small, stay interactive, deepen in the background, and show the
24+
reader exactly how much evidence is currently behind the chart.**
25+
26+
## Why it is honest as well as fast
27+
28+
The progress panel doubles as a confidence indicator. A reader looking at a chart
29+
built from 20% of the intended sample can see that, which is strictly better than
30+
a chart that looks identical whether it rests on one day or thirty.
31+
32+
## Suggested next step
33+
34+
Apply it first to the cards that currently cap their windows for cost reasons —
35+
segment reliability (#1782), schedule adherence (#1785) and bunching (#1790).
36+
37+
---
38+
39+
**Credit & provenance**
40+
Found during the hasadna Open Bus hackathon, July 2026 — the hackathon team.
41+
· Source material, republished with the participants' permission: [`source-material/`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/source-material/README.md)
42+
· Per-solution write-ups: [`bus-bunching.md`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/algorithms/bus-bunching.md)
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
> ### ⚠️ AI-generated draft — needs human validation
2+
>
3+
> This issue was **written by an AI agent** from materials produced during the
4+
> hasadna Open Bus hackathon (July 2026). The underlying analysis was built fast,
5+
> under hackathon conditions, and **has not been peer-reviewed**. Figures,
6+
> endpoint behaviour and conclusions all need independent verification before
7+
> anyone acts on them or quotes them publicly.
8+
>
9+
> **Please validate before implementing. Corrections very welcome.**
10+
11+
## What
12+
13+
Door-to-door bus speed on **every street** of Tel Aviv and the inner ring, by hour
14+
of day, measured from GPS. It works today and is not reachable from דאטאבוס.
15+
16+
![Network speed, bus-minutes lost, worst corridor, streets with no bus](https://raw.githubusercontent.com/hasadna/open-bus-hackathon-26/main/algorithms/img/dashboards/speed-header-kpis.png)
17+
18+
*Network speed, bus-minutes lost, worst corridor, streets with no bus*
19+
20+
**60,359,656 street readings from 11,559,010 ping pairs**, 10 weekdays (May–June 2026), 97.3% match rate. Source: SIRI telemetry joined to OpenStreetMap geometry.
21+
22+
Headline numbers at 16:00: network bus speed **18.8 km/h**; **33,660 bus-minutes
23+
lost per hour** against each street's own free-flow speed; worst single corridor
24+
Geha W-bound at **787 min/hr**; slowest busy street Sderot David Ben Gurion at
25+
**4.7 km/h**; and **1,308 km of street with no bus at all**.
26+
27+
## Where
28+
29+
`/velocity-heatmap` is the closest existing page, or a link from the map page.
30+
31+
## Note
32+
33+
This also answers **#1231** — the ask to embed a notebook about vehicle velocities
34+
into the public appeal. This is that research, at national-data scale and already
35+
interactive.
36+
37+
The page is **self-contained** — download it and open it in a browser, or run `./dev` in the hackathon repo and visit the path directly. No server, no build, no credentials.
38+
39+
File: [`frontend/public/tlv-bus-speed.html`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/frontend/public/tlv-bus-speed.html)
40+
41+
---
42+
43+
**Credit & provenance**
44+
Found during the hasadna Open Bus hackathon, July 2026 — the hackathon team.
45+
· Source material, republished with the participants' permission: [`source-material/`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/source-material/README.md)
46+
· Per-solution write-ups: [`upstream-issues.md`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/algorithms/upstream-issues.md)
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
> ### ⚠️ AI-generated draft — needs human validation
2+
>
3+
> This issue was **written by an AI agent** from materials produced during the
4+
> hasadna Open Bus hackathon (July 2026). The underlying analysis was built fast,
5+
> under hackathon conditions, and **has not been peer-reviewed**. Figures,
6+
> endpoint behaviour and conclusions all need independent verification before
7+
> anyone acts on them or quotes them publicly.
8+
>
9+
> **Please validate before implementing. Corrections very welcome.**
10+
11+
## What
12+
13+
A street-level choropleth of measured bus speed, switchable between six views:
14+
**speed · lost minutes · vs free-flow · vs speed limit · buses/hr · coverage**.
15+
16+
![Median bus speed per street, Tel Aviv and the inner ring](https://raw.githubusercontent.com/hasadna/open-bus-hackathon-26/main/algorithms/img/dashboards/speed-map.png)
17+
18+
*Median bus speed per street, Tel Aviv and the inner ring*
19+
20+
Filters: hour of day, city, operator, single line, hide motorways, only streets
21+
with ≥20 buses/hr, show unserved streets, and a street search.
22+
23+
![Colour mode and filter controls](https://raw.githubusercontent.com/hasadna/open-bus-hackathon-26/main/algorithms/img/dashboards/speed-controls.png)
24+
25+
*Colour mode and filter controls*
26+
27+
## Why six modes rather than one
28+
29+
They answer different questions and disagree usefully. A street can be slow in
30+
absolute terms but at its own free-flow speed (nothing to fix), or fast in absolute
31+
terms but far below its limit (something to fix). "vs free-flow" is what isolates
32+
*congestion* from *street design*.
33+
34+
**60,359,656 street readings from 11,559,010 ping pairs**, 10 weekdays (May–June 2026), 97.3% match rate. Source: SIRI telemetry joined to OpenStreetMap geometry.
35+
36+
## Suggested next step
37+
38+
Extend beyond Tel Aviv. The method is city-agnostic — it needs GTFS, SIRI and OSM
39+
geometry, all of which exist nationally.
40+
41+
---
42+
43+
**Credit & provenance**
44+
Found during the hasadna Open Bus hackathon, July 2026 — the hackathon team.
45+
· Source material, republished with the participants' permission: [`source-material/`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/source-material/README.md)
46+
· Per-solution write-ups: [`upstream-issues.md`](https://github.com/hasadna/open-bus-hackathon-26/blob/main/algorithms/upstream-issues.md)

0 commit comments

Comments
 (0)