Skip to content

feat(admin): organize Data, Transit and privacy workspaces (stage D) - #786

Merged
Medformatik merged 3 commits into
mainfrom
feat/admin-ux-stage-d
Nov 6, 2026
Merged

Medformatik merged 3 commits into
mainfrom
feat/admin-ux-stage-d

Conversation

@Medformatik

@Medformatik Medformatik commented Nov 5, 2026 •

Copy link
Copy Markdown
Collaborator

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.

Before Data workflows

After: a directory that reads the aggregate inventory without polling every family.

Data directory

OSM: one addressed operation form alongside inventory and unknown-evidence states.

OSM workspace

Transit: desired acquisition is distinct from active publication.

Transit sources

Prepared artifact transfer has its own destination and retains bounded transfer controls.

Prepared transfers

Before: privacy readiness and case forms share a long page.

Before privacy casework

After: concise readiness, due/state header and addressable capability-based case sections.

Privacy casework

390px dark layout with a case selector in place of the side queue.

Privacy mobile dark

Privacy administrators receive contact guidance without settings links, admin search or the job tray.

Privacy role

Hosted Data offers only available Transit and Coverage destinations.

Hosted Data

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.

Hosted Data direct URL

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.

@Medformatik Medformatik added the javascript Pull requests that update javascript code label Nov 5, 2026
@Medformatik Medformatik self-assigned this Nov 5, 2026
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-c branch from fd1fda9 to fc85e3f Compare November 5, 2026 15:00
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-d branch 2 times, most recently from 1c02427 to d99297d Compare November 5, 2026 15:18
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-c branch 2 times, most recently from 3716f93 to c48386b Compare November 5, 2026 15:41
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-d branch 2 times, most recently from 321dae6 to 03bddc9 Compare November 5, 2026 16:17
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-c branch from c48386b to 614a691 Compare November 5, 2026 16:17
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-d branch from 03bddc9 to 707ac13 Compare November 5, 2026 16:35
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-c branch 2 times, most recently from 3f8d3fb to 6830d42 Compare November 5, 2026 17:11
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-d branch 2 times, most recently from 10b7553 to 31e2f44 Compare November 5, 2026 17:23
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-c branch from 6830d42 to 6ada5f2 Compare November 5, 2026 17:23
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-d branch from 31e2f44 to df812b6 Compare November 5, 2026 17:59
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-c branch from 6ada5f2 to 0bb0e0a Compare November 5, 2026 17:59
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-d branch from df812b6 to 1905084 Compare November 5, 2026 19:52
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-c branch 2 times, most recently from 40a6e7a to a406cee Compare November 5, 2026 20:49
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-d branch 2 times, most recently from 1b6329d to c12f761 Compare November 5, 2026 22:01
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-c branch from a406cee to 28ef612 Compare November 5, 2026 22:01
@Medformatik
Medformatik marked this pull request as ready for review November 6, 2026 05:43
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-c branch from 28ef612 to 9361938 Compare November 6, 2026 05:48
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-d branch from c12f761 to 4b99e4a Compare November 6, 2026 05:48
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-c branch from 9361938 to bba62e2 Compare November 6, 2026 06:49
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-d branch from 4b99e4a to 5e72873 Compare November 6, 2026 06:49
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-c branch from bba62e2 to f7f344b Compare November 6, 2026 07:47
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-d branch from 5e72873 to 1e462aa Compare November 6, 2026 07:47
Base automatically changed from feat/admin-ux-stage-c to main November 6, 2026 09:00
@Medformatik
Medformatik force-pushed the feat/admin-ux-stage-d branch from 1e462aa to 94a4777 Compare November 6, 2026 09:02
@Medformatik
Medformatik merged commit 61b5b82 into main Nov 6, 2026
28 checks passed
@Medformatik
Medformatik deleted the feat/admin-ux-stage-d branch November 6, 2026 10:37
@github-actions github-actions Bot locked and limited conversation to collaborators Nov 6, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant