From f606a95825b8e230de537fcdb008eca257ca7f4b Mon Sep 17 00:00:00 2001 From: ciotlosm Date: Tue, 14 Jul 2026 09:25:11 +0300 Subject: [PATCH] feat(dev): restructure adapters section - rename contract, fold speed under per-feed defaults, rename Cluj heading to Adapter list --- developers/index.html | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/developers/index.html b/developers/index.html index 3155d4f..d11040d 100644 --- a/developers/index.html +++ b/developers/index.html @@ -759,7 +759,7 @@

Infrastructure

Adapters

Every per-feed decision lives in an adapter package. The generic publisher has zero per-feed code; the source reconciliation, the per-feed validations, and the extensions that don't fit the public spec all sit inside one operator's adapter. The contract is the same for every adapter; the per-feed logic is whatever that feed needs.

-

The contract

+

Adapter contract

Three subpaths, all dynamic-imported by the orchestrator. An adapter is just a published npm package that exposes them.

@@ -781,8 +781,8 @@

One contract, many implementations

-

Speed and busy hours, per feed

-

For each feed we publish pre-configured speed profiles (peak / off-peak / night) and busy windows. The static pipeline uses them to propagate schedules to intermediate stops when the upstream feed only publishes terminals - no more "the bus magically teleports between two published times".

+

Per-feed defaults

+

Each adapter ships its own speed profiles (peak / off-peak / night) and busy windows in config.json. The static pipeline uses them to propagate schedules to intermediate stops when the upstream feed only publishes terminals — no more "the bus magically teleports between two published times".

Cluj-Napoca · timing

@@ -803,9 +803,11 @@

Cluj-Napoca · timing

+

Adapter list

+
-

Cluj-Napoca

+
Cluj-Napoca
CTP Cluj-Napoca

The most complete adapter so far, shown here so the per-feed shape is concrete. To add a new adapter, copy the cluj-napoca package, replace the per-feed logic, and ship a new feeds/<city>/config.json entry in n3ary/gtfs-publisher. The cards below list what this one does.