babyworm/rtl-agent-team/rtl-block-contract-test-policy
Claude Code and agent skill by babyworm/rtl-agent-team
- community
Checking that the SKILL.md file is still in the repository.
Internal reference: rtl block contract test policy (agent-loaded; do not invoke).
Install
npx vskill@latest install babyworm/rtl-agent-team/rtl-block-contract-test-policySKILL.md
Block-Parallel Contract Test Policy
Contract Test Directory Structure
Each block maintains its contract tests under:
Three Contract Test File Types
1. Interface Compliance Test ({block}_if_contract_tb.sv)
Verifies that the block's ports conform to the frozen interface definitions:
- Port names match
rtl/intf/*_if.svsignal names - Port widths match
rtl/pkg/codec_if_pkg.svtype definitions - Valid/ready handshake protocol compliance (no valid drop, data stability)
- Multi-beat transfer length matches interface specification
- All required interface signals are connected (no dangling ports)
2. Timing Assertion Check ({block}_timing_check.sv)
Verifies timing contracts embedded in interface files:
- Handshake latency within specified bounds
- Throughput meets minimum rate (pixels/cycle or coefficients/cycle)
- Backpressure duration does not exceed maximum specified in timing contract
- Pipeline depth matches declared value
- Clock domain crossings use proper synchronization (where applicable)
3. Counterpart Stub ({block}_stub.sv)
Provides a mock implementation of the block for use by other blocks' tests:
- Implements all output interfaces with configurable response patterns
- Accepts all input interfaces and logs received data
- Supports programmable backpressure injection (for stress testing)
- Minimal logic — behavioral model only, NOT synthesizable
- Auto-generated from interface definitions where possible
Merge-Time Verification Procedure
Execution Order
When merging a block into the integrated trunk, execute tests in this order:
- Target block contract test: Run the merging block's own contract tests
`` sim/{block}/contract/{block}_if_contract_tb.sv → PASS required sim/{block}/contract/{block}_timing_check.sv → PASS required ``
- Cross-block integration test: Run integration tests with already-merged upstream blocks
`` sim/integration/{upstream}_{block}_integration_tb.sv → PASS required `` Uses real upstream block (already merged) + stubs for not-yet-merged downstream blocks.
Upstream-First Merge Sequence
Blocks merge in dependency order — upstream blocks first:
Rationale: Upstream-first ensures that when a block merges, its upstream dependencies are already real (not stubs), providing higher-fidelity integration tests.
Exception: me and mc depend on dpb for reference frames, but dpb is a downstream consumer of filter. Use dpb_stub.sv for me/mc merge tests, then re-run integration tests after dpb merges.
PASS/FAIL Criteria
Per-Test Verdict
- PASS: Zero assertion failures, all protocol checks clean, timing within bounds
- FAIL: Any assertion failure, protocol violation, or timing contract breach
Retry Policy
On FAIL, the merge-time verification allows up to 3 retry attempts:
After 3 consecutive failures:
- Coordinator marks the block as
MERGE_BLOCKED - Coordinator sends
SendMessageto leader:MERGE_BLOCKED: {block} — {failure_summary} - Leader escalates to user via
AskUserQuestion - Remaining blocks continue merging independently (skip blocked block's downstream)
Cross-Block Regression
After each successful merge, re-run all previously merged blocks' contract tests to ensure the new block introduction does not break existing integrations.
Stub Generation Rules
When to Generate Stubs
- At Phase 4 start: generate stubs for ALL 6 blocks from interface definitions
- Stubs are placed in
sim/{block}/contract/{block}_stub.sv - Stubs are updated if interface definitions change (requires freeze violation approval)
Stub Content Requirements
Each stub MUST provide:
Stub Replacement During Merge
As blocks merge in upstream-first order, stubs are progressively replaced:
Each merge step replaces one stub with the real block in integration tests. Previously passing integration tests MUST be re-run with the real block.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/rtl-block-contract-test-policy/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/babyworm/rtl-agent-team/rtl-block-contract-test-policy)