Skip to content

[Fix] 1호선 주말 원천 중복 행을 공식 근거로 격리하고 같은 출발 trip 중복을 후보 생성에서 차단 - #924

Merged
AquilaXk merged 5 commits into
mainfrom
fix/line1-weekend-duplicate-trips-920
Oct 4, 2026
Merged

AquilaXk merged 5 commits into
mainfrom
fix/line1-weekend-duplicate-trips-920

Conversation

@AquilaXk

@AquilaXk AquilaXk commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Related issue

Closes #920
Refs AquilaXk/easysubway-backend#479

Summary

  • Problem
    • seq126의 kric-capital-weekend-holiday 1호선에는 같은 초에 같은 역에서 같은 다음 역·같은 종착역으로 출발하는 묶음이 34개 있다. backend #479는 이 묶음 때문에 TIMETABLE_IDENTITY_MISMATCH(503)를 낸다.
    • 34묶음의 실체는 trip 2쌍(4개, 각 18정차의 17개 출발)이다. kc-s1101-e-15e9735e2c6f와 kc-s1101-e-d26c61c9c11b는 서동탄 23:14 → 구로, kc-s1101-e-5189a24752f7와 kc-s1101-e-f8bab3a18549는 서동탄 23:34 → 구로다.
    • 원인은 원천 중복이다. 수집·투영·병합 단계에서 생긴 중복이 아니다.
      • KRIC 전체_도시철도운행정보(파일 900) 커밋 snapshot kric-nationwide-timetable-file-capital-dec3ef2f…에 서로 다른 원천 행 4개가 있다.
        • 행 121231: 열차 506, 토요일+공휴일, row sha ef710da9…
        • 행 121241: 열차 512, 토요일+공휴일, row sha 0f5059b6…
        • 행 121234: 열차 508, 토요일+공휴일, row sha 7fde1eb7…
        • 행 121245: 열차 514, 토요일+공휴일, row sha 317ea0f4…
      • 512는 506과, 514는 508과 역명·도착·출발 칸이 전부 같다.
      • 평일 행에도 512(행 121240)·514(행 121244)가 같은 시각으로 있다.
    • 공식 근거(KRIC OpenAPI trainUseInfo/subwayTimetable, 카탈로그 provider:kric-subway-timetable, 2026-10-04 실측, railOprIsttCd=KR·lnCd=1)는 다음과 같다.
      • 서동탄(P157-1) dayCd=9(휴일): 23:14 출발은 K506, 23:34 출발은 K508뿐이다. dayCd=8(평일)의 같은 시각은 K512·K514다.
      • 수원(P155) dayCd=9: K506 23:29, K508 23:49. dayCd=8: K512 23:29, K514 23:49
      • 금정(P149) dayCd=9: K506 23:46:30, K508 00:06:30. dayCd=8: K512 23:46:30, K514 00:06:30
      • dayCd=7(토)은 03 데이터가 없습니다라서 휴일 시간표가 토요일에도 운행한다.
    • 결론: 파일의 주말 512·514 행은 평일 열차를 휴일 시간표에 한 번 더 적은 중복이다.
  • Outcome
    • 같은 노선·요일구분 안에서 정차·도착·출발 칸이 모두 같은 원천 행을 찾는다.
    • 공식 근거로 고정한 규칙(남길 행·뺄 행의 원천 행 해시와 열차 번호)이 있을 때만 하나로 합친다. 뺀 행은 DUPLICATE_SERVICE_ROW로 격리하고 보고서에 남긴다.
    • 고정 규칙이 없는 내용 중복은 임의로 버리지 않고 적재를 실패시킨다.
    • 전국 후보를 조립한 뒤 같은 달력에서 (노선, 역, 출발 시각, 다음 역, 종착역)이 같은 trip이 하나라도 있으면 후보 생성이 실패한다.
      • 종착역이 다른 48묶음(광명행·인천행 등)은 다른 열차로 본다.

Changes

  • lib/kric-capital-timetable-records.mjs
    • KRIC_CAPITAL_DUPLICATE_ROW_RESOLUTIONS(신규 export): 위 2건의 근거와 행 해시를 고정한다.
    • kricCapitalOfficialTimetable이 내용 중복 묶음을 판정한다. 규칙이 없거나 남길 행이 하나가 아니면 KRIC_CAPITAL_TIMETABLE_DUPLICATE_TRIP_UNRESOLVED로 실패한다.
  • lib/timetable-duplicate-departures.mjs (신규): duplicateDepartureGroups
  • prepare-nationwide-candidate-run.mjs: 광주 보관본까지 합친 뒤 duplicateDepartureGroups가 비어 있지 않으면 실패한다.
  • 테스트
    • lib/kric-capital-timetable-records.test.mjs
      • 리뷰 F1: 해시만 맞는 규칙, 열차 번호만 맞는 규칙, 노선·요일구분이 다른 규칙이 모두 실패함을 단언한다. member()·규칙 필터의 &&→|| 변이가 잡힌다.
      • 리뷰 F2: 보관한 KRIC API 응답 원문으로 유지(506·508)·제외(512·514) 선택을 대조한다.
    • fixtures/kric-line1-weekend-duplicate-evidence/(리뷰 F2): KRIC subwayTimetable 응답 원문 9개와 sha256 manifest다.
      • 대상은 서동탄·수원·금정 dayCd 7·8·9이고 2026-10-04에 수집했다. 서비스 키는 들어 있지 않다.
    • lib/timetable-duplicate-departures.test.mjs (신규, data-test-ownership.json에 data920로 등록)
    • prepare-nationwide-candidate-run.test.mjs: 조립 팩 중복 0을 확인한다. 고정 건수를 trip 26,490→26,488, 정차 677,156→677,120으로 바꿨다.
  • 전국 후보 재생성(별도 커밋 9f46ad5)
    • refresh-nationwide-candidate --evaluated-at 2026-10-03T05:27:51.411Z --release-sequence 126
    • 원천 snapshot·fan-in head는 그대로다. 정본 팩·외부 정차 파일·수도권 시간표 보고서·spec·request·hash evidence가 바뀐다.

Scope

Included

  • 1호선 주말 원천 중복 행 처리와 전 원천 공통 출발 중복 검사

Excluded

  • backend 중복 판정 규칙 완화
  • 원천 snapshot 재수집

Ownership / dependencies

병합 순서

도구/데이터 PR을 한 PR에 둔 이유

Contract & Compatibility

  • Source / API / schema contract: 변경 없음
  • Artifact / provenance identity
    • 1호선 주말 trip 2개(정차 36행)가 빠진다. 수도권 시간표 보고서 S1101의 격리 수가 453에서 455로 늘고, DUPLICATE_SERVICE_ROW 2건이 추가된다.
    • 기존 고정 허용치(TIME_NOT_MONOTONIC 453행)는 그대로다.
  • Backward compatibility: 영향 없음
  • Migration or cutover: 병합 뒤 다음 RC부터 반영된다.

Version impact

  • no version change
  • datapack release only
  • route-map artifact change
  • data contract change
  • product gate JSON change
  • CI workflow·계약 테스트 change

