Skip to content

fix(service): mirror admitted personal chat events - #3512

Open
NewPeople-star wants to merge 1 commit into
agentscope-ai:mainfrom
NewPeople-star:fix/managed-chat-events-3501
Open

NewPeople-star wants to merge 1 commit into
agentscope-ai:mainfrom
NewPeople-star:fix/managed-chat-events-3501

Conversation

@NewPeople-star

Copy link
Copy Markdown

Managed Agent personal Chat executes without an orchestration Attempt. Its messages were persisted in the data-plane event log, but ManagedEventOutbox.enqueue() discarded every event whose scope was not managed, so the control-plane conversation and events views remained empty.

Allow unscoped events into the durable outbox when the session has a persisted admission without an Attempt. Keep skipping generic unscoped events for task sessions, which the control plane rejects and which would otherwise block ordered delivery. Scoped task events retain their existing immutable reports and Attempt fences.

Personal-chat rows use an empty local attempt_id to remain compatible with existing NOT NULL schemas; reports omit all orchestration fence fields. This requires no schema migration or control-plane API change. Events produced before the first execution admission retain their existing behavior.

Regression coverage exercises message projection, replay deduplication, transaction rollback, per-session delivery ordering, retry across outbox recreation, and task-session isolation. English and Chinese session documentation are updated.

Fixes #3501

Validation:

  • The 10 outbox regression tests pass. Running the same tests against the original outbox produces three failures (missing personal-chat rows and the missing transaction requirement).
  • Service-layer regression run: 173 tests, 170 passed, two PostgreSQL tests skipped because no disposable PostgreSQL database is configured, and one existing symlink test errored because Windows denied the required privilege. Rerunning that test outside the sandbox produced the same Windows privilege error at Files.createSymbolicLink, before the assertion under test.
  • Spotless checks passed throughout the 21-module Maven reactor; git diff --check passed.
  • Documentation: 13 tests passed; all 430 pages and 584 redirects passed the local syntax, navigation, link, anchor, and asset checks. Mintlify build validation passed after installing its Windows native dependency.
  • mint broken-links reports 2,208 links in 326 files on Windows, including existing local pages. Running it against the original, unmodified documentation produced identical findings. The added paragraphs introduce no links or headings.
  • No live model, Go test suite, or Docker end-to-end test was run. The control-plane ingestion API is unchanged.

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


itcast seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@codecov

codecov Bot commented Oct 12, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 92.30769% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...agentscope/builder/control/ManagedEventOutbox.java 92.30% 0 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants