Skip to content

Releases: lokomotifai/mintmark

Mintmark v0.3.2

Choose a tag to compare

@github-actions github-actions released this 23 Aug 20:16
2f31656

What's Changed

Full Changelog: v0.3.1...v0.3.2

Mintmark v0.3.1

Choose a tag to compare

@github-actions github-actions released this 23 Aug 19:32
8017e89

What's Changed

  • fix: bind release CLI to repository context by @fatihguner in #4
  • fix: align manifest record limits for v0.3.1 by @fatihguner in #5

Full Changelog: v0.3.0...v0.3.1

Mintmark v0.3.0

Choose a tag to compare

@fatihguner fatihguner released this 23 Aug 19:12
6b5ccac

What's Changed

  • ci: attest and publish v0.3.0 GitHub release by @fatihguner in #3

New Contributors

Full Changelog: v0.2.0...v0.3.0

Mintmark 0.1.3

Choose a tag to compare

@fatihguner fatihguner released this 22 Aug 18:51

The audit release. Every fix here came from checking the published product rather
than the source tree: cloning the packs, installing the engine from PyPI, and
running the documented commands against the released datasets.

The pack digest covered files that cannot affect output

It enumerated the whole pack directory minus a short denylist, so it covered
README files, the changelog, the test suite, the lockfile, the vendored engine
wheel, compiled __pycache__ output, and PLAN.md, a file the sector packs
deliberately keep out of git.

One pack produced three different digests for one set of declarations: one in a
working tree, another from a clean clone of the same commit, and a third recorded
in an already published dataset. Running the suite under a different pytest
version moved it too, through the .pyc files.

A digest behaving that way cannot do the job it exists for, which is to let
somebody holding a dataset tell whether a pack they have is the pack it came
from. It now covers pack.yaml and the fields/, recipes/, templates/,
lexicons/, and assets/ directories, by allowlist rather than denylist.

Every manifest records a different pack.digest from here on. No emitted
data moves: the digest seeds nothing. The published reference datasets in the
sector packs have been re-minted and their release assets replaced so they carry
the new digest.

reproduce works on the quickstart's own output

It could not locate the pack the engine itself ships, so a dataset minted from
--pack example could not be reproduced by the command the README calls the
check that makes a manifest mean something.

reproduce says what differs

differs outside the excluded provenance block was true and useless. It now
names each field with both values, and a difference confined to the engine
version is reported as what it is rather than as a mismatch: a newer engine
reproducing every byte is a stronger result than the determinism claim, which
covers a fixed engine version.

Attached

Asset What it is
mintmark-0.1.3-py3-none-any.whl The wheel, identical to the one on PyPI
mintmark-0.1.3.tar.gz The source distribution
sbom.json CycloneDX software bill of materials
SHA256SUMS A checksum for each of the above

The name is frozen: trademark screening cleared on 2026-08-22.

Mintmark 0.1.2

Choose a tag to compare

@fatihguner fatihguner released this 22 Aug 18:29

The first version anyone can install by name and have the quickstart work.

uv tool install mintmark        # or: pip install mintmark
mintmark mint --pack example --recipe demo --seed 42 --out ./demo-run
mintmark verify ./demo-run

What this fixes

The example pack ships inside the distribution so the quickstart works without
cloning anything, and there was no way to point at it. --pack packs/example is
a path that exists only in a checkout, so anyone who installed 0.1.1 from PyPI
and followed the README walked straight into pack: not-a-directory.

Found by installing the published package into a clean environment and running
the README's own first command against it. The test suite could not have caught
it: the suite runs inside the checkout, where that path exists.

--pack example now resolves to the packaged pack. A local path always wins, so
this cannot shadow a real directory, and an unrecognized name is returned
untouched so the loader still fails with the path you typed rather than rescuing
a typo into some other pack.

Publication

0.1.1 was the first version on PyPI and carries the defect above. Use 0.1.2.

Both were published through trusted publishing over OIDC behind an approval
gate. No long-lived token exists in this repository, and the wheel attached here
is byte-identical to the one PyPI serves.

Attached

Asset What it is
mintmark-0.1.2-py3-none-any.whl The wheel, identical to the one on PyPI
mintmark-0.1.2.tar.gz The source distribution
sbom.json CycloneDX software bill of materials
SHA256SUMS A checksum for each of the above

Licensing

Code is Apache-2.0. Datasets minted by this engine carry the terms their pack
declares, written into every manifest along with a credit line. Every pack in
this family declares CC BY 4.0.

Mintmark 0.1.0

Choose a tag to compare

@fatihguner fatihguner released this 22 Aug 17:42

The first tagged release of the Mintmark engine.

What this is

A generation engine for fully synthetic, Turkish-first labeled datasets. Every
value is derived from a seed by a deterministic function, with no model anywhere
in the generation path. Spans are labeled against a closed eighteen-label
taxonomy pinned by digest, and each dataset carries a manifest that lets anyone
re-derive the identical bytes.

Installing

Mintmark is not on PyPI, and the name on that index is unclaimed. Install
from this repository:

uv tool install git+https://github.com/lokomotifai/mintmark@v0.1.0

A command naming the package index instead would install something this project
did not build.

Attached

Asset What it is
mintmark-0.1.0-py3-none-any.whl The wheel
mintmark-0.1.0.tar.gz The source distribution
sbom.json CycloneDX software bill of materials
SHA256SUMS A checksum for each of the above

Verified rather than assumed

Four facts this engine depends on live in public registries and specifications,
and each was checked against its source with the record kept in
docs/normative-verification.md: the VKN checksum algorithm against two
independent implementations over 200 000 inputs, the bank code reserved for
synthetic IBANs, the permanent UTC+3 offset for Turkey, and the negative result
that the Turkish numbering plan reserves no fictional mobile range.

Determinism, and what it covers

Identical engine version, pack digest, recipe, seed, identifier policy, and
output format produce byte-identical data files and label sidecars, on CPython
3.12 on Linux x86_64, Linux arm64, and macOS arm64. The manifest's provenance
block is excluded from that claim because it records when the mint ran.

Known limitations

Generated phone numbers can coincide with assigned ones, because the Turkish
numbering plan reserves no fictional range. Never contact a number from this
data.

The name Mintmark is provisional pending trademark screening.

Licensing

Code is Apache-2.0. Datasets minted by this engine carry the terms their pack
declares, written into every manifest along with a credit line. Every pack in
this family declares CC BY 4.0. See LICENSE-DATASETS.md.