119 lines
4.0 KiB
Markdown
119 lines
4.0 KiB
Markdown
---
|
|
description: Execute semantic audit and Rust-native testing for the active feature batch.
|
|
---
|
|
|
|
## User Input
|
|
|
|
```text
|
|
$ARGUMENTS
|
|
```
|
|
|
|
You **MUST** consider the user input before proceeding (if not empty).
|
|
|
|
## Goal
|
|
|
|
Run the verification loop for the touched Rust MCP scope: semantic audit, decision-memory audit, executable tests, logic review, and documentation of coverage/results.
|
|
|
|
## Operating Constraints
|
|
|
|
1. **NEVER delete existing tests** unless the user explicitly requests removal.
|
|
2. **NEVER duplicate tests** when existing `tests/*.rs` coverage already validates the same contract.
|
|
3. **Decision-memory regression guard**: tests and audits must not silently normalize any path documented as rejected.
|
|
4. **Rust-native structure**: prefer existing integration/protocol test organization under `tests/`.
|
|
|
|
## Execution Steps
|
|
|
|
### 1. Analyze Context
|
|
|
|
Run `.specify/scripts/bash/check-prerequisites.sh --json --require-tasks --include-tasks` and determine:
|
|
|
|
- `FEATURE_DIR`
|
|
- touched implementation tasks from `tasks.md`
|
|
- affected `.rs` files
|
|
- relevant ADRs, `@RATIONALE`, and `@REJECTED` guardrails
|
|
|
|
All test documentation emitted by this workflow belongs under `FEATURE_DIR/tests/` or other files inside `specs/<feature>/...`, never under `.kilo/plans/`.
|
|
|
|
### 2. Load Relevant Artifacts
|
|
|
|
Load only the necessary portions of:
|
|
|
|
- `tasks.md`
|
|
- `plan.md`
|
|
- `contracts/modules.md` when present
|
|
- `quickstart.md` when present
|
|
- `.specify/memory/constitution.md`
|
|
- `README.md`
|
|
- `docs/SEMANTIC_PROTOCOL_COMPLIANCE.md`
|
|
- relevant `docs/adr/*.md`
|
|
|
|
### 3. Coverage Matrix
|
|
|
|
Build a compact matrix:
|
|
|
|
| Module / Flow | File | Existing Tests | Complexity | Guardrails | Needed Verification |
|
|
|---------------|------|----------------|------------|------------|---------------------|
|
|
|
|
### 4. Semantic Audit and Logic Review
|
|
|
|
Before writing or executing tests, perform a semantic audit of the touched scope:
|
|
|
|
1. Use the AXIOM semantic validation path where available.
|
|
2. Reject malformed or pseudo-semantic markup.
|
|
3. Verify contract density matches effective complexity.
|
|
4. Verify C4/C5 Rust flows account for belief runtime markers (`belief_scope`, `reason`, `reflect`, `explore`) when required by the contract and repository norms.
|
|
5. Verify no touched code silently restores an ADR- or contract-rejected path.
|
|
6. Emulate the algorithm mentally to ensure `@PRE`, `@POST`, `@INVARIANT`, and declared side effects remain coherent.
|
|
|
|
If audit fails, emit `[AUDIT_FAIL: semantic_noncompliance | contract_mismatch | logic_mismatch | rejected_path_regression]` with concrete file-based reasons.
|
|
|
|
### 5. Test Writing / Updating
|
|
|
|
When test additions are needed:
|
|
|
|
- prefer `tests/*.rs` integration/protocol coverage
|
|
- use deterministic fixtures rather than logic mirrors
|
|
- trace tests back to semantic contracts and ADR guardrails
|
|
- add explicit rejected-path regression coverage when the touched scope has a forbidden alternative
|
|
|
|
For non-UI Rust MCP flows, UX verification means validating interaction envelopes, warnings, recovery messaging, and tool/resource discoverability promised by `ux_reference.md`.
|
|
|
|
### 6. Execute Verifiers
|
|
|
|
Run the smallest truthful verifier set for the touched scope, typically chosen from:
|
|
|
|
```bash
|
|
cargo test --all-targets --all-features -- --nocapture
|
|
cargo clippy --all-targets --all-features -- -D warnings
|
|
python3 scripts/static_verify.py
|
|
```
|
|
|
|
Use narrower `cargo test <target>` runs when they are sufficient and then widen verification when finalizing the feature batch.
|
|
|
|
### 7. Test Documentation
|
|
|
|
Create or update `specs/<feature>/tests/` documentation using `.specify/templates/test-docs-template.md`.
|
|
|
|
Document:
|
|
|
|
- coverage summary
|
|
- semantic audit verdict
|
|
- commands run
|
|
- failing or waived cases
|
|
- decision-memory regression coverage
|
|
|
|
### 8. Update Tasks
|
|
|
|
Mark test tasks complete only after semantic audit and executable verification succeed.
|
|
|
|
## Output
|
|
|
|
Produce a Markdown test report containing:
|
|
|
|
- coverage summary
|
|
- commands executed
|
|
- semantic audit verdict
|
|
- ADR / rejected-path coverage status
|
|
- issues found and resolutions
|
|
- remaining risk or debt
|