Skip to content

Commit 1621d30

Browse files
Merge branch 'main' into claude/trufflehog-pin-82
2 parents 6b85f58 + 294f492 commit 1621d30

38 files changed

Lines changed: 18869 additions & 460 deletions

File tree

.clusterfuzzlite/Dockerfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# SPDX-License-Identifier: MPL-2.0
2+
# ClusterFuzzLite build environment for VeriSimDB
3+
FROM gcr.io/oss-fuzz-base/base-builder-rust
4+
5+
COPY . $SRC/verisimdb
6+
WORKDIR $SRC/verisimdb
7+
COPY .clusterfuzzlite/build.sh $SRC/build.sh

.clusterfuzzlite/build.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/bin/bash
2+
# SPDX-License-Identifier: MPL-2.0
3+
# ClusterFuzzLite build script for VeriSimDB
4+
#
5+
# Builds both fuzz harnesses with libfuzzer instrumentation and copies the
6+
# resulting binaries to $OUT (where ClusterFuzzLite expects them).
7+
#
8+
# Required env vars (set by ClusterFuzzLite runner):
9+
# $OUT — output directory for built fuzzer binaries
10+
# $SRC — source root (typically /src/verisimdb)
11+
# $SANITIZER — address | undefined | memory (we honour via RUSTFLAGS)
12+
13+
set -euo pipefail
14+
15+
# cargo-fuzz drives libfuzzer; install it if missing.
16+
if ! command -v cargo-fuzz &>/dev/null; then
17+
cargo install cargo-fuzz --locked
18+
fi
19+
20+
# ── fuzz_octad_id — top-level fuzz crate ─────────────────────────────────
21+
cd "${SRC}/verisimdb/fuzz"
22+
cargo fuzz build --release --sanitizer="${SANITIZER:-address}"
23+
cp target/*/release/fuzz_octad_id "${OUT}/"
24+
25+
# ── fuzz_vql_parser — rust-core fuzz crate ───────────────────────────────
26+
cd "${SRC}/verisimdb/rust-core/fuzz"
27+
cargo fuzz build --release --sanitizer="${SANITIZER:-address}"
28+
cp target/*/release/fuzz_vql_parser "${OUT}/"
29+
30+
# Optional seed corpora — empty for now, will populate as we discover
31+
# interesting inputs. Comment in once corpora exist:
32+
# cp -r "${SRC}/verisimdb/fuzz/corpus/fuzz_octad_id" "${OUT}/fuzz_octad_id_seed_corpus" 2>/dev/null || true
33+
# cp -r "${SRC}/verisimdb/rust-core/fuzz/corpus/fuzz_vql_parser" "${OUT}/fuzz_vql_parser_seed_corpus" 2>/dev/null || true

.github/workflows/elixir-ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ jobs:
6161
working-directory: elixir-orchestration
6262
steps:
6363
- uses: actions/checkout@v6
64+
6465
- uses: erlef/setup-beam@v1
6566
with:
6667
elixir-version: "1.17"

.github/workflows/rust-ci.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,15 @@ jobs:
7171
with:
7272
token: ${{ secrets.GITHUB_TOKEN }}
7373

74+
deny:
75+
name: cargo deny
76+
runs-on: ubuntu-latest
77+
steps:
78+
- uses: actions/checkout@v6
79+
- uses: EmbarkStudios/cargo-deny-action@v2
80+
with:
81+
command: check advisories bans licenses sources
82+
7483
bench-compile:
7584
name: benchmarks compile
7685
runs-on: ubuntu-latest
@@ -79,3 +88,18 @@ jobs:
7988
- uses: dtolnay/rust-toolchain@stable
8089
- uses: Swatinem/rust-cache@v2
8190
- run: cargo bench --no-run
91+
92+
fuzz-compile:
93+
name: fuzz targets compile
94+
runs-on: ubuntu-latest
95+
strategy:
96+
matrix:
97+
manifest:
98+
- fuzz/Cargo.toml
99+
- rust-core/fuzz/Cargo.toml
100+
steps:
101+
- uses: actions/checkout@v6
102+
- uses: dtolnay/rust-toolchain@stable
103+
- uses: Swatinem/rust-cache@v2
104+
- run: cargo check --manifest-path ${{ matrix.manifest }}
105+

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,3 +110,7 @@ temp/
110110

