Skip to content

CAP-MBR-STR-019Authorize structure and configuration work

Markdown

CAP-MBR-STR-019

Authorize structure and configuration work

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

KindCapabilityProduct areaMembershipModuleOrganizational Structure, Membership Configuration and TermsRevision1

Read atservices-membership 5994c270react-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Outcomes
Staff operations require the published authority for their concern.Workspace and application checks protect access to membership configuration.
Surfaces
apiconsole

Controls

25 controls apply, from the corpus control catalogue.

TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-AZ-005 TC-AZ-006 TC-CHG-001 TC-CHG-002 TC-CHG-003 TC-CHG-004 TC-IAM-001 TC-IAM-002 TC-IAM-004 TC-IAM-005 TC-LOG-001 TC-LOG-004 TC-MON-001 TC-MON-003 TC-MON-004 TC-PI-001 TC-SEC-001 TC-SEC-004 TC-TEN-001 TC-TEN-002 TC-TEN-003

Permissions

KeyChecked atScope
membership.structure.readapitenant
membership.structure.manageapitenant
membership.programs.readapitenant
membership.programs.manageapitenant
membership.configuration.readapitenant
membership.configuration.manageapitenant
membership.application.accessapitenant

Business Rules

7 rules, 6 to be proved before approval. A rule's product intent is derived from its origin: 0 confirmed by a product decision, the rest inheriting this capability's proposed.

IdRuleKindEnforced atProvenance
01must prove
Proposed
Structure reads require structure-read permission, and structure mutations require structure-manage permission.
permissionapitest
services-membership:tests/unit/route-authorization.spec.ts#route authorization: every Membership operation names its permission › requires membership.structure.read of every structure read and membership.structure.manage of every change
02must prove
Proposed
Programs and program unit requirements use program authority, while types, packages, reasons and policy sets use configuration authority.
permissionapiobserved
03must prove
Proposed
Manage permissions are administrator-tier workspace permissions, so an officer’s unit-scoped grant does not authorize these operations.
permissionapiobserved
04must prove
Proposed
Workspace data operations require Membership application access, a Membership licence and an available workspace.
permissionapitest
services-membership:tests/e2e/terms-api.e2e.spec.ts#the terms API, end to end in process › refuses a caller who holds no key in the tenant
05must prove
Proposed
Database row isolation confines structure and configuration records to the caller’s workspace.
permissiondatabasetest
services-membership:modules/structure/tests/integration/services/persistence/organizational-units.integration.spec.ts#organizational units in the database › row-level security › shows another tenant none of the units
06
Proposed
Route permission references resolve to published catalogue keys and each published key has a route consumer.
invariantapitest
services-membership:tests/unit/route-authorization.spec.ts#route authorization: every Membership operation names its permission › is allowed or evaluates only keys the published catalog defines
07must prove
Proposed
The console’s Membership permission vocabulary differs from the service catalogue, preventing direct equivalence without a verified mapping.
permissionconsoleobserved

Scenarios

IdGivenWhenThenProvenance
01A staff caller holds structure-reading authority only.The caller requests a unit list and then a relocation.Reading succeeds and the mutation returns an access refusal.test
services-membership:tests/e2e/structure-api.e2e.spec.ts#the structure API, end to end in process › refuses a reader a change, 403

Edge Cases

IdGivenWhenThenProvenance
02An officer has membership authority limited to Atlanta.The officer attempts to replace Atlanta’s name.The request lacks the workspace administration permission and fails.test

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.