1.7 KiB
DEVX-182: feat(molecule): release lease emission (ships DEVX-181)
- Task: DEVX-182
- Status: draft
Problem
DEVX-181 landed on master but was never released: the squash subject
came out DEVX-181: ci: retrigger validation because the branch's last
commit was an empty ci: retrigger. git-cliff found no bump-worthy
commit, so v0.55.5 is still latest and the S08 lease producer is
unshipped. A feat: merge is needed to cut the release — and while
shipping, the emission log line is upgraded from a bare count to the
actual lease owner and UTC expiry, which is what an operator needs when
debugging a cleanup race.
Approach
REQ-1: start_docker.main() computes lease_env() once and logs
owner= + ISO-8601 until= alongside the export confirmation. The
single call also removes a latent second-boundary inconsistency where
emit_github_env and the count message each re-derived now.
REQ-2: Merge squash commit carries feat(molecule): so git-cliff cuts
the next minor release containing DEVX-181's emitter and this change.
Test Plan
- Update
test_emits_lease_on_success+test_prints_and_exportsfor the new log format; keep 100 % coverage. make pre-push— full devx suite green.- Post-merge: verify a
v*tag > v0.55.5 exists andpip index versions devx(Gitea PyPI) lists it.
Deploy Plan
- Auto-merge; post-merge release job tags + publishes.
- Infra (OBL-INFRA-658) and GRM (GRM-174) consume the new pin.
Rollback Plan
- Revert merge; the unreleased module remains dormant regardless.
Acceptance Criteria
- REQ-1: emission log includes owner and ISO-8601 expiry; lease env computed once — covered by updated unit tests.
- REQ-2: merge commit uses
feat(molecule):so the release job cuts a version bump.