111111
# Crash recovery artifacts
112112
ai-cli-crash-capture/
113+
114+
# Fuzz harness build artifacts
115+
fuzz/target/
116+
rust-core/fuzz/target/

.hypatia-ignore

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# .hypatia-ignore — file-level exemptions from estate-wide hypatia rules
2+
#
3+
# ReScript (.res) files are permitted in this repository per CLAUDE.md
4+
# language policy. ReScript powers:
5+
# - src/vql/ — VQL parser, type checker, circuits, subtyping
6+
# - src/registry/ — federation registry (Kraft consensus, metadata log)
7+
# - src/abi/ — Idris2/ReScript ABI bridge
8+
# - playground/ — VQL Playground web UI
9+
# - connectors/clients/rescript/ — ReScript client SDK
10+
#
11+
# Each file is whitelisted by absolute repo path.
12+
13+
cicd_rules/banned_language_file:examples/SafeDOMExample.res
14+
cicd_rules/banned_language_file:src/vql/VQLContext.res
15+
cicd_rules/banned_language_file:src/vql/VQLParser_test.res
16+
cicd_rules/banned_language_file:src/vql/VQLSubtyping.res
17+
cicd_rules/banned_language_file:src/vql/VQLCircuit.res
18+
cicd_rules/banned_language_file:src/vql/VQLExplain.res
19+
cicd_rules/banned_language_file:src/vql/VQLTypes.res
20+
cicd_rules/banned_language_file:src/vql/VQLError.res
21+
cicd_rules/banned_language_file:src/vql/VQLParser.res
22+
cicd_rules/banned_language_file:src/vql/VQLBidir.res
23+
cicd_rules/banned_language_file:src/vql/VQLProofObligation.res
24+
cicd_rules/banned_language_file:src/vql/VQLTypeChecker.res
25+
cicd_rules/banned_language_file:src/registry/MetadataLog.res
26+
cicd_rules/banned_language_file:src/registry/KRaftSerializer.res
27+
cicd_rules/banned_language_file:src/registry/Registry.res
28+
cicd_rules/banned_language_file:src/registry/KRaftCluster.res
29+
cicd_rules/banned_language_file:debugger/examples/SafeDOMExample.res
30+
cicd_rules/banned_language_file:playground/src/Examples.res
31+
cicd_rules/banned_language_file:playground/src/Formatter.res
32+
cicd_rules/banned_language_file:playground/src/App.res
33+
cicd_rules/banned_language_file:playground/src/DemoExecutor.res
34+
cicd_rules/banned_language_file:playground/src/Linter.res
35+
cicd_rules/banned_language_file:playground/src/VqlKeywords.res
36+
cicd_rules/banned_language_file:playground/src/Highlighter.res
37+
cicd_rules/banned_language_file:playground/src/ApiClient.res
38+
cicd_rules/banned_language_file:connectors/clients/rescript/src/VeriSimVql.res
39+
cicd_rules/banned_language_file:connectors/clients/rescript/src/VeriSimFederation.res
40+
cicd_rules/banned_language_file:connectors/clients/rescript/src/VeriSimProvenance.res
41+
cicd_rules/banned_language_file:connectors/clients/rescript/src/VeriSimDrift.res
42+
cicd_rules/banned_language_file:connectors/clients/rescript/src/VeriSimClient.res
43+
cicd_rules/banned_language_file:connectors/clients/rescript/src/VeriSimHexad.res
44+
cicd_rules/banned_language_file:connectors/clients/rescript/src/VeriSimTypes.res
45+
cicd_rules/banned_language_file:connectors/clients/rescript/src/VeriSimSearch.res
46+
cicd_rules/banned_language_file:connectors/clients/rescript/src/VeriSimError.res

0 commit comments

Comments
 (0)