Skip to content

Evaluate removing or repurposing the team_member role (memberRole) field #113

Description

@JohnRDOrazio

Context

While adding author profiles (branch fix/headless-draft-preview), author pages were switched to display the team_member title (memberTitle) instead of role (memberRole), to match how every other team-member card renders. As a result, memberRole is no longer used anywhere in the frontend.

We should decide whether to remove memberRole or repurpose it (give role and title distinct, intentional meanings).

Options

  • Remove — drop member_role everywhere (see checklist below).
  • Repurpose — e.g. title = professional/honorific title ("AI Specialist"), role = context-specific functional role ("Project Lead") shown on project/governance cards. Would need a defined distinction and UI wiring.

What removing it would entail (cross-cutting)

  • ACF field member_role in group_team_memberwordpress/themes/cdcf-headless/functions.php:1743
  • REST param registration for POST /cdcf/v1/team-memberwordpress/themes/cdcf-headless/functions.php:548
  • Handler write — wordpress/themes/cdcf-headless/includes/handlers/team-member.php:57
  • PHPUnit expectations — wordpress/themes/cdcf-headless/tests/TeamMemberHandlerTest.php:83,373,386
  • GraphQL selection memberRole in TEAM_MEMBER_FIELDSlib/wordpress/queries.ts:53
  • Type WPTeamMember.memberRolelib/wordpress/types.ts:69
  • Python client param — scripts/cdcf_api.py:237,604
  • Docs — docs/python-api-client.md:278 and the REST table in AGENTS.md/CLAUDE.md
  • Seed data sets member_rolewordpress/web-init.php:273
  • Data: existing team_member posts may have stored member_role values (consider a one-time cleanup/backfill, and whether any of those values should migrate to member_title)

Notes

  • Frontend display already standardized on memberTitle (also feeds JSON-LD Person.jobTitle on author pages).
  • No urgency — memberRole remaining in the schema is harmless; this is tracked so the decision isn't lost.

🤖 Filed with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions