docs: add phase 1 sprint contracts
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
# Step 2: domain-model
|
||||
|
||||
## Sprint Contract
|
||||
|
||||
### Objective
|
||||
Implement immutable-ish Domain entities for Phase 1 input data: nodes, elements, sets, materials, shell sections, loads, boundaries, and steps.
|
||||
|
||||
### Required Reading
|
||||
- /AGENTS.md
|
||||
- /PROGRESS.md
|
||||
- /PLAN.md
|
||||
- /docs/README.md
|
||||
- /docs/HARNESS_ENGINEERING.md
|
||||
- /docs/PRD.md
|
||||
- /docs/ARCHITECTURE.md
|
||||
- /docs/ADR.md
|
||||
- /docs/NUMERICAL_CONVENTIONS.md
|
||||
- /docs/ABAQUS_INPUT_SUBSET.md
|
||||
- /phases/1-linear-static-mitc4/step1.md
|
||||
|
||||
### Scope
|
||||
- Add Domain-level value objects and containers preserving input ids and labels.
|
||||
- Support Phase 1 shell elements as Abaqus `TYPE=S4` mapped to FESA MITC4.
|
||||
- Represent node sets, element sets, linear elastic materials, shell sections, fixed boundary conditions, nodal loads, and linear static steps.
|
||||
- Provide lookup APIs and duplicate-id diagnostics without storing equation ids in entities.
|
||||
|
||||
### Allowed Files
|
||||
- `include/**`
|
||||
- `src/**`
|
||||
- `tests/**`
|
||||
- `PLAN.md`
|
||||
- `PROGRESS.md`
|
||||
- `phases/1-linear-static-mitc4/index.json`
|
||||
|
||||
### Explicit Non-Goals
|
||||
- Do not parse Abaqus files in this step.
|
||||
- Do not create `AnalysisModel`, `AnalysisState`, or `DofManager`.
|
||||
- Do not add support for S4R, pressure loads, nonzero prescribed displacement, Part/Assembly/Instance, dynamics, nonlinear steps, or thermal coupling.
|
||||
|
||||
### Tests To Write First
|
||||
- Domain construction tests for nodes, elements, sets, materials, shell sections, loads, boundaries, and steps.
|
||||
- Duplicate id/name tests with diagnostics.
|
||||
- Lookup tests proving labels and ids are preserved.
|
||||
|
||||
### Reference Artifacts
|
||||
- None.
|
||||
|
||||
### Acceptance Commands
|
||||
```bash
|
||||
python scripts/validate_workspace.py
|
||||
```
|
||||
|
||||
### Evaluator Checklist
|
||||
- Domain preserves model definition and is treated as immutable after construction.
|
||||
- Node and element objects do not own global equation numbers.
|
||||
- Phase 1 object set matches `docs/ABAQUS_INPUT_SUBSET.md`.
|
||||
- Tests cover duplicate and missing lookup behavior.
|
||||
|
||||
### Handoff Requirements
|
||||
- Record changed files and validation in `PROGRESS.md`.
|
||||
- Update future tasks in `PLAN.md` only if Domain scope changes.
|
||||
- Update the matching phase index entry: use `completed` with a one-line `summary`, or `blocked` with `blocked_reason`, or `error` with `error_message`.
|
||||
|
||||
## Verification
|
||||
1. Run the acceptance command.
|
||||
2. Inspect Domain APIs for architecture-boundary drift.
|
||||
|
||||
## Do Not
|
||||
- Do not make Domain depend on solver adapters, analysis strategies, or result writers.
|
||||
Reference in New Issue
Block a user