Release govoplan-docs v0.1.23: unify help discovery and batch semantic reads
Module Package Release / publish-packages (push) Successful in 12s

This commit is contained in:
2026-09-08 01:32:36 +02:00
parent 1ae23b4e9d
commit cbe434de02
18 changed files with 842 additions and 81 deletions
+43
View File
@@ -3,6 +3,49 @@
The docs module renders documentation for the current GovOPlaN instance instead
of showing a static product manual.
## Finding and grouping help
The Help Center searches authorized titles, summaries, body text, area names,
and public topic tags. The shared multi-selection list filter uses OR between
selected tags; Select all removes the restriction, Clear all yields no results.
Search results deduplicate semantic topic IDs. Selecting a result clears the
filters and opens its topic.
Topics by area groups each topic under its source module and authorized related
modules. Contributors may add public keyword strings in `metadata.tags` and
additional stable module IDs in `metadata.areas`. The Docs-owned
user projection accepts up to 32 tags of at most 80 characters and 32 explicit
area IDs of at most 255 characters. The
`area_module_ids` response is authoritative: user responses omit related areas
without an actor-visible route, while preserving the topic's source area.
Existing role, tenant, locale, version, and configured-state topic authorization
is unchanged. Tags are public descriptive content, not a place for private
configuration, credentials, or hidden capability names.
Topic IDs identify content; parent-qualified navigation occurrence IDs identify
one position in the tree. `topic` URLs remain supported; a tree click also sets
`occurrence`, so reload highlights and reveals only the selected position.
Expanding a repeated topic never expands its other occurrences.
### Deutsch
Die Suche berücksichtigt berechtigte Titel, Zusammenfassungen, Thementexte,
Bereichsnamen und öffentliche Schlagwörter. Mehrere ausgewählte Schlagwörter
werden mit ODER verknüpft. Alle auswählen entfernt die Einschränkung; Auswahl
aufheben ergibt keine Treffer. Suchergebnisse enthalten jedes Thema einmal.
Die Auswahl eines Treffers setzt die Filter zurück und öffnet das Thema.
Themen nach Bereich ordnet Beiträge dem Quellmodul und berechtigten verwandten
Modulen zu. Modulautoren können öffentliche Stichwörter in `metadata.tags` und
weitere stabile Modulkennungen in `metadata.areas` angeben. Für Benutzer werden
verwandte Bereiche ohne sichtbare Route nicht ausgegeben. Suche und Filter
erweitern niemals die Dokumentationsberechtigung. Zugangsdaten und private
Konfiguration gehören nicht in Schlagwörter.
Ein Thema kann in mehreren Zweigen erscheinen. Eine positionsbezogene Kennung
im Link speichert, welches Vorkommen ausgewählt wurde. Nur dieses Vorkommen
wird hervorgehoben; Aufklappen öffnet nicht zugleich die anderen Fundstellen.
## Inputs
The documentation context is built from:
+15
View File
@@ -29,6 +29,21 @@ Semantic content is bounded plain text. Links must be local absolute paths or HT
Search indexes only published revisions and always requires provider reauthorization before returning a result. Generic public documentation generation reads static manifest topics only, so it cannot include tenant semantic entries. The separately authorized tenant export includes current entries and immutable history and sends `private, no-store`.
Collection/context projection and search authorization load required revisions
in request-local batches of at most 400 identifiers. Read-only projection loads
published content only, never pending draft bodies, and remains available if a
pending draft reference is broken. Editors still receive an explicit error for
an unavailable current revision. Revision tenant, entry, and publication-state
references must agree before content is projected or indexed. An audience
denial is checked before calling the subject provider; an allowed audience does
not replace the provider's current permission checks.
This reduces Docs-owned database round trips without caching authorization
between requests or importing subject-module internals. Owner-provider reads
remain independent. The batch size is not a collection or export limit: complete
semantic catalogues and separately authorized history exports can still require
work proportional to their size.
## Backup, recovery, and module removal
Back up `docs_semantic_entries` and `docs_semantic_revisions` together with Core tenant and audit state. Restoring only one table breaks revision pointers and is unsupported. The installer blocks normal uninstall while rows remain. Destructive retirement is explicit, requires a database snapshot, and drops revision history before entries.