Repository navigation
feat(admin): organize Data, Transit and privacy workspaces (stage D) - #786
Merged
Merged
Conversation
Medformatik
force-pushed
the
feat/admin-ux-stage-c
branch
from
November 5, 2026 15:00
fd1fda9 to
fc85e3f
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-d
branch
2 times, most recently
from
November 5, 2026 15:18
1c02427 to
d99297d
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-c
branch
2 times, most recently
from
November 5, 2026 15:41
3716f93 to
c48386b
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-d
branch
2 times, most recently
from
November 5, 2026 16:17
321dae6 to
03bddc9
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-c
branch
from
November 5, 2026 16:17
c48386b to
614a691
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-d
branch
from
November 5, 2026 16:35
03bddc9 to
707ac13
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-c
branch
2 times, most recently
from
November 5, 2026 17:11
3f8d3fb to
6830d42
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-d
branch
2 times, most recently
from
November 5, 2026 17:23
10b7553 to
31e2f44
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-c
branch
from
November 5, 2026 17:23
6830d42 to
6ada5f2
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-d
branch
from
November 5, 2026 17:59
31e2f44 to
df812b6
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-c
branch
from
November 5, 2026 17:59
6ada5f2 to
0bb0e0a
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-d
branch
from
November 5, 2026 19:52
df812b6 to
1905084
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-c
branch
2 times, most recently
from
November 5, 2026 20:49
40a6e7a to
a406cee
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-d
branch
2 times, most recently
from
November 5, 2026 22:01
1b6329d to
c12f761
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-c
branch
from
November 5, 2026 22:01
a406cee to
28ef612
Compare
Medformatik
marked this pull request as ready for review
November 6, 2026 05:43
Medformatik
force-pushed
the
feat/admin-ux-stage-c
branch
from
November 6, 2026 05:48
28ef612 to
9361938
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-d
branch
from
November 6, 2026 05:48
c12f761 to
4b99e4a
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-c
branch
from
November 6, 2026 06:49
9361938 to
bba62e2
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-d
branch
from
November 6, 2026 06:49
4b99e4a to
5e72873
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-c
branch
from
November 6, 2026 07:47
bba62e2 to
f7f344b
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-d
branch
from
November 6, 2026 07:47
5e72873 to
1e462aa
Compare
Medformatik
force-pushed
the
feat/admin-ux-stage-d
branch
from
November 6, 2026 09:02
1e462aa to
94a4777
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Data now opens as a directory with focused OSM, Overture, Search & places, Transit, Coverage, Prepared transfers and Advanced operations workspaces. Only the opened domain mounts its status queries. Launchers open one existing schema-driven form; previews, destructive confirmations, specialized recovery actions and exact job links remain intact.
Transit has addressable Sources, Catalog, Credentials, Pipeline and Mobility tabs. A completed matching credential reauthentication returns to its reviewed actor/origin-scoped intent without replaying a write. Privacy cases are addressable independently of queue membership, with capability-based sections, visible denial/conflict reasons, bounded events and a narrow-screen case selector. History-driven case changes clear pending delivery; a missing case on reauth return restores it.
Stack: #782 → #784 → #785 → Stage D. Base is
feat/admin-ux-stage-c.Before: the Data monolith mounts acquisition forms together.
After: a directory that reads the aggregate inventory without polling every family.
OSM: one addressed operation form alongside inventory and unknown-evidence states.
Transit: desired acquisition is distinct from active publication.
Prepared artifact transfer has its own destination and retains bounded transfer controls.
Before: privacy readiness and case forms share a long page.
After: concise readiness, due/state header and addressable capability-based case sections.
390px dark layout with a case selector in place of the side queue.
Privacy administrators receive contact guidance without settings links, admin search or the job tray.
Hosted Data offers only available Transit and Coverage destinations.
ops-agent Data topics are hidden on hosted deployments and direct URLs explain their unavailability. Privacy casework names each blocked readiness check, including for privacy administrators without setup access. Completed/canceled Transit credential continuations retire when leaving their tab. Canonical destination links in the administration docs were updated.
Local verification: 109 focused admin/route/library and fixture files (887 tests), workspace TypeScript checks, lint, the documentation build and the production web build passed. A later complete serial portable run passed 26,816 tests with 785 skipped; its only failure was an owned Biome formatter stuck on stdin, which was terminated after about 40 minutes. The entire affected six-test Entur file then passed separately. That full run remains recorded as failed; no assertion or timeout was relaxed. Each PR’s current-head CI is the final Linux and database gate.
Screenshots show the hydrated production Next app against a synthetic loopback API that never forwards requests. Before views use archived main
1a7daf60; its isolated preview required dependency-root/type-check accommodations for duplicated package paths, and is visual evidence only. Final product builds and type checks were not bypassed. Additional narrow-layout checks used doubled root text size, not native browser zoom. No real host, data, privacy, email or credential mutation was performed; native-device and production acceptance are not established.A direct host-only Data URL explains availability and links to Transit and Coverage.
CI follow-up: the required Linux deployment-user gate now runs its complete suite selection with one Vitest file worker, reducing competition between filesystem-heavy fixtures. Its 578 discovered files, UID 1001, umask 002, pinned Node image, test and hook timeouts, runtime deadlines and strict aggregate checks are preserved. Concurrency inside each case stays intact; failures are not retried. CI records the serial execution time in the Linux gate under its existing 30-minute job budget.
The new workflow contract failed before the worker flag and passed after it. All 58 related CI contract tests, exact before/after file-set comparison, lint and the documentation build pass locally. Opus reviewed the plan and concrete patch as READY; both wording nits were corrected.