You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pingqiu
56afa55f13
feat: add P3 failure-class validation through planner/executor (Phase 06)
6 new tests (validation_test.go) mapped to tester expectations E1-E5:
E1/FC1: Changed-address restart through planner/executor
- Active session invalidated by address change
- Sender identity preserved, old plan resources released
- Log shows: endpoint_changed → new session → plan → execute
E2/FC2: Epoch bump mid-execution step
- Partial progress, epoch bumps between steps
- Further progress rejected, executor cancels with resource release
- Log shows: session_invalidated + exec_resources_released
E3/FC5: Cross-layer proof — trusted base + unreplayable tail
- Storage: checkpoint=50, tail=80 → unreplayable
- RebuildSourceDecision → FullBase (not SnapshotTail)
- FullBasePin acquired, executed through RebuildExecutor, released
- Log shows: plan_rebuild_full_base (observable reason)
E4/FC8: Rebuild fallback when trusted-base proof fails
- Untrusted checkpoint → full-base, full-base pin fails → error
- Untrusted checkpoint → full-base, full-base pin succeeds → InSync
- Log shows: full_base_pin_failed
E5: Observability — full recovery chain logged
- Verifies 7 required log events from assignment through completion
Delivery template:
Changed contracts: P3 validates planner/executor path, not convenience
Fail-closed: epoch bump mid-step releases resources + logs cause
Resources: cross-layer proof chain validated end-to-end
Carry-forward: FC3/FC4/FC6/FC7 sufficient from prior phases
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2 days ago |
| .. |
|
adapter.go
|
fix: add full-base pin and clean up session on WAL pin failure
|
2 days ago |
|
budget.go
|
feat: add V2 engine replication core (Phase 05 Slice 1)
|
2 days ago |
|
doc.go
|
fix: separate stable ReplicaID from Endpoint in registry
|
2 days ago |
|
driver.go
|
fix: rebuild executor consumes bound plan, fix catch-up timing
|
2 days ago |
|
driver_test.go
|
fix: derive WAL pin from actual replay need, PlanRebuild fails closed
|
2 days ago |
|
executor.go
|
fix: rebuild executor consumes bound plan, fix catch-up timing
|
2 days ago |
|
executor_test.go
|
fix: rebuild executor consumes bound plan, fix catch-up timing
|
2 days ago |
|
go.mod
|
feat: add V2 engine replication core (Phase 05 Slice 1)
|
2 days ago |
|
history.go
|
fix: connect recovery decisions to RetainedHistory, fix rebuild source
|
2 days ago |
|
integration_test.go
|
fix: orchestrator owns full catch-up contract (budget + truncation)
|
2 days ago |
|
observe.go
|
feat: add integration closure and observability (Phase 05 Slice 4)
|
2 days ago |
|
orchestrator.go
|
fix: orchestrator owns full catch-up contract (budget + truncation)
|
2 days ago |
|
outcome.go
|
feat: add V2 engine replication core (Phase 05 Slice 1)
|
2 days ago |
|
ownership_test.go
|
fix: separate stable ReplicaID from Endpoint in registry
|
2 days ago |
|
rebuild.go
|
fix: correct catch-up entry counting and rebuild transfer gate
|
2 days ago |
|
recoverability_test.go
|
fix: connect recovery decisions to RetainedHistory, fix rebuild source
|
2 days ago |
|
recovery_test.go
|
fix: correct catch-up entry counting and rebuild transfer gate
|
2 days ago |
|
registry.go
|
fix: separate stable ReplicaID from Endpoint in registry
|
2 days ago |
|
sender.go
|
fix: add RecoveryOrchestrator as real integrated entry path
|
2 days ago |
|
session.go
|
fix: correct catch-up entry counting and rebuild transfer gate
|
2 days ago |
|
types.go
|
feat: add V2 engine replication core (Phase 05 Slice 1)
|
2 days ago |
|
validation_test.go
|
feat: add P3 failure-class validation through planner/executor (Phase 06)
|
2 days ago |