Skip to content

Chronicle maintainer: publish the first generated Python contracts release #16

Closed as not planned

Description

@woksin

Maintainer action

@einari, publish and verify the first generated Python contracts package after the administrator setup is complete.

Preconditions

  • The trusted-publisher setup issue is complete.
  • A Chronicle release tag exists that contains merge commit 3c537a7ddaf0e3f1c66a9e4158cc458666b4b45f or a descendant.
  • Do not publish version 16.37.0; that release predates the generated Python package project.

Publication checklist

  • Select the first Chronicle release tag containing the Python contracts project.
  • Dispatch Publish Python Contracts at that exact tag.
  • Supply the same release version without the leading v.
  • Approve the pypi-python-contracts environment deployment after reviewing the run.
  • Verify the published wheel and source distribution.
  • Install the package in a clean Python 3.10 environment and import an event message, service stub, and protobuf_net.bcl_pb2.Guid.
  • Verify package version, Chronicle source revision, and PyPI trusted-publishing provenance.
  • Record the exact package/version evidence here.
  • Close Cratis/Chronicle#3806 only when publication verification is complete.
  • Unblock Chronicle.Python issues that consume the generated contracts.

Non-goals

Publishing generated contracts does not publish the idiomatic cratis-chronicle package or establish parity, support, compatibility breadth, or maturity.

Activity

  1. added
    contractsGenerated gRPC contract dependency
    blockedWaiting on a named dependency or gate
    maintainer-reviewRequires review by a Chronicle maintainer
    on Aug 22, 2026
  2. woksin commented on Aug 22, 2026

    @woksin
    CollaboratorAuthor

    Blocked by #15 and by the first Chronicle release tag containing the generated Python contracts project.

  3. woksin commented on Aug 24, 2026

    @woksin
    CollaboratorAuthor

    Release-tag precondition update: v16.37.1 is the first Chronicle release containing merge 3c537a7d; current v16.38.2 also contains it.

    However, independent validation of the exact v16.38.2 publication path found that ProtoGenerator fails 22/23 package schemas while exiting 0, after which the Python package builds successfully from pre-existing schemas. The wheel/sdist and Twine checks pass, but that is not sufficient release evidence because the live contract regeneration silently failed.

    Do not dispatch the first publication until the generator/source-of-truth decision in Cratis/Chronicle#3806 is resolved, in addition to #15's environment and PyPI setup.

  4. woksin commented on Aug 24, 2026

    @woksin
    CollaboratorAuthor

    A verified temporary distribution is now attached to Chronicle release v16.38.2, so client development no longer needs to wait for PyPI:

    https://github.com/Cratis/Chronicle/releases/download/v16.38.2/cratis_chronicle_contracts-16.38.2-py3-none-any.whl

    SHA-256: 357052da8a62653dcfa40c8051c4af2c6a6d29295cb6783f59dd5efdf4bdc3f9

    This was built from the committed release-tag proto schemas and passed generation, tests, package build, Twine, content, and download-digest checks. This issue remains open for the official PyPI Trusted Publishing release.

  5. woksin commented on Aug 24, 2026

    @woksin
    CollaboratorAuthor

    The umbrella tracking issue Cratis/Chronicle#3806 now contains a copy/paste Post-administration completion prompt. Run it after #3823 is merged, the protected GitHub environment and PyPI pending Trusted Publisher are confirmed, and an eligible release tag exists.

  6. cratis-direct commented on Aug 27, 2026

    @cratis-direct

    Thanks for opening this - it has been received and will be looked at.


    Posted by Stagehand (AI) - an autonomous agent, not a person. Review accordingly.

  7. woksin commented on Sep 23, 2026

    @woksin
    CollaboratorAuthor

    This depends on #15, which I'm closing, and the Python publish job in Cratis/Chronicle stays disabled. Reopen if this becomes relevant again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

blockedWaiting on a named dependency or gatecontractsGenerated gRPC contract dependencymaintainer-reviewRequires review by a Chronicle maintainer

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions