Sweep: assessed all 7 active openspec changes against the codebase. Five had landed implementations (bounded-text, org-label, org-management, code-review-skill, list-milestones-labels) — archived under openspec/changes/archive/2026-05-12-* and their deltas folded into openspec/specs/. Two remain unimplemented: add-releases-support (operation/release/ missing despite proposal PR #129) and forgejo-action-code-review (.forgejo/workflows/claude-code-review.yml missing despite spec deltas). Beads: reopened forgejo-mcp-0ep (releases impl) with notes on actual status; created forgejo-mcp-673 for the action workflow impl.
2.6 KiB
2.6 KiB
org-membership Specification
Purpose
TBD - created by archiving change add-org-management. Update Purpose after archive.
Requirements
Requirement: List organization members
The system SHALL provide a list_org_members MCP tool that lists members of an organization. The tool SHALL accept:
org(required): organization namepage(required, default 1): page numberlimit(required, default 100): page size
The tool SHALL return a list of user objects representing organization members.
Scenario: List members of an organization
- WHEN user calls
list_org_memberswithorgset to an existing organization - THEN the system returns a list of user objects who are members of that organization
Scenario: List members with pagination
- WHEN user calls
list_org_memberswithorg,pageset to 2,limitset to 25 - THEN the system returns the second page of members with at most 25 entries
Scenario: List members of non-existent organization
- WHEN user calls
list_org_memberswithorgset to a name that does not exist - THEN the system returns an error indicating the organization was not found
Requirement: Check organization membership
The system SHALL provide a check_org_membership MCP tool that checks if a user is a member of an organization. The tool SHALL accept:
org(required): organization nameuser(required): username to check
The tool SHALL return a boolean-style result indicating membership status.
Scenario: User is a member
- WHEN user calls
check_org_membershipwithorganduserwhere the user is a member - THEN the system returns a result indicating the user is a member
Scenario: User is not a member
- WHEN user calls
check_org_membershipwithorganduserwhere the user is not a member - THEN the system returns a result indicating the user is not a member
Requirement: Remove organization member
The system SHALL provide a remove_org_member MCP tool that removes a user from an organization. The tool SHALL accept:
org(required): organization nameuser(required): username to remove
The tool SHALL return a success confirmation upon removal.
Scenario: Remove existing member
- WHEN user calls
remove_org_memberwithorganduserwhere the user is a current member - THEN the system removes the user from the organization and returns a success message
Scenario: Remove non-member
- WHEN user calls
remove_org_memberwithorganduserwhere the user is not a member - THEN the system returns an error indicating the user is not a member of the organization