Skip to content

docs: explain optional gender targeting on 3.2 - #7926

Merged
bokelley merged 2 commits into
3.2.xfrom
backport/3.2.x-gender-guidance
Nov 8, 2026
Merged

bokelley merged 2 commits into
3.2.xfrom
backport/3.2.x-gender-guidance

Conversation

@bokelley

@bokelley bokelley commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Makes the optional AdCP-owned 3.2 gender agreement self-contained in the stable targeting guide. The 3.3 coherence decision removes the gender ext.adcp binding and its documentation from main, so this guide no longer links to that removed section or promises a published gender namespace schema.

Cooperating 3.2 buyers and sellers explicitly negotiate demographics.gender.v1, advertise product-scoped native capabilities, preserve exact requested/applied readback, and apply the existing custom gender-policy mechanism. The vocabulary includes female, male, and non_binary, with explicit independent unknown membership and rejection of unsupported or approximate execution. The agreement remains optional and documentation-only; 3.2 core remains age-only.

Migration uses the experimental 3.3 core surface from #7925. This does not introduce a second representation into 3.3, a baseline 3.2 requirement, a new source-schema binding, or a released artifact/version change.

Validation: all 14 schema-tagged examples on the stable page pass; the snippet checker reports no failures (41 non-executable blocks skipped). Normal commit hooks and both typechecks pass (including the hook's successful serial retry of an existing statistical diagnostic that hit its time ceiling under parallel load). Fresh stable CI follows the pushed head.

Rebased onto current 3.2.x. Keep draft and do not merge while #7925 and release-manager landing order remain pending. No changeset, package, source schema, registry, or dist/ changes.

Draft disposition — 2026-10-09

This draft is retained for the stated workstream. Continue on this existing branch; no parallel PR is needed. This disposition does not waive CI, review, migration, or release gates.

@bokelley
bokelley force-pushed the backport/3.2.x-gender-guidance branch from c68fd4e to dbeca81 Compare October 9, 2026 01:51
@bokelley
bokelley marked this pull request as ready for review November 8, 2026 20:31
@bokelley
bokelley merged commit a4af1a1 into 3.2.x Nov 8, 2026
24 checks passed
@bokelley
bokelley deleted the backport/3.2.x-gender-guidance branch November 8, 2026 20:32

@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 — new optional capability added to a stable maintenance line requires human review.

This docs-only PR adds a 227-line section to the stable 3.2.x targeting guide (docs/media-buy/advanced-topics/targeting.mdx) documenting a brand-new optional ext.adcp gender-targeting agreement. While mechanically clean — the demographics.age core shape validates, targeting.json is additionalProperties:true so ext.adcp.demographics.gender is valid open-ext JSON (no schema drift), anchors/cross-links resolve, naming/brand/character conventions are clean, and fail-closed semantics (UNSUPPORTED_FEATURE before mutation, ext preserved in signing/idempotency hashes) are correct — the substance is a new normative capability, not errata.

Per the repo's patch-eligibility rule, a new field / new normative requirement on a stable schema line is not patch-eligible and is treated as a non-editorial, breaking-class decision. Introducing an entirely new optional-capability spec to a stable maintenance guide is a protocol-policy decision whose decision-class and patch-eligibility call is a human act (constitution: Breaking/Normative-class changes are never auto-approved absent review_decision: APPROVED). review_decision is unknown/none here, so the gate is not satisfied.

Medium finding

  • docs/media-buy/advanced-topics/targeting.mdx:30 — 227-line new optional-capability spec added to the stable 3.2.x maintenance guide

Escalation reasons

  • New optional gender-targeting capability (bis, not errata) added to the stable 3.2.x maintenance line — patch/decision-class eligibility is a human ratification call, not auto-approvable.

Follow-up (low, non-blocking): the stable guide hard-links to blob/main (L37), mutable content the PR itself notes is in flux.

Medium findings

  • docs/media-buy/advanced-topics/targeting.mdx:30 — 227-line new optional-capability spec added to the stable 3.2.x maintenance guide

Why human review

  • New optional gender-targeting capability (bis, not errata) added to the stable 3.2.x maintenance line — decision-class/patch-eligibility is a human ratification call per the constitution's never-auto-approve bar for non-editorial normative changes; review_decision is not APPROVED.

@aao-secretariat aao-secretariat Bot added the ladon/needs-human-review Ladon has escalated this PR for human review. label Nov 8, 2026
aymeric45 pushed a commit to aymeric45/adcp that referenced this pull request Nov 11, 2026
This reverts commit ee0ca50, reversing
changes made to a4af1a1.

The 3.2.9 Version Packages merge is quarantined: its reviewed head
4eac700 is based on 241e5eb, but the merge's first parent is
a4af1a1, and the trees differ (adcontextprotocol#7926). Release run 42545984083
stopped at "Require human approval for committed release artifacts"
before any tag, GitHub Release or R2 upload. While 3.2.x commits an
untagged 3.2.9, every later push fails the stranded-release fence and
Changesets cannot regenerate the release PR.

Reverting returns 3.2.x to package 3.2.8 with the two pending
changesets, so Changesets regenerates 3.2.9 from the current branch
for fresh final-head maintainer review. v3.2.9 was never tagged, so
check-immutable-release-artifacts.cjs allows deleting its dist
artifacts.

dist/schemas/index.json is regenerated with buildRootSchemaDiscovery():
3.1.32 listed (adcontextprotocol#8825), 3.2.9 removed, aliases back to 3.2.8.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
aymeric45 pushed a commit to aymeric45/adcp that referenced this pull request Nov 11, 2026
Forward-merges the published 3.2.9 release (v3.2.9 = 39e9353) and every
3.2.x maintenance commit before it. Supersedes the a4af1a1 forward-merge
in adcontextprotocol#8820, which is an ancestor of v3.2.9.

Release records:
- dist/compliance/3.2.9, dist/schemas/3.2.9 and the signed
  dist/protocol/3.2.9.tgz tuple are taken from v3.2.9 unchanged.
- dist/schemas/index.json and latest.json are regenerated
  (forward-merge-release-records.cjs schema-discovery).
- CHANGELOG.md is main's file plus the 3.2.9 block.
- package.json, package-lock.json, static/schemas/source/index.json: main's.
- static/compliance/published-versions.json: main's. 3.2.x's only extra
  entry is 3.2.9, which is registered in a separate commit after
  qualification.

Content conflicts, all resolved to main's file:
- docs/media-buy/advanced-topics/targeting.mdx: the 3.2.x side is exactly
  adcontextprotocol#7926, 3.2-only optional gender agreement docs; main carries core gender
  targeting (adcontextprotocol#7925) instead.
- static/compliance/source/universal/error-compliance-signals.yaml: main's
  is the adcontextprotocol#8581 backport content plus main-only adcontextprotocol#8601 (version 1.0.2 and the
  signals capability gate).
- tests/sdk-runner-capability-gates.test.cjs: the only 3.2.x-only test is
  the SDK 14 variant of main's "signals discovery error bundle passes" test.
- server/tests/unit/storyboards.test.ts: adcontextprotocol#8825's 3.2.x-shaped 3.1.32
  integration tests; main already integrated 3.1.32 and 3.1.33 with its own
  test shape, and the non-conflicting adcontextprotocol#8825 hunk is already on main.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant