Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
44eacc2
feat(rust): start native wire, identity and request compatibility mig…
LIghtJUNction Oct 5, 2026
9f9160a
fix(rust): preserve Unicode JSONL framing and lock verified dependencies
LIghtJUNction Oct 5, 2026
91d8d32
test(rust): finalize conformance style and verify optimized builds
LIghtJUNction Oct 5, 2026
30480c3
ci(rust): export tracked migration sources for offline editing
LIghtJUNction Oct 5, 2026
fc21f14
ci(rust): prepare isolated offline compiler and pinned dependencies
LIghtJUNction Oct 5, 2026
78e8d5d
feat(rust): migrate identity admission and read-only SQLite authority
LIghtJUNction Oct 5, 2026
46d4366
ci(rust): export pinned writer-lock dependency for isolated tests
LIghtJUNction Oct 5, 2026
fffea47
feat(rust): add fenced atomic SQLite metadata writer and recovery tests
LIghtJUNction Oct 5, 2026
fb89def
ci(rust): prepare isolated native runtime dependency and test snapshot
LIghtJUNction Oct 5, 2026
0a1ea2f
ci(rust): export public PostgreSQL test tools and TLS dependencies
LIghtJUNction Oct 5, 2026
0a837ff
ci(rust): export pinned public XML timezone and TLS domain dependencies
LIghtJUNction Oct 5, 2026
148e56d
ci(rust): export pinned compiler and exact source for offline native …
LIghtJUNction Oct 5, 2026
68653a5
ci(rust): apply exact locally verified native source checkpoint
LIghtJUNction Oct 5, 2026
1f4366a
feat(rust): enforce resource policy and native PostgreSQL transactions
github-actions[bot] Oct 5, 2026
ac08e7f
ci(rust): verify native policy and PostgreSQL on exact sources; remov…
LIghtJUNction Oct 5, 2026
bfe4602
Merge main into Rust migration without changing deployment entrypoints
LIghtJUNction Oct 5, 2026
de810d1
ci(rust): export exact merged source for native migration tests
LIghtJUNction Oct 5, 2026
0ae08f6
ci(rust): prepare pinned offline toolchain for content migration
LIghtJUNction Oct 6, 2026
71ec74e
ci(rust): include matching Python oracle in offline test inputs
LIghtJUNction Oct 6, 2026
17f378c
ci(rust): prepare exact tested content tree without moving refs
LIghtJUNction Oct 6, 2026
17fb4e0
ci(rust): restrict source preparation to non-workflow objects
LIghtJUNction Oct 6, 2026
fead32f
feat(rust): add verified native Git/blob content storage
LIghtJUNction Oct 6, 2026
7e11b02
merge: reconcile native phase-one branch with key-only main
LIghtJUNction Oct 13, 2026
3a5ea8d
merge: include authorized event coordination baseline before native p…
LIghtJUNction Oct 13, 2026
08c87c1
fix: align native admission and stores with current key-only identity
LIghtJUNction Oct 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 101 additions & 0 deletions .github/workflows/rust-wire.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
name: Rust native conformance
on:
# Daily changes are accepted locally; retain explicit conformance reproduction.
workflow_dispatch:
permissions:
contents: read
concurrency:
group: rust-wire-${{ github.event.pull_request.head.repo.full_name || github.repository }}-${{ github.head_ref || github.ref_name }}
cancel-in-progress: false
jobs:
conformance:
runs-on: ubuntu-latest
timeout-minutes: 30
services:
postgres:
image: postgres:16
env:
POSTGRES_USER: msg_test
POSTGRES_PASSWORD: msg_test_local_only
POSTGRES_DB: postgres
ports: ['5432:5432']
options: >-
--health-cmd "pg_isready -U msg_test -d postgres"
--health-interval 5s --health-timeout 5s --health-retries 12
env:
MSG_PG_TEST_ADMIN_DSN: 'host=127.0.0.1 port=5432 user=msg_test password=msg_test_local_only dbname=postgres sslmode=disable'
steps:
- uses: actions/checkout@v7
with:
persist-credentials: false
- uses: actions/setup-python@v7
with:
python-version: '3.15'
allow-prereleases: true
- name: Install Rust toolchain and Python reference dependencies
run: |
rustup toolchain install 1.85.0 --profile minimal --component rustfmt,clippy
python -m pip install cryptography==46.0.3 jsonschema==4.25.1 ruff==0.16.9 "psycopg[binary]==3.3.6"
- name: Record exact tested revision and environment
run: |
mkdir -p rust/artifacts
git rev-parse HEAD > rust/artifacts/source-commit.txt
git rev-parse HEAD^{tree} > rust/artifacts/source-tree.txt
rustc +1.85.0 --version > rust/artifacts/toolchains.txt
python --version >> rust/artifacts/toolchains.txt
- name: Check Rust formatting without modifying sources
working-directory: rust
run: cargo +1.85.0 fmt --all -- --check
- name: Check Python reference harness style
if: ${{ !cancelled() }}
run: |
python -m ruff check rust/tests
python -m ruff format --check rust/tests
- name: Native tests
if: ${{ !cancelled() }}
working-directory: rust
run: |
set -euo pipefail
cargo +1.85.0 test --locked --workspace --all-targets 2>&1 | tee artifacts/native-tests.txt
cargo +1.85.0 test --locked --workspace --doc 2>&1 | tee artifacts/doc-tests.txt
- name: Clippy
if: ${{ !cancelled() }}
working-directory: rust
run: cargo +1.85.0 clippy --locked --workspace --all-targets -- -D warnings
- name: Python and Rust differential checks
if: ${{ !cancelled() }}
env:
PYTHONPATH: src
run: |
cargo +1.85.0 build --locked --manifest-path rust/Cargo.toml --workspace --examples
python rust/tests/test_python_parity.py --binary rust/target/debug/examples/wire_check --report rust/artifacts/parity.json
python rust/tests/test_identity_parity.py --binary rust/target/debug/examples/authority_check --report rust/artifacts/identity-parity.json
python rust/tests/test_storage_parity.py --binary rust/target/debug/examples/writer_check --report rust/artifacts/storage-parity.json
python rust/tests/test_authorization_parity.py --binary rust/target/debug/examples/authority_check --report rust/artifacts/authorization.json
python rust/tests/test_authorization_parity.py --postgres --binary rust/target/debug/examples/authority_check --report rust/artifacts/authorization-pg.json
python rust/tests/test_postgres_parity.py --binary rust/target/debug/examples/pg_writer_check --report rust/artifacts/postgres.json
python rust/tests/test_postgres_process.py --binary rust/target/debug/examples/pg_writer_check --report rust/artifacts/postgres-process.json
python rust/tests/test_content_parity.py rust/target/debug/examples/content_check --report rust/artifacts/content-debug.json
- name: Optimized native differential checks
if: ${{ !cancelled() }}
env:
PYTHONPATH: src
run: |
cargo +1.85.0 build --release --locked --manifest-path rust/Cargo.toml --workspace --examples
python rust/tests/test_python_parity.py --binary rust/target/release/examples/wire_check --report rust/artifacts/parity-release.json
python rust/tests/test_identity_parity.py --binary rust/target/release/examples/authority_check --report rust/artifacts/identity-parity-release.json
python rust/tests/test_storage_parity.py --binary rust/target/release/examples/writer_check --report rust/artifacts/storage-parity-release.json
python rust/tests/test_authorization_parity.py --binary rust/target/release/examples/authority_check --report rust/artifacts/authorization-release.json
python rust/tests/test_authorization_parity.py --postgres --binary rust/target/release/examples/authority_check --report rust/artifacts/authorization-pg-release.json
python rust/tests/test_postgres_parity.py --binary rust/target/release/examples/pg_writer_check --report rust/artifacts/postgres-release.json
python rust/tests/test_postgres_process.py --binary rust/target/release/examples/pg_writer_check --report rust/artifacts/postgres-process-release.json
python rust/tests/test_content_parity.py rust/target/release/examples/content_check --report rust/artifacts/content-release.json
- name: Preserve evidence and dependency lock
if: ${{ always() }}
uses: actions/upload-artifact@v7
with:
name: rust-wire-${{ github.sha }}
path: |
rust/artifacts/
rust/Cargo.lock
if-no-files-found: warn
2 changes: 2 additions & 0 deletions rust/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/target/
/artifacts/
Loading
Loading