when the manifest declares a channel policy preset.
7. Cover the behavior with manifest/compiler tests plus applier/onboard/channel CLI tests when host effects change.
## Where Changes Belong
- New prompt, token, allowlist
files)
bun run build
# Build with Vite (alternative build pipeline)
bun run build:vite
# Test
bun test # run all tests
bun test src/utils/__tests__/hash.test.ts # run single file
bun test --coverage # with
/code-review` skill in addition to relevant domain skills and matching path-scoped
instructions.
## Build, Test, and Lint
See the `/ort-build`, `/ort-test`, and `/ort-lint` skills for detailed instructions
submitting human is responsible for reviewing every changed line and running relevant tests.
- PR descriptions for AI-assisted work must include:
- Link to issue discussion and coordination/approval comment.
- Which tests
each defined by a `kibana.jsonc`: core, packages, and plugin packages. Aside from tooling and testing, most code lives in these modules.
- Packages are reusable units with explicit boundaries
ephemeral development environment where it can make changes to code, execute automated tests, and run linters. A firewall is enabled by default to prevent data exfiltration.
* **Automated security scanning**: During
general guidance here.
- **Product DSL** (`platform/build-scripts/product-dsl/`): follow its `AGENTS.md`.
- **IJ Proxy MCP server** (`build/mcp-servers/ij-proxy/`):
- Tests: run `bun run build` and `bun test`.
- Bazel: do not run a Bazel build
Operations, Verification, and Builds
* [skills/verification_protocols/SKILL.md](skills/verification_protocols/SKILL.md): Mandatory verification pipeline (include formatting, desktop compilation, core test runs) before concluding a C++ task.
* [skills/filament_build_clean/SKILL.md](skills/filament_build_clean/SKILL.md): Clean commands, debug desktop compilation, and release
could solve it, what the tradeoffs are, and
which option actually wins.
**Then pressure-test it before you build:**
- **Edge cases.** Which exist, which matter, which we can safely ignore
known and loved for:
- modern, idiomatic, concise Python
- end-to-end type-safety and test coverage
- thoughtful, tasteful, consistent API design
- delightful developer experience
- comprehensive well-written documentation
In other
they keep the example representative.
- Put example-level exclusions on the fence, such as `{test="skip" lint="skip"}`, rather than adding tooling suppressions to pedagogical code. Examples that are linted
itself must **not** have `needs: activation`.
# A PR that edits `bots.yml` cannot test its own change
`bots.yml` triggers on `pull_request_target`, and GitHub runs that trigger's
workflow file
pydantic_ai/settings.py`, and give a new `Model` class a case in `tests/models/test_model_settings_support.py` — that test probes each class's outgoing request and fails when a list and the wire disagree.
- Narrow
difference must be deliberate, documented in
[docs/realtime/](../../../docs/realtime/), and covered by a parity test in `tests/realtime/`.
## Provider adapters
- Parse provider frames through typed SDK models, never ad-hoc `dict` access
feature-specific state on `Agent` when a toolset or capability can own it.
- Test through public agent/toolset behavior where possible; snapshot message/tool-call history when behavior affects protocol shape