ADFA-4128 (3/11): quickbuild:protocol — the daemon wire format - #1715
Open
fryanpan wants to merge 2 commits into
Open
ADFA-4128 (3/11): quickbuild:protocol — the daemon wire format#1715fryanpan wants to merge 2 commits into
fryanpan wants to merge 2 commits into
Conversation
fryanpan
force-pushed
the
feature/ADFA-4128-qb-03-protocol
branch
from
August 22, 2026 06:41
cd6f486 to
637addf
Compare
…the IDE and compile daemon share Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kj9YeCDHGp9DU8LPtfWJ7W
Finding (Important, pr03-review.md): DaemonProtocolDtoTest's first test was named "configure without optional toolchain paths means self-discovery" with a comment calling null the "discover from ANDROID_HOME" signal — the opposite of the contract in the same commit (DaemonProtocol.kt KDoc: "required, as the daemon never guesses a tool path"; README: configure answers ok:false with one diagnostic per missing field) and of the daemon's actual behavior at stack tip (DaemonService.configure rejects null/blank aapt2/d8Jar/androidJar). Fix: renamed the test and rewrote the comment so null reads as "not supplied, and configure rejects it", per the documented contract. The assertions were already correct (null IS the DTO default) and are unchanged; the rejection behavior itself is asserted in the daemon module's DaemonServiceTest at stack tip, so no rejection assertion is duplicated here. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Kj9YeCDHGp9DU8LPtfWJ7W
fryanpan
force-pushed
the
feature/ADFA-4128-qb-03-protocol
branch
from
August 22, 2026 07:04
637addf to
62a647c
Compare
fryanpan
marked this pull request as ready for review
August 23, 2026 02:31
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part 3/11 of the stacked split of #1669 (requested by Akash). Base: feature/ADFA-4128-qb-02-plumbing. Stack overview + review mechanics: PR 1 (#1713). Terms are defined in quickbuild/README.md (lands in PR 1).
Lets the IDE side and the compile daemon talk to each other, and keeps the two from drifting apart as the feature changes.
flowchart TB core["IDE side: :quickbuild:core (PRs 5-8)<br/>writes requests, reads results"] -.-> proto subgraph proto["<b>This PR: :quickbuild:protocol (java-library, zero project deps)</b>"] types["Messaging formats for build requests, results, and diagnostics<br/><i>DaemonProtocol.kt</i>"] codec["Taxonomy for error types<br/><i>DaemonProtocol.kt</i>"] fix["testfixtures: OfflineGuard<br/><i>OfflineGuard.kt</i>"] end daemon["daemon side: :quickbuild:daemon (PR 9)<br/>reads requests, writes results"] -.-> proto classDef thisPrBox fill:#dbeafe,stroke:#93c5fd,color:#1e3a5f classDef inPr fill:#ffffff,stroke:#64748b,color:#000 class proto thisPrBox class types,codec,fix inPrHow this PR Was Tested
:quickbuild:protocol:testgreen; the tree configures and builds with PRs 1-3 applied — 2 suites, 22 tests, 0 failures, 0 errors. Coverage 100.0% line / 100.0% branch.Coverage (JaCoCo at the stack tip, single run):
org.appdevforall.cotg.quickbuild.protocol🤖 Generated with Claude Code
https://claude.ai/code/session_01Kj9YeCDHGp9DU8LPtfWJ7W