# Step 3: numerical-review ## Read These Files First Read the following files before editing: - `/AGENTS.md` - `/docs/PRD.md` - `/docs/ARCHITECTURE.md` - `/docs/ADR.md` - `/docs/requirements/euler-beam-3d.md` - `/docs/research/euler-beam-3d-research.md` - `/docs/formulations/euler-beam-3d-formulation.md` - `/docs/numerical-reviews/README.md` ## Task Create `/docs/numerical-reviews/euler-beam-3d-review.md`. Review the formulation for implementation readiness. The review must include: - dimension and units check for each stiffness coefficient - symmetry and rigid body mode expectations - local axis construction risks - positive semi-definite local stiffness expectation before constraints - test obligations before production code - known numerical limits for slender beams and very small section constants - pass/fail verdict for kernel implementation planning If the formulation is not ready, mark the document status as `needs-upstream-decision` and update this phase step as blocked with a concrete reason. Do not create C++ files in this step. ## Tests To Write First - No C++ test is required in this documentation-only step. ## Acceptance Criteria ```powershell python -m unittest discover -s scripts -p "test_*.py" python scripts/validate_workspace.py ``` ## Verification Notes 1. Confirm the review does not change requirements or formulation. 2. Confirm implementation-owned risks are turned into concrete tests. 3. Update `phases/euler-beam-3d/index.json` step 3: - success: `"status": "completed"`, `"summary": "3D Euler beam numerical review added"` - failure after retries: `"status": "error"`, `"error_message": ""` - blocked: `"status": "blocked"`, `"blocked_reason": ""` ## Forbidden - Do not modify requirements, formulation, source, tests, or reference artifacts.