Skip to content

feat(agent): binary stop returns exec bytes in HTTP response (Priority 1)#29

Open
baekchangjoon wants to merge 2 commits into
mainfrom
feature/pjacoco-binary-stop-p1
Open

feat(agent): binary stop returns exec bytes in HTTP response (Priority 1)#29
baekchangjoon wants to merge 2 commits into
mainfrom
feature/pjacoco-binary-stop-p1

Conversation

@baekchangjoon

Copy link
Copy Markdown
Owner

Summary

  • Add format=binary to POST /__coverage__/test/stop to return JaCoCo .exec bytes in the response body (application/octet-stream), eliminating file-poll races under load.
  • Refactor ExecWriter into in-memory serialization (toExecBytes) and separate disk writers.
  • Split TestStoreRegistry close vs persist (closeForStop / persistClosed); legacy format=text stop unchanged.
  • Add persistOnStop agent option (default true).

Version

  • Bump to 1.4.0 — publish GitHub Release v1.4.0 with pjacoco-agent-1.4.0.jar before merging the companion graph-rag-builder PR.

Test plan

  • ./gradlew :agent:test (all unit tests green)
  • ControlEndpointStopBinaryTest — legacy text, binary 200/204/404
  • ExecSerializerTest — round-trip matches file writer

Related

  • graph-rag-test-generator PR (binary stop consumer) — depends on this release.

Made with Cursor

Eliminate file-poll races by serializing JaCoCo exec data in the HTTP
response body when format=binary. Legacy text stop and disk persist
remain backward compatible via persistOnStop and format=text defaults.

Co-authored-by: Cursor <cursoragent@cursor.com>
CI publishes 1.4.0 to mavenLocal; gradle-sample and maven-plugin still
referenced 1.3.0, causing plugin resolution and agent dependency failures.

Co-authored-by: Cursor <cursoragent@cursor.com>
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.

1 participant