gsxdsm
e0e395a715
FN-8365: enforce dashboard route registrar mount order
Keep dashboard API registration modular while preserving Express route precedence.
- Route all top-level dashboard registrars through a runtime-checked canonical mount sequence
- Add mount-order and inline-route-ratchet coverage with CI enforcement
- Document registrar ownership and mount-order conventions
Files changed:
.github/workflows/pr-checks.yml | 3 +
AGENTS.md | 2 +
package.json | 5 +-
packages/dashboard/src/routes.ts | 136 +++++-----
packages/dashboard/src/routes/README.md | 276 ++++++++++-----------
packages/dashboard/src/routes/__tests__/create-api-routes-mount-order.test.ts | 66 +++++
packages/dashboard/src/routes/create-api-routes-mount-sequence.ts | 54 ++++
scripts/__tests__/check-routes-modular.test.mjs | 28 +++
scripts/check-routes-modular.mjs | 65 +++++
scripts/lib/routes-modular-baseline.json | 3 +
10 files changed, 433 insertions(+), 205 deletions(-)
Fusion-Task-Id: FN-8365
Fusion-Task-Lineage: 9c36a263-ed5e-4524-8ea5-71ed3f3e34d9
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>
2026-07-19 15:53:07 -07:00
..
2026-06-13 10:01:01 -07:00
2026-07-13 19:07:58 -07:00
2026-07-14 23:18:55 -07:00
2026-07-08 00:37:07 -07:00
2026-07-15 08:44:11 -07:00
2026-05-13 22:41:30 -07:00
2026-07-13 23:00:25 -07:00
2026-06-23 23:25:48 -07:00
2026-06-23 23:30:32 -07:00
2026-06-21 00:05:41 -07:00
2026-07-16 10:13:49 -07:00
2026-05-23 19:51:36 -07:00
2026-07-19 14:08:51 -07:00
2026-07-14 08:16:42 -07:00
2026-06-14 15:29:35 -07:00
2026-07-17 09:12:01 -07:00
2026-07-12 21:21:10 -07:00
2026-07-19 15:53:07 -07:00
2026-06-14 15:29:35 -07:00
2026-06-13 19:22:00 -07:00
2026-06-03 20:34:51 -07:00
2026-06-13 10:01:01 -07:00
2026-05-06 15:21:45 -07:00
2026-06-03 19:12:28 -07:00
2026-06-08 15:19:27 -07:00
2026-07-10 13:26:23 -07:00
2026-07-13 01:21:33 -07:00
2026-05-15 12:24:30 -07:00
2026-06-25 11:21:46 -07:00
2026-06-03 21:03:38 -07:00
2026-06-20 04:11:33 -07:00
2026-06-24 19:25:38 -07:00
2026-06-18 16:47:09 -07:00
2026-05-06 17:51:09 -07:00
2026-05-11 06:47:43 -07:00
2026-07-13 19:07:58 -07:00
2026-05-12 17:04:33 -07:00
2026-07-13 19:07:58 -07:00
2026-05-11 06:47:43 -07:00
2026-07-13 19:07:58 -07:00
2026-07-08 09:00:47 -07:00
2026-06-15 02:30:41 -07:00
2026-05-09 13:21:47 -07:00
2026-06-25 21:42:22 -07:00
2026-05-10 15:33:25 -07:00
2026-06-30 08:04:12 -07:00
2026-07-14 23:18:55 -07:00
2026-07-19 00:10:02 -07:00
2026-07-03 07:47:03 -07:00
2026-05-07 18:08:08 +02:00
2026-06-25 17:04:30 -07:00
2026-07-02 11:38:32 -07:00
2026-07-03 22:04:45 -07:00
2026-05-05 13:25:02 -07:00
2026-06-19 05:13:39 -07:00