From a604f82110ad0e32613f9a3cefe149ad4dd77107 Mon Sep 17 00:00:00 2001 From: jjbrunton Date: Sun, 30 Aug 2026 00:46:46 +0100 Subject: [PATCH 1/5] chore(release): prepare v1.0.6 --- apps/mobile/android/app/build.gradle | 2 +- apps/mobile/app.json | 2 +- apps/mobile/ios/Sauci.xcodeproj/project.pbxproj | 8 ++++---- apps/mobile/ios/Sauci/Info.plist | 2 +- apps/mobile/targets/widget/Info.plist | 4 ++-- docs/release-notes.md | 10 ++++++++++ 6 files changed, 19 insertions(+), 9 deletions(-) diff --git a/apps/mobile/android/app/build.gradle b/apps/mobile/android/app/build.gradle index 3d9126a..79b803b 100644 --- a/apps/mobile/android/app/build.gradle +++ b/apps/mobile/android/app/build.gradle @@ -93,7 +93,7 @@ android { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 47 - versionName "1.0.5" + versionName "1.0.6" buildConfigField "String", "REACT_NATIVE_RELEASE_LEVEL", "\"${findProperty('reactNativeReleaseLevel') ?: 'stable'}\"" } signingConfigs { diff --git a/apps/mobile/app.json b/apps/mobile/app.json index fc29235..4ccf4c5 100644 --- a/apps/mobile/app.json +++ b/apps/mobile/app.json @@ -2,7 +2,7 @@ "expo": { "name": "Sauci", "slug": "sauci", - "version": "1.0.5", + "version": "1.0.6", "orientation": "portrait", "icon": "./assets/icon.png", "scheme": "app.sauci", diff --git a/apps/mobile/ios/Sauci.xcodeproj/project.pbxproj b/apps/mobile/ios/Sauci.xcodeproj/project.pbxproj index 220531e..68433cc 100644 --- a/apps/mobile/ios/Sauci.xcodeproj/project.pbxproj +++ b/apps/mobile/ios/Sauci.xcodeproj/project.pbxproj @@ -570,7 +570,7 @@ INFOPLIST_FILE = Sauci/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 15.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MARKETING_VERSION = 1.0.5; + MARKETING_VERSION = 1.0.6; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -599,7 +599,7 @@ INFOPLIST_FILE = Sauci/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 15.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MARKETING_VERSION = 1.0.5; + MARKETING_VERSION = 1.0.6; OTHER_LDFLAGS = ( "$(inherited)", "-ObjC", @@ -782,7 +782,7 @@ INFOPLIST_KEY_NSHumanReadableCopyright = ""; IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 1.0.5; + MARKETING_VERSION = 1.0.6; MTL_FAST_MATH = YES; OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE"; PRODUCT_BUNDLE_IDENTIFIER = com.sauci.app.LiveDrawWidget; @@ -818,7 +818,7 @@ INFOPLIST_KEY_NSHumanReadableCopyright = ""; IPHONEOS_DEPLOYMENT_TARGET = 16.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks"; - MARKETING_VERSION = 1.0.5; + MARKETING_VERSION = 1.0.6; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG"; diff --git a/apps/mobile/ios/Sauci/Info.plist b/apps/mobile/ios/Sauci/Info.plist index df7195f..a10ece5 100644 --- a/apps/mobile/ios/Sauci/Info.plist +++ b/apps/mobile/ios/Sauci/Info.plist @@ -21,7 +21,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 1.0.5 + 1.0.6 CFBundleSignature ???? CFBundleURLTypes diff --git a/apps/mobile/targets/widget/Info.plist b/apps/mobile/targets/widget/Info.plist index 8a159fe..fa74c09 100644 --- a/apps/mobile/targets/widget/Info.plist +++ b/apps/mobile/targets/widget/Info.plist @@ -10,6 +10,6 @@ CFBundleVersion 43 CFBundleShortVersionString - 1.0.5 + 1.0.6 - \ No newline at end of file + diff --git a/docs/release-notes.md b/docs/release-notes.md index 7b8e489..33d7f43 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -1,5 +1,15 @@ # Sauci Mobile Release Notes +## v1.0.6 — 30 August 2026 +_Build numbers pending artifact verification_ + +A little more clarity, momentum, and playfulness for your shared check-ins. + +- **Your turn at a glance** — A private Home prompt now shows when questions from your partner are waiting, without revealing their answers. +- **New ways to play** — Browse, send, and respond to Dares together from a dedicated shared space. +- **Streaks that fit your day** — Shared streaks now follow your local day, with clearer progress and reminder controls. +- **Smoother shared moments** — Leaner syncing keeps questions, matches, chat, and Live Draw feeling current with less unnecessary refreshing. + ## v1.0.1 (Build 30) - January 2025 ### New Features From 179f91217076f321b0cfe9f72851dd724c2acd5d Mon Sep 17 00:00:00 2001 From: jjbrunton Date: Sun, 30 Aug 2026 01:05:13 +0100 Subject: [PATCH 2/5] chore(android): record v1.0.6 build 48 --- apps/mobile/android/app/build.gradle | 2 +- apps/mobile/app.json | 2 +- docs/releasing.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/mobile/android/app/build.gradle b/apps/mobile/android/app/build.gradle index 79b803b..c5e84d5 100644 --- a/apps/mobile/android/app/build.gradle +++ b/apps/mobile/android/app/build.gradle @@ -92,7 +92,7 @@ android { applicationId 'com.sauci.app' minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 47 + versionCode 48 versionName "1.0.6" buildConfigField "String", "REACT_NATIVE_RELEASE_LEVEL", "\"${findProperty('reactNativeReleaseLevel') ?: 'stable'}\"" } diff --git a/apps/mobile/app.json b/apps/mobile/app.json index 4ccf4c5..d93b18c 100644 --- a/apps/mobile/app.json +++ b/apps/mobile/app.json @@ -183,7 +183,7 @@ "backgroundColor": "#1a1a2e" }, "package": "com.sauci.app", - "versionCode": 47, + "versionCode": 48, "googleServicesFile": "./google-services.json", "permissions": [ "RECEIVE_BOOT_COMPLETED", diff --git a/docs/releasing.md b/docs/releasing.md index 32fe209..4727911 100644 --- a/docs/releasing.md +++ b/docs/releasing.md @@ -258,7 +258,7 @@ To verify you're using the correct keystore: keytool -list -v -keystore android/sauci-release.keystore -storepass ``` -Expected SHA1: `C3:70:C5:8C:85:E5:B5:92:97:82:A9:B0:47:98:40:99:AC:C8:47:43` +Expected EAS production upload-key SHA1: `F0:60:26:C7:54:B0:46:F2:80:FE:AC:43:8A:69:10:BD:9A:62:B4:59` --- From d645d83c4734503073a8e53b6a3967f96904fc04 Mon Sep 17 00:00:00 2001 From: jjbrunton Date: Sun, 30 Aug 2026 01:29:55 +0100 Subject: [PATCH 3/5] chore(ios): record v1.0.6 build 44 --- apps/mobile/app.json | 2 +- apps/mobile/ios/Sauci.xcodeproj/project.pbxproj | 4 ++-- apps/mobile/ios/Sauci/Info.plist | 2 +- apps/mobile/targets/widget/Info.plist | 2 +- docs/release-notes.md | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/mobile/app.json b/apps/mobile/app.json index d93b18c..de69c0c 100644 --- a/apps/mobile/app.json +++ b/apps/mobile/app.json @@ -21,7 +21,7 @@ "group.com.sauci.app" ] }, - "buildNumber": "43", + "buildNumber": "44", "usesAppleSignIn": true, "googleServicesFile": "./GoogleService-Info.plist", "infoPlist": { diff --git a/apps/mobile/ios/Sauci.xcodeproj/project.pbxproj b/apps/mobile/ios/Sauci.xcodeproj/project.pbxproj index 68433cc..f6de4c5 100644 --- a/apps/mobile/ios/Sauci.xcodeproj/project.pbxproj +++ b/apps/mobile/ios/Sauci.xcodeproj/project.pbxproj @@ -772,7 +772,7 @@ CODE_SIGN_ENTITLEMENTS = ../targets/widget/generated.entitlements; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 43; + CURRENT_PROJECT_VERSION = 44; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = BXVPBATDZY; GCC_C_LANGUAGE_STANDARD = gnu11; @@ -808,7 +808,7 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_ENTITLEMENTS = ../targets/widget/generated.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 43; + CURRENT_PROJECT_VERSION = 44; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = BXVPBATDZY; GCC_C_LANGUAGE_STANDARD = gnu11; diff --git a/apps/mobile/ios/Sauci/Info.plist b/apps/mobile/ios/Sauci/Info.plist index a10ece5..793af2b 100644 --- a/apps/mobile/ios/Sauci/Info.plist +++ b/apps/mobile/ios/Sauci/Info.plist @@ -47,7 +47,7 @@ CFBundleVersion - 43 + 44 GOOGLE_ANALYTICS_INAPURCHASE_COLLECTION_ENABLED LSMinimumSystemVersion diff --git a/apps/mobile/targets/widget/Info.plist b/apps/mobile/targets/widget/Info.plist index fa74c09..c7c5fea 100644 --- a/apps/mobile/targets/widget/Info.plist +++ b/apps/mobile/targets/widget/Info.plist @@ -8,7 +8,7 @@ com.apple.widgetkit-extension CFBundleVersion - 43 + 44 CFBundleShortVersionString 1.0.6 diff --git a/docs/release-notes.md b/docs/release-notes.md index 33d7f43..d79d04b 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -1,7 +1,7 @@ # Sauci Mobile Release Notes ## v1.0.6 — 30 August 2026 -_Build numbers pending artifact verification_ +_iOS build 44 · Android build 48_ A little more clarity, momentum, and playfulness for your shared check-ins. From 58b70710dbc1b86408947d842068606b91501b78 Mon Sep 17 00:00:00 2001 From: jjbrunton Date: Sun, 30 Aug 2026 09:58:26 +0100 Subject: [PATCH 4/5] chore(ios): declare exempt encryption --- apps/mobile/app.json | 3 +++ apps/mobile/ios/Sauci/Info.plist | 2 ++ 2 files changed, 5 insertions(+) diff --git a/apps/mobile/app.json b/apps/mobile/app.json index de69c0c..49b2ebc 100644 --- a/apps/mobile/app.json +++ b/apps/mobile/app.json @@ -16,6 +16,9 @@ "ios": { "supportsTablet": false, "bundleIdentifier": "com.sauci.app", + "config": { + "usesNonExemptEncryption": false + }, "entitlements": { "com.apple.security.application-groups": [ "group.com.sauci.app" diff --git a/apps/mobile/ios/Sauci/Info.plist b/apps/mobile/ios/Sauci/Info.plist index 793af2b..875de15 100644 --- a/apps/mobile/ios/Sauci/Info.plist +++ b/apps/mobile/ios/Sauci/Info.plist @@ -50,6 +50,8 @@ 44 GOOGLE_ANALYTICS_INAPURCHASE_COLLECTION_ENABLED + ITSAppUsesNonExemptEncryption + LSMinimumSystemVersion 12.0 LSRequiresIPhoneOS From 089e629021ec147698962623e6bde54aff1f07ce Mon Sep 17 00:00:00 2001 From: jjbrunton Date: Sun, 30 Aug 2026 10:06:37 +0100 Subject: [PATCH 5/5] docs(agents): delegate substantive repository tasks --- AGENTS.md | 12 +++++++++--- docs/agents/routing.md | 11 +++++++---- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 7715587..8355dd9 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -25,9 +25,15 @@ MCP service in one npm/Turborepo workspace. and prove the relevant compatibility contracts still hold. Preserve deployed interfaces and supported client behavior; repository checks alone do not prove a live change is safe. -10. Scope work to the task. Route bounded implementation through the project - `implementation` agent when delegation is useful; the primary agent retains - acceptance, review, and final verification. Do not delegate trivial edits. +10. Delegate every substantive repository task to at least one project agent so + detailed exploration or execution stays out of the primary context. + "Substantive" includes repository exploration, multi-file reasoning, + implementation, test execution, or contract/risk analysis. Use `repo_scout` + for read-only investigation and `implementation` for bounded changes; use + the additional roles according to `docs/agents/routing.md`. The primary + agent retains scope, acceptance, review, and the final answer. Skip + delegation only for trivial conversation, a single obvious lookup, or a + mechanical one-line edit whose coordination cost exceeds the work. 11. Use high-effort reviewers only for the risk triggers in `docs/agents/routing.md`. diff --git a/docs/agents/routing.md b/docs/agents/routing.md index ff7d803..adf0979 100644 --- a/docs/agents/routing.md +++ b/docs/agents/routing.md @@ -1,9 +1,12 @@ # Agent routing and effort -The primary agent owns scope, acceptance criteria, task decomposition, and the -final answer. Use one implementation agent when a bounded handoff will keep noisy -execution out of the primary context. Do not pay the coordination cost for a -trivial one-file edit. Add other agents only for separable work or a risk trigger. +The primary agent owns scope, acceptance criteria, task decomposition, review, +and the final answer. Every substantive repository task must delegate at least +one bounded unit to the best-fit project agent. Use `repo_scout` for read-only +discovery or analysis and `implementation` for product or harness changes. Add +other agents only for separable work or the risk triggers below. Skip delegation +only for trivial conversation, a single obvious lookup, or a mechanical one-line +edit whose coordination cost exceeds the work. ## Implementation and integration