Skip to content

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

Description

@code-yeongyu

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

Agent report

Upstream merge report

  • Result: conflicts, merge aborted
  • Attempted at: 2026-07-31T06:28:38Z
  • Upstream repo: badlogic/pi-mono
  • Requested upstream release tag: v0.83.0
  • Upstream release tag SHA: 845d6ff
  • Live upstream/main SHA: 74caa26
  • Starting branch HEAD: c0c9e6c
  • Merge base: 5bc1c2c
  • Merge command attempted: git merge --no-ff upstream/main

Summary

The branch was not a verified no-op. HEAD..upstream/main contained upstream release and post-release commits, so a history-preserving merge was attempted.

The merge produced broad conflicts across package manifests, changelogs, AI adapters, coding-agent runtime surfaces, eval harness files, release scripts, and TUI rendering. Several low-risk conflicts were classifiable by policy, but the TUI renderer conflict was a structural semantic conflict that could not be resolved confidently in automation without risking fork regressions. The merge was aborted as instructed.

Unresolved conflict set observed

  • package-lock.json
  • package.json
  • packages/agent/CHANGELOG.md
  • packages/agent/package.json
  • packages/ai/CHANGELOG.md
  • packages/ai/package.json
  • packages/ai/src/api/anthropic-messages.ts
  • packages/ai/src/api/openai-completions.ts
  • packages/ai/src/api/openai-responses.ts
  • packages/ai/src/types.ts
  • packages/coding-agent/CHANGELOG.md
  • packages/coding-agent/README.md
  • packages/coding-agent/docs/session-format.md
  • packages/coding-agent/examples/extensions/*/package.json
  • packages/coding-agent/examples/extensions/*/package-lock.json
  • packages/coding-agent/install-lock/package.json
  • packages/coding-agent/install-lock/package-lock.json
  • packages/coding-agent/package.json
  • packages/coding-agent/src/cli/args.ts
  • packages/coding-agent/src/cli/config-selector.ts
  • packages/coding-agent/src/cli/startup-ui.ts
  • packages/coding-agent/src/core/agent-session-runtime.ts
  • packages/coding-agent/src/core/agent-session.ts
  • packages/coding-agent/src/core/extensions/runner.ts
  • packages/coding-agent/src/core/extensions/types.ts
  • packages/coding-agent/src/core/package-manager.ts
  • packages/coding-agent/src/core/resource-loader.ts
  • packages/coding-agent/src/index.ts
  • packages/coding-agent/src/main.ts
  • packages/coding-agent/src/modes/interactive/components/assistant-message.ts
  • packages/coding-agent/src/modes/interactive/interactive-mode.ts
  • packages/coding-agent/src/modes/rpc/rpc-mode.ts
  • packages/coding-agent/test/extensions-runner.test.ts
  • packages/coding-agent/test/trigger-compact-extension.test.ts
  • packages/coding-agent/vitest.config.ts
  • packages/evals/package.json
  • packages/evals/src/pi-harness.ts
  • packages/server/CHANGELOG.md
  • packages/server/package.json
  • packages/storage/sqlite-node/CHANGELOG.md
  • packages/storage/sqlite-node/package.json
  • packages/tui/CHANGELOG.md
  • packages/tui/package.json
  • packages/tui/src/components/markdown.ts
  • packages/tui/src/index.ts
  • packages/tui/src/terminal-image.ts
  • packages/tui/src/tui.ts
  • packages/tui/test/key-tester.ts
  • packages/tui/test/markdown.test.ts
  • packages/tui/test/terminal-image.test.ts
  • packages/tui/test/tui-render.test.ts
  • scripts/local-release.mjs
  • scripts/publish.mjs
  • tsconfig.json

Conflict analysis

The blocking ambiguity is packages/tui/src/tui.ts. Upstream split the renderer into TuiBase, TuiMainScreen, and TuiAltScreen, while the fork has intentional deep modifications in the same renderer: tmux/focus handling, fps throttling, over-wide diagnostics, viewport remap and scrollback repaint paths, cursor visibility coalescing, crash-dump behavior, and synchronized-output/autowrap invariants. Choosing either side mechanically would either drop upstream's alternate-screen architecture or discard the fork's renderer correctness/performance fixes.

Related TUI files (terminal-image.ts, components/markdown.ts, and tests) also overlap with intentional fork behavior documented in packages/tui/src/changes.md, including tmux Kitty passthrough and native Unicode LaTeX rendering.

Coding-agent conflicts were partly resolvable by combining additive upstream features with fork behavior, but they depend on the TUI export/class shape (TUI as an instantiable class versus upstream's base/screen split). Finishing those without first resolving the TUI architecture would risk producing a tree that type-checks by accident while violating runtime UI contracts.

Changelog and QA

No changelog audit was performed because the merge was aborted before a clean merged tree existed.

No pin update, build, check, test, or senpi real-CLI QA was run because the procedure requires stopping on unresolved semantic conflicts.

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