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
{{ message }}
Repository navigation
Commit 9e5e70e
Browse filesBrowse the repository at this point in the historyBrowse files
Align verification with current storage and startup contracts
Keep BM25 local publication oracles tied to the original physical commit cut,
unchanged canonical sequence, exact stored outcome bytes and current admission.
Check the current MCP offset and lifetime schemas with exact property sets.
Correct the comparison host policy path and reject malformed numeric settings
without echoing their values. Repair real child-process quoting, original TRX
retention, cleanup failure observation and current native argument expectations.
Keep all 884 comparison contract cases. Split the same 142 classes into two
bounded native selections and select the compiled benchmark configuration only
inside the benchmark preparation job. Record open qualification honestly.
Verification on macOS arm64:
- Complete 22-project Debug build with -warnaserror: 0 warnings, 0 errors.
- Native format checks and repository governance passed.
- 395 analyzer, 296 current-contract, 20 support, 19 BM25 and 234 process-recovery
cases passed. Five isolated Unit startup cases passed with native parallelism 50.
- All five selected SDK/MCP cases passed in each configured three-silo storage
mode. Native processes joined; owned containers and volumes were removed.
- Comparison contracts: 877/884 passed, 0 skipped. The seven remaining failures
require Linux permission behavior or Release BenchmarkDotNet artifacts;
no local Release build was run and failures remain recorded as failures.
Full Unit CI startup/cancellation, ZoneTree issue 190, coverage and exact-source
Linux qualification remain open. Focused local passes do not close those gates.
Copy file name to clipboardExpand all lines: docs/Features/Search/Bm25ConfiguredCount.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,8 +2,8 @@
2
2
3
3
This native single-owner supplement to [Bm25ConfiguredQuota](Bm25ConfiguredQuota.md) isolates atomic apply count admission. It is not fresh capture count isolation, raw native-WAL inventory, process-kill durability or cluster qualification.
4
4
5
-
- REQ-BM25-COUNT001 → AC-BM25-COUNT001: genuinely capture one-document/one-term phases under the original budget, then join and reopen the SAME canonical ZoneTree owner with only MaxScanRecords reduced to 2 or 1. A second persisted subject's phase succeeds at 2. At 1 it returns BudgetExceeded with the exact Capacity detail, persists the native failed outcome and its canonical applied sequence, and leaves every head key/value byte unchanged.
6
-
- REQ-BM25-COUNT002 → AC-BM25-COUNT002: original persisted publisher/subjects, source dependencies and issued phase bytes remain authoritative. Compare full native result, actual token, full retained entry and byte-exact outcome across repeated same-ID replay; inspect complete canonical image with the original independently labelled inspection budget.
5
+
- REQ-BM25-COUNT001 → AC-BM25-COUNT001: genuinely capture one-document/one-term phases under the original budget, then join and reopen the SAME canonical ZoneTree owner with only MaxScanRecords reduced to 2 or 1. A second persisted subject's phase succeeds at 2. At 1 it returns BudgetExceeded with the exact Capacity detail, persists the native silo-local failed outcome with CanonicalSequence=0, advances physical store position by one without changing the canonical applied read cut, and leaves every head key/value byte unchanged.
6
+
- REQ-BM25-COUNT002 → AC-BM25-COUNT002: original persisted publisher/subjects, source dependencies and issued phase bytes remain authoritative. Reissuing a phase must satisfy the current resource-admission budget; at the reduced 1 or 2 record limit it returns the exact resource-admission BudgetExceeded without effects. Retry the original already-issued envelope without recapturing admission and compare its full native result, actual token, full retained entry and byte-exact outcome across repeated same-ID replay. Fresh persisted authorization still runs on every retry. Inspect the complete canonical image with the original independently labelled inspection budget.
7
7
- REQ-BM25-COUNT003 → AC-BM25-COUNT003: genuine same-key replacement and subsequent healthy publication work at capacity, preserve exact head count, then join and reopen again, preserving original identity and receipts. The shared RecoveryOwner retains original failure aggregation, canonical storage joins and deletion discipline.
8
8
9
9
Automated mapping: Bm25ConfiguredCountTests.OriginalIssuedPublicationHonorsLowerRetainedCountAcrossSameOwnerColdReopen(int), arguments 1 and 2; Bm25ConfiguredCountTrial owns the operation and independent raw family/result/entry oracles. Dependency: the shared Bm25OriginalPhaseRecovery owner with Reopen(DatabaseLimits? configuredLimits = null), lower-only validation before join, original inspection bounds and configured engine factory and original canonical storage identity.
Copy file name to clipboardExpand all lines: docs/Features/Search/Bm25OriginalExpiry.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ Parent contract Bm25CorpusCurrent.md REQ/AC-BM25-CURRENT-005 and its determinist
6
6
7
7
REQ-BM25-EXPIRY-001 -> AC-BM25-EXPIRY-001: capture two actual original private45 operations through the existing RecoveryFlow before publishing either. Publish the first with its full genuine CommitReceipt. Retain actual NativePayload and full native entry. Wait using the actual database EvaluationClock and CancellationToken until the later original phase expiry, with the interval bounded by the observed original expiry and existing request lifetime. The existing issuer reissues the same original phase only after the clock has actually reached expiry; independently require new operation.EvaluatedAt >= original OriginalExpiry. The already-admitted first operation still returns its exact original complete result/receipt with full canonical image, position, applied and journal CUT unchanged. The original phase bytes are never reconstructed or altered.
8
8
9
-
REQ-BM25-EXPIRY-002 -> AC-BM25-EXPIRY-002: submit the other originally captured but unadmitted phase after its OriginalExpiry. Require actual BudgetExceeded and exact Bm25CorpusProtocol.Changed detail, null Json/NativeValue. This is a genuine committed failed outcome: last/commit/applied advance by one, the actual entry carries its original full phase body, and the retained family keys/values remain unchanged. Do not assert complete canonical or journal no effects: the outcome and apply records are real admitted effects. Same-ID retry returns the exact complete failed result and leaves full post-failure state/selected entry unchanged.
9
+
REQ-BM25-EXPIRY-002 -> AC-BM25-EXPIRY-002: submit the other originally captured but unadmitted phase after its OriginalExpiry. Require actual BudgetExceeded and exact Bm25CorpusProtocol.Changed detail, null Json/NativeValue. This is a genuine silo-local committed failed outcome: physical store position advances by one, the canonical applied read cut remains unchanged, and the local stored outcome has CanonicalSequence=0. The actual entry carries its original full phase body, and the retained family keys/values remain unchanged. Do not assert complete store-image or journal no effects: the local outcome is a real admitted effect. Same-ID retry returns the exact complete failed result and leaves full post-failure state/selected entry unchanged.
10
10
11
11
REQ-BM25-EXPIRY-003 -> AC-BM25-EXPIRY-003: join and reopen the SAME RecoveryOwner once. Preserve complete canonical state, original identities and journal CUT, both selected actual entries and original phase bytes. Fresh current authorization still applies; repeat the already-successful and durably-failed original operation replays exactly without recapture under either ID. Capture a genuinely fresh-ID phase with expected generation equal to the first actual successful head, publish it, and require literal one-document/one-token statistics plus the original literal healthy Search. Existing owner cleanup retains body, fatal and every join/disposal failure; roots survive failure.
0 commit comments