Skip to content

Commit 6ffb613

Browse files
committed
Add the PR #1489 review rounds to the S2S EID spec
Signed-off-by: dhruv8sh <dhruv8sh@proton.me>
1 parent eb90970 commit 6ffb613

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

‎docs/superpowers/specs/2026-10-30-s2s-eid-collection-design.md‎

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1830,3 +1830,40 @@ clock edges and privacy leaks.
18301830
- Non-blocking, no change: a UID2 refresh that keeps failing is retried on
18311831
every navigation until the token expires unless `rate_limit_per_hour` is
18321832
set. The fix for overdue UID2 refresh state (834af2591) chose this bound.
1833+
1834+
### Round 9 (2026-11-12, PR #1489 at 4b11d05a1, Claude Code (Opus 5.5) review agent)
1835+
1836+
Angle: data flow end to end, from partner config and the registry through
1837+
pull sync dispatch, the after-response write and bidstream egress, to the
1838+
mirror cookie and its vendor-consent expiry, on the tree restacked onto PR
1839+
#1488.
1840+
1841+
- Blocking, fixed (9638d7184): pull sync, now a provider, stored UIDs up to
1842+
1024 bytes. It runs for existing deployments with no config change, so a
1843+
row holding a longer pull-sync UID broke rollback, which older builds
1844+
reject whole (§6.3, §12.3). Pull-sync UIDs over 512 bytes are ignored, as
1845+
legacy pull sync did.
1846+
- Restack: the mirror's vendor gate now uses the per-source vendor set from
1847+
PR #1487 round 5, so a disabled provider's denied vendor withholds the
1848+
source from the mirror and expires a carried mirror holding it, as in the
1849+
bidstream. Tested; §10, the guide and the changelog no longer name a single
1850+
owning vendor.
1851+
- Non-blocking, fixed: stale comments on pull-sync ownership and on when a
1852+
provider claiming a pull-sync source fails.
1853+
1854+
### Round 10 (2026-11-12, PR #1489 at 9638d7184, Claude Code (Opus 5.5) review agent)
1855+
1856+
Angle: adversarial. Malformed mirror cookies and pull-sync replies, config
1857+
combinations, adapter differences and privacy leaks.
1858+
1859+
- No blocking findings. Re-checked forged, undecodable and oversized mirror
1860+
values (an undecodable one is expired whenever a mirrored vendor is denied;
1861+
one naming unknown sources is never trusted over KV); non-string, blank and
1862+
oversized pull-sync UIDs; zero rate limits and tokens that cannot form a
1863+
header (rejected at startup); `mirror_enabled` without
1864+
`bidstream_enabled`, and a configured provider or `kind = "pull-sync"`
1865+
claiming a pull-sync source (rejected); withdrawal and missing EID consent
1866+
expiring the mirror on every response; and the bot gate on pull sync.
1867+
- Non-blocking, no change: pull sync and provider-written mirror contents
1868+
exist only on Fastly; other adapters build the mirror from rows without
1869+
provider UIDs, so it stays unset there (§12.3 "On Fastly").

0 commit comments

Comments
 (0)