Skip to content

Reconcile item upserts without full conversation refresh - #43

Merged
VolkerChristian merged 1 commit into
masterfrom
codex/t1b-structural-item-upserts
Aug 22, 2026
Merged

Reconcile item upserts without full conversation refresh#43
VolkerChristian merged 1 commit into
masterfrom
codex/t1b-structural-item-upserts

Conversation

@VolkerChristian

Copy link
Copy Markdown
Member

Introduce a structural thread scope for only resolved item upserts. Preserve exact append metadata through mailbox and frame coalescing, let deletion-capable scopes dominate, and continue from exact content application into keyed topology reconciliation without rebuilding unrelated presentation state.

Call-site audit: stateUpdateScope has one production caller and 13 pre-existing direct test calls; only its two resolved ItemUpsert branches change. mergeScope has one production call. refreshState has 19 callers; only the 16 ms drain passes structural mode and the other 18 retain defaults. ConversationWidget::render has 80 current call sites (one production, 79 tests); the production caller passes the mode, the 76 pre-existing tests retain the default, and only the structural call among three new proof sites passes true.

Deletion census: 152 lines removed under src/. ConversationWidget removes 78 lines by guarding/refactoring the existing title, completeness-proof, current-turn, summary, and render-signature paths into structural/full modes. Workbench removes 67 lines by extracting its inline frame accumulator and consolidating four pending-state fields. FrontendSessionWorker removes six old full-scope ItemUpsert lines in favor of structural mapping; FrontendSession removes one superseded merge line. No semantic block was discarded.

Runtime proof covers both item-parent resolutions, legacy TurnUpsert full authority, bounded mailbox/full dominance, both exact/structural arrival orders through the production accumulator and UI, 50 new widgets with preserved identities, one incremental append with no rematerialization/replacement, and deletion destruction. No golden hash or protocol fingerprint changed.

Introduce a structural thread scope for only resolved item upserts. Preserve exact append metadata through mailbox and frame coalescing, let deletion-capable scopes dominate, and continue from exact content application into keyed topology reconciliation without rebuilding unrelated presentation state.

Call-site audit: stateUpdateScope has one production caller and 13 pre-existing direct test calls; only its two resolved ItemUpsert branches change. mergeScope has one production call. refreshState has 19 callers; only the 16 ms drain passes structural mode and the other 18 retain defaults. ConversationWidget::render has 80 current call sites (one production, 79 tests); the production caller passes the mode, the 76 pre-existing tests retain the default, and only the structural call among three new proof sites passes true.

Deletion census: 152 lines removed under src/. ConversationWidget removes 78 lines by guarding/refactoring the existing title, completeness-proof, current-turn, summary, and render-signature paths into structural/full modes. Workbench removes 67 lines by extracting its inline frame accumulator and consolidating four pending-state fields. FrontendSessionWorker removes six old full-scope ItemUpsert lines in favor of structural mapping; FrontendSession removes one superseded merge line. No semantic block was discarded.

Runtime proof covers both item-parent resolutions, legacy TurnUpsert full authority, bounded mailbox/full dominance, both exact/structural arrival orders through the production accumulator and UI, 50 new widgets with preserved identities, one incremental append with no rematerialization/replacement, and deletion destruction. No golden hash or protocol fingerprint changed.
@VolkerChristian
VolkerChristian merged commit a00a011 into master Aug 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant