Skip to content

fix(schema): align brand property type enums - #6334

Open
bokelley wants to merge 1 commit into
mainfrom
fix/6330-property-type-ref
Open

fix(schema): align brand property type enums#6334
bokelley wants to merge 1 commit into
mainfrom
fix/6330-property-type-ref

Conversation

@bokelley

Copy link
Copy Markdown
Contributor

Summary

  • replace stale inline brand property enums with the canonical property-type schema reference
  • align single and bulk brand-claim verification schemas so linear_tv and ai_assistant validate consistently
  • update protocol and implementation docs, including copyable TypeScript and Zod validators
  • add bidirectional schema coverage for all canonical values and rejection of non-canonical values

Fixes #6330

Testing

  • npm run build:schemas
  • npm run test:schemas (29 schema checks and 4 metadata checks passed)
  • targeted snippet and JSON-schema validation for all three changed docs
  • node scripts/check-changeset-protocol-scope.cjs origin/main
  • npx --yes @changesets/cli@^2.31.0 status --since=origin/main
  • git diff --check origin/main...HEAD

Release

Includes a minor adcontextprotocol changeset because the published schemas gain two existing canonical enum values.

@aao-secretariat aao-secretariat 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.

Ladon verdict: Escalate to human review

Escalate — gated schema paths require human/CODEOWNERS review.

This PR modifies published protocol source under static/schemas/source/** (a hard-gated path), and review_decision is REVIEW_REQUIRED — not APPROVED. Per decision rule row 2, the gate is not satisfied and the outcome must be escalate.

The change itself looks clean per the reviewer: it aligns brand property.type across brand.json and the two verify-brand-claim request schemas by $ref'ing the canonical property-type enum (adding linear_tv and ai_assistant), updates all three doc surfaces to match, ships a correct minor changeset, and adds a test covering every canonical value plus a negative case. The reviewer reports schema↔docs coherence holds and the change is additive/Normative (non-breaking), with no findings. But no blocking findings does not lift the deterministic path gate — only a real APPROVED review does.

Escalation reasons

  • Modifies gated schema source static/schemas/source/brand.json, static/schemas/source/brand/verify-brand-claim-request.json, and static/schemas/source/brand/verify-brand-claims-request.json; review_decision is REVIEW_REQUIRED. Human/CODEOWNERS approval is required before merge.

Why human review

  • Modifies gated schema source under static/schemas/source/** (brand.json, verify-brand-claim-request.json, verify-brand-claims-request.json) while review_decision is REVIEW_REQUIRED — human/CODEOWNERS approval required (decision rule row 2).
  • This PR touches a path under a hard, non-overridable approval gate (static/schemas/source/brand.json (modified) matches static/schemas/source/**; static/schemas/source/brand/verify-brand-claim-request.json (modified) matches static/schemas/source/**; static/schemas/source/brand/verify-brand-claims-request.json (modified) matches static/schemas/source/**) and the current GitHub review decision is 'REVIEW_REQUIRED', not APPROVED. This is a hard gate enforced in code — Ladon cannot auto-approve until a human/CODEOWNERS approval is recorded, regardless of how clean the diff is.

@aao-secretariat aao-secretariat Bot added the ladon/needs-human-review Ladon has escalated this PR for human review. label Aug 10, 2026
@bokelley
bokelley requested a review from a team August 10, 2026 07:33
@bokelley
bokelley enabled auto-merge (squash) August 10, 2026 07:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ladon/needs-human-review Ladon has escalated this PR for human review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

brand.json property.type uses inline enum missing linear_tv and ai_assistant (diverged from enums/property-type.json)

1 participant