Repair release and interface CI gates
This commit is contained in:
@@ -59,7 +59,7 @@ jobs:
|
||||
git config --global --add url."https://git.add-ideas.de/GovOPlaN/govoplan".insteadOf "ssh://git@git.add-ideas.de/GovOPlaN/govoplan"
|
||||
- name: Bootstrap release sources
|
||||
working-directory: govoplan
|
||||
run: python tools/repo/bootstrap-repositories.py --parent .. --transport public-https --exclude-repo addideas-govoplan-website
|
||||
run: python tools/repo/bootstrap-repositories.py --parent .. --transport public-https --reuse-checkout-auth --exclude-repo addideas-govoplan-website
|
||||
- name: Build release wheel roots and WebUI
|
||||
working-directory: govoplan
|
||||
run: |
|
||||
|
||||
@@ -340,6 +340,7 @@ def add_scoped_workflow_manifest(repo: Path) -> None:
|
||||
(backend / "__init__.py").write_text("", encoding="utf-8")
|
||||
(backend / "manifest.py").write_text(
|
||||
"""from govoplan_core.core.modules import DocumentationCondition, DocumentationTopic, ModuleManifest, PermissionDefinition
|
||||
from govoplan_core.core.provider_governance import declared_module_architecture
|
||||
|
||||
|
||||
def get_manifest():
|
||||
@@ -368,6 +369,20 @@ def get_manifest():
|
||||
conditions=(DocumentationCondition(required_scopes=("access:item:read",)),),
|
||||
metadata={"kind": "workflow"},
|
||||
),
|
||||
DocumentationTopic(
|
||||
id="access.admin.reference",
|
||||
title="Administer access",
|
||||
summary="Static administrator documentation for the release fixture.",
|
||||
documentation_types=("admin",),
|
||||
metadata={"kind": "reference"},
|
||||
),
|
||||
),
|
||||
architecture=declared_module_architecture(
|
||||
layer="institutional_foundation",
|
||||
kind="foundation",
|
||||
maturity="scaffold",
|
||||
documentation_ref="pyproject.toml",
|
||||
known_limits=("Release-test fixture only.",),
|
||||
),
|
||||
)
|
||||
""",
|
||||
@@ -387,6 +402,7 @@ def replace_with_unscoped_workflow_manifest(repo: Path) -> None:
|
||||
manifest = repo / "src" / "govoplan_access" / "backend" / "manifest.py"
|
||||
manifest.write_text(
|
||||
"""from govoplan_core.core.modules import DocumentationTopic, ModuleManifest
|
||||
from govoplan_core.core.provider_governance import declared_module_architecture
|
||||
|
||||
|
||||
def get_manifest():
|
||||
@@ -402,6 +418,20 @@ def get_manifest():
|
||||
documentation_types=("user",),
|
||||
metadata={"kind": "workflow"},
|
||||
),
|
||||
DocumentationTopic(
|
||||
id="access.admin.reference",
|
||||
title="Administer access",
|
||||
summary="Static administrator documentation for the release fixture.",
|
||||
documentation_types=("admin",),
|
||||
metadata={"kind": "reference"},
|
||||
),
|
||||
),
|
||||
architecture=declared_module_architecture(
|
||||
layer="institutional_foundation",
|
||||
kind="foundation",
|
||||
maturity="scaffold",
|
||||
documentation_ref="pyproject.toml",
|
||||
known_limits=("Release-test fixture only.",),
|
||||
),
|
||||
)
|
||||
""",
|
||||
|
||||
@@ -1581,6 +1581,134 @@
|
||||
"path": "/workflow/definitions/{}/triggers",
|
||||
"rationale": "This capability-first module intentionally exposes a headless API for other modules and integrations.",
|
||||
"repository": "govoplan-workflow-engine"
|
||||
},
|
||||
{
|
||||
"category": "ui_reachable",
|
||||
"method": "POST",
|
||||
"path": "/addresses/contact-merges/{}/split",
|
||||
"rationale": "The Addresses WebUI constructs the selected merge id and recovery action dynamically.",
|
||||
"repository": "govoplan-addresses"
|
||||
},
|
||||
{
|
||||
"category": "ui_reachable",
|
||||
"method": "POST",
|
||||
"path": "/addresses/contact-merges/{}/undo",
|
||||
"rationale": "The Addresses WebUI constructs the selected merge id and recovery action dynamically.",
|
||||
"repository": "govoplan-addresses"
|
||||
},
|
||||
{
|
||||
"category": "intentionally_headless",
|
||||
"method": "POST",
|
||||
"path": "/addresses/contact-point-snapshots",
|
||||
"rationale": "Campaign and other modules consume the governed contact-point snapshot capability without a direct Addresses screen.",
|
||||
"repository": "govoplan-addresses"
|
||||
},
|
||||
{
|
||||
"category": "intentionally_headless",
|
||||
"method": "GET",
|
||||
"path": "/addresses/contact-point-snapshots/{}",
|
||||
"rationale": "Campaign and other modules consume the governed contact-point snapshot capability without a direct Addresses screen.",
|
||||
"repository": "govoplan-addresses"
|
||||
},
|
||||
{
|
||||
"category": "intentionally_headless",
|
||||
"method": "POST",
|
||||
"path": "/addresses/contact-point-sources/preview",
|
||||
"rationale": "This capability endpoint previews a module-supplied contact source and is consumed by integrations rather than a direct screen.",
|
||||
"repository": "govoplan-addresses"
|
||||
},
|
||||
{
|
||||
"category": "intentionally_headless",
|
||||
"method": "POST",
|
||||
"path": "/addresses/contact-points/resolve",
|
||||
"rationale": "This governed recipient-resolution endpoint is consumed by Campaign and other modules.",
|
||||
"repository": "govoplan-addresses"
|
||||
},
|
||||
{
|
||||
"category": "intentionally_headless",
|
||||
"method": "GET",
|
||||
"path": "/addresses/contacts/{}/redirect",
|
||||
"rationale": "Stored references and module capabilities resolve merged-contact redirects without a direct user action.",
|
||||
"repository": "govoplan-addresses"
|
||||
},
|
||||
{
|
||||
"category": "missing_ui",
|
||||
"method": "GET",
|
||||
"path": "/addresses/imports/{}",
|
||||
"rationale": "The import flow can create, apply, and roll back a run, but the WebUI does not yet resume a saved run by id after navigation or reload.",
|
||||
"repository": "govoplan-addresses",
|
||||
"tracking_issue": "https://git.add-ideas.de/GovOPlaN/govoplan-addresses/issues/22"
|
||||
},
|
||||
{
|
||||
"category": "ui_reachable",
|
||||
"method": "GET",
|
||||
"path": "/campaigns/{}/versions/{}/print-output/download",
|
||||
"rationale": "The Campaign WebUI validates and follows the build artifact's server-provided download path.",
|
||||
"repository": "govoplan-campaign"
|
||||
},
|
||||
{
|
||||
"category": "missing_ui",
|
||||
"method": "GET",
|
||||
"path": "/relationships",
|
||||
"rationale": "IDM documents typed relationships but its current administration page exposes function assignments only.",
|
||||
"repository": "govoplan-idm",
|
||||
"tracking_issue": "https://git.add-ideas.de/GovOPlaN/govoplan-idm/issues/11"
|
||||
},
|
||||
{
|
||||
"category": "missing_ui",
|
||||
"method": "POST",
|
||||
"path": "/relationships",
|
||||
"rationale": "IDM documents typed relationships but its current administration page exposes function assignments only.",
|
||||
"repository": "govoplan-idm",
|
||||
"tracking_issue": "https://git.add-ideas.de/GovOPlaN/govoplan-idm/issues/11"
|
||||
},
|
||||
{
|
||||
"category": "missing_ui",
|
||||
"method": "PATCH",
|
||||
"path": "/relationships/{}",
|
||||
"rationale": "IDM documents typed relationships but its current administration page exposes function assignments only.",
|
||||
"repository": "govoplan-idm",
|
||||
"tracking_issue": "https://git.add-ideas.de/GovOPlaN/govoplan-idm/issues/11"
|
||||
},
|
||||
{
|
||||
"category": "missing_ui",
|
||||
"method": "POST",
|
||||
"path": "/relationships/{}/revoke",
|
||||
"rationale": "IDM documents typed relationships but its current administration page exposes function assignments only.",
|
||||
"repository": "govoplan-idm",
|
||||
"tracking_issue": "https://git.add-ideas.de/GovOPlaN/govoplan-idm/issues/11"
|
||||
},
|
||||
{
|
||||
"category": "missing_ui",
|
||||
"method": "GET",
|
||||
"path": "/typed-groups",
|
||||
"rationale": "IDM documents typed groups but its current administration page exposes function assignments only.",
|
||||
"repository": "govoplan-idm",
|
||||
"tracking_issue": "https://git.add-ideas.de/GovOPlaN/govoplan-idm/issues/11"
|
||||
},
|
||||
{
|
||||
"category": "missing_ui",
|
||||
"method": "POST",
|
||||
"path": "/typed-groups",
|
||||
"rationale": "IDM documents typed groups but its current administration page exposes function assignments only.",
|
||||
"repository": "govoplan-idm",
|
||||
"tracking_issue": "https://git.add-ideas.de/GovOPlaN/govoplan-idm/issues/11"
|
||||
},
|
||||
{
|
||||
"category": "missing_ui",
|
||||
"method": "PATCH",
|
||||
"path": "/typed-groups/{}",
|
||||
"rationale": "IDM documents typed groups but its current administration page exposes function assignments only.",
|
||||
"repository": "govoplan-idm",
|
||||
"tracking_issue": "https://git.add-ideas.de/GovOPlaN/govoplan-idm/issues/11"
|
||||
},
|
||||
{
|
||||
"category": "missing_ui",
|
||||
"method": "GET",
|
||||
"path": "/typed-groups/{}/memberships",
|
||||
"rationale": "IDM lacks the typed-group membership explanation surface for this existing API.",
|
||||
"repository": "govoplan-idm",
|
||||
"tracking_issue": "https://git.add-ideas.de/GovOPlaN/govoplan-idm/issues/11"
|
||||
}
|
||||
],
|
||||
"schema_version": 1
|
||||
|
||||
Reference in New Issue
Block a user