When the iOS 27 Date Landed, the First File I Grepped Was AGENTS.md
iOS 27 and iPadOS 27 ship on September 14. Old version numbers linger in your source, but also in the files only your agent reads. Here is a script that counts both zones, plus the one line keyword search will never find.
Answering the age-rating questionnaire from a file in the repo, not from memory
The App Store age-rating questionnaire became mandatory in September 2026. Here is how I moved the answers into a declaration file in the repo and had a stdlib-only script argue back, with the real output.
The Five Days Between the iOS 27 RC and Release — I Check Init Order and Entitlement Restore Before Layout
A record of how I narrow the agent's search scope during the short window before an OS release — by launch path rather than by screen. Includes the audit script I run to catch consent and ads init ordering, entitlement restore gaps, and hardcoded size branches.
Ordering Six App Updates for the API Level 36 Deadline, and Sizing Each Staged Rollout
Google Play's API level 36 requirement lands on every app you own with the same date. When the deadline is fixed, the only thing left to decide is the order. Here is how I ranked six apps by fragility and worked each rollout step backwards from the observations I actually needed.
How Far to Narrow an Agent's Choices in a 30-Category Wallpaper Classification Pipeline
Asking an agent to pick one of 30 categories per image means re-running every image the moment a definition changes. Here is the reasoning and the implementation behind switching to closed-vocabulary tags plus a deterministic rule mapping.
Drafting Bilingual App Release Notes from Your Commit History with Antigravity
A practical way to draft App Store and Google Play release notes in Japanese and English from your Git history with Antigravity: the prompt shapes, how to think about character limits, and how to spin off social copy.
Antigravity × Capacitor Hybrid App Implementation Guide: An AI-Driven Workflow for Taking a Web App to iOS/Android Native
Implementation notes for taking an existing web app to iOS/Android with Capacitor and Antigravity, drawn from running indie apps. Covers native API integration, AdMob initialization order, launch-time white flash, and pre-submission checks, separating what is verified from what is not.
Keeping the AdMob Waterfall While Adding Bidding: A Decision Record from Four Live Apps
How I added bidding on top of an existing AdMob waterfall across four live iOS apps: the ATT and init ordering, ad-gate design, and the metrics to watch.
The Gate That Stops Visual Damage Before You Hand Bulk Image Optimization to an Agent
When an agent bulk re-encoded a few hundred wallpaper assets, a handful came back with dulled color. Size-reduction alone cannot catch that. Here is how to design a gate that stops bad conversions before merge using three axes — SSIM, ΔE, and file size — with a checker that runs on Pillow and scikit-image.
Before an Agent's .proto Edit Silently Breaks Binary Compatibility: Gating Wire Compat with buf breaking
When an agent edits your .proto files, the text can look perfect while wire compatibility quietly breaks. Here is how to stop field-number reuse and unsafe type changes with a working gate built from buf breaking and reserved.
Paid, but the Ads Won't Go Away — Closing a StoreKit 2 Transaction.updates Launch Race with Antigravity
How I traced a StoreKit 2 launch race that dropped transactions arriving right after startup, pinned the listener to the app's lifetime instead of a view's, reconciled with currentEntitlements, and let Antigravity turn it into a StoreKitTest regression suite.
Catching Download Size Regressions Before Submission Day — A Weekly Agent Gate for AAB/IPA Size Budgets
Mediation SDKs and bundled assets quietly inflate download size. A design for size ledgers, budget gates, and agent-driven delta attribution using bundletool and App Thinning reports.