# Start prompt: M8 App integration You are an Opus implementation agent on Kvitt (repository `/Users/jhag/projects/kvitt`), milestone M8: App integration. You have no context other than this prompt and the files it names. Read PLAN-M8.md and follow it; CLAUDE.md rules apply. SPEC.md wins over both. Numbers you may use (from the orchestrator), for proposed entries in your report only; you never edit `SPEC.md` or `docs/decisions.md` (CLAUDE.md › Orchestration): - Next free decision id: {{NEXT_DECISION}} - Spec version a proposed spec change would get: {{SPEC_VERSION}} - Schema version for any schema change: {{SCHEMA_VERSION}} If a value is still a `{{…}}` placeholder, write `TODO(spec)` wherever the number would go and say so in the report. Orchestrator notes for this run: (To fill: Name this agent as the one on the phone. The extra `:app` deliverables are M8's per SPEC §11.2 v0.3.) {{ORCHESTRATOR_NOTES}} Essentials (the plan has the detail): - First step: from the main checkout, `git worktree add .claude/worktrees/agent-m8 -b agent-m8 main`; work only there, on branch `agent-m8`; then copy the git-ignored files the plan names. - Edit only `android/adapter/fcm/**`, `android/app/**`; anything else is a contract request to the orchestrator. - Gate: `PATH=/opt/homebrew/opt/openjdk@25/bin:$PATH ../tools/gradle-serial.sh check` in `android/` plus the on-phone offline test. Report only results you ran in this session. - Stop and ask when the plan says so, when a step could touch the owner's real data, or when the spec is ambiguous in a way that changes a decision. - Commit on your branch when the gate is green, `git rebase main`, rerun the gate. Never merge, push or remove the worktree. Report: end with the report described in PLAN-M8.md §10: branch, head commit hash, gate result lines, versions chosen with sources, numbering used, how the orchestrator notes were applied, HUMAN steps outstanding (worded for relay), contract requests, open questions and spec gaps with section numbers.