PIR: Preserve and forward broker-supplied profile fields native doesn't model - #9341
Closed
noisysocks wants to merge 1 commit into
Closed
PIR: Preserve and forward broker-supplied profile fields native doesn't model#9341noisysocks wants to merge 1 commit into
noisysocks wants to merge 1 commit into
Conversation
Adds an open extras map to the extracted profile and to each of its addresses. Native parses it from the extract response, stores it verbatim and forwards it on opt-out without interpreting it, so C-S-S can start extracting a new profile field without an app release. Also refreshes the scraped fields of already-stored profiles on re-scan, and narrows profile identity to the tuple the unique index actually covers, so a changed scraped field no longer marks a still-listed profile as removed and then drops the replacement insert. https://app.asana.com/1/137249556945/task/1216773212741753 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
noisysocks
force-pushed
the
randerson/pir-extras-passthrough
branch
from
July 30, 2026 06:17
289ea29 to
e94f53d
Compare
Collaborator
Author
|
Superseded by #9353, reopened from a branch on this repo rather than a fork. |
This was referenced Jul 31, 2026
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.
Task/Issue URL: https://app.asana.com/1/137249556945/task/1216773212741753
Tech Design URL (if applicable): https://app.asana.com/1/137249556945/project/481882893211075/task/1216773212741757
API Proposals URL(s) (if applicable): None
Description
Native now preserves and forwards new broker-supplied profile fields it doesn't understand, so adding a profile field no longer needs an app release.
Two things worth flagging for review:
pir_extracted_profilesunique index actually covers. Previously every scraped field was compared, so any change to one marked the live opt-outREMOVEDand then silently dropped the replacement insert. Profiles that today flip toREMOVEDon a scrape change will stop doing so.fallbackToDestructiveMigration(), so the migration is mandatory rather than optional.17.jsonis committed and there's a Robolectric migration test.Existing rows pick up extras on their next scan, so no backfill is needed — but only for brokers that still return the profile.
Steps to test this PR
Extras are stored and forwarded
PIRprofile and run a scan against a broker whose config returns extra profile fields.fillFormpayload for the opt-out carries the extra fields through, at both the profile and the address level, and that empty extras are omitted rather than sent as{}.Upgrade preserves data
develop, add a profile and run a scan so extracted profiles are stored.Re-scan refreshes instead of marking removed
REMOVED.UI changes
🤖 Generated with Claude Code