oncall-mobile-android/.agents/prompts/project.md
Mikael Hugo fb8f45e9fa .agents: adopt agentsfolder/spec v0.1 as canonical agent configuration
Per template (singularity-forge f3d84cd11). Project-specific manifest
+ prompts/project.md capture: post-rename namespace com.centralcloud.oncall
(io.heckel.ntfy fully gone), centrally-configured-from-server design,
strict-opt-in SMS relay, greenfield (no backwards compat with upstream
ntfy).

Legacy docs (AGENTS.md, README.md, TESTING.md) kept; .agents/ canonical
going forward.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 20:07:08 +02:00

2 KiB

Project Prompt — oncall-mobile-android

What this is

Centralcloud OnCall Android pager. Forked from binwiederhier/ntfy-android; fully renamed to com.centralcloud.oncall (no io.heckel.ntfy left in the source tree).

Engineer's single pane for on-call: paging, conference bridge, agent chat, plus an SMS-relay subsystem that forwards whitelisted incoming SMS from this device's number to centralcloud-ops.

For the long form see AGENTS.md. For test setup see TESTING.md. For the build shell see flake.nix.

Non-negotiables

  • Package namespace is com.centralcloud.oncall. Don't reintroduce io.heckel.ntfy in any file — the rename is complete and absolute.
  • Centrally configured. App hits GET https://ops.centralcloud.com/api/android/config on first launch — everything else (server URLs, default topics, FCM project) comes from there. Hardcode at most one URL.
  • Strict opt-in for SMS relay. SmsRelayPreferences.enabled defaults false. Whitelist is required (empty set → forward nothing). Disclosure must be clear in the settings UI — the app reads incoming SMS, and that's sensitive.
  • Greenfield, no backwards compat with upstream ntfy. Backup format magic was rewritten (oncall26), URL scheme is oncall://, intent action namespaces are com.centralcloud.oncall.* (e.g. com.centralcloud.oncall.SEND_MESSAGE).

Workflow

  • Build via Nix dev shell: nix develop then ./gradlew assembleDebug.
  • Tests: see TESTING.md.
  • Install on ops phones: adb install -r app/build/outputs/apk/....
  • SMS-relay config: launch adb shell am start -n com.centralcloud.oncall/.sms.SmsRelaySettingsActivity, set base URL + device ID + whitelist + toggle on.

Sibling repos

  • centralcloud/infra — the centralcloud-ops Phoenix app this connects to (/api/push/*, /api/sms/inbound/phone-relay, /api/devices/heartbeat, etc.).
  • centralcloud/operations-memory — Go memory service.
  • singularity/singularity-forge — SF planning tool.