Visitar URL original
chore: merge upstream/dev into the fork by Edo771977 · Pull Request #78 · Edo771977/opencode · GitHub
Skip to content

chore: merge upstream/dev into the fork - #78

Merged
Edo771977 merged 3 commits into
devfrom
claude/focused-pasteur-uvsert
Nov 11, 2026
Merged

Edo771977 merged 3 commits into
devfrom
claude/focused-pasteur-uvsert

Conversation

@Edo771977

Copy link
Copy Markdown
Owner

Summary

Syncs the fork's dev with upstream anomalyco/opencode dev up to 609ee05a23 (2 upstream commits since #77):

Conflicts resolved

The subagent rework overlapped two fork features.

Background work still running (AGENTS.md: "a subagent reported as done must say what it left running")

  • Upstream now covers this with its own SubagentCompletion.formatBody and SessionBackground.outstanding, which append Background work still running: to completed, failed and cancelled answers.
  • The fork's leftRunning / withLeftRunning are dropped in favour of upstream's.
  • The fork's tool-subagent test for it now asserts upstream's format.

Declared output fields

  • SubagentCompletion.declared and its use in deliver are kept.
  • declared now splits the answer from upstream's Background work still running: block, so only the subagent's answer is parsed against the fields.
  • deliver keeps upstream's generic SyntheticSession<E> signature and its cancelled body.

Subagent tool

  • The fork keeps its prepare / authorize / launch split.
  • Upstream's changes are ported into launch:
    • the notify input and child metadata (SubagentMetadata.withNotify / update);
    • admission without a wake unless the child is already running;
    • subagents.start(recovery, { background });
    • backgroundResult(id, notify);
    • failure and cancel messages that list outstanding work.
  • The fork's output input field is kept next to upstream's notify.

Tests

  • tool-subagent.test.ts takes upstream's completionLLM layer setup, with SubagentJob.node added back to the completion graph for the fork's test.
  • subagent-output.test.ts builds its note with formatBody.

Follow-up worth considering: one line of the fork's AGENTS.md says detached work answers only to the subagent's own Session. With anomalyco#63209 the child also reports to the parent when it goes idle, so that line should be updated.

Verification

  • core typecheck:tsc is clean.
  • Subagent tests pass, 65/65: tool-subagent, subagent-output, subagent-completion, subagent-report, subagent-idle-e2e.
  • bun run lint passes and check:generated in client and protocol is clean.
  • bun.lock / package.json differ from upstream only by the fork entries.
  • The full core suite is still running locally; results will follow in a comment.

Generated by Claude Code

rekram1-node and others added 3 commits November 11, 2026 12:40
# Conflicts:
#	packages/core/src/session/subagent-completion.ts
#	packages/core/src/session/subagent-job.ts
#	packages/core/src/tool/plugin/subagent.ts
#	packages/core/test/tool-subagent.test.ts
@github-actions

Copy link
Copy Markdown

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • PR description is missing required template sections. Please use the PR template.

Please edit this PR description to address the above within 72 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

Copy link
Copy Markdown
Owner Author

The full core suite on 9174709b (bun run test in packages/core) passed 7195 tests and failed 2.

The 2 failures are the usual sandbox ones: the util.flock and util.effect-flock "unwritable lock roots" tests, which fail because the sandbox runs as root.


Generated by Claude Code

Copy link
Copy Markdown
Owner Author

unit (linux) failed on two TUI tests:

  • test/app-lifecycle.test.tsx: "selection copy and pane management respect manual mode in the prompt and terminal pane" (12.6 s)
  • test/ui/link.test.tsx: "plain clicks on any row of a wrapped Markdown link resolve the full URL" (rows[head] undefined)

This sync doesn't change packages/tui; git diff e35a97e8 HEAD -- packages/tui is empty. Both files pass locally on this head (41/41), and the TUI suite was green on #77's unit (linux). Every other package in the run passed, core included (7212 pass, 0 fail).

I've re-run the failed job once. If it fails again, I'll treat it as a real failure.


Generated by Claude Code

@Edo771977
Edo771977 merged commit 1fe01c5 into dev Nov 11, 2026
15 of 16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants