docs(engines): template on shared services and a determinism rule
New engines start from the shared test kit (the template's tests are a one-line EngineContractTests subclass) and the host APIs, so they don't re-derive geometry reading, work areas or validator tolerances. BENCH-RULES.md now forbids clocks, unseeded randomness and environment variables from influencing placement (budgets count work; wall time only through the host's cancellation token) and lists the kit as read-only. Build-Engines.ps1 deploys only OpenNest.Engine.* folders, and New-Engine.ps1 -IncludeBuildFiles copies the kit. Co-Authored-By: Codex <noreply@openai.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -41,6 +41,12 @@ file covers how the run itself works.
|
||||
|
||||
## Tests and scoring
|
||||
|
||||
- `Engine.Testing/` is the shared, read-only test kit supplied beside engine folders in
|
||||
bench copies. Reference it for shapes, job construction, layout assertions and inherited
|
||||
engine contract tests; do not copy or edit it during an engine optimization run.
|
||||
- Placement must be deterministic: no clocks, unseeded randomness or environment variables
|
||||
may influence placement. Budgets count work. Wall time may stop work only through the
|
||||
host's cancellation token. Diagnostics must not affect placement decisions.
|
||||
- Keep the starter tests in `tests/` and keep them passing. Add tests; do not weaken,
|
||||
skip or delete existing ones. If you believe an existing test is wrong, leave it and explain
|
||||
why in your report.
|
||||
|
||||
Reference in New Issue
Block a user