Repository navigation
docs(examples): add targeting migration adapter - #2936
Conversation
There was a problem hiding this comment.
Ladon verdict: Request changes
Request changes — 1 blocking finding.
Blocking findings
- package.json:535 — Missing
.changeset/*.mddespite adding the new example (examples/targeting-input-existing-platform.ts) to the published packagefilesarray. Per the repo's mandatory changeset-vs-wire-impact rule, touching apackage.jsonfilespath without a changeset is ahighfinding.
The rest of the PR is clean: docs/examples-only migration adapter example, guide, and test using public @adcp/sdk exports. Imports resolve, example semantics match the Targeting Input contract (DR-0020, omit/clear/set with fail-closed rejection of unsupported clears and unmapped dimensions), and there is no mock/fallback data or custom transport. Add the changeset to unblock.
Blocking findings
- package.json:535 — Missing changeset despite adding new example to published package
filesarray (changeset-vs-wire-impact: high)
Superseded by a later Ladon review that rechecked and resolved its blocking findings.
There was a problem hiding this comment.
Ladon verdict: Approve
Approve — prior blocker resolved, clean pass.
The sole prior blocking finding (missing changeset for adding examples/targeting-input-existing-platform.ts to the published package.json files array) is now resolved by .changeset/calm-targeting-adapters.md (patch), correctly scoped for an additive example with no library behavior change. The create path rework to applyTargetingInput(product defaults, request) with fail-closed rejection of unsupported clears and unmapped dimensions was verified against helper contracts, generated types, and tests — no witness-not-translator or transport-client concerns.
No critical/high/medium findings in this run. No author-team gate, gated_paths: false, high_risk: false. Falls through to row 9.
Summary
Verification
npm run build:libnpm run typecheck:examplesnode --test test/examples/targeting-input-existing-platform.test.jsnpm run format:checknpm run ci:docs-checknpm run check:package-sizenpm run check:packed-artifactnpm run verify:package(Node 24; packed public-import examples compile and clean-room checks pass)Full
npm run ci:quickreached unrelated environment/resource failures: the inheritedDATABASE_URLchanged one existing test's expectation (the test passes with that variable unset), and a later parallel batch exhausted the VM's 4 GiB Node heap. The focused and packaging checks above pass.Expert review additionally caught two protocol details before merge: accepted create state now materializes the selected product's strict defaults before applying omit/clear/set commands, and the example does not expose whole-overlay
nullbecause canonical 3.2 requests permit only per-dimension clears.Follow-up to #2906 and the concrete downstream migration request in #2906 (comment). This changes documentation/examples and helper documentation only; it does not change SDK targeting semantics or runtime APIs.