Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
24 changes: 22 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ jobs:
.github/workflows/ci.yml|Cargo.toml|Cargo.lock|crates/*/Cargo.toml) run_rustfs_ci=true ;;
crates/omnigraph/src/storage.rs) run_rustfs_ci=true ;;
crates/omnigraph/src/db/manifest.rs|crates/omnigraph/src/db/manifest/*) run_rustfs_ci=true ;;
crates/omnigraph/tests/s3_storage.rs|crates/omnigraph/tests/write_cost_s3.rs|crates/omnigraph/tests/lance_surface_guards.rs|crates/omnigraph/tests/helpers/*) run_rustfs_ci=true ;;
crates/omnigraph/tests/s3_storage.rs|crates/omnigraph/tests/write_cost_s3.rs|crates/omnigraph/tests/lance_surface_guards.rs|crates/omnigraph/tests/memwal_enrollment_gate.rs|crates/omnigraph/tests/helpers/*) run_rustfs_ci=true ;;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Retention S3 Gate Never Runs

A pull request that changes only checkpoint_retention_cost.rs does not enable the RustFS job, and that job has no command for s3_checkpoint_retention_matrix_is_exact_and_records_the_current_no_go even when another file enables it. The S3 test then skips outside a configured RustFS environment, so broken or vacuous retention evidence can merge without being exercised.

Context Used: AGENTS.md (source)

Fix in Claude Code

crates/omnigraph/src/table_store.rs|crates/omnigraph/src/instrumentation.rs) run_rustfs_ci=true ;;
crates/omnigraph/src/runtime_cache.rs|crates/omnigraph/src/graph_index/*) run_rustfs_ci=true ;;
crates/omnigraph-cluster/src/store.rs|crates/omnigraph-cluster/src/serve.rs) run_rustfs_ci=true ;;
Expand Down Expand Up @@ -411,9 +411,29 @@ jobs:
set -e
echo "$output"
[ "$status" -eq 0 ] || exit "$status"
echo "$output" | grep -Eq "test result: ok\. 1 passed" \
echo "$output" | grep -Fq \
"SKIP public_physical_ref_token_rejects_s3_same_version_aba" \
&& { echo "::error::S3 physical-ref guard skipped — vacuous pass"; exit 1; }
echo "$output" | grep -Eq "test result: ok\. 1 passed; 0 failed" \
|| { echo "::error::S3 physical-ref guard matched no test — vacuous pass"; exit 1; }

- name: Run RustFS MemWAL enrollment gate
if: matrix.shard == 'engine'
run: |
set +e
output=$(cargo test --locked -p omnigraph-engine --test memwal_enrollment_gate \
s3_memwal_enrollment_gate_positive_and_listing_negatives \
-- --exact --nocapture 2>&1)
status=$?
set -e
echo "$output"
[ "$status" -eq 0 ] || exit "$status"
echo "$output" | grep -Fq \
"SKIP s3_memwal_enrollment_gate_positive_and_listing_negatives" \
&& { echo "::error::S3 MemWAL enrollment gate skipped — vacuous pass"; exit 1; }
echo "$output" | grep -Eq "test result: ok\. 1 passed; 0 failed" \
|| { echo "::error::S3 MemWAL enrollment gate matched no test — vacuous pass"; exit 1; }

# NOTE: the RFC-013 step-3a data-table opener COST gate (write_cost_s3) used
# to run here. It is a deterministic IO-count gate, not a correctness test —
# performance/cost contracts belong in a dedicated perf harness on a stable
Expand Down
475 changes: 475 additions & 0 deletions WAL-thinking.md

Large diffs are not rendered by default.

Loading