Add deterministic map conflict detection to Y.Map writes
Add strict, deterministic conflict detection for Y.Map key writes with collect and error policies.
yjs-map-conflict-detection
Normalized profile
What this task asks for
Add strict, deterministic conflict detection for Y.Map key writes with collect and error policies. Add strict, deterministic conflict detection for Y.Map-style key writes so ambiguous or overlapping operations are detected early, reported clearly, and optionally block updates before they partially apply. Conflicts must be detected for set-set and delete-set on the same key within the same transaction or merged update when mapConflictPolicy is collect or error. Conflicts involving Yjs types or subdocs must be marked as ambiguous, either by setting conflict.type to ambiguous or by exposing an ambiguous boolean flag. The policy is configured via the Y.Doc constructor options as new Y.Doc({ mapConflictPolicy: 'allow'|'collect'|'error' }). The thrown error must expose an err.conflicts array. The summary must also include an overall count as count or total.
Intent
- feature implementation
- configuration tuning
- test and validation
Work surfaces
- library API
Technology
- Yjs
Expected artifacts
- repository patch
What makes it difficult
- reverse engineering from incomplete or indirect evidence
- strict behavioral compatibility or exact-output validation
- quantitative performance, accuracy, or resource constraints
- stateful behavior and data-integrity constraints
Published evidence
Model × harness outcomes
Counts are tied to these exact configurations. Harnesses are not treated as equivalent across benchmarks.
- Models
- 13
- Configurations
- 41
- Trials
- 164
Showing 41 of 41 configurations
| Model | Harness | Effort | Result | Passes |
|---|---|---|---|---|
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | low | Mixed | 2/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | medium | Mixed | 3/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | high | Mixed | 3/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | max | All passed | 4/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | low | Mixed | 3/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | medium | Mixed | 3/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | high | All passed | 4/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | max | Mixed | 3/4 |
| claude-sonnet-4-6anthropic | mini-swe-agentpublished configuration | high | Mixed | 3/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | low | Mixed | 1/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | medium | All passed | 4/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | high | All passed | 4/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | max | Mixed | 3/4 |
| gemini-3-1-pro-previewvertex_ai | mini-swe-agentpublished configuration | high | No passes | 0/4 |
| gemini-3-5-flashvertex_ai | mini-swe-agentpublished configuration | medium | Mixed | 3/4 |
| glm-5-2zai | mini-swe-agentpublished configuration | high | Mixed | 3/4 |
| glm-5-2zai | mini-swe-agentpublished configuration | max | Mixed | 3/4 |
| gpt-5-4openai | mini-swe-agentpublished configuration | xhigh | Mixed | 1/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | low | Mixed | 2/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | medium | Mixed | 3/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | high | All passed | 4/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | medium | No passes | 0/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | high | Mixed | 3/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | xhigh | All passed | 4/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | max | All passed | 4/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | low | All passed | 4/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | medium | All passed | 4/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | high | All passed | 4/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | max | All passed | 4/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | low | Mixed | 2/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | medium | Mixed | 3/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | high | Mixed | 3/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | max | All passed | 4/4 |
| kimi-k2-7-codeopenrouter | mini-swe-agentpublished configuration | default | All passed | 4/4 |