Skip to content

fix(orchestrator): refresh structured output after verify revision - #536

Merged
JackChen-me merged 2 commits into
open-multi-agent:mainfrom
green3sf:fix/verify-revision-structured-output
Aug 20, 2026
Merged

JackChen-me merged 2 commits into
open-multi-agent:mainfrom
green3sf:fix/verify-revision-structured-output

Conversation

@green3sf

Copy link
Copy Markdown
Contributor

Summary

Keep AgentRunResult.output and AgentRunResult.structured in sync when a per-task verify loop accepts a revised answer. Downstream tasks using dependencyPayload: 'structured' now receive the accepted revision instead of the stale pre-review value.

Motivation

Fixes #535.

An accepted verify revision previously replaced only the text output. The parsed structured result remained attached to the original answer, so the same completed task could expose contradictory representations.

Scope and impact

  • Affected area: @open-multi-agent/core consensus/task verification.
  • Public API changes: None.
  • Compatibility or migration impact: None.
  • Security or privacy impact: None.
  • Documentation/examples: Not applicable; this restores the existing structured-output contract.
  • Dependencies: No changes.

Validation

  • npm test -w @open-multi-agent/core -- consensus.test.ts — passed (21 tests).
  • npm run lint -w @open-multi-agent/core — passed.
  • npm run build -w @open-multi-agent/core — passed.
  • npm test -w @open-multi-agent/core — passed (1,947 tests across 131 files).
  • git diff --check — passed.

Checklist

  • Tests were added or updated for changed behavior.
  • User-facing documentation and examples are not applicable.
  • Compatibility, breaking changes, and migration requirements are not applicable.
  • No dependency changes.

@JackChen-me
JackChen-me merged commit 4d9a5cf into open-multi-agent:main Aug 20, 2026
7 checks passed
JackChen-me added a commit that referenced this pull request Aug 20, 2026
…ult (#537)

Follow-up to #536. `runConsensusCore()` tracks the parsed value so an accepted
verify revision can replace `output` and `structured` together, but the same
loop backs the standalone `runConsensus()`, where several proposer answers may
be joined into one string and no parsed value corresponds to the answer. That
path was returning a `structured` field the public `ConsensusResult` never
declared.

Drop it at the public boundary, and cover both halves of the verify contract:
an accepted revision replaces the pair, a rejected one preserves it. Credit
green3sf in CONTRIBUTORS.md for #536.
JackChen-me added a commit that referenced this pull request Aug 21, 2026
#546)

The published body was the changelog section and nothing else, so a reader
of a release page could not tell which packages shipped, how to install
them, or who contributed. green3sf landed #536 and #541 in 1.16.1 and the
release page credited nobody.

Three deterministic sections now follow the changelog section:

- `## Packages` names every workspace version and reports the ones this
  release left alone, derived by comparing the release commit's manifests
  against its first parent.
- `## Thanks` credits contributors from outside the project, resolved from
  the commits between the previous release tag and the release commit. Bot
  commits and the maintainer's own are excluded, and the section is omitted
  when nothing remains. Names are plain rather than mentions, because a
  published body that mentions an account notifies it.
- `## Install` is copy-pasteable.

The whole body is still composed before anything reaches the npm registry,
so a malformed changelog or an inconsistent manifest set keeps failing
ahead of publication rather than after it.

The previous tag is resolved from the release commit's first parent rather
than from HEAD. On an idempotent re-run this release's tag already exists,
and describing from HEAD would report an empty range and silently drop
every contributor from the body.
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.

[Bug] Accepted verify revision leaves stale structured output

2 participants