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
77a6e60fa3
feat: add P3 hardening validation — 4 matrix + 2 extra cases (Phase 08)
Compact replay matrix on accepted P1/P2 live path:
Matrix 1 (ChangedAddress): address change → cancel old plan → new
assignment → new recovery → identity preserved → pins released
Matrix 2 (StaleEpoch): epoch bump → invalidate → cancel plan →
new epoch assignment → new session → pins released
Matrix 3 (NeedsRebuild): unrecoverable gap → rebuild assignment →
RebuildExecutor(IO=v2bridge) → InSync → pins released
Matrix 4 (PostCheckpointBoundary): at committed=ZeroGap, in window=
CatchUp via CatchUpExecutor(IO=v2bridge) → pins released
Extra 1 (FailoverCycle): epoch 1 → failover → epoch 2 → recovery
resumes → InSync. Logs: invalidation + cancellation + new session.
Extra 2 (OverlappingRetention): plan1 acquires pins → cancel →
plan2 acquires pins → cancel → ActiveHoldCount==0,
MinWALRetentionFloor has no holds.
Each test verifies all 5 evidence categories:
entry truth, engine result, execution result, cleanup, observability
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
|
3 days ago |
|
budget.go
|
feat: add V2 engine replication core (Phase 05 Slice 1)
|
4 days ago |
|
doc.go
|
fix: separate stable ReplicaID from Endpoint in registry
|
4 days ago |
|
driver.go
|
fix: wire real v2bridge I/O into engine executors (Phase 08 P2 closure)
|
2 days ago |
|
driver_test.go
|
fix: derive WAL pin from actual replay need, PlanRebuild fails closed
|
3 days ago |
|
executor.go
|
fix: wire real v2bridge I/O into engine executors (Phase 08 P2 closure)
|
2 days ago |
|
executor_test.go
|
fix: rebuild executor consumes bound plan, fix catch-up timing
|
3 days ago |
|
go.mod
|
feat: add V2 engine replication core (Phase 05 Slice 1)
|
4 days ago |
|
history.go
|
fix: connect recovery decisions to RetainedHistory, fix rebuild source
|
4 days ago |
|
integration_test.go
|
fix: orchestrator owns full catch-up contract (budget + truncation)
|
3 days ago |
|
observe.go
|
feat: add integration closure and observability (Phase 05 Slice 4)
|
4 days ago |
|
orchestrator.go
|
fix: orchestrator owns full catch-up contract (budget + truncation)
|
3 days ago |
|
outcome.go
|
feat: add V2 engine replication core (Phase 05 Slice 1)
|
4 days ago |
|
ownership_test.go
|
fix: separate stable ReplicaID from Endpoint in registry
|
4 days ago |
|
rebuild.go
|
fix: correct catch-up entry counting and rebuild transfer gate
|
4 days ago |
|
recoverability_test.go
|
fix: connect recovery decisions to RetainedHistory, fix rebuild source
|
4 days ago |
|
recovery_test.go
|
fix: correct catch-up entry counting and rebuild transfer gate
|
4 days ago |
|
registry.go
|
fix: separate stable ReplicaID from Endpoint in registry
|
4 days ago |
|
sender.go
|
fix: add RecoveryOrchestrator as real integrated entry path
|
4 days ago |
|
session.go
|
fix: correct catch-up entry counting and rebuild transfer gate
|
4 days ago |
|
types.go
|
feat: add V2 engine replication core (Phase 05 Slice 1)
|
4 days ago |
|
validation_test.go
|
fix: true mid-executor invalidation test via OnStep hook
|
3 days ago |