Repository navigation
Conversation
Record the bypass compile contract for Multica agents: plugin+CLI only, no Gradle script changes, smoke-test latch on AGP 9.3 / Gradle 9.7 / Kotlin 2.4, and Gradle fallback for Room/KSP, CI, Desktop, and iOS. Co-authored-by: multica-agent <github@multica.ai>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The reviewed documentation has unresolved workflow, compatibility, and safety inconsistencies.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 4
Open (4)
What changed in this PR
This docs-only PR adds a gated Jugg incremental Android compilation workflow while retaining Gradle as the authoritative fallback.
Changes:
- Defines Jugg eligibility, fallback rules, and smoke-test gates.
- Routes Android compilation guidance through
AGENTS.md. - Documents the external workspace skill overlay without vendoring it.
| File | Description |
|---|---|
docs/agents/workflow.md |
Documents the Jugg workspace overlay policy. |
docs/agents/jugg-compile-scheme.md |
Defines the incremental compilation contract and validation gates. |
AGENTS.md |
Adds Android compilation routing and fallback guidance. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| - `:app` 或 `:shared` 的 Kotlin / Compose UI、业务逻辑(不改 Room 注解或 schema) | ||
| - `androidMain` / `commonMain` 的 expect/actual 方法体(不删文件、不改 source set) |
|
|
||
| 实施人员先完成这些步骤,再谈默认用 Jugg。 | ||
|
|
||
| 1. 安装 Android Studio(Bumblebee 至当前稳定版均可;以本机实际版本记录)。 |
|
|
||
| 1. 安装 Android Studio(Bumblebee 至当前稳定版均可;以本机实际版本记录)。 | ||
| 2. 从 [Releases](https://github.com/tencentmusic/jugg/releases/latest) 安装 Jugg 插件。不要改 Gradle 来「接入」。 | ||
| 3. 用 **隔离 checkout** 打开 EasyWatermark,等待 Sync。禁止写入 `/Users/rosu/Coding/EasyWatermark` 原工作树。 |
| 2. 只改 `:shared` 里一个 Compose 文案或颜色,`jugg compile` 成功,且未无故 `fallback`。 | ||
| 3. 同上改动 `jugg deploy` 到 debug 包,界面可见变化。 | ||
| 4. 故意写一个 Kotlin 语法错误,`compile` 失败信息可定位;修复后第三次内通过。 | ||
| 5. 改 Room Entity 字段(或报告「本步用文档复述、未改生产 schema」):确认走 Gradle,而不是静默用旧生成代码。 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e33cfbc8d2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| `gradle-build` 是重操作。源码错误应先修代码,不要把完整构建当语法检查。 | ||
|
|
||
| 需要清空 App 数据时只用 `jugg clean-reinstall`,不要手动清数据或重装。手动清数据会丢掉增量部署状态。 |
There was a problem hiding this comment.
Gate app-data resets on explicit authorization
When recovery requires a reset, this instruction directs the agent to run jugg clean-reinstall specifically to clear app data, even though §4 says user data must not be cleared and the repository contract requires authorization for destructive cleanup. Without an explicit authorization/disposable-device gate, an agent can erase debug-app state while following this workflow; require approval unless it is already present in the session.
AGENTS.md reference: AGENTS.md:L13-L13
Useful? React with 👍 / 👎.
| 2. 只改 `:shared` 里一个 Compose 文案或颜色,`jugg compile` 成功,且未无故 `fallback`。 | ||
| 3. 同上改动 `jugg deploy` 到 debug 包,界面可见变化。 | ||
| 4. 故意写一个 Kotlin 语法错误,`compile` 失败信息可定位;修复后第三次内通过。 | ||
| 5. 改 Room Entity 字段(或报告「本步用文档复述、未改生产 schema」):确认走 Gradle,而不是静默用旧生成代码。 |
There was a problem hiding this comment.
Restore the files modified by the smoke test
Running this checklist changes a shared Compose value and deploys it, but the procedure never restores that deliberate edit or verifies a clean worktree; only the temporary syntax error is repaired. A successful smoke run therefore leaves the isolated checkout containing test-only product changes that can contaminate later Jugg runs or be committed accidentally. Add a restoration and clean-diff step against the recorded starting SHA.
Useful? React with 👍 / 👎.
| 6. `./gradlew --max-workers=8 :app:testDebugUnitTest` 仍可用(Jugg 未破坏 Gradle)。 | ||
| 7. Isolated Projects 保持开启时,增量路径可完成;若 Jugg 要求关闭 Isolated Projects,**停止**,把冲突写进 issue,不要私自改 `gradle.properties`。 | ||
|
|
||
| 全部通过后,在实施 issue 注明「烟测通过」和 SHA。此后 Android 合格改动默认走 §5。任一项失败:保持 Gradle 为默认,issue 保持 blocked / backlog,不要改 AGENTS.md 把 Jugg 写成已生效默认。 |
There was a problem hiding this comment.
Make the smoke-test latch discoverable
After the smoke test passes, this records the result only in an unnamed external implementation issue, while the tracked phase table remains pending and AGENTS.md makes that result determine whether agents must use Jugg or Gradle. A fresh checkout has neither an issue identifier nor a repository marker with which to resolve the condition, so it must keep falling back indefinitely or guess. Link the authoritative issue or update a tracked host/version-specific marker when the test completes.
AGENTS.md reference: AGENTS.md:L53-L53
Useful? React with 👍 / 👎.

Adds the EasyWatermark Android incremental compile contract for Multica agents.
docs/agents/jugg-compile-scheme.md— bypass Jugg plugin+CLI, no Gradle script changes, smoke-test latch (AGP 9.3.1 / Gradle 9.7.0 / Kotlin 2.4.10 are outside Jugg's verified range), Room/KSP and Isolated Projects gatesAGENTS.md— route Android compile through that scheme; Jugg is not the default until smoke test passesdocs/agents/workflow.md— do not vendorjugg-android-dev-loopintoskills/mirrorsDocs only. CI should skip Gradle/Xcode. Smoke test remains ROS-11 on the Multica board (backlog).