From dede0d82aed7ad068b274213cee87c8427520c2c Mon Sep 17 00:00:00 2001 From: "dobby-yivi-agent[bot]" <275734547+dobby-yivi-agent[bot]@users.noreply.github.com> Date: Fri, 17 Jul 2026 23:39:37 +0000 Subject: [PATCH] chore: drop dead pg-wasm profile spec from root manifest The root Cargo.toml carried a `[profile.release.package.pg-wasm]` `opt-level = "s"` override, but `pg-wasm` is excluded from the workspace, so the spec matched no package and Cargo warned `profile package spec `pg-wasm` in profile `release` did not match any packages` on every workspace build/test/clippy run from repo root. `pg-wasm`'s size optimization already comes from its own manifest (`[package.metadata.wasm-pack.profile.release] wasm-opt = ["-Os"]`), so removing the root block is a no-op for the wasm build and clears the warning everywhere else. Also correct the CLAUDE.md workspace-test note: a bare `cargo test --workspace` does not compile because pg-core's tests are feature-gated; document the per-crate CI invocation. Closes #245 Co-Authored-By: Claude Opus 4.8 --- CLAUDE.md | 2 +- Cargo.toml | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index fcbc995..3dcb26a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,7 +4,7 @@ Migrated from the dobby memory repo (`encryption4all/dobby`). This file is the s ## Workspace & CI -- Workspace members: `pg-core` (lib), `pg-ffi` (C ABI), `pg-pkg` (PKG service), `pg-cli`. `pg-wasm` is a sibling crate the root `Cargo.toml` lists under `exclude`, so it is not part of the workspace and is built separately with wasm-pack (see Release & configuration). Sub-crates share workspace files. Build/test the workspace from repo root: `cargo build`, `cargo test --workspace` (this does not cover `pg-wasm`). `pg-core` uses CGWKV + MKEM for multi-recipient encryption (production feature set `["cgwkv", "mkem"]`). +- Workspace members: `pg-core` (lib), `pg-ffi` (C ABI), `pg-pkg` (PKG service), `pg-cli`. `pg-wasm` is a sibling crate the root `Cargo.toml` lists under `exclude`, so it is not part of the workspace and is built separately with wasm-pack (see Release & configuration). Sub-crates share workspace files. Build the workspace from repo root with `cargo build`. A bare `cargo test --workspace` FAILS to compile: `pg-core`'s tests are gated behind its `test` feature (also `rust`/`stream`), so the item is configured out and imports like `crate::test::TestSetup` don't resolve. CI (`.github/workflows/build.yml`) runs tests per crate: `cargo test --manifest-path pg-core/Cargo.toml --features test,rust,stream` for core, `--all-features` for `pkg`/`cli`/`ffi`. None of these cover `pg-wasm`. `pg-core` uses CGWKV + MKEM for multi-recipient encryption (production feature set `["cgwkv", "mkem"]`). - CI's `Format workspace` matrix runs `cargo fmt --manifest-path pg-/Cargo.toml --all -- --check` per crate over shared workspace files; always run `cargo fmt --all -- --check` from repo root before pushing, or one crate's drift fails the whole matrix. - The Docker build (`Dockerfile`, `FROM rust:-slim`) pins an older or different Rust than the `Test workspace`/`Format workspace` jobs' `dtolnay/rust-toolchain@stable`. A change can pass every workspace test and still fail Docker Build on a type-inference difference that doesn't reproduce on host stable (e.g. a slice-element-type unification difference across rustc versions). Check the Dockerfile's current pin, and run `cargo build --profile edge --bin pg-pkg` locally before pushing any `Cargo.toml` dependency bump; for a true repro, build the Docker image. - The `dobby-coder` GitHub App lacks `workflows: write` on this repo; any push touching `.github/workflows/*.yml` is rejected at the remote. Before treating a fix as blocked, check whether the same effect can be achieved in a pushable file (crate manifest, source, committed script); if a fix genuinely can only live in a workflow file, ship the pushable half and hand the maintainer ready-to-paste YAML in the PR body. diff --git a/Cargo.toml b/Cargo.toml index 59837e3..48d8537 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,6 +10,3 @@ lto = true [profile.edge] inherits = "release" lto = false - -[profile.release.package.pg-wasm] -opt-level = "s"