feat(media-buy): resolve acceptance policy catalogs - #1097
Conversation
There was a problem hiding this comment.
Ladon verdict: Approve
Approve — additive seller acceptance-policy discovery, no blocking or medium findings.
Checked:
- Full digest trust chain in
acceptance.py(exact-byte catalog pin, JCS profile/policy pins, fail-closed to unknown). - Bounded/timeout-guarded fetches with IP pinning, no redirects, no credential leakage.
- Compression-bomb defense in
_bounded_http.py. - Local-bundle
$refcontainment inschema_loader.py. - Correct additive
feat:semver signal on the public surface (new exports only, no breaking shape/type changes).
Decision-table walk:
- Rows 1: no critical/high findings.
- Row 2:
gated_pathsfalse — N/A. - Rows 3–5:
high_risktrue but all reasons are(modified)with zero medium-or-higher findings; no(deleted)entries; no medium findings of any category. None fire. - Row 6: no prior decision.
- Row 7: no no-auto-approve team match.
- Row 8: fewer than three medium findings (zero).
- Row 9: approve.
review_decision: REVIEW_REQUIRED does not gate here because gated_paths is false. High-risk modifications to __init__.py, _eager.py, and signing/** were reviewed and preserve their contracts with no findings.
61be38d to
93ed6e8
Compare
There was a problem hiding this comment.
Ladon verdict: Approve
Approve — clean pass on PR #1097.
This is an additive-only feature landing the adcp.acceptance advisory resolver plus its supporting surface: public-surface wiring in __init__.py, a bounded gzip/deflate reader (signing/_bounded_http.py), a named-schema validator (validation/schema_loader.py), and two optional core.Policy fields. The reviewer completed largest-file coverage on acceptance.py (1011 lines) and operational-readiness review: fetch is fail-closed on URL/redirect/credentials, digests verify exact bytes before parse, every external call is timeout-bounded, and missing information resolves to unknown (never allow).
No Critical/High/Medium findings. The change is additive, so there is no semver-signal concern (no removed/renamed public exports, no required→optional flips, no discriminated-union narrowing) and no import-layering issue.
high_risk is true, but all matching entries are (modified) files with no medium-or-higher finding against them — per the arbiter guidance, a modification with no reviewer concern is presumed safe and does not warrant escalation. No (deleted) reasons. gated_paths is false. No no-auto-approve team match. Prior decision was also approve.
Rows 1–8 do not fire → row 9: approve.
Closes #1069
Summary
Verification
make test(7,436 selected tests)make lint typecheckmake test-type-checksmake check-type-ignore-contract validate-generateduv buildanduv build --wheel