Skip to content

Add PhiSpiral256 SoA cross-system integration plan #458

Add PhiSpiral256 SoA cross-system integration plan

Add PhiSpiral256 SoA cross-system integration plan #458

Workflow file for this run

name: Style Check
on:
push:
branches:
- main
pull_request:
paths:
- crates/**
- Cargo.toml
- Cargo.lock
- .github/workflows/style.yml
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
RUSTFLAGS: "-C debuginfo=1 -C target-cpu=x86-64-v3"
jobs:
# Clippy runs FIRST and is mandatory — logical soundness before syntax.
# Discipline:
# - NEVER use `clippy --fix` for unused-import warnings; they signal
# missing wiring, not dead code. Fix the wiring or add `#[allow]`
# with a comment explaining why.
# - Each clippy violation is owned by the author of the code that
# introduced it; resolve manually.
# - Run clippy in batches (per-feature combo), not after every file edit.
clippy:
runs-on: ubuntu-24.04
timeout-minutes: 25
defaults:
run:
working-directory: lance-graph
steps:
- uses: actions/checkout@v4
with:
path: lance-graph
- name: Checkout AdaWorldAPI/ndarray (sibling dependency)
uses: actions/checkout@v4
with:
repository: AdaWorldAPI/ndarray
# ndarray master now exports wht_f32, kmeans, squared_l2,
# dequantize_i8_to_f32, quantize_f32_to_i2, dequantize_i2_to_f32
# publicly (ndarray PR #115, merged 2026-04-30). Pin retired.
path: ndarray
- name: Setup rust toolchain
run: |
rustup toolchain install stable
rustup default stable
rustup component add clippy
- uses: Swatinem/rust-cache@v2
with:
shared-key: "lance-graph-deps"
workspaces: lance-graph/crates/lance-graph
- name: Install dependencies
run: |
sudo apt update
sudo apt install -y protobuf-compiler
# Clippy is gated tier-by-tier as the codebase incrementally adopts it.
# PRs that touch a new crate own that crate's clippy debt before merging.
#
# Tier A (mandatory, gating): zero-dep contract crate
- name: Clippy contract (zero-dep, mandatory)
run: cargo clippy --manifest-path crates/lance-graph-contract/Cargo.toml --lib --tests -- -D warnings
# Tier B (advisory until incrementally cleaned, non-gating):
# lance-graph core has ~91 pre-existing clippy violations to be paid down
# in subsequent PRs (TD-CLIPPY-LG-1). Don't auto-fix — each violation
# is a wiring/refactor decision owned by the introducing author.
- name: Clippy lance-graph (advisory)
continue-on-error: true
run: cargo clippy --manifest-path crates/lance-graph/Cargo.toml --lib --tests -- -D warnings
format:
runs-on: ubuntu-24.04
timeout-minutes: 15
needs: clippy
defaults:
run:
working-directory: lance-graph
steps:
- uses: actions/checkout@v4
with:
path: lance-graph
- name: Checkout AdaWorldAPI/ndarray (sibling dependency for cargo metadata)
uses: actions/checkout@v4
with:
repository: AdaWorldAPI/ndarray
# ndarray master now exports wht_f32, kmeans, squared_l2,
# dequantize_i8_to_f32, quantize_f32_to_i2, dequantize_i2_to_f32
# publicly (ndarray PR #115, merged 2026-04-30). Pin retired.
path: ndarray
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: rustfmt
- name: Check formatting
run: cargo fmt --manifest-path crates/lance-graph/Cargo.toml -- --check
# typos / spell-check removed 2026-04-26: too many false positives on
# technical jargon (NARS terms, codec acronyms, German loanwords used in
# the cognitive stack). Spelling discipline is a code-review concern,
# not a CI gate.