Skip to content

upstream merge needs attention: v0.83.0 (CONFLICTS) #591

Description

@code-yeongyu

Automated upstream merge for v0.83.0 did not complete cleanly (result: CONFLICTS).

Agent report

Upstream Merge Report

Generated: 2026-07-31T09:26:55Z

Result

MERGE_RESULT: CONFLICTS

The history-preserving merge from upstream/main was attempted and then aborted because the remaining TUI conflicts are semantic and high-risk. Per the merge instructions, no guess was made.

Refs

  • Branch: automation/upstream-v0.83.0-30618805360
  • Current HEAD: e3e4eeeefb732949154e7c66e934fae13e351a9b
  • Upstream target: upstream/main
  • Upstream main SHA: ab366ebe94cacd419d986be454f12b1b9913aaca
  • Latest upstream release tag: v0.83.0
  • Release tag SHA: 845d6ff1f6643aba440341cce877ce1c43ebbc39
  • Merge base: 5bc1c2c0a6f07e00e8c240304182f213ab8d311f
  • Fork-only commits preserved before attempted merge: 3123
  • Upstream commits pending integration: 137

Attempted Conflict Work

Before aborting, mechanical and low-risk conflicts were analyzed/resolved locally in the in-progress merge state:

  • Package/changelog branding conflicts were identified as fork-CalVer versus upstream 0.83.0.
  • AI adapter conflicts were mergeable in principle: upstream added injectable fetch, pending stop reason, and raw stop reasons; fork added env-aware auth, server-side fallback aborts, and adaptive-thinking header sanitization.
  • Coding-agent conflicts were mostly additive in principle: upstream added scopedModels, auth credential printing, alternate-screen wiring, and markdown transforms; fork added service-tier metadata, app-server command handling, smooth streaming, hidden stdout capture, and compaction queue restoration.

Those partial in-progress resolutions were discarded by git merge --abort.

Blocking Conflict

The unresolved semantic conflict is the TUI renderer split:

  • packages/tui/src/tui.ts
  • packages/tui/src/TuiMainScreen.ts
  • packages/tui/src/TuiAltScreen.ts
  • packages/tui/src/terminal-image.ts
  • packages/tui/src/components/markdown.ts
  • packages/tui/src/index.ts
  • Related tests under packages/tui/test/

Upstream v0.83.0 splits the TUI into TuiBase, TuiMainScreen, TuiAltScreen, layout primitives, scroll views, and alternate-screen rendering. The fork’s packages/tui/src/tui.ts carries intentional renderer behavior documented in packages/tui/src/changes.md, including differential repaint fixes, tmux/focus handling, image placeholder behavior, frame/autowrap guards, cursor visibility coalescing, viewport-bounded normalization, over-wide diagnostic throttling, and render-fps controls.

Taking upstream wholesale would drop fork renderer invariants. Taking the fork wholesale would fail to integrate upstream alternate-screen/layout architecture. A correct resolution needs a deliberate port of the fork renderer invariants into upstream’s new TuiBase/TuiMainScreen split, with focused TUI tests and visual/CLI QA.

Required Follow-Up

  • Port fork TUI main-screen behavior into upstream TuiMainScreen/TuiBase architecture deliberately.
  • Preserve packages/tui/src/changes.md invariants, especially the high-conflict zones around doRender(), fullRender(), viewport remapping, image deletion, autowrap frame guards, tmux focus/capability resets, and render diagnostics.
  • Re-run the upstream merge after that semantic port plan is clear.
  • Only after a clean merge should the upstream pin, changelog audit, build/check/test, CLI smoke, and senpi-qa evidence steps run.

QA

No QA gates were run because the merge was aborted at the conflict stage and no merged tree exists.

Resolve manually, then re-run Upstream Agent Merge with force=true.

Metadata

Metadata

Assignees

No one assigned

    Labels

    sync-conflictAutomated upstream sync needs maintainer attention

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions