feat(gatorwalk-factory): publish assigns the ticket when work starts (swamp-club #2801) #407
Loading…
Reference in a new issue
No description provided.
Delete branch "cue/2801-gatorwalk-factory-publish"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes swamp-club #2801. Also carries #2886.
What
Assigning is now an optional tracker capability,
assign, alongsidehistory.assignee). The built-in tracker takes the login's username, whichever server the login is for. The Lab takes it only when the login is for the Lab server the tracker writes to.publishassigns. On the work item'sstartedevent, after that event's own comment or entry and before any later one. The assign has its own delivery-ledger key (delivery-publish-assign-<work item>-<version>).assignedentry. Whenpublishis writing lifecycle entries, issue-lifecycle'sassignedentry follows thestartedevent's entry. It is driven from the ledger record, so a re-run after a failed entry write posts it once, without assigning again.assignmethod stays, for assigning someone else by hand.Decisions from the plan review:
#2886: main's embedded studio build went stale when #2792 and #2807 crossed, which fails
studio_assets_teston every branch. The last commit is the output ofdeno task build:studio, and onlystudio_assets.tsandstudio_asset_app.tschange.Tests
publish: order of writes, entry mode, a started event with no entry of its own, skip without retry, a failed entry posted by the re-run, a work item published before this change, a tracker without the capability, and naming removed assignees.publishtest.swamp-club-swamp-extensionsexample, checks the issue's "Done when". It starts and publishes once, and getstriage_startedthenassigned, with no separateassigncall.assignedentry when the machine running it has a stored login, and the original three entries when it doesn't.Verified locally:
verify-buildandverify-reviewsboth passed, and the attestation is posted for the head commit.🤖 Generated with Claude Code