Compare JR East line impacts with bilingual identity, source freshness and reporting limits.
Discover lines and inspect suspensions, affected sections and planned notices. Compare itinerary lines and follow currently published certificate links with explicit unknowns.
Learn more at JR East Status.
Contributors: @zjsng (zjsng).
Authentication
Anonymous first-party source reads; no key or login required.
Quick Start
# Check the local install.
jr-east-status-pp-cli doctor --dry-run
# Discover region/service summaries.
jr-east-status-pp-cli areas --agent
# Resolve native IDs.
jr-east-status-pp-cli lines --region kanto --query Yamanote --agent
# Inspect source-backed line facts.
jr-east-status-pp-cli status --line sobuline --region kanto --agent
Unique Features
These commands add source-aware decisions to the underlying public-page reads.
Source-aware decisions
-
status — Reconcile native Japanese IDs with English row labels, keeping multiple notices and source uncertainty.
Reconcile native Japanese IDs with English row labels, keeping multiple notices and source uncertainty.
jr-east-status-pp-cli status --line sobuline --region kanto --agent
-
impact — Compare selected itinerary lines with per-region source timing and affected sections.
Compare selected itinerary lines with per-region source timing and affected sections.
jr-east-status-pp-cli impact --lines kanto:yamanoteline,kanto:sobuline --agent
-
coverage — Explain reporting hours, threshold conflicts, midnight service-day rollover and remaining unknowns.
Explain reporting hours, threshold conflicts, midnight service-day rollover and remaining unknowns.
jr-east-status-pp-cli coverage --agent
Planning handoffs
-
planned — Inspect construction evidence without promoting future notices to current service suspension.
Inspect construction evidence without promoting future notices to current service suspension.
jr-east-status-pp-cli planned --line koumiline --region kanto --agent
-
certificates — Return actual published route/time-slot links and source coverage limits.
Return actual published route/time-slot links and source coverage limits.
jr-east-status-pp-cli certificates --line yamanoteline --agent
Commands
| Command | Purpose | Request cap |
|---|
areas | Current area/service aggregate labels and source URLs | 1 |
lines --region kanto --query Narita | Native ID/name/code discovery in one region | 2 |
status --line kanto:sobuline | Selected line facts; express groups include service details | 4 |
impact --lines kanto:yamanoteline,kanto:sobuline | Up to eight line components, grouping region reads | 18 |
planned --line koumiline --region kanto | Selected construction heading/table and line notice facts | 3 |
certificates --line yamanoteline --slot 02 | Actual current published handoff for a source time slot | 1 |
coverage --at 2026-10-03T01:30:00+09:00 | Embedded reporting-policy classifier | 0 |
sources | Official guide links; use domain commands for operational facts | 1 |
lines --limit defaults to 20 and accepts 1–100. status --limit limits notice facts (default 10, maximum 20). planned --limit defaults to 4, maximum 6. certificates --limit defaults to 20, maximum 30; without a line it lists reference identities/counts, while selecting a line returns time-slot links. Result truncation is explicit in meta.truncated. Each regional page scans at most 512 rows; the construction parser scans at most 100 sections and retains at most 12 table rows per matching section.
Domain source bodies are capped at 1 MiB, requests at 10 seconds each and total command work at 30 seconds. The root --timeout can shorten that deadline. Source requests are paced at at most two per second per process; 429 returns a typed error without automatic retries. --max-source-age 15m on line/status/impact commands controls the accepted page age and accepts 1s–24h. Operational commands support --data-source auto or live; local is rejected. They read through to the source on each invocation.
The MCP server mirrors the seven bounded domain commands and the CLI sources guide, which extracts links. The raw HTML typed endpoint is hidden from MCP.
Reading results
Output is bounded facts and source links, rather than full incident articles. meta.observed_at is the CLI observation; each meta.sources[].source_updated_at is a page timestamp. The page timestamp is not necessarily an incident update or a live train position. Missing, future or stale timestamps remain explicit. If the original Japanese page explicitly closes reporting and contains no line rows, the CLI returns catalogue identities with unknown operational state and does not request its English translation.
The English status source reports anticipated/actual delays in excess of 30 minutes, from 04:00 until 02:00 the next day JST. The Japanese source says 30 minutes or more. coverage retains that language difference. From 02:00–04:00 JST, reporting is closed; the reporting service day rolls at 04:00. BRT coverage is long suspensions only.
normal_label_only is a general source label. It does not prove zero delay or punctuality for an individual train. actual_delay_minutes stays null. source_groups such as “Bound for Sobu” are source navigation categories, while a notice's direction is extracted from its text. Unknown directions/sections stay unknown. English uses AI translation; status-label disagreement is flagged, and notice facts retain their source language. Japanese planned dates/times are used because the English Koumi construction sentence was visibly scrambled during discovery.
Express lines are service groups. source_service_name identifies an individual named service within the group, so a cancelled Sazanami service does not imply that the Wakashio service is cancelled. A resumption-month estimate remains an estimate and does not establish a date.
impact checks the supplied lines only. It does not evaluate a connection, timetable or route alternative. meta.fetch_failures and explicit source_error/line_not_found components preserve partial gaps; all failed components exit nonzero after emitting the uncertainty envelope.
Planned work and certificates
Planned-work notices can change. The CLI preserves the source's date expressions/table facts. A missing calendar year is null; a current page timestamp does not silently supply it. No matching heading proves only that this bounded source search found none. Read the handoff for complex schedules and the latest source changes.
The certificate page covers ordinary conventional trains with approximately five-minute-plus delays. Certificates describe a rounded maximum for a covered route/time slot, not an individual train, and do not prove boarding. Publication follows confirmation near 07:00, 10:00, 16:00, 21:00 and 02:00 following day JST. A dash or absent URL is not_published_or_below_threshold, with no zero-delay claim. Displayed “61 minutes or more” remains a lower bound.
Only links actually present on the current source page are returned; the URL's own date controls midnight rollover. Historical dates use the official website handoff. Section coverage and through-service rules govern the travelled segment. Shōnan-Shinjuku, Ueno-Tōkyō and Sotetsu through-service names require choosing the actual segment's certificate; Takasaki Tokyo–Omiya uses Utsunomiya. Sagami and Ōme beyond Ōme use the official DOKOTORE handoff. The CLI does not print certificates or check DOKOTORE inventory.
Agent Usage
jr-east-status-pp-cli lines --region kanto --query Narita --agent --select id,name_ja,name_en
jr-east-status-pp-cli impact --lines kanto:yamanoteline,kanto:sobuline --agent
jr-east-status-pp-cli status --line sobuline --dry-run --agent
--json, --agent, --select, --compact, --csv and --quiet use the generated output layer. JSON is an envelope with meta and results; empty results are []. Always inspect source timing, reporting state, truncation and fetch failures before planning. The learning store holds reusable identity/workflow hints; it is not a current operational status cache. Use --no-learn for deterministic runs.
Health Check
jr-east-status-pp-cli doctor --json
jr-east-status-pp-cli doctor --dry-run
doctor checks the generated transport/install. A useful line read is a stronger parser check than a successful HTTP status alone: the auxiliary traininfomulti/kanto.json feed observed in Chrome contained only a dummy notice.
Troubleshooting
| Symptom | Action |
|---|
| Source HTTP error, throttle or changed HTML | Retry later or open the emitted first-party URL; no normal-service conclusion is returned. |
| Source is stale, future dated or lacks a timestamp | Keep the explicit unknown state; use the official source handoff. |
| No matching line | Choose its native ID with lines and the correct region. |
| Construction result is empty | Read the official planned-work page; the selected heading search is bounded. |
| Certificate is absent | Check covered segment and publication timing on the official page; absence does not establish zero delay. |
| Curl gets 403 while the CLI works | The source accepted normal Go HTTP with the declared CLI headers during live verification. Browser discovery is not the runtime. |
Exit codes: 0 for completed reads/computed results (partial gaps can remain explicit); 2 for invalid input; 3 for a missing selected line; 5 for a source/parse failure; 7 for source throttling. Generated framework commands expose their own documented codes.
API-specific
- Source unavailable or stale — Retry once later or open the reported source URL; do not infer normal operation.
- Certificate cell is a dash — Use the source handoff; a missing published link does not establish zero delay.
Cookbook
# Compare a local line and a Shinkansen component.
jr-east-status-pp-cli impact --lines kanto:yamanoteline,shinkansen:tohokushinkansen --agent
# Planned Koumi closures, keeping source date expressions.
jr-east-status-pp-cli planned --line koumiline --region kanto --agent
# Only the second published certificate slot, without opening a browser.
jr-east-status-pp-cli certificates --line yamanoteline --slot 02 --agent
# Verify the overnight reporting service day.
jr-east-status-pp-cli coverage --at 2026-10-03T01:30:00+09:00 --agent
Development
go test -count=1 ./...
go vet ./...
go build ./...
Fixture tests cover native IDs across reordered multilingual rows, multiple notices, reporting boundaries, stale/error pages, planned dates/sections, actual certificate URLs, typed throttle and request/body caps. Read-only live evidence and review receipts are maintained in the isolated Printing Press run and archived manuscripts; FINAL-REPORT.md records their exact paths. No notifications, subscriptions, bookings, refunds or account mutations are implemented.
Recipes
Itinerary impact
jr-east-status-pp-cli impact --lines kanto:yamanoteline,kanto:sobuline --agent
Compare selected lines with coverage and timestamps.
Compact line discovery
jr-east-status-pp-cli lines --region kanto --query Narita --agent --select id,name_ja,name_en
Keep only line identifiers and bilingual names.
Published certificate
jr-east-status-pp-cli certificates --line yamanoteline --agent
Follow published links; delay is a route maximum.
Planned closure
jr-east-status-pp-cli planned --line koumiline --region kanto --agent
Inspect scheduled-work evidence and official handoff.