# Sprint Contract: MITC4 Patch Benchmark Tests ## Objective Add element-level and small-mesh MITC4 patch and benchmark tests before integrating stored Abaqus references. ## Required Reading - /AGENTS.md - /docs/MITC4_FORMULATION.md - /docs/VERIFICATION_PLAN.md - /docs/NUMERICAL_CONVENTIONS.md ## Scope - Add constant membrane, pure bending, pure shear, pure twist, rigid-body, and drilling sensitivity tests. - Add a thin cantilever or plate strip test to expose shear locking. - Add benchmark scaffolding for Scordelis-Lo after flat tests pass. ## Allowed Files - `tests/` - `include/` - `src/` only for minimal fixes required by tests - `docs/VERIFICATION_PLAN.md` only for clarifying benchmark notes - `PLAN.md` - `PROGRESS.md` ## Explicit Non-Goals - Do not require Abaqus execution. - Do not add pressure loads for Scordelis-Lo in Phase 1. - Do not hide failing element behavior by loosening tolerances without rationale. ## Tests To Write First - The patch and benchmark tests are the sprint output; write them before any fixes. - Include at least one negative or sensitivity test for drilling scale effects. ## Reference Artifacts - Local analytic or hand-check benchmark data only. - Stored Abaqus CSV regression is reserved for step 14. ## Acceptance Commands ```bash python scripts/validate_workspace.py ``` ## Evaluator Checklist - Tests cover locking-sensitive behavior, not only shape functions. - Tolerances are scale-aware and documented. - Any implementation fixes remain minimal and within MITC4 scope. ## Handoff Requirements - Record benchmark coverage and remaining gaps in `PROGRESS.md` and `PLAN.md`. ## Do Not - Do not implement new load types to force a benchmark into Phase 1.