Skip to content

Commit 97032ad

Browse files
committed
Rebuild KeyLoad as an RF3 clustered database kernel
Replace the old load-testing prototype with a .NET 10 database kernel using durable ZoneTree redo, native Raft replication, Orleans routing and an Aspire three-voter topology. Add atomic documents/events/queues, fenced inbox processing, authorization, bounded SQL and hybrid search, SDK/CLI, verified backups and optional Cartograph archives. Pin packages centrally and add a GitHub README, qualification evidence and platform CI. Validated: locked restore; Release solution build with zero warnings; 22 unit tests; 25 recovery tests including 1000 saved process-kill trials; 2 RF3 leader-loss/minority tests. Broader architecture and release qualification remain tracked explicitly.
1 parent 9b27206 commit 97032ad

127 files changed

Lines changed: 17282 additions & 1708 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.editorconfig‎

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
trim_trailing_whitespace = true
8+
indent_style = space
9+
indent_size = 4
10+
11+
[*.{json,yml,yaml,csproj,props,slnx}]
12+
indent_size = 2
13+
14+
[*.cs]
15+
dotnet_sort_system_directives_first = true
16+
csharp_style_namespace_declarations = file_scoped:warning
17+
dotnet_diagnostic.CA2007.severity = none

‎.gitattributes‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
* text=auto eol=lf
2+
docs/design/*.md whitespace=-blank-at-eol
3+
*.ctg binary
4+
*.wal binary

‎.github/workflows/ci.yml‎

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: KeyLoad CI
2+
on:
3+
push:
4+
branches: [main]
5+
pull_request:
6+
workflow_dispatch:
7+
permissions:
8+
contents: read
9+
concurrency:
10+
group: keyload-${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
jobs:
13+
verify:
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
os: [ubuntu-latest, macos-latest, windows-latest]
18+
runs-on: ${{ matrix.os }}
19+
timeout-minutes: 30
20+
steps:
21+
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
22+
- uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
23+
with:
24+
global-json-file: global.json
25+
- run: dotnet restore KeyLoad.slnx --locked-mode
26+
- run: dotnet build KeyLoad.slnx --no-restore --configuration Release
27+
- run: dotnet test --project tests/KeyLoad.UnitTests --no-build --no-restore --configuration Release
28+
- run: dotnet test --project tests/KeyLoad.RecoveryTests --no-build --no-restore --configuration Release
29+
- run: dotnet test --project tests/KeyLoad.IntegrationTests --no-build --no-restore --configuration Release
30+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
31+
if: always()
32+
with:
33+
name: test-results-${{ matrix.os }}
34+
path: |
35+
**/TestResults/**
36+
artifacts/qualification/**
37+
if-no-files-found: ignore

0 commit comments

Comments
 (0)