2 Commits
Author SHA1 Message Date
zemion 26ec2ca5a9 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.
2026-09-09 02:03:34 +02:00
zemion f2d7b9b29a docs: complete German structured documentation
Module Package Release / publish-packages (push) Successful in 11s
2026-08-24 01:15:31 +02:00
6 changed files with 59 additions and 11 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@govoplan/audit-webui",
"version": "0.1.19",
"version": "0.1.20",
"private": true,
"type": "module",
"main": "webui/src/index.ts",
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "govoplan-audit"
version = "0.1.19"
version = "0.1.20"
description = "GovOPlaN audit platform module."
readme = "README.md"
requires-python = ">=3.12"
@@ -0,0 +1,32 @@
"""German translations for public structured documentation metadata."""
from __future__ import annotations
from typing import Any
GERMAN_STRUCTURED_TRANSLATIONS: dict[str, dict[str, Any]] = {'audit.data-subject-requests': {'consequence_classes': {'export_actor_evidence': 'Retouren '
'minimierten die '
'Attribution von '
'handelnde '
'Personenn und '
'stabile '
'Referenzen, '
'niemals '
'willkürliche '
'Beweisnutzlasten.',
'retain_audit_evidence': 'Hält '
'unveränderliche '
'Nachweise unter '
'konfigurierten '
'Aufbewahrungs- '
'und '
'Legal-Hold-Richtlinien.'}},
'audit.evidence-bundles': {'verification': ['Bestätigen Sie, dass der angeforderte Datenumfang '
'vor dem Export vollständig und begrenzt ist.',
'Überprüfen Sie kanonische Hashes offline und liefern '
'Sie bei Bedarf vertrauenswürdige Schlüssel oder '
'referenzierte Nachweise.',
'Behandeln Sie fehlende externe Nachweise, nicht '
'verifizierbare Referenzen und Hash-Mismatches als '
'unterschiedliche Ergebnisse.']}}
+19 -3
View File
@@ -1,5 +1,8 @@
from __future__ import annotations
from govoplan_core.core.modules import with_documentation_structured_translations
from govoplan_audit.backend.german_structured_documentation import GERMAN_STRUCTURED_TRANSLATIONS
from pathlib import Path
from govoplan_audit.backend.db import models as audit_models # noqa: F401 - populate Audit ORM metadata
@@ -74,7 +77,7 @@ def _dsar_provider(_context: ModuleContext) -> AuditDsarProvider:
manifest = ModuleManifest(
id="audit",
name="Audit",
version="0.1.19",
version="0.1.20",
permissions=AUDIT_PERMISSIONS,
role_templates=AUDIT_ROLE_TEMPLATES,
required_capabilities=(
@@ -150,7 +153,9 @@ manifest = ModuleManifest(
id="audit.read-authorized-evidence",
title="Read authorized audit evidence",
summary="Audit history explains who performed a governed action, when it happened, and which resource and trace context were involved.",
body="Audit views are permission- and tenant-scoped. Entries are evidence, not editable business records. Sensitive payloads may be redacted while stable resource, actor, outcome, request, run, and trace references remain available for investigation.",
body="Open the documentation book beside the audit heading to understand the displayed evidence "
"and its access boundary. "
"Audit views are permission- and tenant-scoped. Entries are evidence, not editable business records. Sensitive payloads may be redacted while stable resource, actor, outcome, request, run, and trace references remain available for investigation.",
documentation_types=("user",),
audience=("auditor", "tenant_admin", "operator"),
translations={
@@ -158,6 +163,8 @@ manifest = ModuleManifest(
"title": "Berechtigte Audit-Nachweise lesen",
"summary": "Der Audit-Verlauf erklärt, wer eine gesteuerte Handlung wann ausgeführt hat und welche Ressourcen- und Trace-Zusammenhänge beteiligt waren.",
"body": (
"Öffnen Sie das Dokumentationsbuch neben der Audit-Überschrift, um die angezeigten Nachweise "
"und ihre Zugriffsgrenzen zu verstehen. "
"Audit-Ansichten sind nach Berechtigung und Mandant begrenzt. Einträge sind Nachweise und keine bearbeitbaren Fachdaten. "
"Sensible Nutzdaten können geschwärzt sein, während stabile Verweise auf Ressource, Akteur, Ergebnis, Anfrage, Lauf und Trace für Untersuchungen verfügbar bleiben."
),
@@ -177,7 +184,9 @@ manifest = ModuleManifest(
id="audit.recording-retention-and-outbox",
title="Operate audit recording and event delivery",
summary="Audit owns durable audit records, retention operations, and the transactional platform-event outbox.",
body="Modules record bounded audit facts through the Audit capability. Governed platform events are committed to the outbox with retry and delivery metadata so a failed consumer does not erase the originating transaction. Worker dispatch is partitioned by tenant entitlement; an unavailable consumer retains its durable delivery and records an operator-required outcome instead of acknowledging the event. Retention and destructive retirement must preserve the configured evidence and recovery guarantees.",
body="Open the documentation book beside the audit heading to understand the displayed evidence "
"and its access boundary. "
"Modules record bounded audit facts through the Audit capability. Governed platform events are committed to the outbox with retry and delivery metadata so a failed consumer does not erase the originating transaction. Worker dispatch is partitioned by tenant entitlement; an unavailable consumer retains its durable delivery and records an operator-required outcome instead of acknowledging the event. Retention and destructive retirement must preserve the configured evidence and recovery guarantees.",
documentation_types=("admin",),
audience=("auditor", "security_officer", "operator"),
related_modules=("policy", "ops"),
@@ -186,6 +195,8 @@ manifest = ModuleManifest(
"title": "Audit-Aufzeichnung, Aufbewahrung und Ereigniszustellung betreiben",
"summary": "Audit verwaltet dauerhafte Audit-Datensätze, Aufbewahrungsvorgänge und die transaktionale Plattformereignis-Outbox.",
"body": (
"Öffnen Sie das Dokumentationsbuch neben der Audit-Überschrift, um die angezeigten Nachweise "
"und ihre Zugriffsgrenzen zu verstehen. "
"Module zeichnen begrenzte Audit-Fakten über die Audit-Fähigkeit auf. Gesteuerte Plattformereignisse werden zusammen mit Wiederholungs- und Zustellmetadaten in die Outbox übernommen, sodass ein ausgefallener Verbraucher die ursprüngliche Transaktion nicht auslöscht. "
"Die Worker-Zustellung wird nach Mandantenberechtigung getrennt; ein nicht verfügbarer Verbraucher behält seine dauerhafte Zustellung und erfasst ein Ergebnis, das einen betrieblichen Eingriff verlangt, statt das Ereignis zu bestätigen. "
"Aufbewahrung und destruktive Ausmusterung müssen die konfigurierten Nachweis- und Wiederherstellungsgarantien erhalten."
@@ -324,5 +335,10 @@ manifest = ModuleManifest(
)
manifest = with_documentation_structured_translations(
manifest, locale="de", translations=GERMAN_STRUCTURED_TRANSLATIONS
)
def get_manifest() -> ModuleManifest:
return manifest
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@govoplan/audit-webui",
"version": "0.1.19",
"version": "0.1.20",
"private": true,
"type": "module",
"main": "src/index.ts",
+5 -5
View File
@@ -208,6 +208,11 @@ export default function AdminAuditPanel({ settings, auth, systemMode = false }:
<>
<AdminPageLayout
title={systemMode ? I18N.systemAudit : I18N.tenantAudit}
titleHelp={<DocumentationHelpLink
reference={{
topicId: "audit.read-authorized-evidence",
documentationType: "user"
}} />}
description={pageDescription}
loading={loading}
error={error}
@@ -221,11 +226,6 @@ export default function AdminAuditPanel({ settings, auth, systemMode = false }:
{I18N.exportEvidence}
</Button>
)}
<DocumentationHelpLink
reference={{
topicId: "audit.read-authorized-evidence",
documentationType: "user"
}} />
<Button
onClick={() => setReloadToken((value) => value + 1)}
disabled={loading}