test · diff

git:20260605.d0fb1be to git:20261020.3a15779

7 added, 7 removed. Audit A to A.

---
name: test
description: |
Guidelines describing how to test the code.
Use whenever writing new or updating existing code, for example after implementing a new feature or fixing a bug.
---
# Testing & Quality Assurance Process
## Conventions
- **Read capy knowledge base conventions** at [shared-capy-knowledge-protocol.md](shared-capy-knowledge-protocol.md).
+ - **Read verification policy** at [shared-verification-policy.md](shared-verification-policy.md).
- **Read profile detection** at [shared-profile-detection.md](shared-profile-detection.md). When an active profile contributes a `test/` subdirectory (e.g., `${TOOLBOX_PLUGIN_ROOT}/profiles/k8s/test/`), its `index.md` lists validators, check categories, and any binary-presence or auto-detection protocols the skill must apply. See Step 2 of the Workflow.
## Workflow
- **Mandatory order — instructions before action.** The flow below is strictly sequential. Do not run any validator, test, or binary against subject-matter files until profile detection has completed and all resolved profile content is in context.
+ **Mandatory order — instructions before action.** The flow below is strictly sequential. Load this skill and its shared protocols, then complete profile detection and load all resolved profile content before investigating subject files or running validators/tests. Only bounded inspection to resolve a declared routing predicate may precede profile loading.
1. **Detect active profiles.** Run the `shared-profile-detection.md` procedure against the changed files.
2. **Load profile content.** For each active profile that contributes a `test/` subdirectory, load `${TOOLBOX_PLUGIN_ROOT}/profiles/<name>/test/index.md` and read its always-load + any matching conditional content. Honor the binary-presence protocols named there BEFORE any validator invocation — a missing pre-check step can crash on a tool that isn't installed.
- 3. **Apply the test guidelines below.** With profile methodology now loaded, run existing tests, add coverage for new or fixed functionality, and execute profile-specific validators per the loaded content.
+ 3. **Apply the test guidelines below.** With instructions loaded, inspect the affected behavior, select proportionate checks and execute applicable profile validators.
## Guidelines
- 1. Always try to add tests for any new functionality, and make sure to cover all cases and code branches, according to requirements.
- 2. Always try to add tests for any bug-fixes, if the discovered bug is not already covered by tests. If the bug was already covered by tests, fix the existing tests as needed.
- 3. Always run all existing tests after you are done with a given implementation or bug-fix.
+ 1. Cover intended behavior, affected contracts and consequential boundaries. Reuse existing coverage; add a regression test when it would meaningfully detect recurrence.
+ 2. Investigate failing tests against the requirement and implementation. Correct a flawed test explicitly; never relax a valid assertion just to obtain a pass.
+ 3. Start with relevant checks and honor explicit repository/release requirements. Broaden or repeat only when changed shared behavior, failures or unresolved risks justify it; apply the loaded verification policy to agent evaluations.
4. **Profile-aware validators.** Apply the validators and check categories the active profile's `test/index.md` specifies (loaded in Step 2 of the Workflow); honor the binary-presence protocol documented there — missing binaries should surface install hints, not shell errors.
**Capy search:** Before applying test guidelines, search `kk:test-patterns` for project-specific testing approaches and known edge cases.
- Use the following guidelines when working with tests:
+ Choose techniques that answer the actual verification question; this is not a required checklist:
- - Ensure comprehensive testing
- Use table-/data-driven tests and test generation
- Benchmark tests and performance regression detection
- Integration testing with test containers
- Mock generation with %LANGUAGE% best practices and well-establised %LANGUAGE% mocking tools
- Property-based testing with %LANGUAGE% best practices and well-establised %LANGUAGE% testing tools
- Propose end-to-end testing strategies if automated e2e testing is not feasible
- Code coverage analysis and reporting
**Capy index:** If a novel testing approach or tricky edge case was discovered during this session, index it as `kk:test-patterns`.