--- name: ai-sdk-parity-review description: Review an ai-sdk diff, feature, bug or package against its upstream parity contract. Find behavioral mismatches, unsupported assumptions, scope drift and gaps in regression evidence. --- # AI SDK Parity Review Review the requested scope against the registered upstream baseline, or the fixed target explicitly selected for an upgrade. If no scope is specified, review the current diff. Use the [upgrade skill](../ai-sdk-parity-upgrade/SKILL.md) for a broader assessment and implementation plan; use this skill to challenge the resulting work. ## Establish the contract Read `test/conformance/upstream.yaml` and the relevant `PARITY.md` entries to identify versions, supported behavior, existing evidence and accepted deviations. For an upgrade, distinguish the starting baseline from its selected target and decisions. Inspect matching upstream implementation and tests alongside the Go paths involved. Prefer exact local Git references, installed package sources or versioned source URLs. If the required source is unavailable, state the gap rather than substituting another version. Additional context should answer a concrete review question, not be a mandatory reading list. ## Review in both directions ### Upstream → Go - Are the relevant semantics represented, including defaults, optional values, warnings/errors, state transitions and continuation? - Does a language-specific adaptation preserve observable behavior and wire shape? - Are changes outside existing fixtures accounted for, rather than inferred correct from a passing suite? - Are missing capabilities, unsupported families and intentional differences explicitly distinguished? ### Go → requirement - Does each implementation change address an assessed need within the scope? - Are new APIs, abstractions or altered behavior justified by the contract? - Does the regression test fail for the actual bug and exercise the complete path? - Are snapshot changes explained by behavior, with intact input provenance? ## Distinguish upgrade review from parity-work review For a pinned-version upgrade, check consistent references/evidence, required green checks and a comprehensive assessment of the current Go implementation against the target. The release delta is a guide, not the assessment boundary: older gaps and uncovered surfaces also need dispositions. Remaining differences must be linked to registered work or an explicit adaptation/exclusion. Check that issue scopes and acceptance criteria actually cover the findings, duplicate candidates were considered, and every registered parity issue has `upstream-sync`. The upgrade PR should contain the run-specific issue list; reject dated assessment sections, issue catalogs and copied issue details in `PARITY.md`. That file changes only for durable coverage, evidence, support-boundary or accepted-deviation changes. Do not demand completion of all parity work, but do not accept broken checks or a target-induced incompatibility that prevents a supported integration from working as a mere follow-up. For a parity work package, review its behavioral acceptance contract against the current pinned reference. Check design, implementation and proof; update or close the issue when complete. Update the coverage map only if its stable status, evidence, supported boundary or accepted deviation changed. One merged PR may deliver only a producer prerequisite, so package completion still requires the consumer behavior and evidence. Choose evidence appropriate to the affected layer: provider request snapshots, core UI/output snapshots, frontend hook scenarios, focused provider tests or Gateway contract/runtime checks. See the [tooling reference](../../../test/conformance/UPGRADING.md) for what each check establishes and its limitations. Inspect actual results, including skips and warning-only reports. Separate missing implementation from missing evidence. Verify published dependencies when a consumer uses another Go module; workspace tests alone do not prove adoption. Required checks must pass for each delivered PR without relying on a later unmerged change. For a baseline transition, check coherent pins, lockfile, generated expectations, reviewed attestation and verification evidence together. A newer upstream release alone is not a defect in an implementation targeting a fixed version. ## Report actionable findings For each finding, provide the behavior at risk, source/code evidence, classification, recommended correction and required proof. Classify it as an implementation bug, upstream behavior change, intentional deviation, coverage gap or unresolved design question. Same-behavior Go adaptations are not findings unless they explain a concern. Do not list every matching behavior. For broad scope, use a compact area/evidence/ finding/action matrix. State commands actually run and distinguish completion of the pinned-version upgrade/assessment from completion of an individual parity work package. Do not accept a gap by omission or suggest weakening comparisons. Actionable deferred work belongs in `upstream-sync` issues; durable coverage boundaries and accepted deviations belong in `upstream.yaml` or `PARITY.md`; run-specific observations belong in the upgrade PR or review report.