2.6 KiB
2.6 KiB
Step 0: domain-contract
Read First
Read these files before editing:
/AGENTS.md/docs/PLAN.md/docs/PROGRESS.md/docs/WORKNOTE.md/docs/AGENT_RULES.md/docs/PRD.md/docs/ADR.md/docs/ARCHITECTURE.md/docs/implementation-plans/README.md
Task
Create /docs/implementation-plans/domain-model-foundation-implementation-plan.md.
The document must define the first C++ implementation slice for the Domain model container. It must explicitly state:
Domainowns parsed model definitions only.- Included model definitions: nodes, elements, materials, shell properties, node sets, element sets, boundary conditions, nodal loads, and analysis step definitions.
- Excluded state: equation ids, sparse matrix state, displacement vectors, residuals, reactions, current time, iteration counters, and element integration point state.
DofManagerowns equation numbering.AnalysisModelowns step-local execution views.AnalysisStateowns mutable solution and iteration state.- All ids use signed 64-bit storage.
- Node DOF order is
U1, U2, U3, UR1, UR2, UR3. - Units are user-consistent and not enforced by
Domain. - No Abaqus, Nastran, reference solver, HDF5 result, MKL, or TBB behavior is implemented in this phase.
Use the implementation-plan README template. Set:
feature_id: domain-model-foundationstatus: ready-for-implementationowner_agent: implementation-planning-agentdate: 2026-06-08
Include a work breakdown and TDD test plan for the following downstream steps:
- CMake/CTest bootstrap.
- Core id and DOF types.
- Node and node storage.
- Element definition storage.
- Material, property, and set storage.
- Boundary condition, nodal load, and step storage.
- Domain invariant tests.
- Validation report and handoff.
Tests To Write First
This is a documentation planning step. Do not write C++ production code in this step.
Acceptance Criteria
Run:
python -m unittest discover -s scripts -p "test_*.py"
python scripts/validate_workspace.py
The current repository may still take the no-CMake informational path until Step 1 creates CMake files.
Update /phases/domain-model-foundation/index.json step 0:
- On success:
"status": "completed"and a one-line"summary". - On repeated failure:
"status": "error"and a concrete"error_message". - On user decision needed:
"status": "blocked"and a concrete"blocked_reason".
Do Not
- Do not create C++ headers, sources, tests, or CMake files in this step.
- Do not change requirements, formulation, I/O contracts, reference artifacts, or tolerance policy.
- Do not run Abaqus, Nastran, or any reference solver.