64 lines
2.4 KiB
Markdown
64 lines
2.4 KiB
Markdown
# 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": "<specific error>"`
|
|
- blocked: `"status": "blocked"`, `"blocked_reason": "<specific reason>"`
|
|
|
|
## Forbidden
|
|
|
|
- Do not create or modify reference CSV files.
|
|
- Do not modify source or test files.
|