[PoC / do-not-merge] R30: verify clean per-instance receiver attribution in CI - #1206
Draft
vringar wants to merge 1 commit into
Draft
[PoC / do-not-merge] R30: verify clean per-instance receiver attribution in CI#1206vringar wants to merge 1 commit into
vringar wants to merge 1 commit into
Conversation
vringar
force-pushed
the
feat/stealth-js-instrument-v2
branch
2 times, most recently
from
June 21, 2026 08:02
e86186a to
062e07c
Compare
vringar
force-pushed
the
feat/stealth-js-instrument-v2
branch
2 times, most recently
from
July 2, 2026 22:58
5c2d45b to
2d98686
Compare
vringar
force-pushed
the
feat/stealth-js-instrument-v2
branch
12 times, most recently
from
July 11, 2026 22:34
a749a6c to
77b435c
Compare
vringar
force-pushed
the
feat/stealth-js-instrument-v2
branch
from
July 20, 2026 22:54
77b435c to
8ea8dcc
Compare
vringar
force-pushed
the
poc/clean-per-instance
branch
from
July 20, 2026 22:54
2c6de9e to
369e1b4
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## feat/stealth-js-instrument-v2 #1206 +/- ##
================================================================
Coverage ? 53.79%
================================================================
Files ? 42
Lines ? 4924
Branches ? 0
================================================================
Hits ? 2649
Misses ? 2275
Partials ? 0 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
vringar
force-pushed
the
poc/clean-per-instance
branch
from
July 21, 2026 17:11
369e1b4 to
780ab44
Compare
vringar
force-pushed
the
feat/stealth-js-instrument-v2
branch
from
July 21, 2026 17:49
8ea8dcc to
31ea6f3
Compare
vringar
force-pushed
the
poc/clean-per-instance
branch
2 times, most recently
from
July 26, 2026 15:19
163f594 to
652c143
Compare
vringar
force-pushed
the
feat/stealth-js-instrument-v2
branch
from
July 26, 2026 15:19
31ea6f3 to
a396765
Compare
vringar
force-pushed
the
poc/clean-per-instance
branch
from
August 2, 2026 13:08
652c143 to
094a1e3
Compare
vringar
force-pushed
the
feat/stealth-js-instrument-v2
branch
2 times, most recently
from
August 2, 2026 15:51
14de4fb to
9cc1d8c
Compare
vringar
force-pushed
the
poc/clean-per-instance
branch
from
August 2, 2026 15:51
094a1e3 to
7191387
Compare
…p on Xray this Proof-of-construction for ADR-0001 gap #2 ("lose the receiver"). Adds a module-local WeakMap<receiver,id> keyed on the Xray-wrapped page object held in the isolated content-script world, emitting a per-instance id in the receiver column. No page mutation, no leaked globals, prototype wrapper unchanged. Scratch/PoC change — not for merge. See datadir/poc-clean-per-instance-attribution.md for the verdict and the one remaining real-browser run.
vringar
force-pushed
the
feat/stealth-js-instrument-v2
branch
from
August 2, 2026 19:19
9cc1d8c to
c282d53
Compare
vringar
force-pushed
the
poc/clean-per-instance
branch
from
August 2, 2026 19:19
7191387 to
8d1a65b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proof-of-concept — DO NOT MERGE (R30 verification only)
This draft exists solely so CI can execute
test_poc_receiver_attribution.py— the sandbox couldn't spawn the browser to run it end-to-end.What it tests: whether the stealth instrument can record per-instance receiver attribution — via a module-local
WeakMap<receiver, id>held in the isolated content-script world, emitting<Interface>#<id>in the existingreceivercolumn — while staying clean/undetectable (no page own-property, no leaked global, prototype wrapper byte-for-byte unchanged).Why: to empirically disprove (or vindicate) ADR-0001 gap #2's claim that per-instance attribution requires mutating the instance. The crux (is the Xray
thisa stableWeakMapkey?) resolves yes by SpiderMonkey's per-compartment wrapper-map guarantee; this PR is the executed confirmation the maintainer asked for.Read the result as:
test_poc_receiver_attribution.pygreen = 2 distinctXMLHttpRequest#<n>ids, a twice-called instance collapsing to one id, and the clean/undetectable vectors all passing. Other test failures are expected — the PoC changes thereceiveremission format, which is throwaway, not production.DO NOT MERGE. This is a measurement/verification vehicle for an ADR decision; the real follow-up (if disproven) is a small ADR wording correction, not this code.