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
+37 -7
View File
@@ -4,13 +4,14 @@
**Repository type:** module (domain).
<!-- govoplan-repository-type:end -->
`govoplan-wiki` owns collaborative, revisioned knowledge pages and spaces.
It is the native GovOPlaN alternative and integration target for tools such as
MediaWiki and BlueSpice.
`govoplan-wiki` owns governed collaborative knowledge spaces and hierarchical,
revisioned pages. It is the native GovOPlaN alternative and integration target
for tools such as MediaWiki and BlueSpice.
The runtime module ID is `wiki`. This initial scaffold registers the domain
boundary, permissions, roles, documentation, and module entry point. Runtime
storage and WebUI routes will follow as bounded implementation slices.
The runtime module ID is `wiki`. The v0.1.20 vertical slice provides tenant-safe
spaces, hierarchical drafts, immutable revisions, optimistic concurrency,
publication and redirects, labels, typed links, append-only comments, access
inheritance, ACL-aware Search, DSAR participation export, and a focused WebUI.
## Boundary
@@ -19,6 +20,34 @@ publishing state. It does not own binary file storage, formal records, product
documentation, workflow execution, or general-purpose collaborative document
editing.
## Runtime Surface
- `/api/v1/wiki/spaces` for governed spaces, access inheritance, publishing
mode, optimistic updates, and archival
- `/api/v1/wiki/pages` for page hierarchy, drafts, labels, references, redirects,
publication, and archival
- immutable page revision history and bounded unified-diff comparison
- append-only comments bound to the page revision under discussion
- `wiki.registry` for stable, authorization-checked cross-module references
- `wiki.pages` Search projection of the last published revision only
- `privacy.dsar.wiki` for exact-identifier, bounded participation export and
manual-review erasure planning
- `/wiki` tree/detail workspace built from shared Core layout, action-bar,
dialog, status, state, and selection primitives
Editing a published page creates a draft while the last published revision
remains visible to readers and Search. This prevents ordinary authoring from
silently withdrawing approved knowledge.
## Optional Integrations
Files and DMS own referenced binary content. Search discovers published pages.
Records can preserve a published revision as evidence. Projects, Cases, Tasks,
templates, and workflows can be linked without importing their lifecycles.
Connectors owns external Wiki discovery, credentials, transport,
reconciliation, and migration execution. Each absence leaves the native Wiki
usable and is documented as an explicit operational consequence.
See [docs/WIKI_DOMAIN_BOUNDARY.md](docs/WIKI_DOMAIN_BOUNDARY.md).
## Development
@@ -26,5 +55,6 @@ See [docs/WIKI_DOMAIN_BOUNDARY.md](docs/WIKI_DOMAIN_BOUNDARY.md).
```bash
cd /mnt/DATA/git/govoplan-wiki
PYTHONPATH=src:/mnt/DATA/git/govoplan-core/src \
/mnt/DATA/git/govoplan/.venv/bin/python -m unittest discover -s tests
/mnt/DATA/git/govoplan/.venv/bin/python -m pytest -q
cd webui && node scripts/test-interface-pattern.mjs
```