Skip to content

Commit 127e2be

Browse files
authored
docs: require provider-integration + coverage verification for platform/response changes (#1008)
Process guardrail (addresses the recurring miss behind the Platform-collapse leaks): - Testing Matrix: platform/device-response changes must also run test:integration:provider and test:coverage — check:unit alone misses the provider-integration project (which runs the apple-platform-output leak guard). - PR Readiness: don't call a PR CI-green off a local --project unit run; the Integration Tests and Coverage jobs run provider-integration, so verify those on the actual PR head.
1 parent 7488346 commit 127e2be

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

AGENTS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,12 +214,14 @@ Command-only flags (like `find --first`) that do not flow to the platform layer
214214
- Test-only DI seam CI failures: the workflow enforces this; do not add optional `typeof` DI params in production code.
215215
- Tooling/config change (`package.json`, `tsconfig*.json`, `.oxlintrc.json`, `.oxfmtrc.json`): `pnpm check:tooling`.
216216
- Daemon handler/shared module change: `pnpm check:unit`.
217+
- Platform/device-response change (anything emitting `platform`/`appleOs` on the wire, or shaping a daemon response): also run `pnpm test:integration:provider` and `pnpm test:coverage` — both exercise the `provider-integration` project (incl. the apple-platform-output leak guard); `pnpm check:unit` alone does NOT. Internal `apple` must never reach a command response — project through `publicPlatformString`.
217218
- iOS runner/Swift change: `pnpm build:xcuitest`.
218219
- Cross-platform behavior change: run `pnpm test:integration`.
219220
- Any change in: `src/`, `test/`, `skills/`: `pnpm format`.
220221

221222
## PR Readiness Checklist
222223
- Static gates first: required checks from **Testing Matrix** pass, `pnpm check:fallow --base origin/main` is clean when code quality/dead-code risk is relevant, CI guards are green, and no conflict markers or unmerged paths remain.
224+
- Do not report a PR as CI-green from a local `--project unit` run alone: the **Integration Tests** and **Coverage** jobs run the `provider-integration` project, so verify green on the actual PR head across those jobs, not just unit.
223225
- Command-surface changes preserve CLI, Node.js, daemon, MCP, help, docs, and SkillGym coverage where that surface is affected. Do not duplicate command contracts across layers.
224226
- Device-facing behavior is not merge-ready until it has real simulator/emulator/device evidence for the changed path. Fixture-backed tests can prove contracts, but they do not replace a live run that creates or observes the artifact/state the feature claims to handle.
225227
- If live verification is blocked, state the blocker, exact command or device needed, and downgrade the PR to residual risk instead of calling it ready.

0 commit comments

Comments
 (0)