# Verifying Swift changes

Files: `.swift`. Derived from 2 scanned source repositories and 22 review prompts on https://awesomereviewers.com. Page: https://awesomereviewers.com/verify/swift/

How to use this: run every check under *Run on every change*. Then, for each section under *Add when the change touches* that describes your diff, run its checks too. Checks catch what a tool can find; then apply the listed review prompts for what tools miss (fetch each prompt's raw URL).

Usage is the share of scanned repositories in this language that run the tool. A missing tool means no scanned repository runs one the scanner recognises: fall back to the prompts.

## Run on every change

- **Formatting** — no tool detected in the sample. Catches: Layout drift that buries the real change in the diff.
- **Linting** — no tool detected in the sample. Catches: Bug-prone patterns, unused code and conventions the formatter does not cover.
- **Type checking** — The compiler type-checks on every build and test run; a failing build is this check failing.
- **Unit and integration tests** — no tool detected in the sample. Catches: Behaviour regressions on the paths the tests exercise.

Review prompts (5 in total, most discussed first):

- [Semantic Naming Rules](https://awesomereviewers.com/raw/container-semantic-naming-rules.md) — apple/container, Naming Conventions
- [Prefer Readable Conditionals](https://awesomereviewers.com/raw/container-prefer-readable-conditionals.md) — apple/container, Code Style
- [Semantic name clarity](https://awesomereviewers.com/raw/ghostty-semantic-name-clarity.md) — ghostty-org/ghostty, Naming Conventions
- [Follow Swift naming conventions](https://awesomereviewers.com/raw/swift-follow-swift-naming-conventions.md) — tensorflow/swift, Naming Conventions
- [Prefer flat control flow](https://awesomereviewers.com/raw/ghostty-prefer-flat-control-flow.md) — ghostty-org/ghostty, Code Style

## Add when the change touches

### Authentication, input handling, secrets, permissions

- **Security scanning** — no tool detected in the sample. Catches: Injection, unsafe APIs and tainted data reaching a sink.
- **Secret scanning** — no tool detected in the sample. Catches: Credentials and tokens committed to the repository.
- **Dependency audit** — no tool detected in the sample. Catches: Known-vulnerable or disallowed dependencies and licenses.

Review prompts (2 in total, most discussed first):

- [Validate untrusted inputs](https://awesomereviewers.com/raw/container-validate-untrusted-inputs.md) — apple/container, Security
- [Default to minimum permissions](https://awesomereviewers.com/raw/maplibre-native-default-to-minimum-permissions.md) — maplibre/maplibre-native, Security

### Public APIs, signatures, error paths, nullability

- **Type checking** — The compiler type-checks on every build and test run; a failing build is this check failing.
- **Unit and integration tests** — no tool detected in the sample. Catches: Behaviour regressions on the paths the tests exercise.
- **Property-based tests** — no tool detected in the sample. Catches: Edge-case inputs nobody wrote a test for; invariants over generated data.

Review prompts (4 in total, most discussed first):

- [Error handling without silence](https://awesomereviewers.com/raw/container-error-handling-without-silence.md) — apple/container, Error Handling
- [Optional-Safe Null Handling](https://awesomereviewers.com/raw/container-optional-safe-null-handling.md) — apple/container, Null Handling
- [Stable API Contracts](https://awesomereviewers.com/raw/container-stable-api-contracts.md) — apple/container, API
- [Prefer safe optional handling](https://awesomereviewers.com/raw/ghostty-prefer-safe-optional-handling.md) — ghostty-org/ghostty, Null Handling

### Service and framework code

- **Unit and integration tests** — no tool detected in the sample. Catches: Behaviour regressions on the paths the tests exercise.
- **Version and platform matrix** — no tool detected in the sample. Catches: Breakage on a runtime version, OS or feature combination you did not run locally.

### Algorithms, parsers, data transforms

- **Property-based tests** — no tool detected in the sample. Catches: Edge-case inputs nobody wrote a test for; invariants over generated data.
- **Fuzzing** — no tool detected in the sample. Catches: Crashes, panics and hangs on malformed input, especially in parsers and decoders.
- **Mutation testing** — no tool detected in the sample. Catches: Tests that keep passing whatever the code does.
- **Proofs and specifications** — no tool detected in the sample. Catches: Design-level bugs in protocols and algorithms, checked against a specification.

Review prompts (1 in total, most discussed first):

- [Deterministic Parsing And Matching](https://awesomereviewers.com/raw/container-deterministic-parsing-and-matching.md) — apple/container, Algorithms

### Threads, async code, locks, shared state

- **Concurrency model checking** — no tool detected in the sample. Catches: Races and orderings that fail only under specific interleavings.
- **Undefined-behaviour detection** — no tool detected in the sample. Catches: Memory-safety and aliasing violations in unsafe code.
- **Property-based tests** — no tool detected in the sample. Catches: Edge-case inputs nobody wrote a test for; invariants over generated data.

Review prompts (1 in total, most discussed first):

- [Atomic Concurrency Contracts](https://awesomereviewers.com/raw/container-atomic-concurrency-contracts.md) — apple/container, Concurrency

### Network calls, retries, timeouts, protocols

- **Unit and integration tests** — no tool detected in the sample. Catches: Behaviour regressions on the paths the tests exercise.
- **Fuzzing** — no tool detected in the sample. Catches: Crashes, panics and hangs on malformed input, especially in parsers and decoders.

Review prompts (1 in total, most discussed first):

- [DNS and Timeout Rules](https://awesomereviewers.com/raw/container-dns-and-timeout-rules.md) — apple/container, Networking

### UI components and pages

- **End-to-end browser tests** — no tool detected in the sample. Catches: User flows broken across components, routing and the network.
- **Linting** — no tool detected in the sample. Catches: Bug-prone patterns, unused code and conventions the formatter does not cover.

### Databases, migrations, caching

- **Unit and integration tests** — no tool detected in the sample. Catches: Behaviour regressions on the paths the tests exercise.
- **Version and platform matrix** — no tool detected in the sample. Catches: Breakage on a runtime version, OS or feature combination you did not run locally.

### Hot paths and performance

- No tool-based check applies; rely on the prompts.

Review prompts (1 in total, most discussed first):

- [Avoid repeated hot-path work](https://awesomereviewers.com/raw/container-avoid-repeated-hot-path-work.md) — apple/container, Performance Optimization

### Model, prompt and LLM code

- **Unit and integration tests** — no tool detected in the sample. Catches: Behaviour regressions on the paths the tests exercise.

### Logging, metrics, tracing

- No tool-based check applies; rely on the prompts.

Review prompts (1 in total, most discussed first):

- [Use structured logger consistently](https://awesomereviewers.com/raw/container-use-structured-logger-consistently.md) — apple/container, Logging

### CI workflows and configuration files

- **CI workflow linting** — no tool detected in the sample. Catches: Broken GitHub Actions syntax, script injection, over-broad token permissions.
- **File hygiene** — no tool detected in the sample. Catches: Invalid JSON, YAML or TOML, merge markers, trailing whitespace, oversized files.

Review prompts (4 in total, most discussed first):

- [Config Resolution Discipline](https://awesomereviewers.com/raw/container-config-resolution-discipline.md) — apple/container, Configurations
- [Centralize configuration management](https://awesomereviewers.com/raw/ghostty-centralize-configuration-management.md) — ghostty-org/ghostty, Configurations
- [Strategic configuration exclusions](https://awesomereviewers.com/raw/tree-sitter-strategic-configuration-exclusions.md) — tree-sitter/tree-sitter, Configurations
- [Keep configuration versions current](https://awesomereviewers.com/raw/yoga-keep-configuration-versions-current.md) — facebook/yoga, Configurations

### Dependencies and lockfiles

- **Dependency audit** — no tool detected in the sample. Catches: Known-vulnerable or disallowed dependencies and licenses.
- **Lockfile consistency** — no tool detected in the sample. Catches: A lockfile that no longer matches its manifest.
- **Version and platform matrix** — no tool detected in the sample. Catches: Breakage on a runtime version, OS or feature combination you did not run locally.

### The tests themselves

- **Mutation testing** — no tool detected in the sample. Catches: Tests that keep passing whatever the code does.
- **Version and platform matrix** — no tool detected in the sample. Catches: Breakage on a runtime version, OS or feature combination you did not run locally.

Review prompts (1 in total, most discussed first):

- [Meaningful, Test-Level Correctness](https://awesomereviewers.com/raw/container-meaningful-test-level-correctness.md) — apple/container, Testing

### Documentation and comments

- **Docs build** — no tool detected in the sample. Catches: Broken cross-references, links and markup in documentation.
- **Spelling** — no tool detected in the sample. Catches: Typos in identifiers, comments and docs.

Review prompts (1 in total, most discussed first):

- [Document invariants and changes](https://awesomereviewers.com/raw/container-document-invariants-and-changes.md) — apple/container, Documentation

## Source repositories

[apple/container](https://awesomereviewers.com/sources/apple-container/), [ghostty-org/ghostty](https://awesomereviewers.com/sources/ghostty-org-ghostty/)
