test(turn): cover general pre-required turn boundaries

This commit is contained in:
2026-07-26 04:41:15 +00:00
parent 200d883b5b
commit 5c76a20bc9
3 changed files with 119 additions and 5 deletions
@@ -9,7 +9,8 @@
현재 ref MariaDB와 core memory를 잇는 공통 runner, 성공 경로 55개,
실행 중 확률 실패 9개, full constraint fallback 12개와 모략 확률 clamp
8개, 모략 결과값 경계 5개, 부상 경계 3개가 구현됐다.
8개, 모략 결과값 경계 5개, 부상 경계 3개, alternative 5개와 pre-required
turn 중간 경계 6개가 구현됐다.
실패 9개는 내정 critical
`주민선정/정착장려/상업투자/기술연구/물자조달`과 모략
`화계/선동/파괴/탈취`이며 RNG 전체 trace, semantic state delta와 실패
@@ -23,9 +24,12 @@ state delta를 비교한다. 결과값 5개는 화계 농업·상업, 선동 치
파괴 수비·성벽의 0 바닥과 탈취의 대상 국가 자원 상한·미보급 도시 최종
저장 상태를 비교한다. 부상 3개는 화계·선동·파괴의 대상 장수별 판정,
부상도 80 상한, 병력·훈련·사기 0.98 정수 저장과 대상 장수 로그를
비교한다. 나머지 명령별 제약 실패·값 경계·alternative와 전체 core
PostgreSQL 재조회가 완료 기준을 통과하기 전까지 55개 명령 전체의 동적
호환 상태를 `확인`으로 올리지 않는다.
비교한다. alternative 5개는 해산·랜덤임관·무작위건국·출병의 모든 대체
분기에서 최초 명령 RNG의 연속 소비와 최종 상태를 비교한다. pre-required
turn 6개는 전투태세 1/2/3턴, 내정·전투 특기 초기화 1턴, 은퇴 1턴의
`last_turn`과 진행 로그, RNG 무소비를 비교한다. 나머지 명령별 제약
실패·값 경계와 전체 core PostgreSQL 재조회가 완료 기준을 통과하기 전까지
55개 명령 전체의 동적 호환 상태를 `확인`으로 올리지 않는다.
## 결정 요약
@@ -199,8 +199,15 @@ of 80, integer persistence after multiplying crew/train/atmosphere by 0.98,
and the target-general injury log for fire attack, agitation and destruction.
They restore the legacy Korean particle in the log, add the two missing logs,
and round rather than floor the integer fields.
Five general alternative cases cover disband and random-appointment fallback
to talent search, both random-founding alternatives, and sortie fallback to
movement. The alternative command reuses the original requested-action RNG
instance and current consumption position. Six pre-required-turn cases cover
battle-preparation terms 1 through 3 plus the first intermediate turn of both
trait resets and retirement. They compare the exact intermediate `lastTurn`,
progress log, zero command-RNG consumption and semantic state delta.
This is not yet a claim that every command-specific
constraint, clamp, alternative and persistence boundary has been dynamically
constraint, clamp and persistence boundary has been dynamically
compared.
The fixture runner also reports whether the requested legacy command reached