Organizations: fix admin settings 500 and decide global vs tenant governance model #4

Closed
opened 2026-07-11 03:46:32 +02:00 by zemion · 4 comments
Owner

Context

Opening the Organizations administration/settings entry currently returns 500 Internal Server Error.

The entry has also been confusingly labelled Organization settings. The immediate label was changed to Organizations, but the underlying ownership question remains open.

Questions to resolve

  • Should organization model governance be tenant-local, global, inherited from a global model, or support multiple inherited models?
  • If global organization models exist, how do tenants inherit or override unit types, structures, relation types, and function types?
  • Does tenant-admin customization belong here, or should it be a global/system policy only?
  • What conflict model is needed if different tenants inherit different organization-model versions?

Acceptance criteria

  • Reproduce and fix the 500 when opening the Organizations admin/settings panel.
  • Decide and document the governance scope: global, tenant-local, inherited, or mixed.
  • Rename/position the admin surface so it matches the decided scope.
  • Add regression coverage for the failing admin endpoint.
  • Ensure the UI does not expose tenant-level controls for settings that are actually global-only.
## Context Opening the Organizations administration/settings entry currently returns `500 Internal Server Error`. The entry has also been confusingly labelled **Organization settings**. The immediate label was changed to **Organizations**, but the underlying ownership question remains open. ## Questions to resolve - Should organization model governance be tenant-local, global, inherited from a global model, or support multiple inherited models? - If global organization models exist, how do tenants inherit or override unit types, structures, relation types, and function types? - Does tenant-admin customization belong here, or should it be a global/system policy only? - What conflict model is needed if different tenants inherit different organization-model versions? ## Acceptance criteria - Reproduce and fix the 500 when opening the Organizations admin/settings panel. - Decide and document the governance scope: global, tenant-local, inherited, or mixed. - Rename/position the admin surface so it matches the decided scope. - Add regression coverage for the failing admin endpoint. - Ensure the UI does not expose tenant-level controls for settings that are actually global-only.
Author
Owner

Product decision: governance model accepted

Concrete organization hierarchies are tenant-owned. The system owns versioned organization-model templates, not one mutable live hierarchy inherited by all tenants.

  • A tenant explicitly instantiates a template version into its own hierarchy.
  • Template upgrades are explicit diff/migration operations with preview, provenance, and conflict handling; they never rewrite tenant structures silently.
  • System policy may constrain permitted unit, relation, and function types.
  • Tenant administrators manage concrete units and allowed customizations within that policy.
  • Multiple tenants may remain on different template versions.

This resolves the governance decision. The 500 regression, API ownership, admin placement, and upgrade UX remain implementation work.

## Product decision: governance model accepted Concrete organization hierarchies are tenant-owned. The system owns versioned organization-model templates, not one mutable live hierarchy inherited by all tenants. - A tenant explicitly instantiates a template version into its own hierarchy. - Template upgrades are explicit diff/migration operations with preview, provenance, and conflict handling; they never rewrite tenant structures silently. - System policy may constrain permitted unit, relation, and function types. - Tenant administrators manage concrete units and allowed customizations within that policy. - Multiple tenants may remain on different template versions. This resolves the governance decision. The 500 regression, API ownership, admin placement, and upgrade UX remain implementation work.
zemion added
status
ready
codex/ready
and removed
status
needs-info
codex/needs-human
labels 2026-07-30 14:37:58 +02:00
Author
Owner

Implemented and pushed in 326bf3f.

The admin/settings route regression is covered and no longer returns 500. The governance model is now explicit: system administrators publish immutable, versioned model templates; tenants instantiate concrete copies with source provenance; tenant models never live-inherit later global changes. Structural validation rejects invalid references, mismatched relation/function types, invalid validity ranges, duplicate relations, and hierarchy cycles.

The admin surface is tenant-appropriate, the model is documented in docs/ORGANIZATION_MODEL.md, and 9 focused settings/template tests pass. Explicit comparison/upgrades from a later template version remain separately tracked in #6.

Implemented and pushed in `326bf3f`. The admin/settings route regression is covered and no longer returns 500. The governance model is now explicit: system administrators publish immutable, versioned model templates; tenants instantiate concrete copies with source provenance; tenant models never live-inherit later global changes. Structural validation rejects invalid references, mismatched relation/function types, invalid validity ranges, duplicate relations, and hierarchy cycles. The admin surface is tenant-appropriate, the model is documented in `docs/ORGANIZATION_MODEL.md`, and 9 focused settings/template tests pass. Explicit comparison/upgrades from a later template version remain separately tracked in #6.
Author
Owner

Codex State: note

Summary

  • Decision confirmed: concrete organization hierarchies are tenant-owned and may be created/upgraded from versioned system templates; tenants do not inherit one mutable live global hierarchy.
## Codex State: note ### Summary - Decision confirmed: concrete organization hierarchies are tenant-owned and may be created/upgraded from versioned system templates; tenants do not inherit one mutable live global hierarchy.
Author
Owner

Codex State: note

Summary

  • Decision confirmed: concrete organization hierarchies are tenant-owned and may be created/upgraded from versioned system templates; tenants do not inherit one mutable live global hierarchy.
## Codex State: note ### Summary - Decision confirmed: concrete organization hierarchies are tenant-owned and may be created/upgraded from versioned system templates; tenants do not inherit one mutable live global hierarchy.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-organizations#4