feat: publish stable product surface composition
Dependency Audit / dependency-audit (push) Successful in 1m43s
Deployment Installer / deployment-installer (push) Successful in 6s
Security Audit / security-audit (push) Failing after 12m29s
Developer Meta-package Release / publish-package (push) Successful in 10s

This commit is contained in:
2026-08-24 13:41:00 +02:00
parent 6c2b36af0f
commit 3766e26377
3 changed files with 24 additions and 7 deletions
@@ -72,6 +72,23 @@ Each WebUI module should be able to announce:
The contract references surfaces. It does not permit Core or a product package The contract references surfaces. It does not permit Core or a product package
to import their implementation. to import their implementation.
The first versioned `product_surfaces` slice is now implemented in Core. It
binds a stable product identity and entry path to one or more owner routes,
View surfaces, presentations, capabilities, search sources, help contexts and
documentation topics. It also carries standard unavailable/degraded
explanations and migration aliases. Mail and Postbox contribute the first
shared identity, `communication.messages`: `/messages` and the migration alias
`/inbox` select the first currently authorized, View-visible owner while the
underlying `/mail` and `/postbox` deep links, custody and permissions remain
unchanged. Alias resolution emits a bounded client telemetry event before the
redirect.
Core's `ProductAvailabilityState` is the shared presentation primitive for
authorization, Policy, configuration, disabled, missing-capability, offline and
provider-degraded states. Product language is primary; exact module,
capability, provider and correlation provenance is available only in an
expandable technical section.
## Navigation Model ## Navigation Model
The default shell should prioritize: The default shell should prioritize:
@@ -132,9 +149,9 @@ first rail slice.
### Slice 1: inventory and aliases ### Slice 1: inventory and aliases
- classify every route, navigation item, widget, setting, search object, and - continue classifying every route, navigation item, widget, setting, search object, and
help context by product area and object type; help context by product area and object type;
- add product aliases without removing existing deep links; - extend the implemented product-surface aliases without removing existing deep links;
- flag raw module IDs in ordinary-user labels and errors. - flag raw module IDs in ordinary-user labels and errors.
### Slice 2: work-first shell ### Slice 2: work-first shell
+4 -4
View File
@@ -4,13 +4,13 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "govoplan" name = "govoplan"
version = "0.1.39" version = "0.1.40"
description = "Developer convenience package for a versioned GovOPlaN composition" description = "Developer convenience package for a versioned GovOPlaN composition"
readme = "README.md" readme = "README.md"
requires-python = ">=3.12" requires-python = ">=3.12"
license = { text = "AGPL-3.0-or-later" } license = { text = "AGPL-3.0-or-later" }
dependencies = [ dependencies = [
"govoplan-core[server]==0.1.39", "govoplan-core[server]==0.1.40",
"govoplan-tenancy==0.1.20", "govoplan-tenancy==0.1.20",
"govoplan-organizations==0.1.20", "govoplan-organizations==0.1.20",
"govoplan-identity==0.1.20", "govoplan-identity==0.1.20",
@@ -21,7 +21,7 @@ dependencies = [
"govoplan-audit==0.1.20", "govoplan-audit==0.1.20",
"govoplan-dashboard==0.1.20", "govoplan-dashboard==0.1.20",
"govoplan-files==0.1.23", "govoplan-files==0.1.23",
"govoplan-mail==0.1.24", "govoplan-mail==0.1.25",
"govoplan-campaign==0.1.27", "govoplan-campaign==0.1.27",
"govoplan-calendar==0.1.22", "govoplan-calendar==0.1.22",
"govoplan-docs==0.1.22", "govoplan-docs==0.1.22",
@@ -64,7 +64,7 @@ full = [
"govoplan-permits==0.1.20", "govoplan-permits==0.1.20",
"govoplan-poll==0.1.20", "govoplan-poll==0.1.20",
"govoplan-portal==0.1.21", "govoplan-portal==0.1.21",
"govoplan-postbox==0.1.21", "govoplan-postbox==0.1.22",
"govoplan-procurement==0.1.20", "govoplan-procurement==0.1.20",
"govoplan-projects==0.1.19", "govoplan-projects==0.1.19",
"govoplan-quick-access==0.1.20", "govoplan-quick-access==0.1.20",
+1 -1
View File
@@ -11,7 +11,7 @@ govoplan-policy @ git+ssh://git@git.add-ideas.de/GovOPlaN/govoplan-policy.git@v0
govoplan-audit @ git+ssh://git@git.add-ideas.de/GovOPlaN/govoplan-audit.git@v0.1.20 govoplan-audit @ git+ssh://git@git.add-ideas.de/GovOPlaN/govoplan-audit.git@v0.1.20
govoplan-dashboard @ git+ssh://git@git.add-ideas.de/GovOPlaN/govoplan-dashboard.git@v0.1.20 govoplan-dashboard @ git+ssh://git@git.add-ideas.de/GovOPlaN/govoplan-dashboard.git@v0.1.20
govoplan-files @ git+ssh://git@git.add-ideas.de/GovOPlaN/govoplan-files.git@v0.1.23 govoplan-files @ git+ssh://git@git.add-ideas.de/GovOPlaN/govoplan-files.git@v0.1.23
govoplan-mail @ git+ssh://git@git.add-ideas.de/GovOPlaN/govoplan-mail.git@v0.1.24 govoplan-mail @ git+ssh://git@git.add-ideas.de/GovOPlaN/govoplan-mail.git@v0.1.25
govoplan-campaign @ git+ssh://git@git.add-ideas.de/GovOPlaN/govoplan-campaign.git@v0.1.27 govoplan-campaign @ git+ssh://git@git.add-ideas.de/GovOPlaN/govoplan-campaign.git@v0.1.27
govoplan-calendar @ git+ssh://git@git.add-ideas.de/GovOPlaN/govoplan-calendar.git@v0.1.22 govoplan-calendar @ git+ssh://git@git.add-ideas.de/GovOPlaN/govoplan-calendar.git@v0.1.22
govoplan-docs @ git+ssh://git@git.add-ideas.de/GovOPlaN/govoplan-docs.git@v0.1.22 govoplan-docs @ git+ssh://git@git.add-ideas.de/GovOPlaN/govoplan-docs.git@v0.1.22