feat(tool-capability): verify lifecycle operability evidence - #577
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (8)
📝 WalkthroughWalkthrough외부 Durable Object 운영성 증거 계약과 평가기를 추가합니다. CLI는 증거 JSON을 읽고 평가 결과를 출력합니다. 테스트는 정상 및 실패 조건을 검증하며, 관련 스크립트를 커버리지 대상에 포함합니다. Changes외부 확장 수명주기 운영성 증거
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant 운영자
participant 감사CLI
participant 증거JSON
participant 평가기
participant 출력
운영자->>감사CLI: operations:lifecycle-operability 실행
감사CLI->>증거JSON: 증거 파일 읽기
감사CLI->>평가기: evaluateExternalExtensionLifecycleOperabilityEvidence 호출
평가기-->>감사CLI: PASS 또는 FAIL와 계산 지표 반환
감사CLI->>출력: JSON 결과 출력
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
seonghobae
left a comment
There was a problem hiding this comment.
Current-head self-review found one owned observability/privacy defect before GREEN: the audit result unnecessarily republishes the caller-supplied evidence pathname. The evaluator only needs the file as an input capability; a path can contain tenant/operator identifiers and is not acceptance evidence. Keep the output bounded to the source/check/failure/metric result and retain no raw path or raw samples.
seonghobae
left a comment
There was a problem hiding this comment.
Current-head review found one remaining evidence-integrity gap before GREEN. contended_append.latency_ms is evaluated independently from contention_trials, so structurally valid evidence can report 100 low-latency samples from an unrelated/uncontended run while proving only a handful of pairwise CAS trials. For a contended-append p95, each pairwise trial has exactly two attempts (winner + conflict loser); bind the planned latency denominator to 2 * contention_trials and cover denominator drift with a hostile regression. Do not relax the p95 or contention requirements.
Scope
Add executable acceptance evidence for Noema external-extension lifecycle operability without claiming foreign-owner truth or synthetic runtime proof. This lane owns only the evidence schema/evaluator and its tests. It does not add provider routing, AppGuardrail/quarantine/Egress authority, or fabricate Durable Object deployment evidence.
RED → minimal causal repair
The original test-only exact
06b13b863c20799963e9d011d5eb613372b902dcrequired an evaluator that did not exist. Implementation reached974f7c3650e98bc03d51091f5aaf5467c4608b01; hosted application CI34383704092checked out that exact head against protectedmain@73039b556338e96df591b61cf8992a41c952ef35. All 636 test files / 4,327 tests passed, but the 100% owned-production coverage gate remained RED because the audit CLI's production dependency defaults (argv, strict reader, stdout writer, exit-code setter) were not executed.77bb444727275d4114fe10ef49c31ab16946e9bdadded runtime-default coverage without excluding source or weakening the threshold.A subsequent current-head review found a distinct evidence-integrity gap:
contended_append.latency_mswas not structurally bound tocontention_trials, so a small pairwise CAS proof could lend itscontendedlabel to an unrelated low-latency sample series. Test-only exact9577dcbe96714c59852541c1d824ba28e873f19fmade that finding a reality RED. Hosted CI34387316161/ job102586750773passed exact checkout, live-base validation, lock control, install and typecheck, then failed exactly one new regression: 635 files / 4,328 tests passed and the hostile test failed becausecontention_sample_denominatordid not yet exist.Current exact
b7c18041a53dca2184ff4e85d8201063cf87ccadapplies the minimum causal repair: pairwise contention must map to exactly two measured append attempts per trial (planned_samples = 2 * contention_trials), with safe-integer bounds; passing fixtures now use 50 trials / 100 measured attempts, overflow and denominator drift fail closed, and the doctoring note records the same evidence semantics. p95, failure-denominator, CAS-winner/loser and recovery requirements were not relaxed. All predecessor GREEN is invalidated; only fresh checks on this exact head may authorize readiness or merge.Acceptance
ctx.storage.sql.databaseSize, not a namespace aggregate;Keep Draft until the unchanged exact head has application CI, reviewer-ci, Security Scan, and patch-validator-image GREEN and review remains clean.
Summary by CodeRabbit
새로운 기능
문서
테스트