Require invited login and private downloads for the company pilot
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
This commit is contained in:
parent
56bf193193
commit
b7d7828f30
27 changed files with 584 additions and 111 deletions
|
|
@ -8,7 +8,7 @@ status: blocked
|
|||
owner: the-custodian
|
||||
topic_slug: vergabe-teilnahme
|
||||
created: "2026-09-08"
|
||||
updated: "2026-09-08"
|
||||
updated: "2026-09-11"
|
||||
related: [HFACT-WP-0001, REUSE-WP-0022]
|
||||
state_hub_workstream_id: "27a95f7b-cec4-50ca-8383-c1c95d996217"
|
||||
---
|
||||
|
|
@ -69,8 +69,7 @@ state_hub_task_id: "6e428152-aad6-5184-8b1d-8860ec0b9ae6"
|
|||
Coordinator: the-custodian; product acceptance: Bernd Worsch; deployment owner:
|
||||
railiance-apps and admitted Railiance placement owner. Prepare exact chart/image,
|
||||
host, tenant, credential binding, existing-data disposition, backup/restore,
|
||||
rollback and UI acceptance evidence before release. Use an isolated internal
|
||||
pilot first; existing `vergabe_db` is not test data and must not be relocated or
|
||||
rollback and UI acceptance evidence before release. Use the invited single-company pilot in VERGABE-WP-0019; existing `vergabe_db` is not test data and must not be relocated or
|
||||
overwritten implicitly. No customer-ready claim until admitted release passes.
|
||||
Return the release and consumer evidence to HFACT-WP-0001-T06/T07.
|
||||
|
||||
|
|
@ -107,3 +106,14 @@ T01/T02 are done; the workplan is blocked on T03's admitted customer release.
|
|||
HFACT-WP-0001 consumes the source and artifact receipts without claiming a
|
||||
current governed worker run. Forgejo PR 1 metadata needs its authenticated
|
||||
`manually-merged` receipt; source integration itself is verified on main.
|
||||
|
||||
|
||||
## Invited-pilot sequencing decision — 2026-09-11
|
||||
|
||||
The user selected an invited pilot with manual onboarding and deferred pricing.
|
||||
VERGABE-WP-0019 owns concrete product readiness; RAPPS-WP-0014 owns deployment
|
||||
and recovery. Their preparation can advance independently of T03's governed
|
||||
worker dependency. This record continues to own factory-produced delivery
|
||||
acceptance, so a manually prepared customer pilot cannot falsely close HFACT
|
||||
worker proof. The old main-fa9f082 image predates the required login gate and
|
||||
must not be used as the invited-pilot release merely because its CI passed.
|
||||
|
|
|
|||
109
workplans/VERGABE-WP-0019-invited-company-pilot.md
Normal file
109
workplans/VERGABE-WP-0019-invited-company-pilot.md
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
---
|
||||
id: VERGABE-WP-0019
|
||||
type: workplan
|
||||
title: "Admit the first invited company pilot with protected access and recoverable data"
|
||||
domain: communication
|
||||
repo: vergabe-teilnahme
|
||||
status: active
|
||||
owner: the-custodian
|
||||
topic_slug: vergabe-teilnahme
|
||||
created: "2026-09-11"
|
||||
updated: "2026-09-11"
|
||||
related: [VERGABE-WP-0018, RAPPS-WP-0014, HFACT-WP-0001]
|
||||
---
|
||||
|
||||
# Invited company pilot
|
||||
|
||||
## Confirm the bounded customer milestone
|
||||
|
||||
```task
|
||||
id: VERGABE-WP-0019-T01
|
||||
status: done
|
||||
priority: high
|
||||
assignee: the-custodian
|
||||
```
|
||||
|
||||
User decision on 2026-09-11: start with an invited pilot, one company and several
|
||||
users, manually onboarded. Pricing is a later improvement and is not an entry
|
||||
gate. Use the existing single-company product: each admitted company has an
|
||||
isolated deployment, database and data volumes. All active company members can
|
||||
collaborate on the company's tenders; the existing v1 domain approval roles
|
||||
remain descriptive. Django staff/superuser administration remains restricted.
|
||||
External partners remain data objects. No public registration or shared-app
|
||||
multitenancy is introduced.
|
||||
|
||||
Product readiness proceeds alongside the governed factory runtime. It does not
|
||||
wait for the fourteen-day factory value study. VERGABE-WP-0018-T03 retains the
|
||||
separate claim that the factory can produce and deliver the customer release;
|
||||
HFACT-WP-0001-T05 still needs a natural governed worker trace.
|
||||
|
||||
## Require invited access across the UI and uploaded documents
|
||||
|
||||
```task
|
||||
id: VERGABE-WP-0019-T02
|
||||
status: done
|
||||
priority: high
|
||||
assignee: the-custodian
|
||||
```
|
||||
|
||||
Use Django's default-deny login middleware with explicit health/login exemptions,
|
||||
German login and password-change forms, CSRF-protected POST logout, and full-page
|
||||
reauthentication for expired HTMX sessions. Protect uploaded files in production
|
||||
and development, serve private attachments only within MEDIA_ROOT, and keep
|
||||
operational issue state outside that downloadable root. Do not cache company
|
||||
responses. Inactive users lose existing session access; ordinary members do not
|
||||
gain Django administration privileges.
|
||||
|
||||
The 12 access regressions initially produced 9 failures, including actual
|
||||
anonymous tender read/create. After the fix all 94 application tests pass
|
||||
locally and in the existing container target; Vite assets build, 139 static
|
||||
files collect, and migration drift is absent. New/changed access modules pass
|
||||
Ruff. Source acceptance is not native customer admission.
|
||||
|
||||
## Publish and prove the isolated deployment and recovery contract
|
||||
|
||||
```task
|
||||
id: VERGABE-WP-0019-T03
|
||||
status: progress
|
||||
priority: high
|
||||
assignee: the-custodian
|
||||
depends_on: [VERGABE-WP-0019-T02, RAPPS-WP-0014-T02, RAPPS-WP-0014-T03]
|
||||
```
|
||||
|
||||
RAPPS-WP-0014 owns exact image/chart/host/namespace/database/Secret binding,
|
||||
persistent media plus distinct issue-facade state, isolated restore rehearsal,
|
||||
and rollback. The customer app owns live CI and immutable release evidence.
|
||||
Obtain the exact company, user count, hostname and empty-vs-existing data choice
|
||||
from the user; no password or user list is required in public work records.
|
||||
The historical vergabe_db is not disposable and must not be overwritten.
|
||||
|
||||
On 2026-09-11 the checked Railiance cluster contains neither the historical
|
||||
vergabe-teilnahme namespace nor any Deployment whose name/image contains
|
||||
vergabe/teilnahme. Treat the old runbook as historical intent, not a live return.
|
||||
Native placement and existing data inventory remain required before cutover.
|
||||
|
||||
## Accept onboarding, collaboration, recovery and support with pilot users
|
||||
|
||||
```task
|
||||
id: VERGABE-WP-0019-T04
|
||||
status: wait
|
||||
priority: high
|
||||
assignee: the-custodian
|
||||
depends_on: [VERGABE-WP-0019-T03]
|
||||
blocking_reason: "Await admitted company deployment, immutable release and demonstrated restore; company/host/data selection is pending."
|
||||
```
|
||||
|
||||
Product acceptance: Bernd Worsch and the named company contact. Verify two
|
||||
separate ordinary-user accounts can sign in, change passwords, create a tender
|
||||
and lot, collaborate on tasks, upload/download a document, record a v1 domain
|
||||
approval and submission, and report feedback. Verify anonymous access and a
|
||||
revoked user fail, health remains available, and pod replacement preserves all
|
||||
three data stores. Restore a backup into an isolated destination and repeat the
|
||||
workflow without touching the live database. Record operator/support contact,
|
||||
incident route, backup cadence/retention and demonstrated recovery time. Use
|
||||
manual account creation/reset/deactivation through the admitted operator path;
|
||||
never seed development accounts or put credentials in logs/workplans/chat.
|
||||
|
||||
A successful invited pilot does not claim shared multitenancy, paid subscriptions,
|
||||
HA or autonomous production release. Pricing is outside this milestone and will
|
||||
need a later explicit product decision.
|
||||
Loading…
Add table
Add a link
Reference in a new issue