grm-detection.json: current/history handle mentions and replies,
plus the configured broad-name searches, all date-filtered.| Agency | X handle | City | Broad search terms |
|---|---|---|---|
| MTC Chennai | @MtcChennai was: @mtc_chennai | Chennai | MTC Chennai bus, MTC bus, MTC tracking, MTC live tracking |
| CMRL (Chennai Metro) | @cmrlofficial was: @cmrlchennai | Chennai | Chennai Metro, CMRL metro |
| Chennai Suburban & MRTS (SR) | @DrmChennai was: @drmsrchennai | Chennai | Chennai suburban train, Chennai MRTS |
| CUMTA | @CumtaOfficial was: @CumtaChennai | Chennai | CUMTA Chennai transit |
| TNSTC (statewide) | @tnstc_setc was: @TNSTCofficial | Tamil Nadu | TNSTC bus, TNSTC service |
| SETC | @tnstc_setc was: @setc_coach | Tamil Nadu | SETC bus, SETC coach |
| BEST Mumbai | @myBESTBus | Mumbai | BEST Mumbai bus, Mumbai BEST bus |
| BMTC Bengaluru | @BMTC_BENGALURU | Bengaluru | BMTC Bengaluru bus, BMTC bus |
| DTC Delhi | @dtchq_delhi was: @dtc_india | Delhi | DTC Delhi bus, Delhi DTC bus |
| KSRTC Kerala | @keralasrtc was: @KSRTC_Kerala | Kerala | Kerala KSRTC bus, KSRTC Kerala bus |
Detection improves through three published artifacts, all in the
repo's detection/ folder:
grm-detection.json: the watchlist,
search patterns, include/exclude and reply rules the agent actually executes.CHANGELOG.md: every config change
with the lesson that triggered it.eval-set.json: 13 labeled
complaint posts (5 with known agency replies) plus 3 known-miss drills,
seeded from past audits. After any config change, these must still be detected correctly
before the change ships.Every change to grm-detection.json lands here first:
what changed, the lesson that triggered it, and the eval-set outcome
after the change.
Lesson. Zero-result checks found two bad Chennai
watch entries: @drmsrchennai no longer resolves, while
@DrmChennai is the active Chennai Division account;
@CumtaChennai had no profile/activity evidence, while
@CumtaOfficial identifies as CUMTA and is referenced by
Chennai One. The same checks surfaced an untagged Gummidipoondi–Chennai
Central delay grievance and a Route 105 MTC live-tracking grievance
missed by handle-only searches. A broad TNSTC search also found a
passenger report of a slow TNSTC trip. The account
@tnstc_setc describes itself as TNSTC & SETC, but its
official status is not independently linked from a government site; the
headlight complaint tagged there does not identify the operator.
Change. Repointed Chennai Division and CUMTA to
their currently identified profiles and retained the old entries in
handle_history. Replaced inactive TNSTC/SETC handles with
the shared candidate @tnstc_setc, preserving the prior
handles. Added agency-specific broad search terms and a fourth
{search_term} search pattern so untagged service grievances
are not dependent on a zero-result week. Added an explicit cross-agency
rule: search shared accounts once, assign only when the service/operator
is identified, and otherwise count the incident once as
shared/unassigned. The joint account’s officiality caveat is explicit in
the config.
Detection review. “Live tracking unavailable,” missed stops, pass issuance/refund failures, and slow journeys fit existing categories; no taxonomy or reply-rule change was needed. An official CMRL QR-ticketing notice and its restoration post, suburban derailment news, a general CUMTA criticism, a lane-change question, praise, and posts outside the exact 09:00 IST cutoff were excluded because they were not in-window passenger grievances matching the include rules. Image-led BMTC cases with no visible description are flagged unverified only where BMTC itself acknowledged a complaint. No hourly scheduler data was used.
Eval. Re-checked all 13 labeled complaint cases against the updated watchlist, broad terms, and unchanged inclusion/exclusion rules: every expected agency/category label remains valid. All 3 known-miss drills remain intact: the obsolete Kerala handle returns no results, the MTC legacy handle remains searchable, and praise/feature requests remain excluded. Evaluation set.
Evidence. Chennai Division profile · suburban-delay complaint · Route 105 tracking grievance and reply · CUMTA profile · Chennai One reference · joint TNSTC/SETC profile · TNSTC slow-service complaint · shared headlight complaint.
Lesson. The first audits under-counted Chennai and
read Kerala as silent. Four of the ten watchlist handles were stale:
@mtc_chennai → @MtcChennai,
@cmrlchennai → @cmrlofficial,
@dtc_india → @dtchq_delhi, and
@KSRTC_Kerala was never the Kerala agency at all (it is
@keralasrtc). A week of "no complaints found" was really a
dead watch.
Change. Corrected all four handles; added
handle_history so searches also cover legacy names riders
still tag; added the zero_complaint_check rule — a zero
week for a known-active agency triggers a handle-liveness check before
it can be reported.
Eval. 13 labeled complaint cases + 3 known-miss
drills seeded from the 2026-09-26 and 2026-10-03 audits; all cases
correctly classifiable under v1.1 rules (legacy-tag thread
sibin_91/2105505463530063992 recovered via the reply from
the current handle).
Weekly audit automation created: 10 agencies, 7-day window, complaint/reply detection, "acknowledged is not resolved" reporting rule.