conceptadev / conceptadev/noir

Unhandled duplicate-key exception terminates Orbit after session resume

Open
#77 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Dart
Stars
3
Forks
0
Avg merge
6h 57m
Merged PRs (30d)
70

Description

Orbit exits with an unhandled exception when a Codex conversation is reopened from local history and a follow-up is submitted.

### Reproduction
1. Start a Codex session in Orbit and complete a prompt.
2. Open session history and reopen that conversation.
3. Submit a follow-up prompt.

Observed with Noir pinned to `b78527895411c69a6528a942bd58882f1a23faf0`, Dart 3.11.0, macOS arm64, and iTerm2.

### Actual
The terminal app exits during a transcript rebuild:

```text
Bad state: Duplicate key ValueKey(entry-acp-v1-local-1) found in Column. Sibling keys must be unique.
#0 MultiChildRenderObjectElement._validateUniqueChildKeys (package:noir/src/framework/element.dart:1123)
#1 MultiChildRenderObjectElement.update (package:noir/src/framework/element.dart:1001)
```

### Expected
The follow-up renders without terminating the terminal app.

Please investigate the duplicate-key failure and error handling. The duplicate may originate in Orbit's transcript IDs after resume; this report does not establish that Noir generates the duplicate key.

Contributor guide

Open the contributing guide

Research direction

Reproduce the session-history resume flow and follow-up submission, then inspect the duplicate-key validation locations in package:noir/src/framework/element.dart at lines 1123 and 1001. Trace whether the repeated transcript ID comes from Orbit or is mishandled during rendering; done means the follow-up renders without terminating the terminal app.

Written by the indexing model from the issue text.

Assessment

Tech stack
dart
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.