con un clic
rt-claw-ci-coverage
// Use when adding CI coverage for a new rt-claw module, feature chain, endpoint backend, service integration, or regression.
// Use when adding CI coverage for a new rt-claw module, feature chain, endpoint backend, service integration, or regression.
Use when building rt-claw, choosing a platform target, running QEMU, flashing hardware, or debugging C/Meson/native build failures.
Use when finding rt-claw definitions, call sites, subsystem ownership, build wiring, OSAL boundaries, or platform-specific implementations.
Use when analyzing rt-claw build logs, QEMU output, serial monitor logs, CI failures, network/API failures, or boot/runtime crashes.
Use when rt-claw behavior, APIs, configuration, build commands, platforms, or developer workflows change and documentation may need synchronization.
Use when adding a new rt-claw service, driver, tool, platform helper, platform port, or RTOS backend.
Use when reviewing rt-claw changes for OSAL boundary violations, RTOS coupling, platform leakage, driver layering, or portability risks.
| name | rt-claw-ci-coverage |
| description | Use when adding CI coverage for a new rt-claw module, feature chain, endpoint backend, service integration, or regression. |
| license | MIT |
Add the narrowest deterministic check that proves the new behavior is wired into CI, then broaden only when shared code or platform behavior changed.
Add or update CI coverage when a change introduces any of these:
Do not require real credentials, cloud services, physical hardware, or local operator input for mandatory PR CI. Cover those paths with mocks, stubs, compile-only checks, Linux-native tests, QEMU smoke tests, or optional online CI.
Choose the first rung that can express the behavior without flakiness:
Prefer one strong narrow test over a broad slow test that only proves the code compiled.
| Change | Preferred coverage |
|---|---|
| Pure helper or parser | tests/unit/test_<area>.c |
| Service state machine or registry | tests/unit/ with stubs where needed |
| Shell command or Linux process behavior | tests/functional/test_linux_*.py |
| Meson option or optional backend | scripts/test-meson-matrix.sh or a targeted workflow step |
| QEMU-visible platform behavior | existing test-smoke-* target |
| Agent skill guidance | make check-agent-skills |
| Documentation-only behavior | no CI unless examples are executable |
make test-unit-linux: Linux unit tests; preferred for services and helpers.make test-linux: Linux functional tests after make build-linux.make test-smoke-linux: build plus Linux functional tests.scripts/test-meson-matrix.sh: Meson option compile matrix.make test-smoke-esp32c3, make test-smoke-vexpress, make test-smoke-zynq:
QEMU smoke checks.make check-agent-skills: validate .agents/skills/*/SKILL.md metadata.When a feature crosses services, endpoints, tools, platforms, or external providers, add a chain-specific subsection using this shape:
## <Feature> Chain Guidance
For <feature> work, split mandatory CI from optional integration:
- Mandatory CI should cover <stable local contracts>.
- Do not call real <external providers or hardware> in required PR CI.
- Do not require <feature-specific secrets, devices, permissions, or boards> in
required PR CI.
- Use <unit / Linux functional / option matrix / QEMU target> to cover
<source wiring and deterministic behavior>.
- Use optional/manual tests for <real provider, hardware, browser, or network
verification>.
Use concrete nouns. Avoid vague entries like "test the chain"; name the public API, event, parser, shell command, option, state transition, or backend callback that CI can assert.
For voice work, split mandatory CI from optional integration:
voice, linux_web_voice, and
linux_local_voice source wiring.