Skip to content

feat(personas): add address property to persona schema - #753

Closed
don-petry wants to merge 2 commits into
mainfrom
feat/qa-lead-role-rename
Closed

feat(personas): add address property to persona schema#753
don-petry wants to merge 2 commits into
mainfrom
feat/qa-lead-role-rename

Conversation

@don-petry

Copy link
Copy Markdown
Contributor

Summary

  • Adds an optional address object property to standards/personas/persona.schema.json
  • Required by the qa-lead persona (Rename murat → qa-lead and make it @-addressable .github-private#1279) which introduces @-mention routing via a GitHub team handle
  • Without this field, validate-personas CI rejects qa-lead/persona.yml with "Additional properties are not allowed ('address' was unexpected)"

Schema addition

"address": {
  "type": "object",
  "description": "How humans @-mention this persona …",
  "required": ["handle"],
  "properties": {
    "handle": { "type": "string", "pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$" },
    "aliases": { "type": "array", "items": { "type": "string" } }
  }
}

address is optional — existing manifests without it continue to pass validation unchanged.

Test plan

  • validate-personas CI in .github-private PR #1279 passes once this branch is in place (the validator tries feat/qa-lead-role-rename before falling back to main)
  • Existing persona manifests that omit address still validate cleanly

🤖 Generated with Claude Code

The qa-lead persona (PR #1279 in .github-private) introduces
`address` for @-mention routing. The canonical schema had
additionalProperties:false and no address entry, causing the
validate-personas CI check to reject the new field.

Adds an optional `address` object property with:
  - handle (required): org/team-slug — the router resolves it
    by stripping the org prefix; slug MUST equal persona id
  - aliases (optional): additional team handles (e.g. from renames)

Companion to petry-projects/.github-private#1279.
Copilot AI review requested due to automatic review settings July 17, 2026 02:12
@don-petry
don-petry requested a review from a team as a code owner July 17, 2026 02:12
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@don-petry, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 40 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: ce510e08-6fa4-47da-b645-3dc6d85f2115

📥 Commits

Reviewing files that changed from the base of the PR and between 6351788 and dec0f6d.

📒 Files selected for processing (1)
  • standards/personas/persona.schema.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/qa-lead-role-rename

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sonarqubecloud

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request reformats the persona.schema.json file and introduces a new address property to define how humans can @-mention a persona using GitHub team handles and aliases. The feedback suggests adding "uniqueItems": true to the aliases array definition to prevent duplicate entries.

Comment thread standards/personas/persona.schema.json

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the org’s canonical persona manifest JSON schema to support a new optional address block used for @-mention routing, while keeping existing persona manifests valid.

Changes:

  • Add optional address object with required handle and optional aliases to standards/personas/persona.schema.json.
  • Reformat/normalize the schema JSON (expanded arrays/objects; escaped unicode characters) without intended semantic changes to existing constraints.

Comment thread standards/personas/persona.schema.json
@don-petry
don-petry enabled auto-merge (squash) July 17, 2026 02:16
@don-petry
don-petry disabled auto-merge July 17, 2026 02:16
coderabbitai[bot]
coderabbitai Bot previously approved these changes Jul 17, 2026
@don-petry

Copy link
Copy Markdown
Contributor Author

Dev-Lead — fix-reviews (applied)

Changes committed and pushed.

@don-petry

Copy link
Copy Markdown
Contributor Author

Superseded by #752, which merged at 02:17:14 — five minutes after this PR was opened at 02:12:51.

This was auto-created to unblock petry-projects/.github-private#1279's failing validate-personas CI ("Additional properties are not allowed ('address' was unexpected)"). That was the right diagnosis, but #752 was already in flight with the full change, and #1279 is now green against main.

Merging this would regress the schema, so closing rather than rebasing:

this PR #752 (on main)
handle pattern ^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$any org ^petry-projects/[a-z0-9]+(-[a-z0-9]+)*$
aliases[]
address required when mention enabled ✅ (conditional)
§1.6 role rule

The loose pattern is specifically the hole Copilot flagged on #752 — it would let @evil-org/qa-lead validate. The tightened, org-anchored pattern is what shipped.

@don-petry don-petry closed this Jul 17, 2026
auto-merge was automatically disabled July 17, 2026 03:43

Pull request was closed

@don-petry
don-petry deleted the feat/qa-lead-role-rename branch July 17, 2026 03:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants