BC
Brad CodyAdministrator
Current productSettings and builders
Reverse spec drafted

Role Labels

Workspace-configurable labels used to describe Teammate functions without independently granting permissions.

Observed route/admin/settings/rolesFuture Spec 03
Current maturityWorking label directory with a default-data conflict
Evidence confidenceVerified
Last reviewedAugust 4, 2026
Visual evidenceDeferred during UI updates

Current-state summary

Role Labels lists Owner, Teammate, Administrator, Project Lead and Designer. Both Teammate and Administrator are marked Default on invite, creating an ambiguous invitation default. The action says New role and every row exposes Edit and Archive, including Owner.

Interface inventory

Anatomy and verified behavior

Verification states separate observed behavior from requirements or assumptions.

ElementCurrent behaviorVerification
Label gridRole label, Teammates, Default on invite and Actions across five rows.Verified live
DefaultTwo labels are simultaneously marked default.Verified data conflict
ActionsEdit and Archive appear on all labels, including Owner.Verified live
CreationButton says New role rather than New role label.Verified terminology defect

User journeys

Current flows

01

Manage Role Label

  1. Open Role Labels
  2. Create or edit a label
  3. Optionally make it the sole invitation default
  4. Assign it to Memberships
  5. Archive only when historical references remain resolvable
Observed result

Directory exists; mutation not tested.

State model

Current and expected states

Active

Five labels.

Default

Invalidly assigned to two labels.

Protected

No protected behavior is visible.

Archived

Action exists but behavior is unverified.

Product rules

Non-negotiable boundaries

  • Role Label never grants permission.
  • Exactly one active default may exist per Workspace.
  • Protected system labels cannot be removed when required by invariants.
  • Archived labels remain on historical records.
Dependencies
Workspace MembershipsInvitationsTeamsAccess RolesFilters and reporting

Known current limitations · 3 mapped

What is missing, broken or unverified

Future Spec 03 owns closure →
  1. Ambiguous two-default state.
  2. New role wording is incorrect.
  3. Protected-label and archive behavior are unverified.

Future alignment

Required evolution

  • 01Repair the default invariant and migrate existing data.
  • 02Rename actions and metrics to Role Label.
  • 03Separate Access Role configuration into Spec 08.

Current baseline

Acceptance record

  • At most one default is enforced in database and UI.
  • Labels do not alter permissions.
  • Protected and archived states are explicit.

Reverse-spec completeness

Documentation coverage

The interface is still changing, so visual evidence and repository tracing remain intentionally incomplete.

Purpose and user outcome

Documented

Roles and access

Documented

Routes and entry points

Documented

Page and component anatomy

Documented

Fields and displayed data

Documented

Primary actions

Documented

Forms and validation

Documented

States and transitions

Documented

Empty, loading and error states

Documented

Responsive behavior

Partial

Accessibility behavior

Partial

Activity and audit events

Partial

Data sources and persistence

Documented

Notifications and automation

Partial

Known defects and limitations

Documented

Reusable component dependencies

Documented

Future-spec conflicts

Partial

Visual and repository evidence

Deferred

Acceptance of current baseline

Documented