Files
p3q/vectors/forbidden_imports.txt
zeekay e24bb637ff p3q: populate strict-PQ Plonky3 fork workspace
10 crates wired in dependency order, all building under cargo build
--workspace --all-targets and 43 unit tests passing.

  p3q-core       protocol types, error model, profile dispatch
  p3q-field      Field trait + Goldilocks (p = 2^64 - 2^32 + 1)
  p3q-sha3       FIPS 202 / SP 800-185: cSHAKE256, KMAC256, TupleHash256
  p3q-merkle     cSHAKE256-based binary Merkle tree + path verifier
  p3q-challenger cSHAKE256 Fiat-Shamir transcript
  p3q-fri        FRI low-degree-test trait surface
  p3q-stark      AIR trait + StarkProof envelope
  p3q-recursion  STARK-native recursion trait (no curve wrappers)
  p3q-verifier   panic-free verifier dispatch (typed errors only)
  p3q-zchain     HIP-0078 epoch circuits (register / rotate / revoke /
                 committee / DKG / epoch commitment)

Strict-PQ profile enforced by scripts/lint_forbidden.sh + CI:
no bn254, kzg, groth16, plonk_kzg, halo, blake3, poseidon,
monolith, rescue in imports or dependency tables.

Signed-off-by: Lux Industries Inc <[email protected]>
2026-05-10 19:46:59 -07:00

23 lines
583 B
Plaintext

# P3Q strict-PQ forbidden imports — canonical list.
#
# Format: one token per line, lowercase, no quotes.
# `scripts/lint_forbidden.sh` is the enforcer; this file is the spec.
#
# Anything on this list is rejected when it appears:
# * as a Cargo dependency name (e.g. `bn254 = "..."`,
# `[dependencies.bn254]`)
# * as a Rust `use` / `extern crate` / `mod` import
#
# Documentation prose IS allowed to mention the names by content. The
# lint distinguishes "mentioned in a comment" from "actually imported".
bn254
kzg
groth16
plonk_kzg
halo
blake3
poseidon
monolith
rescue