diff --git a/crates/omnigraph/tests/write_cost_s3.rs b/crates/omnigraph/tests/write_cost_s3.rs index f97c8811..5ad47549 100644 --- a/crates/omnigraph/tests/write_cost_s3.rs +++ b/crates/omnigraph/tests/write_cost_s3.rs @@ -23,7 +23,10 @@ //! opener flat, scan growing.) //! //! Skips gracefully without `OMNIGRAPH_S3_TEST_BUCKET` (the `tests/s3_storage.rs` -//! pattern); runs for real in the rustfs CI job (`.github/workflows/ci.yml`). +//! pattern). A cost (IO-count) gate, not a correctness test — run on demand +//! against RustFS/S3, NOT in the every-merge `rustfs_integration` CI job +//! (pulled out pending a dedicated cost/perf harness; see the backend-split +//! note in docs/dev/testing.md § Cost-budget tests). #![recursion_limit = "512"] mod helpers; diff --git a/docs/dev/testing.md b/docs/dev/testing.md index e218dcc0..b53ec548 100644 --- a/docs/dev/testing.md +++ b/docs/dev/testing.md @@ -35,7 +35,7 @@ The engine's `tests/` is the principal coverage surface; most graph-shaped behav | `point_in_time.rs` | Snapshots, time travel (`snapshot_at_version`, `entity_at`) | | `changes.rs` | `diff_between` / `diff_commits` | | `consistency.rs` | Cross-table snapshot isolation, atomic publish | -| `lineage_projection.rs` | RFC-013 Phase 7 acceptance gate: graph lineage lives ONLY in `__manifest` — over a realistic history (main commits, a branch, a merge, actors), the production `CommitGraph::open` projection reconstructs the full DAG (commit set, parents, merge parents + merge actor, per-branch heads, inline actors) from the `graph_commit`/`graph_head` rows, and `_graph_commits.lance` (+ its actor sidecar) holds ZERO commit rows | +| `lineage_projection.rs` | RFC-013 Phase 7 acceptance gate: graph lineage lives ONLY in `__manifest` — over a realistic history (main commits, a branch, a merge, actors), the production `CommitGraph::open` projection reconstructs the full DAG (commit set, parents, merge parents + merge actor, per-branch heads, inline actors) from the `graph_commit`/`graph_head` rows, and the `_graph_commits.lance` / `_graph_commit_actors.lance` dataset directories are never created at all | | `schema_apply.rs` | Migration plan + apply, schema-apply lock; index materialization deferred to the reconciler (iss-848): `apply_schema_defers_vector_index_on_empty_table` (an empty-table Vector `@index` never aborts the apply) and `index_only_constraint_apply_touches_no_table_data` (adding an `@index` is metadata-only — no table-version bump) | | `search.rs` | FTS / vector / hybrid (`bm25`, `nearest`, `rrf`) | | `scalar_indexes.rs` | Per-property index dispatch of `build_indices_on_dataset_for_catalog`: enums + orderable scalars get a BTREE (so `=`/range/IN/IS NULL are index-accelerated), free-text Strings keep FTS — observed via `TableStore::key_column_index_coverage`, the same helper the traversal chooser uses |