core: fail closed without current Program evidence - #464
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
WalkthroughИз публичного и внутреннего API удалена операция ChangesКонтракт и lifecycle операций
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant UpdateV1
participant SessionState
participant ProjectionV1_operations
participant OperationV1
UpdateV1->>SessionState: переводит контекст в Waiting, Stale или Failed
SessionState->>ProjectionV1_operations: передаёт состояние, raw head и outputs
ProjectionV1_operations->>OperationV1: создаёт Remove для каждого output
SessionState->>SessionState: сохраняет прежний Verified-сертификат в evidence
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
@coderabbitai review |
✅ Action performedReview finished.
|
c6e9d0a to
3dc76d7
Compare
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
Superseded by the reviewed cumulative squash merge #465 ( |
Что изменено
Readyпо-прежнему проецируется вSet;Staleи любойFailedтеперь проецируются вRemoveдля каждого output slot.HoldV1иOperationV1::Hold: прошлый сертификат остаётся только вEvidenceViewV1для диагностики.Ready → Observed violation → RemoveиReady → Unknown → Remove, включая доказательство сохранности исторического сертификата.Sessionlifecycle не менялся.Корневая причина
Прошлый Verified-сертификат связан с прошлым наблюдением. Он не может разрешать эмиссию после известного нарушения нового контекста;
Unknownтакже не доказывает, что контекст не изменился. СтарыйHoldсмешивал историческое evidence с полномочием текущей эмиссии.Влияние
Runtime fail-closed удаляет ранее установленное значение, пока текущий контекст не получит новый Verified-сертификат. Диагностика сохраняет прошлый сертификат и конфликт без второго presentation-policy слоя.
Проверки
Hold.cargo +1.96.0 fmt --all --checkcargo +1.96.0 clippy --workspace --all-targets --locked -- -D warningscargo +1.96.0 test --workspace --lockedRUSTDOCFLAGS=-D warnings cargo +1.96.0 doc --workspace --no-deps --lockedprogram_boundary,program_mixed_evaluator_testsи anti-regrowth generic boundary testsStacked on #463.
Summary by CodeRabbit
Holdудалена, вместо неё для выходов теперь формируетсяRemove.StaleиFailedвсе выходы удаляются, при этом ранее полученные подтверждения остаются вevidenceкак диагностика.Waiting, включая случаи с пустым наблюдением.