Skip to content

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

Description

@code-yeongyu

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

Agent report

Upstream Merge Report

Generated: 2026-07-31T18:43:34Z

Result

MERGE_RESULT: CONFLICTS

The upstream merge was attempted with git merge --no-ff upstream/main and then aborted because several conflicts were semantic and unsafe to resolve by policy without human direction.

Refs

  • Current branch: automation/upstream-v0.83.0-30655901701
  • Current HEAD before merge attempt: f134f681e94e81ba3ea472148dd21fd2720acbc7
  • Upstream tag requested: v0.83.0
  • Upstream tag commit: 845d6ff1f6643aba440341cce877ce1c43ebbc39
  • Fetched upstream/main: 977ec833bbb86e245057e9162dbc1443c7b6e707
  • Merge base: 5bc1c2c0a6f07e00e8c240304182f213ab8d311f

No-Op Check

The verified no-op terminal condition did not apply.

  • upstream/main is not an ancestor of HEAD.
  • HEAD is not an ancestor of upstream/main.
  • HEAD..upstream/main is non-empty.
  • Divergence count from git rev-list --left-right --count HEAD...upstream/main: 3204 180.

Preserved Fork Commits

The current branch contains substantial fork history after the shared upstream base, including recent merge commits:

Unresolved Files

The merge produced these unmerged paths:

.pi/extensions/prompt-url-widget.ts
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-codex-responses.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/custom-provider-anthropic/package-lock.json
packages/coding-agent/examples/extensions/custom-provider-anthropic/package.json
packages/coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json
packages/coding-agent/examples/extensions/gondolin/package-lock.json
packages/coding-agent/examples/extensions/gondolin/package.json
packages/coding-agent/examples/extensions/sandbox/package-lock.json
packages/coding-agent/examples/extensions/sandbox/package.json
packages/coding-agent/examples/extensions/with-deps/package-lock.json
packages/coding-agent/examples/extensions/with-deps/package.json
packages/coding-agent/install-lock/package-lock.json
packages/coding-agent/install-lock/package.json
packages/coding-agent/npm-shrinkwrap.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/auth-storage.ts
packages/coding-agent/src/core/extensions/runner.ts
packages/coding-agent/src/core/extensions/types.ts
packages/coding-agent/src/core/model-registry.ts
packages/coding-agent/src/core/package-manager.ts
packages/coding-agent/src/core/resource-loader.ts
packages/coding-agent/src/core/settings-manager.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

Several conflicts are mechanically resolvable but depend on first resolving package identity and source semantics:

  • package-lock.json and nested example/package locks should be taken from upstream and regenerated, but only after package manifests are semantically resolved.
  • Package manifests conflict between fork identities and versions such as @code-yeongyu/senpi / 2026.7.31-2 and upstream identities and versions such as @earendil-works/pi-coding-agent / 0.83.0. Some upstream manifests also add new package surfaces and dependencies, so blindly taking either side is unsafe.
  • packages/coding-agent/npm-shrinkwrap.json is a modify/delete conflict. Fork instructions say not to replace packages/coding-agent/publish-deps.lock.json with npm-shrinkwrap.json, while upstream still carries the shrinkwrap path.

The source conflicts are semantic:

  • packages/ai/src/api/openai-codex-responses.ts collides between fork fallback-state/session-cleanup recovery and upstream account-scoped WebSocket/debug/fallback state. Resolving this requires deciding how account scoping and the fork's fallback cooldown/cleanup semantics compose.
  • packages/ai/src/api/anthropic-messages.ts, openai-completions.ts, openai-responses.ts, and types.ts combine fork provider-auth/cache/adaptive-thinking changes with upstream fetch/header/runtime changes. The visible hunks require preserving both request semantics, not a side choice.
  • packages/coding-agent/src/core/agent-session.ts has fork getServiceTier extension context behavior colliding with upstream getScopedModels. Both are public extension-facing capabilities and should be unioned carefully.
  • packages/coding-agent/src/core/resource-loader.ts collides between fork hook-source/resource reload behavior and upstream append-system-prompt-source/git-path discovery behavior.
  • packages/coding-agent/src/core/model-registry.ts, settings-manager.ts, auth-storage.ts, extensions/runner.ts, and extensions/types.ts touch provider/runtime extension contracts where the fork's recent notes explicitly require semantic preservation.
  • packages/coding-agent/src/modes/interactive/interactive-mode.ts and related component tests collide with fork queue restoration, warning, and footer semantics while upstream adds UI-mode/fullscreen navigation behavior.
  • packages/tui/src/tui.ts, terminal-image.ts, components/markdown.ts, and root exports collide between fork render-state invariants, tmux/Kitty handling, memoized viewport rendering, and upstream fullscreen/alt-screen/lifecycle changes.
  • scripts/local-release.mjs, scripts/publish.mjs, and tsconfig.json conflict in release/build infrastructure that affects publish behavior and workspace typechecking.

Because these conflicts affect runtime behavior in packages/ai, packages/agent, packages/coding-agent, and packages/tui, guessing would risk breaking the fork-specific behavior documented in the nearest changes.md files. The merge was therefore aborted as required.

Changelog And QA

No upstream pin update, changelog audit, build, check, tests, or senpi-qa run was performed after the abort. Those steps are change-dependent and the requested conflict terminal condition says to stop after writing this report.

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