Repository navigation
fix(lifecycle-core): align dry-run suppression with receipt expiry - #3500
Merged
Merged
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 39 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
📊 Benchmark Results✅ All benchmarks passed
Updated: 2026-10-11T11:24:51.843Z · Commit: 895b2e8 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #3223.
Finalized receipt가 TTL에 도달하면 dry-run의 중복 억제·cooldown 판정이 같은
context.now의 실제 claim과 일치합니다. 만료 기준은completedAt + receiptTtlMs <= context.now이며, indeterminate dispatch evidence는 계속 재실행을 억제합니다.조회 메서드의 선택적
evaluatedAt으로 활성 receipt를 조회합니다. 인자를 생략한 기존 이력 조회는 유지하며, 미리보기는 receipt를 삭제하거나 claim·액션·cooldown을 소비하지 않습니다. 실제 claim의 만료 제거 정책과 기본 TTL은 유지합니다.Validation
Elevated: 공개 store 조회 계약과 receipt idempotency.
suppressed=false, actualsucceeded, emissions 2.TMP/TEMP로 격리했으며 훅·검증 설정·시간 제한은 유지.pnpm check의 27개 통과·1개 비적용 결과를 재사용하고, 유일한 실패였던 benchmark를 같은 임계값으로 재실행해 통과.Head
895b2e8b45c293f9c4a4391d290fd85dcd0ebb2a, current trunka7bf96ead90454032ec71847ae3b9a3868422cc8. 이후 HTTP·metrics·QStash·protocol schema 변경과 Problem registry 동기화, browser test harness 변경은 receipt 계약과 상호작용하지 않으며 병합 충돌이 없습니다. CI 재시작을 위한 빈 커밋은 소스 트리를 유지하므로 기존 로컬 검증과 독립 리뷰 증거를 재사용합니다.Scope
외부 persistence, signal identity, 기본 TTL, 원격 액션은 변경하지 않습니다. 별도 저장소에 TTL 정책이 있다면 문서화된
evaluatedAt읽기 계약을 구현해야 합니다. Preview는 실행 예약이 아니므로 두 호출 사이의 동시 상태 변경은 보장 범위 밖입니다.Visual evidence
API 문서의 receipt 조회 계약, viewport 1440×1000. 정적 문서 변경이며 브라우저 오류와 가로 overflow가 없습니다.
/api/lifecycle-core/src/interfaces/lifecyclerunstore/, lookup methods/api/lifecycle-core/src/classes/inmemorylifecyclerunstore/, lookup methodsCI
현재 head의 CI, Performance Benchmark, PR Review Companion가 모두 통과했습니다. 문서 링크의 일시적 GitHub 503 실패도 재실행으로 통과했으며, 로컬 Elevated 검증과 독립 리뷰, 필수·선택 CI가 충족됐습니다.