From d2cbaf1bd02a6f3cc0bdf3b077f1c4bab6ad7d26 Mon Sep 17 00:00:00 2001 From: garrytan Date: Sat, 24 Oct 2026 20:08:40 +0000 Subject: [PATCH] fix(ios-qa): demo mode states its UI-only rule without overriding the skill's other rules (#3352) Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --- ios-qa/SKILL.md | 8 ++++---- ios-qa/SKILL.md.tmpl | 8 ++++---- test/helpers/safety-rules.ts | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ios-qa/SKILL.md b/ios-qa/SKILL.md index dfd43a37a..c985f5975 100644 --- a/ios-qa/SKILL.md +++ b/ios-qa/SKILL.md @@ -593,10 +593,10 @@ If the user says "demo", "demo mode", "show me", or "I want to see it working", run in **DEMO MODE**. This changes how the agent interacts with the app: -**DEMO MODE OVERRIDES ALL OTHER RULES.** When demo mode is active, the -agent MUST drive every action through visible UI (`/tap`, `/swipe`, `/type`) -and NEVER use `POST /state/*` writes to skip steps. Viewers see the agent -type every key, tap every button. The on-device DebugOverlay attribution +In demo mode, drive every action through visible UI (`/tap`, `/swipe`, +`/type`) rather than `POST /state/*` writes, because viewers watch each +step: they see the agent type every key and tap every button. All other +rules in this skill still apply. The on-device DebugOverlay attribution chip shows "Driven by Claude Code (demo)" or the remote agent identity. In demo mode, the screencap rate is bumped to 4fps so the recording feels diff --git a/ios-qa/SKILL.md.tmpl b/ios-qa/SKILL.md.tmpl index 4c7b4a2c5..3c957a051 100644 --- a/ios-qa/SKILL.md.tmpl +++ b/ios-qa/SKILL.md.tmpl @@ -249,10 +249,10 @@ If the user says "demo", "demo mode", "show me", or "I want to see it working", run in **DEMO MODE**. This changes how the agent interacts with the app: -**DEMO MODE OVERRIDES ALL OTHER RULES.** When demo mode is active, the -agent MUST drive every action through visible UI (`/tap`, `/swipe`, `/type`) -and NEVER use `POST /state/*` writes to skip steps. Viewers see the agent -type every key, tap every button. The on-device DebugOverlay attribution +In demo mode, drive every action through visible UI (`/tap`, `/swipe`, +`/type`) rather than `POST /state/*` writes, because viewers watch each +step: they see the agent type every key and tap every button. All other +rules in this skill still apply. The on-device DebugOverlay attribution chip shows "Driven by Claude Code (demo)" or the remote agent identity. In demo mode, the screencap rate is bumped to 4fps so the recording feels diff --git a/test/helpers/safety-rules.ts b/test/helpers/safety-rules.ts index 08a3e1b44..4972d0090 100644 --- a/test/helpers/safety-rules.ts +++ b/test/helpers/safety-rules.ts @@ -68,8 +68,8 @@ export const SAFETY_RULES: readonly SafetyRule[] = [ evalId: 'safety-ios-demo-ui-only', source: 'ios-qa/SKILL.md.tmpl', section: '## Demo mode', - match: /demo mode overrides/i, - sha256: '8d42208c888d76af49ebe6e4d58e85537c979f53ecb32fff7e85e95e6859182a', + match: /drive every action through visible UI/i, + sha256: '0ba3230bff9de32f03719daec35c6cef762e15c550264fcffd342dde52291e21', }, ];