Repository navigation
lance-graph-dt64: polyfill as one lens classid; thin-provisioned DR extent; board catch-up; fmt fix - #1871
Conversation
…-op classid question STATUS_BOARD: D-DT64-6-BS row is Shipped #1869; the D-TRACT-HARVEST-0 row still said "op signature -> classid", which #1870 corrected in the plans but not on the board. Plan D-DT64-6 Amendment A.5 addendum 7: one ONNX lens classid with op signatures as fields is the shape lance-graph-dt64 implements; the MethodKey vs MethodRef identity stays open. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMPh2Seh2WLccCksAdY
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
As in ndarray::simd, a consumer names a facade word and nothing else: nobody declares it and nobody assigns it a number. AlgebraRef is now the word path; AlgebraEntry only mirrors its arity so a binding's operand count can be checked. AlgebraId and the per-entry SigRev are removed with AlgebraRevisionMismatch. The test's checked i64 multiply is named by its hpc path because the facade has no such word; it is marked as a missing ndarray::simd word. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMPh2Seh2WLccCksAdY
…::simd lacks checked i64 binary Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMPh2Seh2WLccCksAdY
… ndarray::simd) A keyed count names mask-risc's Terminal::GroupReduce (Lane, Count); the int64 multiply names ndarray::simd::checked_binary_i64 (ndarray #407). Plan addendum 8 records relalg -> mask-risc -> ndarray::simd as the polyfill. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMPh2Seh2WLccCksAdY
The algebra was a string-keyed catalogue beside ClassView, a second
meaning surface. Now it uses the pattern every class uses: one lens
classid for the polyfill vocabulary, its words the fields of that lens,
labels from its ClassView, a word a field position (AlgebraRef { lens,
word }), a set of words a WideFieldMask.
- declare_algebra(lens, schema_rev, arity): binds the lens, one operand
count per word; immutable like a class.
- resolve_algebra: the lens read through its ClassView with the same
schema-revision and field-basis checks as resolve (shared check_basis);
field_view gives each word's position and label.
- words_used(class, lens): a class's words as a mask over the lens.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XAqKMPh2Seh2WLccCksAdY
…through ClassView Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMPh2Seh2WLccCksAdY
…1862) The 'Rustfmt lance-graph-contract' step failed on every main push since c04ffe9 (#1862) and skipped every format step after it. All 26 format steps now pass locally. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMPh2Seh2WLccCksAdY
|
Style Check / format was red here (
Generated by Claude Code |
…t 64 ClassSchema carries an Extent (Identity x Property x Predicate, each W64 or W256) that the consumer picks: DR64_CUBE, DR256_SQ_X64, or any combination. Registration refuses fields past the property axis (FieldsExceedExtent) and methods past the predicate axis (MethodsExceedExtent). dense_bytes states the cost (DR64^3 = 32 KiB, DR256^2 x 64 = 512 KiB) without allocating anything. The polyfill lens declares its extent too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMPh2Seh2WLccCksAdY
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMPh2Seh2WLccCksAdY
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
…1869 and #1871 PR_ARC_INVENTORY gains the #1869 and #1871 entries that were missing, LATEST_STATE records main after them, STATUS_BOARD moves the D-DT64-6-BS row, and a board entry records the dr module. Addendum 12 also records that #1871 merged without the thin-provisioned extent, which this branch restores. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XAqKMPh2Seh2WLccCksAdY
Code:
lance-graph-dt64The polyfill is one lens classid, read through
ClassViewthe same way every class is read:ClassView(mask-risc ops,ndarray::simdwords).AlgebraRef { lens, word }, and a set of words is aWideFieldMask. No word gets a classid of its own; this is the ONNX shape from tract-harvest-probe: one ONNX classid in the plans; DR64 global to local; codebook beyond 256 #1870.declare_algebra(lens, schema_rev, extent, arity)binds the lens and is immutable.resolve_algebraandfield_viewread the lens;words_used(class, lens)gives a consumer's words as a mask.AlgebraId, the string catalogue, the per-entrySigRev, andAlgebraRevisionMismatch.Thin-provisioned DR extent. A class reserves each axis (Identity × Property × Predicate) as a number of DR64 or DR256 tiles,
Axis { tile, tiles }.Extent::DR64_CUBE,DR256_SQ_X64andDR256_GLOBAL_X64are named. The last reserves the whole DR256 identity space: 65,536 positions in 256 tiles of 256.BindStore::claimed(class, version)counts the identity tiles that hold a routed position, andtile_bytesstates their cost without allocating anything.OutsideReservation), not dropped.FieldsExceedExtent), methods past the predicate reservation (MethodsExceedExtent), and an axis wider than it can address (ReservationTooWide).WideFieldMaskposition is au8(contract).dr3::TILE = 64belongs to the tract session, which has been told about the reservation model.The polyfill's layers: relalg describes a selection, mask-risc folds it, and
ndarray::simdcomputes. The int64 multiply is reachable throughndarray::simdsince AdaWorldAPI/ndarray#407, so this PR should land after it.Checks:
-D warnings) and fmt are clean.words_usedlens filterAlgebraImmutablearmrouteFix: Style Check / format
The format check had been red on main since my earlier #1862.
a076664bdruns rustfmt oncrates/lance-graph-contract/src/morton8x8.rs, and all 26 format steps instyle.ymlnow pass locally.Docs
🤖 Generated with Claude Code
https://claude.ai/code/session_01XAqKMPh2Seh2WLccCksAdY