feat(nonlinear-static-newton-raphson): step 11 - equilibrium-projection-and-reference-gate
This commit is contained in:
@@ -91,6 +91,12 @@ Add tests first.
|
||||
- `NSNR-LOG-010`: write/flush/close failure returns `log-output-failure` and prevents success classification.
|
||||
- `NSNR-LOG-011`: non-Newton controlled failure path can leave a zero-byte log owned by app lifecycle.
|
||||
|
||||
### USER-DECISION-003 option-1 revision addendum
|
||||
|
||||
Step 7의 completed status, summary, timestamps와 commits는 보존한다. Executor-selected Step 11에서 `tests/unit/analysis/newton_iteration_log_test.cpp`에 다음 RED assertion을 추가한다.
|
||||
|
||||
- `NSNR-LOG-012`: synthetic `NewtonChannelDecision`이 아니라 `EvaluateNewtonConvergence`가 만든 residual decisions를 record에 넣는다. Exact-zero matching external channel은 denominator exact `0`, branch `zero-scale`, threshold `1.0e-3`, force 또는 force-length unit으로 직렬화하고, nonzero matching external channel은 retained denominator, branch `relative`, threshold `1.0e-2`, unit `1`로 직렬화한다. 같은 line이 기존 39 labels/order, TAB separation, LF termination을 그대로 유지해야 하므로 기존 selector에서는 RED가 된다.
|
||||
|
||||
Run:
|
||||
|
||||
```powershell
|
||||
@@ -102,7 +108,7 @@ Expected: new tests fail. Unexpected pass stops.
|
||||
|
||||
## GREEN
|
||||
|
||||
Implement a small log writer with explicit open/write/flush/close state, serializer-owned 39-field order, deterministic escaping, finite numeric formatting, `relative`/`zero-scale` convergence branch mapping, typed `not-evaluated(reason)` substitution, and structured `Status` failures.
|
||||
Implement a small log writer with explicit open/write/flush/close state, serializer-owned 39-field order, deterministic escaping, finite numeric formatting, `relative`/`zero-scale` convergence branch mapping, typed `not-evaluated(reason)` substitution, and structured `Status` failures. USER-DECISION-003는 evaluator-produced decision semantics만 바꾸므로 log writer production 또는 `nsnr-log-v1` schema 변경은 예상하지 않는다.
|
||||
|
||||
## VERIFY
|
||||
|
||||
@@ -126,3 +132,4 @@ Update only Step 7 status and one-line payload. Executor owns timestamps, commit
|
||||
- Do not accept arbitrary caller-provided field vectors. 이유: io.md requires an exact fixed schema and order.
|
||||
- Do not write HDF5 trial history. 이유: log is diagnostic and HDF5 stores accepted frames only.
|
||||
- Do not continue after log write/flush/close failure. 이유: log failure blocks result commit.
|
||||
- Do not add, remove, rename, reorder, or re-delimit any `nsnr-log-v1` field. 이유: option 1 changes only residual decision values, not the approved 39-field external log contract.
|
||||
|
||||
Reference in New Issue
Block a user