tmpclient: add temporal decorrelation between context and identity requests
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 48/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Stale
- Tech stack
- go
- Domain
- backend-api-design
Research direction
Start in the tmpclient package and inspect where ContextMatch and IdentityMatch requests are sent, along with the Option definitions and related tests. Use the closed PR #9 in the client/ package as historical context. Done means the optional delay uses crypto/rand, is off by default, is bounded as specified, and tests confirm the identity delay without changing context timing.
Written by the indexing model from the issue text.
Description
The current tmpclient fires ContextMatch and IdentityMatch independently, but the two calls travel with nearly identical timing. A network observer correlating arrival times at the router and identity agent can re-link them even when they're sent in parallel.
Add an optional randomized delay (jitter) on the identity request to decorrelate the two calls. Suggested surface:
WithDecorrelationMax(max time.Duration) Option— upper bound on the delay (default: off, recommend 5ms when enabled)- Delay drawn from
[0, max)viacrypto/rand(notmath/rand) before sending the identity request
Prior design lived in closed PR #9 (client/ package). That PR used math/rand/v2; we should use crypto/rand for this since it's privacy-adjacent.
Acceptance
- Option is off by default (no behavior change)
- When set, identity request is delayed by a random duration in
[0, max) - Test asserts delay occurs and is bounded
- No impact on context request timing
- Dominant language
- Go
- Stars
- 4
- Forks
- 2
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 26
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from adcontextprotocol/adcp-go
-
CreativeInput carries no revision_id or localization (follow-up to #545)Possibly taken @sujanchalla0510 claimed this 15 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
adcontextprotocol/adcp-go#567 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
adcontextprotocol/adcp-go#600 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 38/100
adcontextprotocol/adcp-go#597 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
adcontextprotocol/adcp-go#590 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
adcontextprotocol/adcp-go#588 · 3 comments ·
Maintainers usually reply within 1 day
All issues in adcontextprotocol/adcp-go
Similar issues
-
bug good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
[mesheryctl] design delete fails when passing file or URL as positional argumentPossibly taken A pull request linked to this issue is open or already merged. Opencomponent/mesheryctl kind/bug language/go
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
meshery/meshery#22772 · 3 comments ·
Maintainers usually reply within 1 day
-
backend security size:S
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
limitlessprojects/Go-Hybrid#3342 ·
Maintainers usually reply within 1 day
-
status/ready type/bug
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
buildpacks/pack#2733 ·
Maintainers usually reply within 1 day