From 34211e848b3ba09429111b88e0235991378c1f0a Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Wed, 9 Sep 2026 02:03:46 +0200 Subject: [PATCH] fix(ui): align contextual documentation with headings Verified with the coordinated workspace changes by devkit full run 2026-09-08T225814-186389-0000-3e3ed7cd (all seven phases passed). This shared UI pass does not mark the individual module reviews complete. --- src/govoplan_forms_runtime/backend/manifest.py | 5 +++++ webui/src/features/forms/FormInstancePage.tsx | 7 ++++--- webui/src/features/forms/FormsRuntimePage.tsx | 3 ++- webui/src/i18n/generatedTranslations.ts | 4 ++++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/govoplan_forms_runtime/backend/manifest.py b/src/govoplan_forms_runtime/backend/manifest.py index ff602e0..8a74ff7 100644 --- a/src/govoplan_forms_runtime/backend/manifest.py +++ b/src/govoplan_forms_runtime/backend/manifest.py @@ -568,6 +568,8 @@ manifest = ModuleManifest( title="Complete and manage Forms", summary="Save permitted drafts, submit validated values, and retain exact definition and handoff evidence.", body=( + "Documentation books sit beside Forms runtime or Form instance. Editing guidance is beside " + "the displayed form title while the instance is editable; field help stays with its label. " "Every instance resolves one immutable published Form revision. Draft and final values are validated on the server; final submission also enforces attachment, signature, and policy requirements. " "Service launches retain the exact Service and binding. Native Case and Workflow handoffs persist intent before execution, use owner capabilities with stable provider keys, and require reconciliation after unknown outcomes. History, receipts, and handoffs are replay-safe and optimistic-concurrency guarded." " Invitation and explicitly enabled anonymous intake use hash-only expiring tokens, bounded rate limits, and isolated synthetic actors. Authenticated assisted sessions retain channel, affected and represented parties, authority, purpose, notice, responsible function, language, accessibility needs, and field provenance without bypassing the exact Form rules. Submission requires immutable read-back evidence bound to the current revision, values, attachments, and signatures; any later draft edit invalidates it. Administrators can configure applicant status per exact Form revision as authenticated-only, a short-lived link sent to a matching Form email, or a non-expiring public link. Status projections expose only a bounded lifecycle timeline and receipt reference, never Form values, actors, evidence, internal notes, or handoff details. Files-backed attachments use one-time purpose-bound grants, while authenticated acknowledgements bind an exact actor and payload digest without claiming advanced or qualified signature assurance. When Search is enabled, Forms Runtime contributes a rebuildable metadata-only projection; submitted values and evidence content are excluded, and every candidate receives a current workspace or participant access check." @@ -625,6 +627,9 @@ manifest = ModuleManifest( "Zulässige Entwürfe speichern, validierte Werte einreichen und exakte Definitions- und Übergabenachweise bewahren." ), "body": ( + "Dokumentationsbücher stehen neben Formularlaufzeit oder Formularinstanz. Solange die Instanz " + "bearbeitbar ist, steht die Bearbeitungshilfe neben dem angezeigten Formulartitel; Feldhilfe " + "bleibt bei der Feldbezeichnung. " "Jede Instanz löst genau eine unveränderliche veröffentlichte Formularrevision auf. Entwurfs- und Endwerte " "werden auf dem Server validiert; die endgültige Einreichung erzwingt zusätzlich Anforderungen an Anlagen, " "Signaturen und Regeln. Service-Aufrufe bewahren den exakten Service und seine Bindung. Native Übergaben an " diff --git a/webui/src/features/forms/FormInstancePage.tsx b/webui/src/features/forms/FormInstancePage.tsx index 229fc41..942ea15 100644 --- a/webui/src/features/forms/FormInstancePage.tsx +++ b/webui/src/features/forms/FormInstancePage.tsx @@ -8,6 +8,7 @@ import { ActionBlockerHint, DescriptionList, Dialog, DocumentationHelpLink, + TextWithHelp, DismissibleAlert, FileDropZone, FormField as CoreFormField, @@ -397,6 +398,8 @@ export default function FormInstancePage({ settings, auth }: PlatformRouteContex
} scope="workspace" variant="detail" refreshable @@ -416,7 +419,6 @@ export default function FormInstancePage({ settings, auth }: PlatformRouteContex File in eAkte : undefined} - helpAction={} /> {error && @@ -446,7 +448,7 @@ export default function FormInstancePage({ settings, auth }: PlatformRouteContex
-

{localized.title}

+ : undefined}>

{localized.title}

{localized.description &&

{localized.description}

}
{assisted && @@ -553,7 +555,6 @@ export default function FormInstancePage({ settings, auth }: PlatformRouteContex } {editable &&
- {canSave &&