AGENTS.md · git:20260805.4715b87 · 2026-08-05 · sha256 d9afeff5775b8850
AGENTS.md git:20260805.4715b87A
Immutable. This exact content never changes and is served at /api/v1/blob/d9afeff5775b8850.
# AGENTS.md ## Repository instructions Follow the nearest nested `AGENTS.md` for crate-specific rules. The release-gate rules below apply repository-wide and cannot be weakened by a nested file. ## Native-agent release gate Gateway and Desktop releases are protected by the versioned native-agent lifecycle contract in `ci/native-agent-gate.json`. Read `ci/README.md` before changing that manifest, the CI/release workflows, or any covered lifecycle. Treat the gate as part of the product contract, not as a one-time Proposal 62 artifact. Reassess and, when needed, extend the gate whenever a change adds, renames, removes, or materially changes any of the following: - native agent/provider/tool execution or provider conformance; - durable events, cancellation, recovery, restart, scheduling, or bounded long-running behavior; - database migrations or previous-release restart compatibility; - attachment/path/process security behavior; - production feature profiles or macOS, Linux, or Windows support; - CI, release, build, package, publish, or attestation workflows. For a relevant change: 1. Update the manifest when workspace coverage, feature profiles, required categories, exact Rust test identities, platforms, or justified ignores change. Keep one default-workspace case and one explicit production `computer-use` case per supported OS. New critical behavior needs an exact required test identity; broad substring coverage is not acceptable. 2. Keep enumerated and actually executed tests distinct. An ignored test must never satisfy required coverage or executed-test counts. Duplicate required or ignored identities inside a workspace case are ambiguous and must fail closed. 3. Prefer deterministic automated coverage. If an external/manual smoke must be ignored, allowlist its exact suite/case/test identity with a concrete reason and retain deterministic coverage for the same contract. Remove stale allowances. 4. Update `scripts/ci/validate_native_agent_workflows.py` and its regression tests when the platform/case/feature matrix, workflow wiring, report schema, or publisher dependencies change. 5. Do not bypass `.github/workflows/native-agent-gate.yml`. Release build and package jobs must remain gate-dependent, and publisher jobs must remain dependent on their gated build/package jobs. 6. Do not call a release ready from a local platform-only result. The final release commit requires clean exact-SHA hosted evidence for Linux, macOS, and Windows. Run the contract checks after every relevant change: ```bash python3 scripts/ci/native_agent_gate.py validate-manifest --manifest ci/native-agent-gate.json python3 scripts/ci/validate_native_agent_workflows.py python3 -m unittest discover -s scripts/ci/tests -p 'test_*.py' -v cargo fmt --all -- --check ``` Also run the affected locked Cargo tests. When producing release evidence, use the runner described in `ci/README.md` against the exact clean commit; do not reuse an attestation from another SHA or from a dirty tree.