modify tolerance policy

This commit is contained in:
KOKO\Mimi
2026-08-18 02:29:26 +09:00
parent 123a1b6ccc
commit 624ea4872c
36 changed files with 1909 additions and 672 deletions
@@ -3,11 +3,16 @@
## Status
- date: `2026-08-12`
- amended_on: `2026-08-18`
- status: `approved`
- scope: FESA project policy, agents, skills, and `linear-static-mitc4-shell` upstream contracts
- implementation_code: out of scope
- reference_artifact_mutation: prohibited
2026-08-18 amendment: the former MITC4 fixed absolute tolerance is superseded by the common
family-scale row/RMS policy in `2026-08-17-common-reference-tolerance-design.md` and ADR-022.
The independent-solver, minimal-reference-case and drilling decisions remain unchanged.
## Decision
FESA is an independent finite element solver. It accepts an approved subset of the
@@ -84,19 +89,23 @@ Only matched global `U1/U2/U3` rows are blocking. `UR1/UR2/UR3` rows are compare
reported as warning-only evidence. Reactions and stresses may be inspected but are not
reference pass/fail quantities.
For every matched U/UR row:
The project-wide common policy now evaluates each matched U/UR component family:
```text
tolerance = 1.0e-5
S = max(abs(reference_value_i))
near_zero_i = abs(reference_value_i) <= 0.01 * S
ordinary_row_pass_i = abs(error_i) / abs(reference_value_i) <= 0.05
near_zero_row_pass_i = abs(error_i) <= 0.01 * S
relative_rms = sqrt(mean(error_i^2)) / S <= 0.01
```
The fixed value is expressed in the model's user-consistent length unit for translation
and as a dimensionless rotation value for warning-only UR. Reference scale may remain
diagnostic report data but does not enter the tolerance or normalized-error denominator.
Values are not zero-clamped. Missing, duplicate, unmatched, or nonfinite required rows
fail before numeric tolerance evaluation. U tolerance failure fails reference
verification; UR tolerance exceedance emits a deterministic warning only. The B33 mixed
tolerance remains unchanged.
The scale is computed from read-only reference values in the same model, step/frame,
quantity and component family. If `S == 0`, only exact-zero FESA values pass; otherwise
the reason is `zero-reference-scale-nonzero-error`. There is no independent absolute-error
gate. Values are not zero-clamped. Missing, duplicate, unmatched, or nonfinite required
rows fail before numeric tolerance evaluation. U tolerance failure fails reference
verification; UR tolerance exceedance emits a deterministic warning only. B33 uses the
same row and family-RMS thresholds.
No additional locking, convergence, distorted, curved, director-angle, or invalid
geometry reference portfolio is required for this MITC4 implementation acceptance.
@@ -147,7 +156,7 @@ For MITC4:
- fixed drilling stabilization closes `NR-O01` and removes `NR-O02` by scope;
- `NR-O03` and `NR-O04` are removed from the approved verification scope;
- the fixed absolute MITC4 tolerance `1.0e-5` closes the blocking part of `NR-O05`;
- the common family-scale row/RMS policy closes the blocking part of `NR-O05`;
- missing heavyweight reference metadata is `not-required-by-policy`;
- confirmed formulation defects remain blocking.