ContractSpec docs

OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

identity-rbac

User identity, organization management, and role-based access control

  • Type: feature
  • Version: 1.0.0
  • Stability: stable
  • Owners: @platform.identity-rbac
  • Tags: identity, rbac, users, organizations, permissions
  • field.key.label
    identity-rbac
    field.version.label
    1.0.0
    field.type.label
    feature
    field.title.label
    identity-rbac
    field.description.label

    User identity, organization management, and role-based access control

  • Type: feature
  • Version: 1.0.0
  • Stability: stable
  • Owners: @platform.identity-rbac
  • Tags: identity, rbac, users, organizations, permissions
  • field.tags.label
    identity,rbac,users,organizations,permissions
    field.owners.label
    @platform.identity-rbac
    field.stability.label
    stable

    User identity, organization management, and role-based access control

    Operations (21)

    `identity.user.create` (v1.0.0)

    `identity.user.update` (v1.0.0)

    `identity.user.delete` (v1.0.0)

    `identity.user.me` (v1.0.0)

    `identity.user.list` (v1.0.0)

    `identity.org.create` (v1.0.0)

    `identity.org.update` (v1.0.0)

    `identity.org.get` (v1.0.0)

    `identity.org.list` (v1.0.0)

    `identity.org.invite` (v1.0.0)

    `identity.org.invite.accept` (v1.0.0)

    `identity.org.member.remove` (v1.0.0)

    `identity.org.members.list` (v1.0.0)

    `identity.rbac.role.create` (v1.0.0)

    `identity.rbac.role.update` (v1.0.0)

    `identity.rbac.role.delete` (v1.0.0)

    `identity.rbac.role.list` (v1.0.0)

    `identity.rbac.assign` (v1.0.0)

    `identity.rbac.revoke` (v1.0.0)

    `identity.rbac.check` (v1.0.0)

    `identity.rbac.permissions` (v1.0.0)

    Events (15)

    `user.created` (v1.0.0)

    `user.updated` (v1.0.0)

    `user.deleted` (v1.0.0)

    `user.email_verified` (v1.0.0)

    `org.created` (v1.0.0)

    `org.updated` (v1.0.0)

    `org.deleted` (v1.0.0)

    `org.member.added` (v1.0.0)

    `org.member.removed` (v1.0.0)

    `org.member.role_changed` (v1.0.0)

    `org.invite.sent` (v1.0.0)

    `org.invite.accepted` (v1.0.0)

    `org.invite.declined` (v1.0.0)

    `role.assigned` (v1.0.0)

    `role.revoked` (v1.0.0)

    Source Definition

    /**
     * Identity RBAC Feature Module Specification
     *
     * Defines the feature module for identity management and role-based access control.
     */
    import { defineFeature } from '@lssm-tech/lib.contracts-spec';
    
    /**
     * Identity & RBAC feature module that bundles user management,
     * organization tenancy, and role-based access control.
     */
    export const IdentityRbacFeature = defineFeature({
    	meta: {
    		key: 'identity-rbac',
    		version: '1.0.0',
    		title: 'Identity & RBAC',
    		description:
    			'User identity, organization management, and role-based access control',
    		domain: 'platform',
    		owners: ['@platform.identity-rbac'],
    		tags: ['identity', 'rbac', 'users', 'organizations', 'permissions'],
    		stability: 'stable',
    	},
    
    	// All contract operations included in this feature
    	operations: [
    		// User operations
    		{ key: 'identity.user.create', version: '1.0.0' },
    		{ key: 'identity.user.update', version: '1.0.0' },
    		{ key: 'identity.user.delete', version: '1.0.0' },
    		{ key: 'identity.user.me', version: '1.0.0' },
    		{ key: 'identity.user.list', version: '1.0.0' },
    
    		// Organization operations
    		{ key: 'identity.org.create', version: '1.0.0' },
    		{ key: 'identity.org.update', version: '1.0.0' },
    		{ key: 'identity.org.get', version: '1.0.0' },
    		{ key: 'identity.org.list', version: '1.0.0' },
    		{ key: 'identity.org.invite', version: '1.0.0' },
    		{ key: 'identity.org.invite.accept', version: '1.0.0' },
    		{ key: 'identity.org.member.remove', version: '1.0.0' },
    		{ key: 'identity.org.members.list', version: '1.0.0' },
    
    		// RBAC operations
    		{ key: 'identity.rbac.role.create', version: '1.0.0' },
    		{ key: 'identity.rbac.role.update', version: '1.0.0' },
    		{ key: 'identity.rbac.role.delete', version: '1.0.0' },
    		{ key: 'identity.rbac.role.list', version: '1.0.0' },
    		{ key: 'identity.rbac.assign', version: '1.0.0' },
    		{ key: 'identity.rbac.revoke', version: '1.0.0' },
    		{ key: 'identity.rbac.check', version: '1.0.0' },
    		{ key: 'identity.rbac.permissions', version: '1.0.0' },
    	],
    
    	// Events emitted by this feature
    	events: [
    		// User events
    		{ key: 'user.created', version: '1.0.0' },
    		{ key: 'user.updated', version: '1.0.0' },
    		{ key: 'user.deleted', version: '1.0.0' },
    		{ key: 'user.email_verified', version: '1.0.0' },
    
    		// Organization events
    		{ key: 'org.created', version: '1.0.0' },
    		{ key: 'org.updated', version: '1.0.0' },
    		{ key: 'org.deleted', version: '1.0.0' },
    		{ key: 'org.member.added', version: '1.0.0' },
    		{ key: 'org.member.removed', version: '1.0.0' },
    		{ key: 'org.member.role_changed', version: '1.0.0' },
    
    		// Invitation events
    		{ key: 'org.invite.sent', version: '1.0.0' },
    		{ key: 'org.invite.accepted', version: '1.0.0' },
    		{ key: 'org.invite.declined', version: '1.0.0' },
    
    		// Role events
    		{ key: 'role.assigned', version: '1.0.0' },
    		{ key: 'role.revoked', version: '1.0.0' },
    	],
    
    	// No presentations for this library feature
    	presentations: [],
    	opToPresentation: [],
    	presentationsTargets: [],
    
    	// Capability definitions
    	capabilities: {
    		provides: [
    			{ key: 'identity', version: '1.0.0' },
    			{ key: 'rbac', version: '1.0.0' },
    		],
    		requires: [],
    	},
    });