Skip to content

docs(ladon): check versioning rule 4 on mutating requests in minors - #8859

Open
bokelley wants to merge 1 commit into
mainfrom
docs/ladon-rule-4-check
Open

bokelley wants to merge 1 commit into
mainfrom
docs/ladon-rule-4-check

Conversation

@bokelley

@bokelley bokelley commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Adds the reviewer check that Brian's concession on #8519 promised, and that the working-group session of 2026-11-09 confirmed. #8519 proposed a blanket high on every minor-release change that didn't state a "pathway back". That blanket rule is replaced by one check: rule 4 of "What can change in a release" in docs/reference/versioning.mdx (#8704).

The check

For a PR on main, which ships in a minor, Ladon checks each field added to a mutating request, including nested objects such as packages. Would a seller on the previous minor of the same major ignore the field and commit to something different? Spend, targeting, caps, bidding, creative activation, measurement and account identity are examples, not the full list.

If so, the field is high unless:

  • it sits behind a capability the seller declares in get_adcp_capabilities, and
  • the spec says buyers MUST NOT send it to a seller that doesn't declare that capability.

A field an older seller can safely ignore needs nothing more.

This PR doesn't add the "pathway back" labels or the constitution invariant that #8519 proposed.

Notes

  • LADON.md only. No changeset: it isn't on the protocol surface, and node scripts/check-changeset-protocol-scope.cjs origin/main passes.
  • ai-review.yml skips Ladon review when a PR modifies LADON.md, so this needs a human reviewer and a human merge.
  • The pre-commit hook passed.

🤖 Generated with Claude Code

Brian's concession on #8519 (2026-11-06), confirmed at the 2026-11-09
working-group session, replaced the proposed blanket `high` on every
minor-release change with one reviewer check: rule 4 of the versioning
rules (#8704). A field added to a mutating request in a minor is `high`
when an older seller that ignores it would commit to something
different, unless it sits behind a capability the seller declares and
buyers MUST NOT send it otherwise.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
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.

1 participant