-
Notifications
You must be signed in to change notification settings - Fork 0
fix(helix): ndarray is a mandatory git dependency (codex P2 + "ndarray is mandatory") #463
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -12,7 +12,7 @@ | |
|
|
||
| ## D-HELIX-1 — `crates/helix` golden-spiral Place/Residue codec (zero-dep + optional ndarray-hpc) | ||
|
|
||
| **Status:** Shipped (branch `claude/gallant-rubin-Y9pQd`; **61 unit + 6 doctests green** on the default zero-dep build AND under `--features ndarray-hpc`; clippy -D warnings + fmt clean). New standalone crate (empty `[workspace]`, root `exclude`) realising the user's `KNOWLEDGE.md`: `HemispherePoint` (√u equal-area placement) → `CurveRuler` (stride-4-over-17) → `Similarity` (Fisher-Z/arctanh) → `RollingFloor` (256-palette; occupancy-drift + version stamp) → `ResidueEdge` (3-byte endpoint pair) + `DistanceLut` (metric-safe 256×256 L1; `distance_adaptive` vs non-metric `distance_heuristic`) + `prove()` (2-D discrepancy companion to `jc::weyl`). Optional `ndarray-hpc` = batch Fisher-Z via `simd_ln_f32`. ~80% clean-room overlap with CERTIFIED primitives (E-HELIX-OVERLAP / TD-HELIX-OVERLAP-1); consolidation path in `KNOWLEDGE.md`. Process: autoattended — 5 research agents + 4 parallel Sonnet leaf workers + central consolidation. Next (owed): fidelity-vs-ground-truth probe (naive-u8 floor gate ≥0.9980 Pearson, CONJECTURE). | ||
| **Status:** Shipped (branch `claude/gallant-rubin-Y9pQd`; **61 unit + 6 doctests green** on the default zero-dep build AND under `--features ndarray-hpc`; clippy -D warnings + fmt clean). New standalone crate (empty `[workspace]`, root `exclude`) realising the user's `KNOWLEDGE.md`: `HemispherePoint` (√u equal-area placement) → `CurveRuler` (stride-4-over-17) → `Similarity` (Fisher-Z/arctanh) → `RollingFloor` (256-palette; occupancy-drift + version stamp) → `ResidueEdge` (3-byte endpoint pair) + `DistanceLut` (metric-safe 256×256 L1; `distance_adaptive` vs non-metric `distance_heuristic`) + `prove()` (2-D discrepancy companion to `jc::weyl`). Optional `ndarray-hpc` = batch Fisher-Z via `simd_ln_f32`. ~80% clean-room overlap with CERTIFIED primitives (E-HELIX-OVERLAP / TD-HELIX-OVERLAP-1); consolidation path in `KNOWLEDGE.md`. Process: autoattended — 5 research agents + 4 parallel Sonnet leaf workers + central consolidation. Next (owed): fidelity-vs-ground-truth probe (naive-u8 floor gate ≥0.9980 Pearson, CONJECTURE). **Update (post-#460):** ndarray is now a MANDATORY non-optional **git** dep (codex P2 + directive "ndarray is mandatory for lance-graph"); `simd.rs` always uses `ndarray::simd`; `ndarray-hpc` feature removed. 63 unit + 6 doctests green; clippy/fmt clean. See E-HELIX-NDARRAY-MANDATORY. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Resolve conflicting status evidence in Line 15 currently mixes obsolete and current states in one live status cell (it says tests passed under Based on learnings: "Every PR that adds a type, plan, deliverable, or epiphany must update the relevant board file in the SAME commit." 🤖 Prompt for AI Agents |
||
|
|
||
| ## D-A3 — I4x32/I4x64 signed-i4 CAM codec (carrier `pack`/`unpack` + the 256-bit wide carrier) | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,28 +6,19 @@ license = "Apache-2.0" | |
| publish = false | ||
| description = "Place/Residue encoding: golden-spiral hemisphere placement, Fisher-Z aligned, into L1-metric-safe 256-palette endpoint pairs — the orthogonal RESIDUE companion to the HHTL PLACE" | ||
|
|
||
| # Standalone codec constitution (matches bgz17 / jc / deepnsm): the default build | ||
| # is ZERO production dependencies. The φ-spiral residue is the residue regardless | ||
| # of SIMD path — the math is identical with or without hardware acceleration, so | ||
| # ndarray is an OPTIONAL accelerator, never a correctness dependency. | ||
| # Standalone crate (own [workspace] + root `exclude`) but NOT dependency-free: | ||
| # ndarray (the AdaWorldAPI fork = "The Foundation") is a MANDATORY dependency. | ||
| # helix's batch hot path (src/simd.rs) runs on `ndarray::simd`, and per the stack | ||
| # rule "ndarray is mandatory for lance-graph" it is a hard dep, not an opt-in. | ||
| [dependencies] | ||
| # Optional ndarray hardware acceleration (AdaWorldAPI fork): batch Fisher-Z via | ||
| # simd_ln_f32 and batch endpoint-L1 via U8x64. Feature-gated so the default build | ||
| # stays zero-dep and standalone-verifiable via `cargo test --manifest-path`. | ||
| # `std` enables `ndarray::simd` (simd_ln_f32 / F32x16 / U8x64); the module is | ||
| # gated behind it. Kept minimal (no extra HPC features) to limit build surface. | ||
| ndarray = { path = "../../../ndarray", optional = true, default-features = false, features = ["std"] } | ||
|
|
||
| [features] | ||
| default = [] | ||
| # Activate the ndarray-accelerated hot path (simd_ln_f32 / U8x64 batch kernels). | ||
| # The always-present scalar path is used when this is disabled. | ||
| # | ||
| # NOTE: this feature resolves `ndarray` to the AdaWorldAPI fork at the sibling | ||
| # path `../../../ndarray` (NOT crates.io `ndarray`, which has no `::simd` module). | ||
| # It therefore requires that sibling repo to be checked out — the same convention | ||
| # `lance-graph` core uses. The default build is zero-dep and needs none of this. | ||
| ndarray-hpc = ["dep:ndarray"] | ||
| # MANDATORY ndarray (the AdaWorldAPI fork). Sourced by GIT, not a local path: a | ||
| # local *path* dep forces Cargo to read the sibling manifest during resolution, | ||
| # so a clean checkout without the sibling fails (codex P2 on #460); a git source | ||
| # resolves the manifest remotely. `master` is the commit helix was tested against. | ||
| # The fork is self-contained (internal subcrates only — no external path dep, no | ||
| # back-dependency on lance-graph → no import cycle). `std` enables `ndarray::simd` | ||
| # (simd_ln_f32 / F32x16 / U8x64). | ||
| ndarray = { git = "https://github.com/AdaWorldAPI/ndarray.git", branch = "master", default-features = false, features = ["std"] } | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
In the documented Cursor Cloud/setup-script environment, Useful? React with 👍 / 👎. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
echo "== Manifests with branch-tracking ndarray git dep =="
rg -n --type toml 'ndarray\s*=\s*\{[^}]*git\s*=\s*"https://github.com/AdaWorldAPI/ndarray.git"[^}]*branch\s*=\s*"master"' -g '**/Cargo.toml'
echo
echo "== ndarray resolution in available Cargo.lock files =="
for lock in $(fd -a '^Cargo.lock$'); do
echo "--- $lock ---"
awk '
/^\[\[package\]\]/{in_pkg=0}
/^name = "ndarray"$/ {in_pkg=1; print; next}
in_pkg && /^version = / {print}
in_pkg && /^source = / {print}
' "$lock"
doneRepository: AdaWorldAPI/lance-graph Length of output: 2157 Pin
🤖 Prompt for AI Agents |
||
|
|
||
| [dev-dependencies] | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move this correction into a new prepended PR_ARC entry instead of editing
#459.This line mutates a historical section outside
Confidence, which conflicts with the board immutability rule forPR_ARC_INVENTORY.md. Please prepend a new follow-up entry (e.g., PR#460/#463 correction record) and reference#459there.As per coding guidelines,
.claude/board/{EPIPHANIES,AGENT_LOG,INTEGRATION_PLANS,PR_ARC_INVENTORY}.mdentries are append-only and past entries should not be edited except status/confidence lines.🤖 Prompt for AI Agents