| name | is456-verification |
| description | Run IS 456:2000 compliance verification tests and benchmark checks. Use to validate structural calculations, verify code compliance, run regression tests, and check design results against known benchmarks. |
IS 456:2000 Verification Skill
Run structural engineering verification tests to validate IS 456:2000 compliance, design calculations, and benchmark results.
When to Use
- After modifying any file in
Python/structural_lib/codes/is456/
- After changing design functions in
services/api.py
- To verify a specific calculation (flexure, shear, detailing, rebar)
- Before merging any PR that touches structural calculations
- When a user reports incorrect design results
Run All Tests
.venv/bin/pytest Python/tests/ -v
Required coverage: 85% branch coverage minimum.
Run Specific Test Categories
Core design tests:
.venv/bin/pytest Python/tests/test_core.py -v
.venv/bin/pytest Python/tests/test_design_from_input.py -v
.venv/bin/pytest Python/tests/test_api_results.py -v
IS 456 compliance:
.venv/bin/pytest Python/tests/unit/test_compliance.py -v
.venv/bin/pytest Python/tests/unit/test_compliance_validation.py -v
.venv/bin/pytest Python/tests/unit/test_detailing.py -v
.venv/bin/pytest Python/tests/unit/test_ductile.py -v
Rebar and reinforcement:
.venv/bin/pytest Python/tests/unit/test_rebar.py -v
.venv/bin/pytest Python/tests/unit/test_anchorage_check.py -v
Geometry and visualization:
.venv/bin/pytest Python/tests/test_visualization_geometry_3d.py -v
.venv/bin/pytest Python/tests/unit/test_building_geometry.py -v
.venv/bin/pytest Python/tests/unit/test_flange_width.py -v
Import and adapters:
.venv/bin/pytest Python/tests/unit/test_adapters.py -v
.venv/bin/pytest Python/tests/unit/test_generic_csv_adapter.py -v
.venv/bin/pytest Python/tests/unit/test_etabs_import.py -v
.venv/bin/pytest Python/tests/test_etabs_import_integration.py -v
Batch and performance:
.venv/bin/pytest Python/tests/unit/test_batch.py -v
.venv/bin/pytest Python/tests/performance/ -v
Regression:
.venv/bin/pytest Python/tests/regression/ -v
Run by Keyword
.venv/bin/pytest Python/tests/ -v -k "beam"
.venv/bin/pytest Python/tests/ -v -k "shear"
.venv/bin/pytest Python/tests/ -v -k "flexure"
.venv/bin/pytest Python/tests/ -v -k "rebar"
.venv/bin/pytest Python/tests/ -v -k "detailing"
.venv/bin/pytest Python/tests/ -v -k "compliance"
IS 456 Code Files (what you're verifying)
| File | Coverage |
|---|
codes/is456/flexure.py | Bending moment capacity, neutral axis |
codes/is456/shear.py | Shear strength, stirrup design |
codes/is456/detailing.py | Spacing, cover, bar arrangement |
codes/is456/slenderness.py | Slenderness checks |
codes/is456/compliance.py | Code compliance validation |
Units Reference (IS 456)
| Quantity | Unit | Parameter Suffix |
|---|
| Length | mm | _mm |
| Concrete strength | N/mm² (MPa) | fck |
| Steel yield strength | N/mm² (MPa) | fy |
| Moment | kNm | _kNm |
| Shear force | kN | _kN |
| Area | mm² | _mm2 |
| Stress | N/mm² | _Nmm2 |
Full Validation Suite
For comprehensive pre-merge validation:
./run.sh check
./run.sh check --quick
./run.sh test
Interpreting Failures
- Compliance test failure: Check if IS 456 clause references changed in code
- Detailing test failure: Verify spacing/cover rules match IS 456 Table 26
- Rebar test failure: Check bar diameter tables and area calculations
- Regression failure: Compare with previous known-good results — may need benchmark update if intentional change