Files
trex-core/.proofline/criteria/ac-0033.md
T

1.4 KiB

id, status
id status
ac-0033 active

Holding mirror qty·avg_price·B warning·audit 원자적 갱신

Criterion

AC-0032를 통과한 자동 동기화는 instance advisory lock과 database transaction 안에서 관측한 slot identity/status/qty/avg_price 및 dispatch metadata를 CAS 재검증하고, qty=broker_qty, avg_price=portfolio-hub cost_basis_per_unit 갱신, case_code=B warning만 삭제, actor=auto_reconcile·reason=hub_broker_matched_core_mirror_stale transition audit 추가를 하나의 commit으로 수행해야 한다. Audit extra에는 allowlist된 before/after qty·avg_price와 hub/broker quantity, portfolio_id, symbol만 포함한다. CAS 실패, B warning 부재 또는 어느 write든 실패하면 네 변경 모두 없어야 한다. C/unknown warning과 다른 instance·symbol·slot은 보존한다. 같은 evidence 재실행은 no-op이며 audit를 중복 추가하지 않는다.

Verification

  • 성공 시 slot status는 holding으로 유지되고 qty·avg_price, B clear, audit 한 건이 함께 반영된다.
  • C와 기타 warning은 보존된다.
  • CAS race와 강제 예외에서 transaction rollback 후 slot·warning·audit가 모두 이전 상태다.
  • PostgreSQL 실제 transaction 테스트와 in-memory parity 테스트로 commit, rollback, isolation, idempotency를 검증한다.
  • broker order submit/cancel, portfolio-hub write, ledger/outbox write는 발생하지 않는다.