Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
62dc153
build(deps): add 'json-nd'
duncanleo Feb 1, 2026
fcbc958
build(deps): add 'ulid'
duncanleo Feb 1, 2026
0e27835
build(deps): add 'vitest-evals'
duncanleo Feb 22, 2026
f5309de
build(deps): add 'commander'
duncanleo Mar 10, 2026
b648b2a
chore(data): migrate canonical data layout and archive legacy dataset
duncanleo Apr 18, 2026
5fd1310
feat(core): add schemas, repositories, writers, and validators
duncanleo Apr 18, 2026
d17df3f
feat(triage): add LLM pipeline, CLI tools, and validation workflow
duncanleo Apr 18, 2026
ce02fd4
refactor(core): remove API and database runtime code
duncanleo Apr 18, 2026
d5ee856
build(ci): add publish workflow
duncanleo Mar 21, 2026
2950964
chore: remove all legacy data
duncanleo Mar 21, 2026
79ee0fe
build: setup package for publishing
duncanleo Mar 21, 2026
018f239
build: bump version to 2.0.0-alpha.19
duncanleo Mar 21, 2026
2839af7
build(deps): remove '@duckdb/node-api'
duncanleo Mar 21, 2026
1279f35
build(deps): remove '@hono/node-server'
duncanleo Mar 21, 2026
c7de00d
build(deps): remove '@hono/standard-validator'
duncanleo Mar 21, 2026
f46354d
build(deps): remove '@hono/zod-validator'
duncanleo Mar 21, 2026
eaa3745
build(deps): remove '@scalar/hono-api-reference'
duncanleo Mar 21, 2026
c8be261
build(deps): remove 'hono-openapi'
duncanleo Mar 21, 2026
066c06b
build(deps): remove 'hono'
duncanleo Mar 21, 2026
ccd9757
build(deps): remove '@sentry/cli'
duncanleo Mar 21, 2026
a6c2715
build(deps): remove '@sentry/node'
duncanleo Mar 21, 2026
ce771bd
build: clean up package.json
duncanleo Mar 21, 2026
b1cc8d0
build(deps): remove 'generic-pool'
duncanleo Mar 21, 2026
b7016ed
fix: incorrect repo url
duncanleo Mar 21, 2026
2c6688a
fix: export all schemas
duncanleo Mar 21, 2026
4188d98
fix: switch to subpath imports
duncanleo Mar 21, 2026
7256498
fix: drop subpath imports entirely
duncanleo Mar 21, 2026
215cbef
build(deps): remove 'rss-parser'
duncanleo Mar 21, 2026
311282c
build: setup npm workspaces
duncanleo Mar 21, 2026
ebf08c4
build(deps): add 'turbo'
duncanleo Mar 21, 2026
bf32118
refactor: organize into monorepo
duncanleo Mar 21, 2026
c98deed
build(deps): add '@changesets/cli'
duncanleo Mar 21, 2026
b88574b
chore: setup Changesets
duncanleo Mar 21, 2026
ce0fedf
fix(ci): incorrect command
duncanleo Mar 21, 2026
a155805
feat(schema): introduce LineTypeSchema for line type validation
duncanleo Mar 22, 2026
49015bb
fix(ci): update validation command
duncanleo Mar 22, 2026
361cc7a
feat(core): introduce TranslationsMetaSchema
duncanleo Mar 22, 2026
d6d1833
refactor(core): move period helpers from triage
duncanleo Mar 22, 2026
c98c06a
feat: Add manifest generation and Pages deploy
duncanleo Mar 22, 2026
4e9a664
build(deps): trim root dependencies
duncanleo Mar 22, 2026
d1e713c
feat(cli): add GitHub Pages data index
duncanleo Mar 22, 2026
3d937cf
build(deps.core): add Luxon
duncanleo Mar 23, 2026
f49d1ef
fix(package.json): add default export for core module
duncanleo Mar 23, 2026
d4967fa
chore(workflow): add step to create and archive data directory
duncanleo Mar 23, 2026
ae5aed7
build(deps.core): bump 'rrule-rust' to v3.1.1
duncanleo Apr 4, 2026
5c11c51
fix: updated rrule-rust API
duncanleo Apr 4, 2026
14a5e83
build(deps.core): add 'rrule-temporal'
duncanleo Apr 4, 2026
195ccf5
fix: change rrule library
duncanleo Apr 4, 2026
cbb5e7a
build(deps.core): remove 'rrule-rust'
duncanleo Apr 4, 2026
fc9a186
fix(data): remove JSON NULL character
duncanleo Apr 4, 2026
25e799a
feat: add support for zip archive in pages deployment
duncanleo Apr 9, 2026
1946612
feat(fs): remove private flag from package.json
duncanleo Apr 9, 2026
f10991c
feat(fs): add default export and include dist directory in package.json
duncanleo Apr 9, 2026
7caf5a0
fix(publish): enable provenance for npm configuration
duncanleo Apr 9, 2026
6e705d1
fix(core): emit compatible zod types for es2022 consumers
duncanleo Apr 9, 2026
f6f36f1
fix(fs): move fuse.js dependency in fs package instead of cli
duncanleo Apr 9, 2026
bf57096
fix: avoid including tar.gz in .zip
duncanleo Apr 9, 2026
c5ef272
feat(fs): add visibleDirEntries function to filter out dotfiles and u…
duncanleo Apr 15, 2026
0449532
feat(validators): add validation for impact event period ordering to …
duncanleo Apr 15, 2026
0e9ad9c
feat(validators): implement validation for no-op and duplicate impact…
duncanleo Apr 15, 2026
aecb212
feat(validators): add validation for open-ended fixed periods to ensu…
duncanleo Apr 16, 2026
8d4097c
feat(cli): detect rolling startAt anti-pattern in validator
duncanleo Apr 17, 2026
0644d0b
fix(triage): correct period reconciliation logic and clamp pre-announ…
duncanleo Apr 17, 2026
64628ef
fix(triage): improve claim extraction prompt to prevent period violat…
duncanleo Apr 17, 2026
90cef3e
feat(triage): add replay and re-extraction scripts for data repair
duncanleo Apr 17, 2026
b0bee9a
data: regenerate impact events with corrected reconciliation logic
duncanleo Apr 17, 2026
bd88ac3
Refine degraded-service extraction guidance
duncanleo Apr 17, 2026
dde15f8
Add claim normalization guardrail for degraded service
duncanleo Apr 17, 2026
d2e5b2e
Add targeted degraded-service replay selector
duncanleo Apr 17, 2026
cfb6a77
Replay degraded depot-disconnection issue
duncanleo Apr 17, 2026
f27800b
Filter claim services by mentioned stations
duncanleo Apr 18, 2026
dba451f
Guard against orphaned service effects and normalize replayed claims
duncanleo Apr 18, 2026
98f88ca
data: replay impact events with normalized claim filtering
duncanleo Apr 18, 2026
58a7389
Handle multi-period service closures
duncanleo Apr 18, 2026
e2c4b21
Patch Bukit Panjang closure evidence
duncanleo Apr 18, 2026
266aea9
Flag issues with zero impact events
duncanleo Apr 18, 2026
83d6d7d
chore(data): reconcile rebased issue updates
duncanleo Apr 18, 2026
7e52957
docs(changeset): rebased release
duncanleo Apr 18, 2026
11492d3
Version Packages (alpha) (#210)
github-actions[bot] Apr 18, 2026
c3005c4
triage: add empty-impact replay targeting
duncanleo Apr 18, 2026
88c041b
data: replay empty impact issues
duncanleo Apr 18, 2026
37160f6
triage: tune gpt-5.4-mini extractor evals
duncanleo Apr 18, 2026
d3171af
triage: collapse repeated maintenance and infra issue groups
duncanleo Apr 19, 2026
1c50265
chore: remove one-off collapse tooling artifacts
duncanleo Apr 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
8 changes: 8 additions & 0 deletions .changeset/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changesets

Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it [in our repository](https://github.com/changesets/changesets).

We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md).
11 changes: 11 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.1.3/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": true,
"fixed": [],
"linked": [],
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": []
}
13 changes: 13 additions & 0 deletions .changeset/pre.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"mode": "pre",
"tag": "alpha",
"initialVersions": {
"@mrtdown/cli": "2.0.0-alpha.5",
"@mrtdown/core": "2.0.0-alpha.5",
"@mrtdown/fs": "2.0.0-alpha.5",
"@mrtdown/triage": "2.0.0-alpha.5"
},
"changesets": [
"puny-bees-itch"
]
}
8 changes: 8 additions & 0 deletions .changeset/puny-bees-itch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"@mrtdown/triage": patch
"@mrtdown/core": patch
"@mrtdown/cli": patch
"@mrtdown/fs": patch
---

