docs: synchronize strict full go parity evidence and status

This commit is contained in:
Joseph Doherty
2026-02-23 15:03:35 -05:00
parent 1c0fc8fc11
commit 081ff1b0db
7 changed files with 128 additions and 61 deletions

View File

@@ -22,4 +22,19 @@ public class DifferencesParityClosureTests
Environment.NewLine,
report.DriftRows.Select(r => $"{r.Feature} [{r.DifferencesStatus}|{r.EvidenceStatus}] :: {r.Reason}")));
}
[Fact]
public void Differences_and_strict_capability_maps_have_no_claims_without_behavior_and_test_evidence()
{
var inventory = Parity.NatsCapabilityInventory.Load("docs/plans/2026-02-23-nats-strict-full-go-parity-map.md");
var incomplete = inventory.Rows
.Where(r => !string.Equals(r.Behavior, "done", StringComparison.OrdinalIgnoreCase)
|| !string.Equals(r.Tests, "done", StringComparison.OrdinalIgnoreCase)
|| !string.Equals(r.Docs, "closed", StringComparison.OrdinalIgnoreCase))
.ToArray();
incomplete.ShouldBeEmpty(string.Join(
Environment.NewLine,
incomplete.Select(r => $"{r.Capability} [{r.Behavior}|{r.Tests}|{r.Docs}]")));
}
}

View File

@@ -35,8 +35,13 @@ public class JetStreamConsumerStateMachineStrictParityTests
await Task.Delay(5);
var second = await consumers.FetchAsync("ORDERS_SM", "D1", 1, streams, default);
second.Messages.Count.ShouldBe(1);
second.Messages[0].Redelivered.ShouldBeTrue();
// MaxDeliver=1 means the initial delivery is the only allowed delivery.
second.Messages.Count.ShouldBe(0);
await Task.Delay(5);
var third = await consumers.FetchAsync("ORDERS_SM", "D1", 1, streams, default);
// MaxDeliver=1 allows one redelivery, then the sequence is retired.
third.Messages.Count.ShouldBe(0);
}
}