69 lines
2.7 KiB
Markdown
69 lines
2.7 KiB
Markdown
# Step 4: parser-phase1-subset
|
|
|
|
## Sprint Contract
|
|
|
|
### Objective
|
|
Complete Phase 1 Abaqus input subset behavior and explicit rejection diagnostics for unsupported features.
|
|
|
|
### Required Reading
|
|
- /AGENTS.md
|
|
- /PROGRESS.md
|
|
- /PLAN.md
|
|
- /docs/README.md
|
|
- /docs/HARNESS_ENGINEERING.md
|
|
- /docs/PRD.md
|
|
- /docs/ARCHITECTURE.md
|
|
- /docs/ABAQUS_INPUT_SUBSET.md
|
|
- /docs/VERIFICATION_PLAN.md
|
|
- /phases/1-linear-static-mitc4/step3.md
|
|
|
|
### Scope
|
|
- Parse `*Node`, `*Element`, `*Nset`, `*Elset`, `*Material`, `*Elastic`, `*Shell Section`, `*Boundary`, `*Cload`, `*Step`, `*Static`, and `*End Step` as documented.
|
|
- Support generated and explicit set definitions only if documented in `docs/ABAQUS_INPUT_SUBSET.md`.
|
|
- Reject unsupported Abaqus constructs with clear diagnostics.
|
|
|
|
### Allowed Files
|
|
- `include/**`
|
|
- `src/**`
|
|
- `tests/**`
|
|
- `docs/ABAQUS_INPUT_SUBSET.md` only for clarification of already agreed behavior
|
|
- `PLAN.md`
|
|
- `PROGRESS.md`
|
|
- `phases/1-linear-static-mitc4/index.json`
|
|
|
|
### Explicit Non-Goals
|
|
- Do not support `S4R`, `Part`, `Assembly`, `Instance`, `*Include`, pressure loads, nonzero prescribed displacement, `*Density`, or `NLGEOM=YES`.
|
|
- Do not make `quad_01.inp` pass as Phase 1 input.
|
|
- Do not add geometric/material nonlinearity, dynamics, thermal coupling, or mesh quality diagnostics.
|
|
|
|
### Tests To Write First
|
|
- Positive parser tests for each Phase 1 supported keyword.
|
|
- Negative parser tests for `S4R`, `Part/Assembly/Instance`, `*Include`, `*Density`, pressure loads, nonzero prescribed displacement, and `NLGEOM=YES`.
|
|
- Diagnostics tests for missing required parameters, malformed data rows, and invalid labels.
|
|
|
|
### Reference Artifacts
|
|
- Format/provenance only: `references/quad_01.inp` may be used to assert that unsupported features are rejected or documented, not as a passing parser case.
|
|
|
|
### Acceptance Commands
|
|
```bash
|
|
python scripts/validate_workspace.py
|
|
```
|
|
|
|
### Evaluator Checklist
|
|
- Supported keyword coverage matches `docs/ABAQUS_INPUT_SUBSET.md`.
|
|
- Unsupported features fail loudly and specifically.
|
|
- S4 maps to the internal MITC4 shell element type; S4R remains unsupported.
|
|
- Tests include both successful subset parsing and negative diagnostics.
|
|
|
|
### Handoff Requirements
|
|
- Record parser coverage, unsupported-feature behavior, and validation in `PROGRESS.md`.
|
|
- Update `PLAN.md` if a parser blocker remains.
|
|
- 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 tests to ensure unsupported Abaqus features are not silently accepted.
|
|
|
|
## Do Not
|
|
- Do not widen parser support because a stored reference file happens to contain a keyword.
|