Skip to content

Prepare and release 0.1.0 - #1

Merged
benikm91 merged 5 commits into
mainfrom
release-0.1.0
Sep 4, 2026
Merged

Prepare and release 0.1.0#1
benikm91 merged 5 commits into
mainfrom
release-0.1.0

Conversation

@benikm91

@benikm91 benikm91 commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Sets the version to 0.1.0 and adds the Sonatype Central publishing configuration,
mirroring dimwit. Switches core to the released dimwit-core 0.1.0, which also lets
CI drop the temporary step that cloned dimwit and published it locally.

Replaces the raw-JAX lookup in VocabularyEmbedder with slice, renames Huber's
threshold to transitionPoint, and adds ReferenceMultiHeadAttentionSuite so the
batched MultiHeadAttention is checked against the readable per-head implementation.

Documents cnn, normalization, init, loss, the learning-rate schedules, the
positional encodings and VocabularyEmbedder.

🤖 Generated with Claude Code

benikm91 and others added 5 commits September 4, 2026 07:31
Set the version to 0.1.0 and add the Sonatype Central publishing configuration,
mirroring dimwit: credential host, publishTo, licenses, scmInfo, developers and
an early-semver version scheme, plus the sbt-sonatype and sbt-pgp plugins. A
`sonaUploadCore` alias publishes `core` only, since `examples` depends on the
unpublished plotwit.

Depend on the released dimwit-core 0.1.0 rather than 0.2-SNAPSHOT. A release
cannot depend on a snapshot, and this also lets CI drop the temporary step that
cloned dimwit and published it locally. `examples` keeps resolving plotwit from
the local ivy repo, so the dimwit dependency scheme is relaxed there to allow
plotwit's newer snapshot to win.

Document the coordinates in the README install section.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…tion point traceable

VocabularyEmbedder reached past DimWit into `Jax.jnp.take` to look up an
embedding row. `slice(Axis[Vocab].at(token))` expresses the same thing: the
`AxisAtTensorIndex` overload takes a `Tensor0[Int32]` index and removes the
sliced axis, giving `Tensor1[Embedding, V]` directly. The `take` alternative
left in a comment could not have worked — it needs a `Tensor1` of indices and
replaces an axis rather than removing it.

Rename Huber's `threshold` to `transitionPoint`, which is what the error message
and the tests already called it, and take it as a `Tensor0[Float32]` so it can be
traced and scheduled, matching `Perturbation.thin`. The eager `require` goes with
it: a traced scalar cannot be validated host-side, so the constraint is stated in
the scaladoc instead, as `Perturbation` already does for its probability.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Reverts the Tensor0 change: a traced scalar cannot be checked host-side, and
losing the `require` costs more here than gaining a schedulable transition point.
The rename to `transitionPoint` stays — it is what the error message and the
tests already called it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@benikm91
benikm91 merged commit 3df564a into main Sep 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant