# Step 0: requirements-baseline ## Read These Files First Read the following files before editing: - `/AGENTS.md` - `/docs/PRD.md` - `/docs/ARCHITECTURE.md` - `/docs/ADR.md` - `/docs/requirements/README.md` ## Task Create `/docs/requirements/euler-beam-3d.md` for a kernel-first 3D Euler-Bernoulli beam feature. Scope the first implementable increment narrowly: - two-node, straight, prismatic, small-displacement 3D Euler-Bernoulli beam element - six mechanical DOFs per node in this order: `ux, uy, uz, rx, ry, rz` - linear elastic section constants: `E`, `G`, `A`, `J`, `Iy`, `Iz` - local and global 12x12 stiffness matrix support - local and global element end-force recovery from nodal displacement vectors - no shear deformation, warping, end releases, offsets, distributed loads, mass matrix, geometric stiffness, nonlinear kinematics, dynamics, or thermal coupling in this increment - no Abaqus reference CSV generation in this increment - no full Abaqus compatibility claim The document must contain: - metadata: `feature_id: euler-beam-3d`, owner agent, status - explicit assumptions and non-goals - `must` requirements with stable IDs such as `EB3D-REQ-001` - verification quantities: displacement DOFs, reactions/end forces, stiffness symmetry, rigid body modes, local/global transformation consistency - acceptance criteria that distinguish kernel completion from full solver release readiness - open issues for parser integration, reference artifact availability, and full end-to-end assembly Do not create C++ files in this step. ## Tests To Write First - No C++ test is required in this documentation-only step. - Still run the harness validation commands in the acceptance criteria. ## Acceptance Criteria ```powershell python -m unittest discover -s scripts -p "test_*.py" python scripts/validate_workspace.py ``` ## Verification Notes 1. Confirm the requirements do not claim full Abaqus compatibility. 2. Confirm each `must` requirement has an acceptance criterion or a downstream verification hook. 3. Update `phases/euler-beam-3d/index.json` step 0: - success: `"status": "completed"`, `"summary": "3D Euler beam kernel requirements baseline added"` - failure after retries: `"status": "error"`, `"error_message": ""` - blocked: `"status": "blocked"`, `"blocked_reason": ""` ## Forbidden - Do not create or modify reference CSV files. - Do not modify source or test files.