Product gate impact

  • release/product-gates/** 영향 없음
  • 변경한 gate의 근거를 갱신했습니다.
  • 검증되지 않은 지원 범위 claim을 추가하거나 확대하지 않습니다.

Provenance impact

  • source inventory·geometry provenance manifest 영향 없음
  • 제공처·라이선스·갱신 시점·적용 범위를 갱신했습니다.
  • 공식 source로 확인되지 않은 값을 배포 artifact에 추가하지 않습니다.

Version decision

  • datapack version: 다음 재발행(seq127 이상)에서 반영
  • data contract: 변경 없음
  • route-map artifact / product gate: 변경 없음
  • promotion request id: 재발행 시 정한다

Verification

Check Result / Evidence
원천·카탈로그 대조 hub api-catalog.mjs list --query kric-subway-timetable의 결과는 provider:kric-subway-timetable(admitted)이다. 원천 파일 행은 커밋 snapshot에서, 열차 실체는 위 API 실측에서 확인했다. 키는 루트 .env에 있고 출력하지 않았다.
Focused RED → GREEN RED: origin/main 후보에 duplicateDepartureGroups를 적용하면 34묶음이다(kric-capital-weekend-holiday, trip 4개). 새 테스트는 export가 없어 실패했다. GREEN: kric-capital-timetable-records.test.mjs 11/11, timetable-duplicate-departures.test.mjs 2/2, prepare 대상 2건 통과
고정 근거 없음 같은 커밋 snapshot에 duplicateResolutions: []를 주면 KRIC_CAPITAL_TIMETABLE_DUPLICATE_TRIP_UNRESOLVED: S1101 토요일+공휴일 506,512로 실패한다.
seq126 동등 RC 재현 seq126 시계로 로컬 RC 전 단계를 재현했다. refresh-nationwide-candidate → RC build-datapack → validate-datapack --require-production → 번들 staging이 통과했다. 서명은 로컬 임시 키를 썼다.
효과(seq126 동등) 중복 출발 묶음이 34개에서 0개가 됐다. trip은 26,490에서 26,488, stop_time은 677,156에서 677,120, S1101 주말 trip은 542에서 540으로 줄었다. 서동탄 23:14·23:34에는 kc-s1101-e-15e9735e2c6f(506)·kc-s1101-e-5189a24752f7(508)만 남는다.
Required CI PR CI에서 확인
Live provider / release KRIC subwayTimetable 실측(서동탄·수원·금정, dayCd 7·8·9). 발행은 하지 않음
Security / data integrity Not applicable — reason: 시크릿·인증 경계 변경 없음

Not run

  • Check: backend 역 시간표 1호선 주말 실응답
  • Reason: 재발행 번들이 배포된 뒤에 확인할 수 있다.
  • Rerun owner / condition: 10-10 재발행 뒤 backend 역 시간표에서 1호선 주말 응답이 503이 아닌지 확인한다.

Risk

  • Level: High
  • Main risk
    • KRIC 파일이 바뀌어 원천 행 해시가 달라지면 고정 규칙이 적용되지 않는다. 같은 중복이 남아 있으면 적재가 실패한다. 이 실패는 의도한 동작이다(근거 재확인 필요).
  • Failure behavior: 근거 없는 내용 중복이나 출발 중복이 있으면 후보 생성이 실패한다.
  • Candidate / admission / publication state on failure: 후보가 생성되지 않고 발행도 없다
  • Fallback or degraded-success path introduced: No

Rollout / Recovery

  • Rollout or promotion: 병합 → RC → 10-10 재발행
  • Monitoring / success signal: 재발행 번들의 출발 중복이 0개다. backend 역 시간표에서 1호선 주말 TIMETABLE_IDENTITY_MISMATCH가 사라진다.
  • Rollback or recovery: 이 PR revert와 후보 재생성
  • Existing artifact / schema compatibility after rollback: 스키마 변경이 없어 호환된다

Review focus

  • 중복 판정 키. 노선·요일구분·운행유형·정차 전체(역명·도착·출발)다.
  • 남길 행 선택 근거. KRIC 역별 API의 휴일 열차 번호를 썼다.

Checklist

  • 이슈 범위와 실제 diff가 일치합니다.
  • 관련 없는 변경이나 다른 owner의 surface를 포함하지 않았습니다.
  • 위험에 필요한 검증과 미실행 사유를 기록했습니다.
  • 실패·호환성·promotion·recovery 동작이 명확합니다.
  • current failure를 이전·stale·alternate 결과의 성공으로 바꾸지 않습니다.
  • GitHub PR Review 객체가 있는지 확인했습니다. CodeRabbit status check만으로는 리뷰 완료로 보지 않습니다.
  • CodeRabbit Review 객체가 없으면 지원되는 Codex CLI 폴백 Review를 단일 GitHub PR Review로 게시했습니다.
  • datapack 배포 영향이 있는 경우 release workflow 상태를 확인했습니다.

@coderabbitai

coderabbitai Bot commented Oct 4, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ac91e4db-7bd5-42e1-aecf-f88b740c4d7d
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@AquilaXk AquilaXk left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🎯 Linked issue & acceptance criteria audit
ID Acceptance criterion Status Evidence
AC-1 Confirm whether the duplicates come from the source response and record evidence PASS tools/datapack/lib/kric-capital-timetable-records.mjs:82
AC-2 Merge only by a rule with official evidence, never drop without evidence PASS tools/datapack/lib/kric-capital-timetable-records.mjs:287
AC-3 Fix the collection or projection stage if the defect lives there PASS Not applicable branch, the duplicates are in the source rows
AC-4 Add a check that fails the build when same-calendar trips share a departure key PASS tools/datapack/lib/timetable-duplicate-departures.mjs:7
AC-5 Write the failing test first PASS tools/datapack/lib/timetable-duplicate-departures.test.mjs:18
AC-6 Ship in the next reissue and verify the backend weekend response PASS PR body Not run section defers the backend check until the reissued bundle is deployed
🛡️ Adversarial audit evidence
  • Falsifiability verified: No (Failed: Probe left 2 mutants alive on the rule match logic, see F1.)
  • Hollow assertions detected: 0
  • Production backdoors detected: 0
  • Ground-truth sources verified:
    • Capital timetable report quarantine counts of 2 duplicate rows and 453 monotonic rows
    • Committed KRIC file snapshot rows 121231, 121234, 121241 and 121245 with pinned hashes
    • Issue 920 body Done When list and the 34 duplicate group reproduction
    • Weekend and weekday rows for trains 506, 508, 512 and 514 compared cell by cell
🤖 Prompt for all review comments with AI agents
Could we verify each finding against the current code and keep only those that
still apply? Could we make the smallest validated fix and briefly note why any
finding no longer applies?

Inline comments:
- `@tools/datapack/lib/kric-capital-timetable-records.mjs:82-85`
  Could the three station responses for day codes 7, 8 and 9 be kept as a retained
  fixture, as the holiday pull request does for the KASI months with hashes, and could
  the test assert the keep and drop choice against that fixture?
- `@tools/datapack/lib/kric-capital-timetable-records.mjs:298-300`
  Could a test give a rule whose hash matches but whose train number differs, and a
  rule with a matching train number but a different hash, and expect the
  DUPLICATE_TRIP_UNRESOLVED failure in both cases? A third case could change the
  routeNumber or weekdayType only. That would pin the narrow match as claimed.
- `@tools/datapack/prepare-nationwide-candidate-run.mjs:1581-1587`
  Could the merge order be stated on both pull requests, with the second regenerating
  the candidate and re-checking the pinned counts after the rebase?

---

Outside diff comments:
None.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Aquila review skill, project CLAUDE.md, PR template full.md and issue 920 body

Review profile: ASSERTIVE

Plan: Aquila fallback

Run ID: N/A (Aquila fallback)

Review source: Aquila CLI

Repository visibility: public GitHub repository

Trigger:
Discovery review of the current change set on the draft pull request

Base:
main@53f01fc5c4c5d2b7630c2c6dcdb79608200eaa1c

Head:
fix/line1-weekend-duplicate-trips-920@9f46ad5960e918ac75fa5885b85377a1b5adde23

Command:
node post-review.mjs input.json payload-1.json --repo AquilaXk/easysubway-data --pr 924

📥 Commits

Reviewing files changed in this pull request between:

  • Base: 53f01fc5c4c5d2b7630c2c6dcdb79608200eaa1c
  • Head: 9f46ad5960e918ac75fa5885b85377a1b5adde23
📒 Files selected for processing (6)
  • tools/datapack/lib/kric-capital-timetable-records.mjs
  • tools/datapack/lib/kric-capital-timetable-records.test.mjs
  • tools/datapack/lib/timetable-duplicate-departures.mjs
  • tools/datapack/lib/timetable-duplicate-departures.test.mjs
  • tools/datapack/prepare-nationwide-candidate-run.mjs
  • tools/datapack/prepare-nationwide-candidate-run.test.mjs
📜 Review details

Comment thread tools/datapack/lib/kric-capital-timetable-records.mjs
Comment thread tools/datapack/lib/kric-capital-timetable-records.mjs
Comment thread tools/datapack/prepare-nationwide-candidate-run.mjs
AquilaXk added a commit that referenced this pull request Oct 4, 2026
리뷰 F1(#924). 해시만 맞는 규칙, 열차 번호만 맞는 규칙, 노선·요일구분만 다른 규칙은 모두
DUPLICATE_TRIP_UNRESOLVED로 실패한다. member()와 규칙 필터의 &&→|| 변이가 이 테스트로 잡힌다.

Refs #920
AquilaXk added a commit that referenced this pull request Oct 4, 2026
리뷰 F2(#924). 서동탄·수원·금정 dayCd 7·8·9 응답 원문(2026-10-04 수집, 서비스 키 미포함)과
sha256 manifest를 fixture로 둔다. 휴일 23:14·23:34 계열은 K506·K508, 평일 같은 시각은 K512·K514이고
토요일은 데이터 없음(03)임을 원문에서 확인한 뒤 고정 규칙의 유지·제외 선택과 대조한다.

Refs #920
@AquilaXk
AquilaXk marked this pull request as ready for review October 4, 2026 05:43
- KRIC 전체_도시철도운행정보 파일의 1호선 '토요일+공휴일' 512·514 행은 같은 시각 506·508 행과 정차·시각이 모두 같다.
  KRIC 역별 API(subwayTimetable, 2026-10-04 실측)는 휴일에 506·508만, 평일에 512·514를 준다.
  고정 근거로 512·514 주말 행을 DUPLICATE_SERVICE_ROW로 격리한다. 근거 없는 내용 중복은 적재를 실패시킨다.
- 전국 후보 조립 뒤 같은 달력에서 (노선, 역, 출발 시각, 다음 역, 종착역)이 같은 trip이 있으면 후보 생성을 실패시킨다.

Closes #920
refresh-nationwide-candidate --evaluated-at 2026-10-03T05:27:51.411Z --release-sequence 126
원천 snapshot과 fan-in head는 그대로다. 1호선 주말 중복 trip 2개(정차 36행)가 빠지고 격리 보고서에 남는다.

Refs #920
리뷰 F1(#924). 해시만 맞는 규칙, 열차 번호만 맞는 규칙, 노선·요일구분만 다른 규칙은 모두
DUPLICATE_TRIP_UNRESOLVED로 실패한다. member()와 규칙 필터의 &&→|| 변이가 이 테스트로 잡힌다.

Refs #920
리뷰 F2(#924). 서동탄·수원·금정 dayCd 7·8·9 응답 원문(2026-10-04 수집, 서비스 키 미포함)과
sha256 manifest를 fixture로 둔다. 휴일 23:14·23:34 계열은 K506·K508, 평일 같은 시각은 K512·K514이고
토요일은 데이터 없음(03)임을 원문에서 확인한 뒤 고정 규칙의 유지·제외 선택과 대조한다.

Refs #920
refresh-nationwide-candidate를 같은 인자로 다시 실행했다. 정본 팩에 #919 공휴일 예외와 #920 중복 행 격리가 함께 들어간다.
trip 26,488 · 정차 677,120 · 달력 예외 398행, 같은 출발 중복 묶음 0, 공휴일 달력 위반 0.

Refs #920
@AquilaXk
AquilaXk force-pushed the fix/line1-weekend-duplicate-trips-920 branch from baaa231 to 7fd5c7d Compare October 4, 2026 12:54
@sonarqubecloud

sonarqubecloud Bot commented Oct 4, 2026

Copy link
Copy Markdown

@AquilaXk AquilaXk left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🎯 Linked issue & acceptance criteria audit
ID Acceptance criterion Status Evidence
AC-1 Confirm the duplicates come from the KRIC source and retain the response PASS tools/datapack/fixtures/kric-line1-weekend-duplicate-evidence/responses.json
AC-2 Merge source duplicates only by an evidenced rule PASS tools/datapack/lib/kric-capital-timetable-records.mjs
AC-3 Fail the build on same-calendar trips with equal stop, departure, next and terminal PASS tools/datapack/lib/timetable-duplicate-departures.mjs
AC-4 Write the failing test first PASS tools/datapack/lib/timetable-duplicate-departures.test.mjs
🔄 PR review lifecycle & thread tracking
  • Previous review ID: 5404249635
  • Previous commit SHA: 9f46ad5960e918ac75fa5885b85377a1b5adde23
  • Resolved findings: 3
  • Active tracked threads: 0
Status Finding / Thread Path Resolution note
RESOLVED F1 tools/datapack/lib/kric-capital-timetable-records.mjs KRIC API responses are retained without the key and checked against the rule
RESOLVED F2 tools/datapack/lib/kric-capital-timetable-records.mjs Drop rule applies only when row hash and train number both match
RESOLVED F3 tools/datapack/prepare-nationwide-candidate-run.mjs Rebased after 922 merged; both count assertions kept and outputs regenerated
🛡️ Adversarial audit evidence
  • Falsifiability verified: Yes (Hash-only and train-only match mutants of the drop rule now fail)
  • Hollow assertions detected: 0
  • Production backdoors detected: 0
  • Ground-truth sources verified:
    • Issue 920 body done criteria
    • KRIC file rows for trains 506, 508, 512 and 514 pinned by row sha256
    • Retained KRIC station timetable API responses for Line 1 weekend trains, key removed
🤖 Prompt for all review comments with AI agents
Could we verify each finding against the current code and keep only those that
still apply? Could we make the smallest validated fix and briefly note why any
finding no longer applies?

Inline comments:
None.

---

Outside diff comments:
None.

ℹ️ Review info
⚙️ Run configuration

Configuration used: CLAUDE.md, AGENTS.md and .github/PULL_REQUEST_TEMPLATE/full.md in easysubway-data

Review profile: ASSERTIVE

Plan: Aquila fallback

Run ID: N/A (Aquila fallback)

Review source: Aquila CLI

Repository visibility: public GitHub repository

Trigger:
Closure review of frozen findings F1 to F3 on the rebased head of PR 924

Base:
main@46885d420cf1b89d42fcb5dc76a0e1d1eb561e30

Head:
fix/line1-weekend-duplicate-trips-920@7fd5c7da88626a6039af7c8484b9da992bcb6c9b

Command:
node aquila-review/scripts/compile-review-payload.mjs input.json --output payload-1.json

📥 Commits

Reviewing files changed in this pull request between:

  • Base: 46885d420cf1b89d42fcb5dc76a0e1d1eb561e30
  • Head: 7fd5c7da88626a6039af7c8484b9da992bcb6c9b
📒 Files selected for processing (24)
  • tools/ci/data-test-ownership.json
  • tools/datapack/fixtures/kric-line1-weekend-duplicate-evidence/P149-dayCd7.json
  • tools/datapack/fixtures/kric-line1-weekend-duplicate-evidence/P149-dayCd8.json
  • tools/datapack/fixtures/kric-line1-weekend-duplicate-evidence/P149-dayCd9.json
  • tools/datapack/fixtures/kric-line1-weekend-duplicate-evidence/P155-dayCd7.json
  • tools/datapack/fixtures/kric-line1-weekend-duplicate-evidence/P155-dayCd8.json
  • tools/datapack/fixtures/kric-line1-weekend-duplicate-evidence/P155-dayCd9.json
  • tools/datapack/fixtures/kric-line1-weekend-duplicate-evidence/P157-1-dayCd7.json
  • tools/datapack/fixtures/kric-line1-weekend-duplicate-evidence/P157-1-dayCd8.json
  • tools/datapack/fixtures/kric-line1-weekend-duplicate-evidence/P157-1-dayCd9.json
  • tools/datapack/fixtures/kric-line1-weekend-duplicate-evidence/responses.json
  • tools/datapack/lib/kric-capital-timetable-records.mjs
  • tools/datapack/lib/kric-capital-timetable-records.test.mjs
  • tools/datapack/lib/timetable-duplicate-departures.mjs
  • tools/datapack/lib/timetable-duplicate-departures.test.mjs
  • tools/datapack/prepare-nationwide-candidate-run.mjs
  • tools/datapack/prepare-nationwide-candidate-run.test.mjs
  • tools/datapack/release/candidate-build-spec.json
  • tools/datapack/release/hash-evidence.json
  • tools/datapack/release/nationwide-candidate-preparation.json
  • tools/datapack/release/nationwide-capital-timetable-report.json
  • tools/datapack/release/nationwide-official-stop-times.json.gz
  • tools/datapack/release/nationwide-production-canonical-pack.json
  • tools/datapack/release/release-request.json
📜 Review details

@AquilaXk AquilaXk added the automerge FIFO 병합 큐 대상 — 코디네이터가 순서대로 update-branch 후 auto-merge label Oct 4, 2026
@github-actions

github-actions Bot commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@AquilaXk
AquilaXk merged commit ab08ed5 into main Oct 4, 2026
14 checks passed
@AquilaXk
AquilaXk deleted the fix/line1-weekend-duplicate-trips-920 branch October 4, 2026 13:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automerge FIFO 병합 큐 대상 — 코디네이터가 순서대로 update-branch 후 auto-merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Fix] 1호선 주말·휴일 시간표에 종착까지 같은 복제 trip 34묶음이 있어 역 시간표가 503이 되는 문제

1 participant