fix: select existing tenants by name in the operator portal
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Build and Publish Container Image / build-and-push (push) Successful in 49s

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
This commit is contained in:
tegwick 2026-09-12 00:51:57 +02:00
parent 3758a4bb5e
commit d177d47975
8 changed files with 127 additions and 13 deletions

View file

@ -43,10 +43,10 @@ page explaining the remaining shared sign-in session. Expired sessions may clear
their stale cookie without affecting another session. This is portal logout;
provider-wide sign-out/account switching remains the explicit next task below.
Validation: make test passes (175 tests, three optional integration skips) and
layer conformance passes. Six regressions cover operator access without membership,
ordinary-user denial, navigation isolation, logout CSRF, session invalidation and
expired-session cleanup. Eight local Chromium checks pass for operator guidance, navigation to tenant
Validation: make test passes (177 tests, three optional integration skips) and
layer conformance passes. Eight regressions cover operator access without membership,
ordinary-user denial, navigation isolation, logout CSRF, session invalidation,
expired-session cleanup, short-name resolution and ambiguous-name refusal. Ten local Chromium checks pass for operator guidance, navigation to tenant
users, mobile navigation, visible logout, session cookie removal and denied
access after logout. Immutable image promotion and native verification are T02.
@ -56,6 +56,7 @@ access after logout. Immutable image promotion and native verification are T02.
id: USER-WP-0025-T02
status: progress
priority: high
needs_human: false
state_hub_task_id: "67e2feca-ffcd-55a0-b0ce-2bab43c862e4"
```
@ -67,6 +68,27 @@ native operator navigation/logout when the operator is available. Deployment
restarts invalidate the portal's in-memory sessions, so provide the sign-in URL.
Actual demo-user Create login and password setup remain RAPPS-WP-0014-T02.
Release deployed on 2026-09-12: source 655dce7165eace6374da8a58e6a20a826f1a1a51,
Forgejo smoke 119 and publication 120 succeeded. Runtime now pins
forgejo.coulomb.social/coulomb/user-engine@sha256:38e110b0e30edc56900f8adea2da9c720e271f73543ff73ac905106308ac2f4d
with 1/1 Ready at unchanged 50m CPU/64Mi memory requests. The exact UID,
resourceVersion and previous image were tested before the image-only patch;
server dry-run and rollout succeeded. Public health and readiness return 200,
/logged-out serves the new scoped explanation, and unauthenticated tenant
administration remains 403. Local Chromium passed eight synthetic UI checks.
The operator confirmed native login and logout work on 2026-09-12. Tenant
selection then triggered browser format validation. The follow-up adds clickable
tenant names from the distinct membership index and accepts a unique short name
for lookup, retaining exact identifiers for ambiguity. This index is User
Engine membership data, not a complete Tenant Engine inventory. Unknown and
ambiguous names return inline guidance without guessing a tenant or changing
memberships. Known-tenant selection appears before tenant creation.
Follow-up validation: 177 tests (three optional skips), layer conformance and ten
local Chromium checks pass. The browser submits demo-company without a pattern
error and reaches its users; direct name selection works too. Publication,
promotion and native tenant-selection confirmation follow in this task.
## Coordinate provider-wide sign-out and account switching
```task