Repository navigation
difftest: curve.curve_p7 real Ellipse plane classification - #1049
Conversation
Co-Authored-By: GPT-6.1 Sol Fast <noreply@openai.com>
Add the canonical Ellipse to the generic p7 curve protocol and compare complete positive-arc solutions and geometric comb records. Preserve old guards, fixtures, generator inputs, numerical formulas and tolerances. Co-Authored-By: GPT-6.1 Sol Fast <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol Fast <noreply@openai.com>
|
@bherbruck — exact published draft head |
bherbruck
left a comment
There was a problem hiding this comment.
Approved by the automated first-pass review: CI green, mergeable, no CI/build/dependency file changes, no red-flag patterns in added code (process/network/env/unsafe outside FFI/blobs/hidden unicode), 0 known-mismatch entries added. Logic is gated by CI and the difftest merge queue.
Scoped completion claim
Units:
curve.curve_p7.In scope: one genuine fixed canonical Ellipse input and a successful
GlobalPropertyAnalysis(PlaneClassify)regression with complete geometric comb.This adds concrete-kind/virtual-dispatch coverage to an existing algorithm, not a
new ellipse-specific algorithm. Existing circle shorthand remains a B-spline.
Expected edits:
crates/difftest/src/units/curve_curve_p7.rscrates/solidcore-ffi/src/units/curve_curve_p7.rsharness/cpp/shim/curve_curve_p7.cppfixtures/curve.curve_p7/analytic-plane-classification.jsonEvidence: inspected main
b206d3f5a38127dc3a0b6c511f1b45116826b341has noordinary real-Ellipse constructor in this unit. A bounded noncanonical Rust probe
constructed the actual semiaxes-3/2 ellipse over angular
[0,180], natural NURB[0,1], classifiedy-1=0, and produced one ordered positive arc plus 150 combpoints and 150 vectors. Endpoints lie near
(±2.598076211353316,1,0), midpointy=2. This probe is not C++ parity or a fresh-head build.Reviewed protocol: fixed canonical origin/X/Y/radii/extent, no geometry payload,
new ordinary block
[3,3](kind/dimension). Use genuine Ellipse constructors inboth engines through the existing generic curve route and positions, preserving
old kinds 0–2, cache guards and transform bounds. Admit the new inherited
B-spline-backed capability without relaxing old Hermite/Line restrictions or
adding an operation-specific whitelist. Preserve the existing three-vector guard;
the fixture pads unused vectors rather than narrowing that validation.
Validation planned: fixture discovery/exact encoding/real-kind/domain tests;
successful range geometry and all ordered comb points/vectors; full 916-value
native output plus status; interior-comb perturbation; new-kind generic parser
admission and old-error-order controls; full unfiltered affected unit and
perturbation; formatting and CPP-enabled Clippy; independent final-diff review;
all canonical current-head native/value-share/exact-base gates. Compile the modified
shim against the existing reference libraries read-only, never a stale executable.
Preserve all old fixtures, generated inputs, RNG draws/seeds/minimum 3000, guard
decisions/error ordering for old kinds, result layouts, mismatches, formulas,
tolerances, floors and status. No production test/file, shared helper/interface,
cache, plan, workflow, reference-library or old-fixture edits. Any native mismatch
or extra production need blocks this coverage-only scope; do not hide it by
changing inputs, introducing deferrals or weakening validation/comparison.
Related PRs / dependencies: #1048 owns p4 distance-equation coverage, #1047 p6
Sphere coverage, #1041 p9 diagonals; all are independent unit-local paths.
#686 ellipse STEP and #1031/#1042 cache/interfaces remain untouched.
Available follow-ups: CCI and transformed-ellipse success paths are not newly
demonstrated by generic admission and are not reserved by this fixture scope.
Status / blockers / next step: scoped draft; implement only the reviewed four paths,
establish native parity, then await exact-head canonical CI. Maintainers retain
workflow authorization, approval, queue admission and merging.
Published draft: exact-head evidence
Head
96fdbdf9c051ad7a803d0ddc713f563f2f579d7a, safely synchronized with authoritative mainf4d002bb0a6dc5d49928a80213eb9ade8cdab7bd.Independent final source gate accepted fingerprint
e0a2bf10613ccc66821fd06787a89dee3ec6c8ccdbad7cf88ba94300e2b783d3;reviewed binary PR diff unchanged across safe upstream merge. All66oldfixtures,
minimum3000generated cases, RNG/seed inputs, guards and result layout are preserved.
The existing THREE-vector guard is retained; unused fixture vectors are padded.
Comb samples cover the full natural interval in order, not only the retained arc.
Perturbing only sample75 comb-Y out[692] is detected with status/counts/range intact.
Protocol admission tests reside in this unit's runner and invoke real ffi::validate;
a prior separate FFI-package filter matched zero tests and is NOT counted as proof.
Identical match arms were consolidated without changing generator/RNG behavior.
Shared reference hashes/mtimes unchanged, no rebuild. This is local macOS evidence;
canonical Linux/default-workspace/value-share/exact-base gates remain mandatory.
Ready for review by explicit user instruction; canonical CI is still pending.
User-authorized review status
Marked ready for review at the user’s request after local native validation and independent source review. Canonical CI was authorization-blocked at the latest audit; this transition does not claim green CI, approval, queue admission or merge readiness. Maintainer workflow authorization and all required checks remain mandatory. No source commit or workflow configuration changed.