Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explicitly spec out how non-k-anon auction works. #1080

Merged
merged 10 commits into from
Mar 18, 2024
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion spec.bs
Original file line number Diff line number Diff line change
Expand Up @@ -1700,7 +1700,7 @@ To <dfn>generate and score bids</dfn> given an [=auction config=] |auctionConfig
|generatedBidsForDebuggingReports|.
1. [=list/For each=] |bidToScore| of |bidsToScore|:
1. If |bidToScore|'s [=generated bid/for k-anon auction=] is true,
[=list/insert=] |bidToScore|'s [=generated bid/interest group=] in |bidIgs|.
[=list/append=] |bidToScore|'s [=generated bid/interest group=] in |bidIgs|.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: append ... to ...

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done, thanks

1. [=Score and rank a bid=] with |auctionConfig|, |bidToScore|, |leadingBidInfo|,
|decisionLogicScript|, |directFromSellerSignalsForSeller|, |dataVersion|, |auctionLevel|,
|componentAuctionExpectedCurrency|, and |topLevelOrigin|.
Expand Down Expand Up @@ -1914,8 +1914,17 @@ or "component-auction", a [=currency tag=] |componentAuctionExpectedCurrency|, a
|scoreAdOutput|["{{ScoreAdOutput/incomingBidInSellerCurrency}}"].
1. Let |score| be |scoreAdOutput|["{{ScoreAdOutput/desirability}}"].
1. If |generatedBid|'s [=generated bid/for k-anon auction=] is false:
1. Let |updateLeadingNonKAnonEnforcedBid| be false.
1. If |leadingBidInfo|'s [=leading bid info/leading non-k-anon-enforced bid=]
is null, or |score| &gt; |leadingBidInfo|'s [=leading bid info/top non-k-anon-enforced score=]:
qingxinwu marked this conversation as resolved.
Show resolved Hide resolved
1. Set |updateLeadingNonKAnonEnforcedBid| to true.
1. Set |leadingBidInfo|'s [=leading bid info/top non-k-anon-enforced bids count=] to 1.
1. If |leadingBidInfo|'s [=leading bid info/leading non-k-anon-enforced bid=] is not null and
|score| = |leadingBidInfo|'s [=leading bid info/top non-k-anon-enforced score=]:
1. Increment |leadingBidInfo|'s [=leading bid info/top non-k-anon-enforced bids count=] by 1.
1. Set |updateLeadingNonKAnonEnforcedBid| to true with 1 in |leadingBidInfo|'s
[=leading bid info/top non-k-anon-enforced bids count=] chance.
1. If |updateLeadingNonKAnonEnforcedBid| is true:
1. Set |leadingBidInfo|'s [=leading bid info/top non-k-anon-enforced score=]
to |score|.
1. Set |leadingBidInfo|'s [=leading bid info/leading non-k-anon-enforced bid=] to |generatedBid|.
Expand Down Expand Up @@ -5430,6 +5439,8 @@ scored bids. It's a [=struct=] with the following [=struct/items=]:
:: A {{double}}, initially 0.0. The highest score so far when disregarding k-anonymity.
: <dfn>top bids count</dfn>
:: An integer, initially 0. The number of bids with the same `top score`.
: <dfn>top non-k-anon-enforced bids count</dfn>
:: Number of bids that are tied for leadership when disregarding k-anonymity thus far.
: <dfn>at most one top bid owner</dfn>
:: A [=boolean=], initially true. Whether all bids of `top score` are from the same interest
group owner.
Expand Down
Loading