feat: implement governed wiki vertical slice
Module Package Release / publish-packages (push) Successful in 12s

This commit is contained in:
2026-08-22 13:08:12 +02:00
parent 572cb91dce
commit 66c91351c9
24 changed files with 4934 additions and 84 deletions
+33 -4
View File
@@ -24,8 +24,37 @@ revision as evidence. Search indexes only revisions the principal may
discover. Projects, Tickets, and Cases may link pages as living knowledge.
Connectors owns MediaWiki/BlueSpice discovery, synchronization, and migration.
## First Slice
## Governed Vertical Slice
Implement spaces, revisioned pages, links, access checks, and
permission-aware search publication before adding rich editing or external
synchronization.
The native slice stores a current editorial projection plus an immutable page
revision for every creation, edit, publication, redirect, or archive action.
Writes require the expected revision and an idempotency key. A published page
can gain a later draft without withdrawing its last published revision from
readers or Search.
Visibility is either tenant-wide or restricted to exact account, identity,
membership, group, role, or function-assignment tokens. Pages inherit their
space access by default and may define an explicit override. Permissions remain
distinct for reading, editing, commenting, publishing, and space
administration, and are checked again at each service action.
Typed links retain the owner module and stable resource identity. Attachment
links can target Files or DMS only; no binary bytes are copied into Wiki.
External provenance can be recorded without claiming transport authority.
Search receives only the last published revision, effective visibility, and
ACL tokens, and rechecks every result against current Wiki state. Drafts and
archives never become searchable documents. DSAR discovery matches exact
subject identifiers in ACL membership, actor attribution, and the subject's
own comments. Minimization remains a manual knowledge-owner and retention
decision.
## Current Limits
- external MediaWiki or BlueSpice discovery, credentials, migration execution,
synchronization, and reconciliation require a Connectors provider
- the initial editor stores governed plain text; rich-text editing and presence
awareness can be layered over the same revision contract later
- a page with active child pages must have those children moved or archived
before its path changes or it is archived, preventing silent descendant path
drift