iPrivate by default
No analytics, tracking, cookies or third-party font services on the product sites. Credentials stay in the Keychain or the user's own files.
iiHonest status
Nothing is called available until it is. Every limitation is written down: what isn't supported, what needs real hardware, what the simulator can't do.
iiiExplicit over magic
Saves happen when you choose. Conflicts are caught before they overwrite anything. Writes ask for confirmation and are read back to check them. Access is granted one directory at a time.
ivPreview before apply
Infrastructure changes start with a pulumi preview. Deploys target dev only and touch as little as possible. Data migrations go through backup, restore and a feature flag, never a big-bang switch.
vTested like it matters
xUnit with explicit Moq setups and FluentAssertions. LocalStack and EventStoreDB fixtures for integration tests, Cypress on the front end. Semantic versions and a changelog entry with every change.
viAI does the work, I review it
Agents run the defect-to-PR loop: red, green, verify, review. I keep them on the repository's existing conventions and the smallest change that works, ask for the evidence behind every claim, and approve everything that others will see before it goes out.