The rebuild run on 2026-10-27 failed after 612 assignments: an assign reply contained titleEn twice in one object. JsonObject builds its dictionary lazily and throws ArgumentException on first access, which escaped AssignNotesUseCase.Validate and failed the run (502).
PlanParsing.Object (used by assign, split, fold and consolidate replies) now parses with AllowDuplicateProperties = false, so such a reply is unusable like any other malformed one: its batch is skipped and remembered, the run goes on.
Test Assign_DuplicatePropertyInReply_IsUnusable reproduced the production stack trace before the fix. Tests: Core 174, Contracts 85, Application 273, Host 164.
The rebuild run on 2026-10-27 failed after 612 assignments: an assign reply contained `titleEn` twice in one object. `JsonObject` builds its dictionary lazily and throws `ArgumentException` on first access, which escaped `AssignNotesUseCase.Validate` and failed the run (502).
`PlanParsing.Object` (used by assign, split, fold and consolidate replies) now parses with `AllowDuplicateProperties = false`, so such a reply is unusable like any other malformed one: its batch is skipped and remembered, the run goes on.
Test `Assign_DuplicatePropertyInReply_IsUnusable` reproduced the production stack trace before the fix. Tests: Core 174, Contracts 85, Application 273, Host 164.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
JsonObject builds its dictionary on first access and throws ArgumentException
on a repeated key, which escaped reply validation and failed the whole run
(assign reply with titleEn twice). Parsing now rejects duplicates up front, so
the reply counts as unusable like any other malformed one.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The rebuild run on 2026-10-27 failed after 612 assignments: an assign reply contained
titleEntwice in one object.JsonObjectbuilds its dictionary lazily and throwsArgumentExceptionon first access, which escapedAssignNotesUseCase.Validateand failed the run (502).PlanParsing.Object(used by assign, split, fold and consolidate replies) now parses withAllowDuplicateProperties = false, so such a reply is unusable like any other malformed one: its batch is skipped and remembered, the run goes on.Test
Assign_DuplicatePropertyInReply_IsUnusablereproduced the production stack trace before the fix. Tests: Core 174, Contracts 85, Application 273, Host 164.🤖 Generated with Claude Code