* refactor(managed-agent): split server into Maven modules
Separate contracts, orchestration, persistence, adapters, assembly, and verification while retaining the existing service delivery model. Move tests and build consumers together and document local evidence and pending CI acceptance.
Co-authored-by: Qwen-Coder <[email protected]>
* refactor(managed-agent): reduce configuration and SDK boilerplate
Co-authored-by: Qwen-Coder <[email protected]>
* refactor(managed-agent): narrow contracts and simplify test scaffolding
Co-authored-by: Qwen-Coder <[email protected]>
* fix(managed-agent): repair verification after module migration
Resolve shared fixtures and worker paths from the Maven module root, update CI packaging assertions, and align existing test fixtures with the extracted contracts. Restore restricted Workspace constructors and remove redundant test visibility changes without altering inherited MySQL coverage.
Co-authored-by: Qwen-Coder <[email protected]>
* test(managed-agent): align remaining Harness and OSS fixtures
Preserve SDK refusal messages and register the managed OSS adapter at fixture injection points. Keep the existing retry and client shutdown assertions intact.
Co-authored-by: Qwen-Coder <[email protected]>
* style(managed-agent): order Hosted cleanup Harness imports
Co-authored-by: Qwen-Coder <[email protected]>
* test(managed-agent): fix recovery smoke fixture and import order
Supply the required transcript coverage in the recovery browser fixture and wait for history before testing a complete handoff. Preserve its existing safety and submission assertions. Order the cleanup coordinator test imports for Checkstyle.
Co-authored-by: Qwen-Coder <[email protected]>
---------
Co-authored-by: Qwen-Coder <[email protected]>
* refactor(managed-agent): Consolidate server and broker sources
Move the combined Java application beside sdk-java and remove the standalone Runtime Broker artifact. Update build, development, packaging and CI references while preserving Java package identities, runtime protocols and schema resources.
Co-authored-by: Qwen-Coder <[email protected]>
* docs(managed-agent): Preserve historical evidence and verification guidance
Restore commit-pinned H3 probe inputs and align the Java verification environment contract with the consolidated server layout.
Co-authored-by: Qwen-Coder <[email protected]>
* fix(ci): Run hosted Broker tests under Bash
Keep Maven property arguments intact on Windows and stop before Broker tests when the SDK install fails. Exercise both successful and failed SDK installation in the workflow regression tests.
Co-authored-by: Qwen-Coder <[email protected]>
* fix(ci): Quote the hosted Broker shell value
Follow the repository yamllint single-quote rule without changing the parsed workflow configuration.
Co-authored-by: Qwen-Coder <[email protected]>
---------
Co-authored-by: Qwen-Coder <[email protected]>
The public Managed Agent contract's info.version is allocated by hand on
every contract-changing pull request, and nothing checked it: on
2026-10-09 four such pull requests were in flight with 1.34.0 claimed
twice while main was already at 1.35.0, and the stall had reached main
once before — #13163 changed the document with no version movement. A
duplicate Flyway version refuses to boot within minutes, but a regressed
or stalled contract version breaks nothing at runtime; it silently
misinforms every consumer that keys capability detection on it.
On every pull request the Flyway lane now also compares the merge
result's document with the base branch's head copy — fetched at depth
one, since the default checkout is one commit deep — and fails when a
changed document declares an equal or lower version, compared numerically
per segment so 1.9.0 ranks below 1.37.0, naming whether the number
stalled or regressed; a pull request arriving at the base ref's own
bytes owes no bump. Each refusal arm has a test that fails when its
guard is removed, and any path echoed into an ::error:: line is bound to
the same byte alphabet check-flyway-migrations.js applies, so a hostile
name cannot forge a second error line into a decoded log.
After every push to main that changes the document, and every 30
minutes, a new workflow re-checks each open pull request's changed paths
and document through the API — no pull request code is fetched, checked
out or run — and sets the 'API contract version uniqueness (latest
main)' status, the #13770 shape for the version number instead of the
migrations: failure when the declared version no longer advances past
main's, success otherwise, naming the other open pull requests claiming
the same version, and error when a file list or head document could not
be read in full. A head that already carries the status is re-evaluated
even after it stops changing the document, so a stale failure clears.
Both scripts ran live before this commit: the pull-request check over
four merge shapes (stall, regression, advance, untouched) against a
depth-one clone and filtered base fetch, and the re-check as a dry run
against the open queue, whose six contract-changing pull requests it
correctly read as stalled or regressed against main at 1.38.0.
Fixes#13804