Skip to content

ROS-11: add Jugg Android incremental compile scheme - #435

Open
rosuH wants to merge 1 commit into
masterfrom
agent/ewm-lead/3847c0b4b83e
Open

rosuH wants to merge 1 commit into
masterfrom
agent/ewm-lead/3847c0b4b83e

Conversation

@rosuH

@rosuH rosuH commented Sep 19, 2026

Copy link
Copy Markdown
Owner

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 gates
  • AGENTS.md — route Android compile through that scheme; Jugg is not the default until smoke test passes
  • docs/agents/workflow.md — do not vendor jugg-android-dev-loop into skills/ mirrors

Docs only. CI should skip Gradle/Xcode. Smoke test remains ROS-11 on the Multica board (backlog).

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>
Copilot AI lite review requested due to automatic review settings September 19, 2026 01:42
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 19, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-19T01:46:55.103691Z e33cfbc PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 Low severity

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.

Comment on lines +54 to +55
- `: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,而不是静默用旧生成代码。

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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`,不要手动清数据或重装。手动清数据会丢掉增量部署状态。

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge 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 👍 / 👎.

Comment on lines +165 to +168
2. 只改 `:shared` 里一个 Compose 文案或颜色,`jugg compile` 成功,且未无故 `fallback`。
3. 同上改动 `jugg deploy` 到 debug 包,界面可见变化。
4. 故意写一个 Kotlin 语法错误,`compile` 失败信息可定位;修复后第三次内通过。
5. 改 Room Entity 字段(或报告「本步用文档复述、未改生产 schema」):确认走 Gradle,而不是静默用旧生成代码。

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 写成已生效默认。

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

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

Development

Successfully merging this pull request may close these issues.

2 participants