Skip to content

openkal 0.8.0, and openkal-kit published from its tarball - #261

Merged
Sunrisepeak merged 1 commit into
mainfrom
pkg/openkal-0.8.0
Aug 27, 2026
Merged

openkal 0.8.0, and openkal-kit published from its tarball#261
Sunrisepeak merged 1 commit into
mainfrom
pkg/openkal-0.8.0

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

openkal 0.8 adds five optional interfaces, each admitted against the criterion clause 3 states. The version crosses a minor boundary, so under the leftmost-nonzero caret rule every already-published consumer of "0.7.0" resolves >=0.7.0, <0.8.0 and is unaffected.

openkal-kit is new: the composed half of the specification, published out of the same tarball through mcpp = "*/kit/mcpp.toml" — the arrangement grpc-plugin and grpcgen already use. Its version key (0.1.0) deliberately differs from the tag (0.8.0); the two entries share one hash because they are the same bytes.

Measured before publishing: a consumer naming the kit's directory builds and runs against it, so the path = ".." and include_dirs = ["../include"] that escape the package's own directory do resolve. Both mirrors were fetched back and compared by hash.

openkal 0.8 adds five optional interfaces --- terminal, net, datagram, space
and timeout --- each admitted against the criterion clause 3 states rather than
because it was wanted. The version crosses a minor boundary, so under the
leftmost-nonzero caret rule every already-published consumer of `"0.7.0"`
resolves `>=0.7.0, <0.8.0` and is unaffected by this entry.

openkal-kit is new here. It is the composed half of the specification:
facilities that can be written in terms of openkal's atoms, which the
specification therefore declines to admit, and which every caller would
otherwise write again. It is published out of the specification's own tarball
through `mcpp = "*/kit/mcpp.toml"`, as grpc-plugin and grpcgen are published
out of grpc-m's, so its version key need not equal the tag: 0.1.0 comes from
openkal's 0.8.0 archive and the two entries carry the same hash because they
are the same bytes.

⚠️ Its manifest reaches the specification by `path = ".."` and its headers by
`include_dirs = ["../include"]`. Both escape the package's own directory and
hold only if the whole archive is extracted and the manifest then located
within it. Measured before publishing rather than after: a consumer naming the
kit's directory builds and runs against it, parsing an endpoint and refusing a
malformed one.

Both assets were fetched back from the CN mirror and compared by hash rather
than trusted to the uploader's report, which has said `uploaded` for an object
that then answered 404.
@Sunrisepeak
Sunrisepeak merged commit 8572026 into main Aug 27, 2026
8 checks 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.

2 participants