Skip to content

Commit b63333d

Browse files
fix(cicd): foundational reds on main — license (#82) + Elixir API drift (#83) (#88)
## Summary Two pre-existing CI/CD reds on `main` that block every downstream PR. Both have minimal blast radius (1-line workspace metadata + 1 added Elixir dep + 1 new HTTP wrapper + 1 renamed call site). ### Closes #82 — workspace license inconsistency - Workspace \`Cargo.toml:32\` was \`AGPL-3.0-or-later\` while every SPDX header, README.adoc, SECURITY.md and CHANGELOG.adoc declares MPL-2.0. - \`deny.toml [licenses].allow\` does not include AGPL → \`cargo deny check\` rejects every synthesized crate manifest. - Flipped workspace license to MPL-2.0 to match the docs and SPDX headers. Not a deliberate intentional mismatch like echidna (no CLAUDE.md marker). ### Closes #83 — Elixir build validation under \`--warnings-as-errors\` | Warning | Fix | |---|---| | \`CAStore.file_path/0 undefined\` at \`Redix.Connector:261\` | Added \`{:castore, \"~> 1.0\"}\` to \`mix.exs\` deps (already a pinned transitive in \`mix.lock\` via redix/mint/excoveralls; just needed to be declared directly so the optional-dep is present at compile time) | | \`VeriSim.RustClient.list_octads/2 undefined\` (caller at \`transport.ex:166\`) | Added the missing HTTP wrapper in \`rust_client.ex\`. The underlying Rust route \`GET /octads?limit=&offset=\` already exists at \`verisim-api/src/lib.rs:714\` and dispatches to \`list_octads_handler\` — pure caller-side drift | | \`VeriSim.RustClient.trigger_normalization/1 undefined\` (caller at \`transport.ex:194\`) | Caller used the old API name; implementation is \`RustClient.normalize/1\`. Renamed the call site | ## Test plan - [ ] \`cargo deny check\` passes on the workspace - [ ] \`cd elixir-orchestration && mix deps.get && mix compile --warnings-as-errors\` succeeds - [ ] Existing CI checks (Build Validation, Governance, openssf-compliance) flip green Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent eeee7b8 commit b63333d

4 files changed

Lines changed: 22 additions & 2 deletions

File tree

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ members = [
2929
version = "0.1.0"
3030
edition = "2021"
3131
authors = ["Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>"]
32-
license = "AGPL-3.0-or-later"
32+
license = "MPL-2.0"
3333
repository = "https://gitlab.com/hyperpolymath/verisimdb"
3434
homepage = "https://github.com/hyperpolymath/verisimdb"
3535
documentation = "https://github.com/hyperpolymath/verisimdb/tree/main/docs"

elixir-orchestration/lib/verisim/rust_client.ex

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# SPDX-License-Identifier: MPL-2.0
2+
# Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
23

34
defmodule VeriSim.RustClient do
45
@moduledoc """
@@ -198,6 +199,17 @@ defmodule VeriSim.RustClient do
198199
end
199200
end
200201

202+
@doc """
203+
Paginated listing of octad entities.
204+
"""
205+
def list_octads(limit \\ 50, offset \\ 0) do
206+
case get("/octads", limit: limit, offset: offset) do
207+
{:ok, %{status: 200, body: body}} -> {:ok, body}
208+
{:ok, %{status: status, body: body}} -> {:error, {status, body}}
209+
{:error, reason} -> {:error, reason}
210+
end
211+
end
212+
201213
# Search Operations
202214

203215
@doc """

elixir-orchestration/lib/verisim/transport.ex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# SPDX-License-Identifier: MPL-2.0
2+
# Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
23

34
defmodule VeriSim.Transport do
45
@moduledoc """
@@ -191,7 +192,7 @@ defmodule VeriSim.Transport do
191192
{:error, reason} -> {:error, reason}
192193
end
193194
else
194-
RustClient.trigger_normalization(entity_id)
195+
RustClient.normalize(entity_id)
195196
end
196197
end
197198
end

elixir-orchestration/mix.exs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# SPDX-License-Identifier: MPL-2.0
2+
# Copyright (c) Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
23

34
defmodule VeriSim.MixProject do
45
use Mix.Project
@@ -63,6 +64,12 @@ defmodule VeriSim.MixProject do
6364
# JSON encoding/decoding
6465
{:jason, "~> 1.4"},
6566

67+
# Bundled CA certificates — pulled in to satisfy `Redix.Connector`
68+
# (and `mint`/`excoveralls`) which treat castore as an optional dep.
69+
# `mix compile --warnings-as-errors` flagged the unresolved
70+
# `CAStore.file_path/0` call site at `lib/redix/connector.ex:261`.
71+
{:castore, "~> 1.0"},
72+
6673
# Telemetry and metrics
6774
{:telemetry, "~> 1.2"},
6875
{:telemetry_metrics, "~> 1.0"},

0 commit comments

Comments
 (0)