rebased release
64 changes: 64 additions & 0 deletions .github/workflows/pages-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Publish static data (including manifest.json) to GitHub Pages.
# In repo Settings → Pages, set Source to "GitHub Actions".

name: Deploy GitHub Pages

on:
push:
branches:
- main
- duncanleo/data-overhaul
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: pages
cancel-in-progress: false

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- uses: actions/setup-node@v6
with:
node-version: "24"
cache: npm

- name: Install dependencies
run: npm ci

- name: Generate manifest and Pages index
run: |
npm run cli -- -- manifest
npm run cli -- -- pages-index

- name: Create archives of data directory
run: |
tar -czf archive.tar.gz data
zip -rq archive.zip data
mv archive.tar.gz data/
mv archive.zip data/

- uses: actions/configure-pages@v5

- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v4
with:
path: data

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
25 changes: 25 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Publish

on:
push:

permissions:
id-token: write # for npm authentication
contents: write
pull-requests: write

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
registry-url: https://registry.npmjs.org
- run: npm ci
- uses: changesets/action@v1
with:
publish: npm run publish-packages
env:
NPM_CONFIG_PROVENANCE: true
25 changes: 25 additions & 0 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Validate Data

on:
pull_request:
paths:
- 'data/**'
- 'src/repo/**'
- 'src/cli/**'
push:
branches: [main]
paths:
- 'data/**'
- 'src/repo/**'
- 'src/cli/**'

jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 24
- run: npm ci
- run: npm run cli -- -- validate
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -147,3 +147,7 @@ dist

# Sentry Config File
.sentryclirc

migrated-legacy-ids.json

.turbo
8 changes: 5 additions & 3 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
{
"biome.requireConfigFile": true,
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true
}
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports.biome": "explicit"
}
}
21 changes: 0 additions & 21 deletions api/index.ts

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{"id":"ev_016A23Y600YC689GE6681BFAS3","ts":"2011-09-20T08:32:00.000+08:00","type":"media.report","text":"MRT services on the Circle Line (CCL) between Dhoby Ghaut and Marymount stations were disrupted on Tuesday morning.","sourceUrl":"https://web.archive.org/web/20110923183340/http://www.channelnewsasia.com/stories/singaporelocalnews/view/1154252/1/.html","render":{"text":{"en-SG":"MRT services on the Circle Line (CCL) between Dhoby Ghaut and Marymount stations were disrupted on Tuesday morning.","zh-Hans":"地铁环线(Circle Line,CCL)在Dhoby Ghaut与Marymount站之间的服务在周二上午受到中断。","ms":"Perkhidmatan MRT pada Circle Line (CCL) antara stesen Dhoby Ghaut dan Marymount telah terganggu pada pagi hari Selasa.","ta":"Dhoby Ghaut மற்றும் Marymount ஸ்டேஷன்கள் ஆகியவற்றுக்குள் Circle Line (CCL) இந்நேரத்தில் MRT சேவைகள் செவ்வாயன்று காலை நிறுத்தப்பட்டிருந்தன."},"source":"@openai/gpt-5-nano"}}
{"id":"ev_016A2N3G40R6BY8XXZ4BJT4A7Q","ts":"2011-09-20T13:32:00.000+08:00","type":"media.report","text":"Thousand of commuters were left stranded during rush-hour after a power fault disrupted train services on all 16 stations on the Circle Line on Tuesday morning.","sourceUrl":"https://web.archive.org/web/20110923183350/http://www.channelnewsasia.com/stories/singaporelocalnews/view/1154288/1/.html","render":{"text":{"en-SG":"Thousands of commuters were left stranded during rush hour after a power fault disrupted train services on all 16 stations on the Circle Line on Tuesday morning.","zh-Hans":"成千上万的通勤者在周二早晨因电力故障导致 Circle Line 16 个车站的列车服务中断而被滞留在站外。","ms":"Beribu-ribu penumpang terperangkap semasa waktu puncak selepas gangguan kuasa mengganggu perkhidmatan tren di ke semua 16 stesen pada Circle Line pada pagi Selasa.","ta":"களம்கின்ற சகல 16 நிலையங்களிலும் Circle Line ல் உள்ள போக்காக்கிக் கண்கொள்ளும் வரிசையின் போது அதிகமான பயணிகள் குறுக்கிவிடப்பட்டனர், திங்கட்கிழமை காலை"},"source":"@openai/gpt-5-nano"}}
{"id":"ev_016A2ZSX50PWMAFFTVKZFPJRS3","ts":"2011-09-20T16:39:00.000+08:00","type":"media.report","text":"A faulty cable beneath the platform level at Dakota Station caused a power fault on Tuesday morning that affected train services at all 16 stations on the Circle Line.","sourceUrl":"https://web.archive.org/web/20110925015301/http://www.channelnewsasia.com/stories/singaporelocalnews/view/1154317/1/.html","render":{"text":{"en-SG":"A faulty cable beneath the platform level at Dakota Station caused a power fault on Tuesday morning that affected train services at all 16 stations on the Circle Line.","zh-Hans":" Dakota Station 平台下方的一条故障电缆在周二上午引发电力故障,影响了 Circle Line 全部 16 个车站的列车服务。","ms":"Suis kabel yang rosak di bawah aras platform di Dakota Station telah menyebabkan gangguan bekalan elektrik pada pagi Selasa yang memberi kesan kepada perkhidmatan tren di kesemua 16 stesen di Circle Line.","ta":"டாக்கோட்டா ஸ்டேஷனில் உள்ள டப்ளும்பிளாட்ஃபார ஆரை கீழே உள்ள பிளக்-வை ஒளியில் குறைந்து, செவ்வாய்க்கிழமை காலை விலகிய ஒரு பொருளின் மின் குறைபாடு Circle Line இல் உள்ள 16 தான்படுத்துகள் எல்லாம் சேவைகளை பாதித்தது."},"source":"@openai/gpt-5-nano"}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{"id":"ie_016A23Y6003STJECGGXSV899RK","type":"service_effects.set","ts":"2011-09-20T08:32:00.000+08:00","basis":{"evidenceId":"ev_016A23Y600YC689GE6681BFAS3"},"entity":{"type":"service","serviceId":"CCL_MAIN_CCW"},"effect":{"kind":"delay","duration":null}}
{"id":"ie_016A23Y600NPFVAEQTWVMM9XFP","type":"periods.set","ts":"2011-09-20T08:32:00.000+08:00","basis":{"evidenceId":"ev_016A23Y600YC689GE6681BFAS3"},"entity":{"type":"service","serviceId":"CCL_MAIN_CCW"},"periods":[{"kind":"fixed","startAt":"2011-09-20T08:32:00+08:00","endAt":null}]}
{"id":"ie_016A23Y60054J2B7DCNJCRY8ZD","type":"service_scopes.set","ts":"2011-09-20T08:32:00.000+08:00","basis":{"evidenceId":"ev_016A23Y600YC689GE6681BFAS3"},"entity":{"type":"service","serviceId":"CCL_MAIN_CCW"},"serviceScopes":[{"type":"service.segment","fromStationId":"DBG","toStationId":"MRM"}]}
{"id":"ie_016A23Y60020RCNJ7AQV40BVHH","type":"service_effects.set","ts":"2011-09-20T08:32:00.000+08:00","basis":{"evidenceId":"ev_016A23Y600YC689GE6681BFAS3"},"entity":{"type":"service","serviceId":"CCL_MAIN_CW"},"effect":{"kind":"delay","duration":null}}
{"id":"ie_016A23Y6002HSC9873Q5PXJ8HR","type":"periods.set","ts":"2011-09-20T08:32:00.000+08:00","basis":{"evidenceId":"ev_016A23Y600YC689GE6681BFAS3"},"entity":{"type":"service","serviceId":"CCL_MAIN_CW"},"periods":[{"kind":"fixed","startAt":"2011-09-20T08:32:00+08:00","endAt":null}]}
{"id":"ie_016A23Y6002WSHZF2K9J0TBSVT","type":"service_scopes.set","ts":"2011-09-20T08:32:00.000+08:00","basis":{"evidenceId":"ev_016A23Y600YC689GE6681BFAS3"},"entity":{"type":"service","serviceId":"CCL_MAIN_CW"},"serviceScopes":[{"type":"service.segment","fromStationId":"MRM","toStationId":"DBG"}]}
{"id":"ie_016A2N3G40S55YJT7EWZ2KDCBZ","type":"service_effects.set","ts":"2011-09-20T13:32:00.000+08:00","basis":{"evidenceId":"ev_016A2N3G40R6BY8XXZ4BJT4A7Q"},"entity":{"type":"service","serviceId":"CCL_MAIN_CCW"},"effect":{"kind":"no-service"}}
{"id":"ie_016A2N3G40MWRW2ESM6ZPX3MW3","type":"service_scopes.set","ts":"2011-09-20T13:32:00.000+08:00","basis":{"evidenceId":"ev_016A2N3G40R6BY8XXZ4BJT4A7Q"},"entity":{"type":"service","serviceId":"CCL_MAIN_CCW"},"serviceScopes":[{"type":"service.whole"}]}
{"id":"ie_016A2N3G40866V9GEBSTKV92GN","type":"causes.set","ts":"2011-09-20T13:32:00.000+08:00","basis":{"evidenceId":"ev_016A2N3G40R6BY8XXZ4BJT4A7Q"},"entity":{"type":"service","serviceId":"CCL_MAIN_CCW"},"causes":["power.fault"]}
{"id":"ie_016A2N3G4037JDZAAJ41PC6C94","type":"service_effects.set","ts":"2011-09-20T13:32:00.000+08:00","basis":{"evidenceId":"ev_016A2N3G40R6BY8XXZ4BJT4A7Q"},"entity":{"type":"service","serviceId":"CCL_MAIN_CW"},"effect":{"kind":"no-service"}}
{"id":"ie_016A2N3G40Y8WASHSP7XWMVG66","type":"service_scopes.set","ts":"2011-09-20T13:32:00.000+08:00","basis":{"evidenceId":"ev_016A2N3G40R6BY8XXZ4BJT4A7Q"},"entity":{"type":"service","serviceId":"CCL_MAIN_CW"},"serviceScopes":[{"type":"service.whole"}]}
{"id":"ie_016A2N3G409WG7MXEHGCHTZFV5","type":"causes.set","ts":"2011-09-20T13:32:00.000+08:00","basis":{"evidenceId":"ev_016A2N3G40R6BY8XXZ4BJT4A7Q"},"entity":{"type":"service","serviceId":"CCL_MAIN_CW"},"causes":["power.fault"]}
{"id":"ie_016A2ZSX5058SK7D3YZYQE3NGM","type":"service_effects.set","ts":"2011-09-20T16:39:00.000+08:00","basis":{"evidenceId":"ev_016A2ZSX50PWMAFFTVKZFPJRS3"},"entity":{"type":"service","serviceId":"CCL_MAIN_CCW"},"effect":{"kind":"delay","duration":null}}
{"id":"ie_016A2ZSX50B2597S0AE83179BK","type":"service_effects.set","ts":"2011-09-20T16:39:00.000+08:00","basis":{"evidenceId":"ev_016A2ZSX50PWMAFFTVKZFPJRS3"},"entity":{"type":"service","serviceId":"CCL_MAIN_CW"},"effect":{"kind":"delay","duration":null}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"id": "2011-09-20-faulty-cable-led-to-circle-line-disruption",
"type": "disruption",
"title": {
"en-SG": "Power fault disrupts Circle Line",
"zh-Hans": "电力故障影响环线",
"ms": "Gangguan kuasa melumpuhkan Laluan Bulatan",
"ta": "வட்டப் பாதையில் மின் தடங்கல்"
},
"titleMeta": {
"source": "@openai/gpt-4-mini"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"id":"ev_016GXGC3S02K633GHQS0F8TKT6","ts":"2011-12-14T13:23:00.000+08:00","type":"media.report","text":"SINGAPORE - SMRT has confirmed the train service on the Circle Line between Marymount and...","sourceUrl":"https://web.archive.org/web/20120108015638/http://www.todayonline.com/Singapore/EDC111214-0000107/SMRT-apologises-for-Circle-Line-disruption","render":{"text":{"en-SG":"SINGAPORE - SMRT has confirmed the train service on the Circle Line between Marymount and ...","zh-Hans":"新加坡 - SMRT 已确认 Circle Line 在 Marymount 之间的列车服务,直到……","ms":"SINGAPORE - SMRT telah mengesahkan perkhidmatan kereta api pada Circle Line antara Marymount dan ...","ta":"சிங்கப்பூர் - SMRT Circle Line-இல் Marymount மற்றும் ... இடையிலான பட்டய சேவை உறுதி செய்யப்பட்டுள்ளது"},"source":"@openai/gpt-5-nano"}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"id": "2011-12-14-smrt-apologises-for-circle-line-disruption",
"type": "disruption",
"title": {
"en-SG": "Circle Line service disruption",
"zh-Hans": "环线服务中断",
"ms": "Gangguan perkhidmatan Laluan Bulat",
"ta": "வட்டப் பாதையில் சேவை சீர்குலைவு"
},
"titleMeta": {
"source": "@openai/gpt-4-mini"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
{"id":"ev_016H0SC3A066CNB2QN04Q1E89W","ts":"2011-12-15T19:58:00.000+08:00","type":"media.report","text":"Thousands were stranded after the North-South MRT Line broke down during the evening peak hours. Some commuters used a fire extinguisher to break the windows of a train stuck underground due to lack of ventilation.","sourceUrl":"https://web.archive.org/web/20120103113431/http://www.channelnewsasia.com/stories/singaporelocalnews/view/1171573/1/.html","render":{"text":{"en-SG":"Thousands were stranded after the North-South MRT Line broke down during the evening peak hours. Some commuters used a fire extinguisher to break the windows of a train stuck underground due to lack of ventilation.","zh-Hans":"数千人因 North-South MRT Line 在晚高峰时段故障而滞留。一些乘客使用灭火器打破因缺乏通风而被困地下的列车窗户。","ms":"Beribu-ribu orang terdampar selepas laluan MRT North-South mengalami gangguan semasa waktu puncak petang. Sesetengah penumpang menggunakan alat pemadam api untuk memecahkan tingkap tren yang terperangkap di bawah tanah disebabkan kekurangan pengudaraan.","ta":"இராத்திரி குறைந்தபட்ச அழுத்தத்தில் North-South MRT Line சேதம் ஏற்பட்டதால் ஆயிரக்கணக்கான மக்கள் பாதிக்கப்படினர். காற்றுத் துவண்டல் குறைவதால் நிலத்தில் சிக்கிய ரயங்கின் சாளரம் உடைக்கப் பயன்படுத்தப்பட்ட சில பயணிகள் தீ எரிவாயு அணைக்காத்தியில் உள்ள பரிமாரிக்கு எதிராக"},"source":"@openai/gpt-5-nano"}}
{"id":"ev_016H1D7FB0XA22K6AMP5AJZGJQ","ts":"2011-12-16T01:45:00.000+08:00","type":"media.report","text":"Train services on the northbound North-South MRT Line - between Marina Bay and Bishan stations - resumed at 11.40pm on Thursday.","sourceUrl":"https://web.archive.org/web/20120105191538/http://www.channelnewsasia.com/stories/singaporelocalnews/view/1171624/1/.html","render":{"text":{"en-SG":"Train services on the northbound North-South MRT Line between Marina Bay and Bishan stations resumed at 11.40pm on Thursday.","zh-Hans":"北South MRT线北行列车服务在 Marina Bay 与 Bishan 站之间于周四晚上11:40恢复运营。","ms":"Perkhidmatan tren arah utara North-South MRT Line antara stesen Marina Bay dan Bishan telah disambung semula pada 11.40 malam pada hari Khamis.","ta":" Marina Bay மற்றும் Bishan நிலையங்களுக்கு இடையிலான North-South MRT கோட்டை அச்சு/மேற்கோள் வழிப்படியும், களிமகள் வண்டிகளின் வடக்கு திசையில் சேவை வியாழக்கிழமை இரவு 11:40 மணிக்கு மீண்டும் துவங்கின. "},"source":"@openai/gpt-5-nano"}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{"id":"ie_016H0SC3A0KB05QK47KQX29053","type":"service_effects.set","ts":"2011-12-15T19:58:00.000+08:00","basis":{"evidenceId":"ev_016H0SC3A066CNB2QN04Q1E89W"},"entity":{"type":"service","serviceId":"NSL_MAIN_N"},"effect":{"kind":"no-service"}}
{"id":"ie_016H0SC3A059Y83NB1S7NV5ZBZ","type":"periods.set","ts":"2011-12-15T19:58:00.000+08:00","basis":{"evidenceId":"ev_016H0SC3A066CNB2QN04Q1E89W"},"entity":{"type":"service","serviceId":"NSL_MAIN_N"},"periods":[{"kind":"fixed","startAt":"2011-12-15T19:58:00+08:00","endAt":null}]}
{"id":"ie_016H0SC3A0E24J0SZ8RWY59N6X","type":"service_scopes.set","ts":"2011-12-15T19:58:00.000+08:00","basis":{"evidenceId":"ev_016H0SC3A066CNB2QN04Q1E89W"},"entity":{"type":"service","serviceId":"NSL_MAIN_N"},"serviceScopes":[{"type":"service.whole"}]}
{"id":"ie_016H0SC3A0YQP7H6P9X4KW9F47","type":"service_effects.set","ts":"2011-12-15T19:58:00.000+08:00","basis":{"evidenceId":"ev_016H0SC3A066CNB2QN04Q1E89W"},"entity":{"type":"service","serviceId":"NSL_MAIN_S"},"effect":{"kind":"no-service"}}
{"id":"ie_016H0SC3A0R5VBGQ6SF8R36SBK","type":"periods.set","ts":"2011-12-15T19:58:00.000+08:00","basis":{"evidenceId":"ev_016H0SC3A066CNB2QN04Q1E89W"},"entity":{"type":"service","serviceId":"NSL_MAIN_S"},"periods":[{"kind":"fixed","startAt":"2011-12-15T19:58:00+08:00","endAt":null}]}
{"id":"ie_016H0SC3A0KFP70HHAEDHP7R7D","type":"service_scopes.set","ts":"2011-12-15T19:58:00.000+08:00","basis":{"evidenceId":"ev_016H0SC3A066CNB2QN04Q1E89W"},"entity":{"type":"service","serviceId":"NSL_MAIN_S"},"serviceScopes":[{"type":"service.whole"}]}
{"id":"ie_016H1D7FB005KQGBHA4YMWP60V","type":"periods.set","ts":"2011-12-16T01:45:00.000+08:00","basis":{"evidenceId":"ev_016H1D7FB0XA22K6AMP5AJZGJQ"},"entity":{"type":"service","serviceId":"NSL_MAIN_N"},"periods":[{"kind":"fixed","startAt":"2011-12-15T19:58:00+08:00","endAt":"2011-12-15T23:40:00+08:00"}]}
{"id":"ie_016H1D7FB0QHEHV2FS2YTAZPX6","type":"service_scopes.set","ts":"2011-12-16T01:45:00.000+08:00","basis":{"evidenceId":"ev_016H1D7FB0XA22K6AMP5AJZGJQ"},"entity":{"type":"service","serviceId":"NSL_MAIN_N"},"serviceScopes":[{"type":"service.segment","fromStationId":"MRB","toStationId":"BSH"}]}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"id": "2011-12-15-north-south-mrt-line-breakdown",
"type": "disruption",
"title": {
"en-SG": "North-South MRT Line breakdown during evening peak hours",
"zh-Hans": "南北线晚高峰时段故障",
"ms": "Gangguan Laluan MRT Utara-Selatan semasa waktu puncak petang",
"ta": "மாலை நேர நெரிசல் நேரத்தில் வடக்கு-தெற்கு எம்ஆர்டி பாதையில் ஏற்பட்ட தடங்கல்"
},
"titleMeta": {
"source": "@openai/gpt-4-mini"
}
}
Loading
Loading