You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Part of #5118 (compliance wave growth), epic #5110. Process issue — no test code.
Trimmed 2026-08-04. Most of the original scope shipped in #620 and the epic edits. What remains is item 1 below. The completed parts are kept at the bottom so nobody re-does them.
What is left
Adopt two distinct provenance markers across both repos — ported: for a file that duplicates a test belonging in the compliance library and is awaiting absorption, and parity: (or a bare marten#NNNN / polecat#NNNN) for a file that merely cites the issue its feature tracks.
The two meanings are conflated today, and that is not cosmetic — it is what made the original exit criterion unmeasurable. polecat#399 re-measured and found the marker grep counted 16 files where only 3 were real ports; the other 13 were provenance citations. Worse, the count grows as parity work succeeds: Events/binary_event_serialization_tests.cs joined the list the day polecat#402 merged, purely by citing marten#4515.
Apply as files are touched, not as a bulk sweep — a mechanical rewrite would churn both repos and lose the human judgement about which marker each file actually deserves.
✅ Coverage inventory in JasperFx.Events.ComplianceTests/README.md — the table of behavior areas the library covers, suite by suite.
✅ Out-of-scope boundary documented in the same README: storage layout and DDL, partitioning, node distribution / HotCold, high-water detection internals, and the whole document-db side (LINQ, patching, session semantics). Previously a reader had to infer the boundary from suite names, and every wave re-litigated "should this be shared?".
✅ "New cross-store behavior lands as a compliance suite first" written down in the README rather than living only in issue bodies.
✅ Local dev loop documented (-p:ComplianceSourceDir=...), and the switch added to Marten to match the one Polecat already had.
All of the above shipped in #620 (JasperFx 2.39.1).
Still-blocked port, for the record
Polecat.Tests/Linq/additional_linq_operator_tests.cs (19 tests, explicitly "ported from Marten") stays put until a document-db compliance library exists. LINQ is not event sourcing, and Polecat re-declares IDocumentStore/IDocumentSession/IQuerySession in its own namespace with no shared contract. That convergence question settles in Weasel.Storage first and is tracked as a later phase on #5119, not here.
Part of #5118 (compliance wave growth), epic #5110. Process issue — no test code.
What is left
Adopt two distinct provenance markers across both repos —
ported:for a file that duplicates a test belonging in the compliance library and is awaiting absorption, andparity:(or a baremarten#NNNN/polecat#NNNN) for a file that merely cites the issue its feature tracks.The two meanings are conflated today, and that is not cosmetic — it is what made the original exit criterion unmeasurable. polecat#399 re-measured and found the marker grep counted 16 files where only 3 were real ports; the other 13 were provenance citations. Worse, the count grows as parity work succeeds:
Events/binary_event_serialization_tests.csjoined the list the day polecat#402 merged, purely by citing marten#4515.Apply as files are touched, not as a bulk sweep — a mechanical rewrite would churn both repos and lose the human judgement about which marker each file actually deserves.
Already done — do not redo
JasperFx.Events.ComplianceTests/README.md— the table of behavior areas the library covers, suite by suite.-p:ComplianceSourceDir=...), and the switch added to Marten to match the one Polecat already had.All of the above shipped in #620 (JasperFx 2.39.1).
Still-blocked port, for the record
Polecat.Tests/Linq/additional_linq_operator_tests.cs(19 tests, explicitly "ported from Marten") stays put until a document-db compliance library exists. LINQ is not event sourcing, and Polecat re-declaresIDocumentStore/IDocumentSession/IQuerySessionin its own namespace with no shared contract. That convergence question settles in Weasel.Storage first and is tracked as a later phase on #5119, not here.🤖 Generated with Claude Code