37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
---
|
|
name: fesa-cpp-tdd
|
|
description: Implement or review FESA C++ changes using tests first, documented architecture boundaries, and project validation.
|
|
---
|
|
|
|
# FESA C++ TDD
|
|
|
|
Use this skill when writing or reviewing C++ solver code, build files, tests, or validation scripts.
|
|
|
|
## Read First
|
|
|
|
- `/AGENTS.md`
|
|
- `/PROGRESS.md`
|
|
- `/PLAN.md`
|
|
- `/docs/README.md`
|
|
- `/docs/HARNESS_ENGINEERING.md`
|
|
- `/docs/ARCHITECTURE.md`
|
|
- `/docs/ADR.md`
|
|
- `/docs/NUMERICAL_CONVENTIONS.md`
|
|
- The topic-specific design document for the code being changed.
|
|
|
|
## Workflow
|
|
|
|
1. Confirm that readiness blockers do not prohibit the requested implementation.
|
|
2. Confirm that a sprint contract exists for solver behavior, parser, result schema, reference comparator, MITC4, or phase execution work.
|
|
3. Write or update tests before implementation.
|
|
4. Keep changes scoped to the requested layer and contract allowed files.
|
|
5. Preserve runtime polymorphism, DofManager ownership, adapter boundaries, and int64/double numerical defaults.
|
|
6. Run focused tests plus `python scripts/validate_workspace.py`.
|
|
7. Update `PROGRESS.md` and `PLAN.md` when status or future work changes.
|
|
|
|
## Do Not
|
|
|
|
- Do not start solver implementation from this skill when the user asked for planning or documentation only.
|
|
- Do not start implementation without a testable sprint contract for nontrivial solver work.
|
|
- Do not bypass tests for parser, DOF mapping, reactions, singular diagnostics, sparse assembly, result writing, or MITC4 behavior.
|