Skip to content

chore(release): cut ui-kit v1.1.3#8506

Closed
JSONbored wants to merge 2 commits into
mainfrom
release-please--branches--main--components--ui-kit
Closed

chore(release): cut ui-kit v1.1.3#8506
JSONbored wants to merge 2 commits into
mainfrom
release-please--branches--main--components--ui-kit

Conversation

@JSONbored

Copy link
Copy Markdown
Owner

🤖 I have created a release beep boop

1.1.3 (2026-07-24)

Fixes

  • miner-ui: keep mobile chat sheet mounted so conversation state survives (#7792) (#7885) (e7e10e7)
  • miner-ui: stick-to-bottom auto-scroll for chat rail (#7229) (#7298) (8cbcb53)
  • test: close the Node-version guard's remaining coverage gap (#7627) (#7629) (9f356fe)
  • test: pin loopover-ui + ui-kit jsdom localStorage over Node 26's broken global (#7616) (d6477bf)
  • ui-kit: declare react-hook-form as a dependency of @loopover/ui-kit (#8494) (ddb674e), closes #8309
  • ui-kit: don't hijack Cmd/Ctrl+B Bold in text fields (SidebarProvider) (#8305) (#8341) (2ae66d6)
  • ui-kit: edge-trigger StateBoundary failure notifications (#7505) (fa67da4)
  • ui-kit: give PaginationLink's aria-disabled a real visual/interaction effect (#8359) (ee7eed6), closes #8307
  • ui-kit: make Carousel's keyboard handler orientation-aware (#8337) (08d093a)
  • ui-kit: move focus ring to focus-visible on Select/Dialog/Sheet/NavigationMenu (#8335) (3f081c4), closes #8304
  • ui-kit: respect prefers-reduced-motion across animated ui-kit and miner-ui components (#8360) (5558575), closes #8303

This PR was generated with Release Please. See documentation.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 24, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
loopover-ui 542f2b3 Commit Preview URL

Branch Preview URL
Jul 24 2026, 04:01 PM

@superagent-security

Copy link
Copy Markdown
Contributor

Superagent didn't find any vulnerabilities or security issues in this PR.

@loopover-orb loopover-orb Bot added the gittensor:bug Gittensor-scored bug fix — scores a 0.05x multiplier. label Jul 24, 2026
@loopover-orb

loopover-orb Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Note

LoopOver command help
LoopOver updated this command response in place from cached public-safe context.

Signal State
Command @loopover help
Scope #8506
Actor maintainer

Command: @loopover help

Command result

Commands

  • Available public commands and their safest use on a PR thread.

Findings

  • @loopover help shows this command list.
  • @loopover ask <question> answers contribution-quality Q&A with source citations and freshness.
  • @loopover chat <question> answers in natural prose from cached decision-pack facts via local inference (maintainer/collaborator; read-only).
  • @loopover preflight summarizes public PR hygiene.
  • @loopover blockers explains public readiness blockers.

Evidence

  • Invocation authorized for maintainer command use.
  • Output is sanitized before posting to GitHub.

Next actions

  • Comment one listed command on the PR thread when more context is needed.
Source and freshness
  • Source: static command catalog.
  • Freshness: shipped command list.
  • Boundary: public GitHub comment; non-public scoring and planning context is omitted.
Additional safe details
  • @loopover duplicate-check summarizes duplicate/WIP caution.
  • @loopover miner-context confirms public Gittensor miner context.
  • @loopover next-action gives a public-safe next step.
  • @loopover reviewability summarizes PR readiness without private review internals.
  • @loopover repo-fit summarizes repository fit from cached public-safe signals.
  • @loopover packet prepares public-safe PR packet guidance.
  • @loopover queue-summary gives maintainers cached queue-level context.
  • @loopover review-now lists maintainer-only review candidates.
  • @loopover needs-author lists PRs that need author cleanup.
  • @loopover confirmed-miners lists cached confirmed-miner PRs.
  • @loopover duplicate-clusters lists duplicate/WIP clusters.
  • @loopover burden-forecast projects maintainer review load and queue-growth risk.
  • @loopover intake-health summarizes contributor-intake health.
  • @loopover outcome-patterns summarizes what the repo merges vs closes.
  • @loopover noise-report highlights queue noise to triage first.
  • PR action commands
  • These verbs require maintainer or collaborator authorization (per command-authorization policy).
  • pause and resume affect only auto-review scheduling — they never change the gate disposition or make review advisory.
  • @loopover gate-override Record a maintainer override for this commit's gate check only (does not persist across new commits).
  • @loopover review Request an auto-review run on the current PR head (@loopover re-review is an alias).
  • @loopover pause Pause auto-review for this PR with an optional reason; does not change gate enforcement.
  • @loopover resume Resume auto-review for this PR with an optional reason; does not change gate enforcement.
  • @loopover resolve Mark a review finding as resolved, optionally naming the finding in trailing text.
  • @loopover configuration Show the effective resolved review configuration for this repository.
  • @loopover explain Explain a specific review finding; supply the finding reference in trailing text.
  • @loopover generate-tests Generate an AI E2E test for this PR's changed behavior and post it as a reply comment (maintainer-only).
  • Full command reference (syntax, roles, gate boundary): https://loopover.ai/docs/loopover-commands

Feedback

  • Use a thumbs-up or thumbs-down reaction to mark whether this answer helped. Feedback is aggregate-only and never changes deterministic results.

💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →.

Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.

@codecov

codecov Bot commented Jul 24, 2026

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 104 bytes (0.0%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
loopover-ui 7.46MB 104 bytes (0.0%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: loopover-ui

Assets Changed:

Asset Name Size Change Total Size Change (%)
assets/add-scalar-classes-Dfs7c-Z_.js (New) 2.17MB 2.17MB 100.0% 🚀
assets/tanstack-vendor-C_qnf3fi.js (New) 740.64kB 740.64kB 100.0% 🚀
assets/docs.fumadocs-spike-api-reference-C9SI4ihZ.js (New) 442.92kB 442.92kB 100.0% 🚀
assets/AgentScalarChatInterface.vue-CuIAkqMh.js (New) 201.71kB 201.71kB 100.0% 🚀
assets/modal-D8sY3xuY.js (New) 184.38kB 184.38kB 100.0% 🚀
assets/client-luYGtlqc.js (New) 146.06kB 146.06kB 100.0% 🚀
assets/maintainer-panel-Cy6ta47G.js (New) 78.99kB 78.99kB 100.0% 🚀
assets/ui-vendor-CvkthW_V.js (New) 57.04kB 57.04kB 100.0% 🚀
assets/routes-DmFHvDpj.js (New) 34.98kB 34.98kB 100.0% 🚀
assets/owner-panel-DiZj893H.js (New) 27.46kB 27.46kB 100.0% 🚀
assets/app-DuhWvtTy.js (New) 25.95kB 25.95kB 100.0% 🚀
assets/app.runs-DTSKPU4p.js (New) 23.56kB 23.56kB 100.0% 🚀
assets/miner-panel-CIFmeq1x.js (New) 20.28kB 20.28kB 100.0% 🚀
assets/api._op-D52Bq5LT.js (New) 17.57kB 17.57kB 100.0% 🚀
assets/self-hosting-docs-audit-CG5ttU4d.js (New) 16.61kB 16.61kB 100.0% 🚀
assets/app.index-BI3QG2xY.js (New) 15.62kB 15.62kB 100.0% 🚀
assets/docs._slug-CIPl_Q-X.js (New) 15.37kB 15.37kB 100.0% 🚀
assets/playground-panel-CkGn643l.js (New) 14.49kB 14.49kB 100.0% 🚀
assets/fairness-5dVoiF4T.js (New) 10.6kB 10.6kB 100.0% 🚀
assets/app.audit-Dn41in_p.js (New) 10.11kB 10.11kB 100.0% 🚀
assets/app.config-generator-2y0I54rq.js (New) 10.09kB 10.09kB 100.0% 🚀
assets/extension-Ci4Cxe2b.js (New) 10.04kB 10.04kB 100.0% 🚀
assets/maintainers-D3EAXSSM.js (New) 8.09kB 8.09kB 100.0% 🚀
assets/miners-Boj_Esfa.js (New) 7.91kB 7.91kB 100.0% 🚀
assets/agents-CYGoHRIT.js (New) 7.8kB 7.8kB 100.0% 🚀
assets/commands-panel-CQEZcZBK.js (New) 6.65kB 6.65kB 100.0% 🚀
assets/maintainer-workflow-BYjko7e1.js (New) 6.52kB 6.52kB 100.0% 🚀
assets/roadmap-EuVIOo1T.js (New) 6.33kB 6.33kB 100.0% 🚀
assets/digest-panel-CPROxeGW.js (New) 6.18kB 6.18kB 100.0% 🚀
assets/repos._owner._repo.quality-D3T0mREh.js (New) 6.14kB 6.14kB 100.0% 🚀
assets/docs.index-CLwvRpxU.js (New) 5.79kB 5.79kB 100.0% 🚀
assets/docs-nav-Id-O5270.js (New) 5.59kB 5.59kB 100.0% 🚀
assets/api.index-BH6ELCIA.js (New) 4.7kB 4.7kB 100.0% 🚀
assets/docs-DX5_lXM3.js (New) 2.7kB 2.7kB 100.0% 🚀
assets/api-BbHgq_jE.js (New) 2.69kB 2.69kB 100.0% 🚀
assets/docs-page-Cbrh2Nwc.js (New) 2.1kB 2.1kB 100.0% 🚀
assets/table-DjUwfbht.js (New) 1.75kB 1.75kB 100.0% 🚀
assets/app.workbench-lQOTY4Af.js (New) 1.58kB 1.58kB 100.0% 🚀
assets/tooltip-Cv5kKmS7.js (New) 1.47kB 1.47kB 100.0% 🚀
assets/session-D9CAlohY.js (New) 1.45kB 1.45kB 100.0% 🚀
assets/tabs-zWLQ34fT.js (New) 1.39kB 1.39kB 100.0% 🚀
assets/app.repos-BhebuPTj.js (New) 1.07kB 1.07kB 100.0% 🚀
assets/input-D3loTI3J.js (New) 796 bytes 796 bytes 100.0% 🚀
assets/file-cog-DBCXI3ys.js (New) 758 bytes 758 bytes 100.0% 🚀
assets/app.maintainer-BPlqt8_0.js (New) 502 bytes 502 bytes 100.0% 🚀
assets/sparkles--1iOp16t.js (New) 494 bytes 494 bytes 100.0% 🚀
assets/app.owner-DRrPMX19.js (New) 474 bytes 474 bytes 100.0% 🚀
assets/app.commands-B_7moXhS.js (New) 455 bytes 455 bytes 100.0% 🚀
assets/app.playground-BHcqQWQx.js (New) 442 bytes 442 bytes 100.0% 🚀
assets/reveal-B53dDoNh.js (New) 442 bytes 442 bytes 100.0% 🚀
assets/index-D-JMYVRw.js (New) 438 bytes 438 bytes 100.0% 🚀
assets/app.digest-BGD-Uv34.js (New) 430 bytes 430 bytes 100.0% 🚀
assets/eye-off-DdshjrFi.js (New) 430 bytes 430 bytes 100.0% 🚀
assets/app.miner-B5jOcVe0.js (New) 422 bytes 422 bytes 100.0% 🚀
assets/key-round-9lH06OUI.js (New) 355 bytes 355 bytes 100.0% 🚀
assets/bot-DAJ_Mus2.js (New) 328 bytes 328 bytes 100.0% 🚀
assets/trash-2-rvaX7AeO.js (New) 328 bytes 328 bytes 100.0% 🚀
assets/save-zpIo6aR9.js (New) 327 bytes 327 bytes 100.0% 🚀
assets/git-pull-request-arrow-C1A-ESkT.js (New) 321 bytes 321 bytes 100.0% 🚀
assets/wrench-DcIknCpl.js (New) 303 bytes 303 bytes 100.0% 🚀
assets/list-checks-DrCO0BkA.js (New) 279 bytes 279 bytes 100.0% 🚀
assets/shield-D4FFdbpM.js (New) 272 bytes 272 bytes 100.0% 🚀
assets/workflow-BZ7CYagr.js (New) 265 bytes 265 bytes 100.0% 🚀
assets/compass-D_-j2eEu.js (New) 251 bytes 251 bytes 100.0% 🚀
assets/history-CClxUlMS.js (New) 237 bytes 237 bytes 100.0% 🚀
assets/activity-DxlxJr0K.js (New) 234 bytes 234 bytes 100.0% 🚀
assets/message-square-CbyUtJ5u.js (New) 233 bytes 233 bytes 100.0% 🚀
assets/lock-DXkgoj5E.js (New) 206 bytes 206 bytes 100.0% 🚀
assets/rotate-cw-D4G1FM44.js (New) 201 bytes 201 bytes 100.0% 🚀
assets/play-CsWIHm-4.js (New) 190 bytes 190 bytes 100.0% 🚀
assets/circle-check-BbSEbtri.js (New) 178 bytes 178 bytes 100.0% 🚀
assets/search-Bdu5oL4i.js (New) 174 bytes 174 bytes 100.0% 🚀
assets/circle-BbAnyCsn.js (New) 130 bytes 130 bytes 100.0% 🚀
assets/add-scalar-classes-Jl3qW3Qy.js (Deleted) -2.17MB 0 bytes -100.0% 🗑️
assets/tanstack-vendor-BFjpN-hb.js (Deleted) -740.64kB 0 bytes -100.0% 🗑️
assets/docs.fumadocs-spike-api-reference-Fg9lKGWZ.js (Deleted) -442.92kB 0 bytes -100.0% 🗑️
assets/AgentScalarChatInterface.vue-BG-9x-p9.js (Deleted) -201.71kB 0 bytes -100.0% 🗑️
assets/modal-KgFy59mm.js (Deleted) -184.38kB 0 bytes -100.0% 🗑️
assets/client-BofUKfFX.js (Deleted) -146.06kB 0 bytes -100.0% 🗑️
assets/maintainer-panel-C73j5Dha.js (Deleted) -78.99kB 0 bytes -100.0% 🗑️
assets/ui-vendor-CeW96nRT.js (Deleted) -57.04kB 0 bytes -100.0% 🗑️
assets/routes-CuZ9J9ok.js (Deleted) -34.98kB 0 bytes -100.0% 🗑️
assets/owner-panel-CsrpFvpD.js (Deleted) -27.36kB 0 bytes -100.0% 🗑️
assets/app-Bg8AYi2g.js (Deleted) -25.95kB 0 bytes -100.0% 🗑️
assets/app.runs-DCvuqL3m.js (Deleted) -23.56kB 0 bytes -100.0% 🗑️
assets/miner-panel-D-e7J1h6.js (Deleted) -20.28kB 0 bytes -100.0% 🗑️
assets/api._op-D6wUJdsq.js (Deleted) -17.57kB 0 bytes -100.0% 🗑️
assets/self-hosting-docs-audit-CF7Rgqxf.js (Deleted) -16.61kB 0 bytes -100.0% 🗑️
assets/app.index-DFVD8-li.js (Deleted) -15.62kB 0 bytes -100.0% 🗑️
assets/docs._slug-DlOhy9Bp.js (Deleted) -15.37kB 0 bytes -100.0% 🗑️
assets/playground-panel-BlxlXxkw.js (Deleted) -14.49kB 0 bytes -100.0% 🗑️
assets/fairness-fYOTqwK9.js (Deleted) -10.6kB 0 bytes -100.0% 🗑️
assets/app.audit-DikL1CBd.js (Deleted) -10.11kB 0 bytes -100.0% 🗑️
assets/app.config-generator-BbmFrqG8.js (Deleted) -10.09kB 0 bytes -100.0% 🗑️
assets/extension-D43A_jvQ.js (Deleted) -10.04kB 0 bytes -100.0% 🗑️
assets/maintainers-DjEyYxL4.js (Deleted) -8.09kB 0 bytes -100.0% 🗑️
assets/miners-Cixcph2j.js (Deleted) -7.91kB 0 bytes -100.0% 🗑️
assets/agents-BqMVCqZ-.js (Deleted) -7.8kB 0 bytes -100.0% 🗑️
assets/commands-panel-CX0cOi13.js (Deleted) -6.65kB 0 bytes -100.0% 🗑️
assets/maintainer-workflow-CQOhnwsA.js (Deleted) -6.52kB 0 bytes -100.0% 🗑️
assets/roadmap-CI526VXj.js (Deleted) -6.33kB 0 bytes -100.0% 🗑️
assets/digest-panel-DJ3wGdj8.js (Deleted) -6.18kB 0 bytes -100.0% 🗑️
assets/repos._owner._repo.quality-CBYkgf65.js (Deleted) -6.14kB 0 bytes -100.0% 🗑️
assets/docs.index-BTQLxabI.js (Deleted) -5.79kB 0 bytes -100.0% 🗑️
assets/docs-nav-guGZodM-.js (Deleted) -5.59kB 0 bytes -100.0% 🗑️
assets/api.index-Srb_aOuZ.js (Deleted) -4.7kB 0 bytes -100.0% 🗑️
assets/docs-DS4dTHyd.js (Deleted) -2.7kB 0 bytes -100.0% 🗑️
assets/api-NR8no6Hq.js (Deleted) -2.69kB 0 bytes -100.0% 🗑️
assets/docs-page-CZVJQtl2.js (Deleted) -2.1kB 0 bytes -100.0% 🗑️
assets/table-Disj9mcU.js (Deleted) -1.75kB 0 bytes -100.0% 🗑️
assets/app.workbench-BVC4npQv.js (Deleted) -1.58kB 0 bytes -100.0% 🗑️
assets/tooltip-CVYj6iyC.js (Deleted) -1.47kB 0 bytes -100.0% 🗑️
assets/session-DMLIOCEJ.js (Deleted) -1.45kB 0 bytes -100.0% 🗑️
assets/tabs-DBY4Uw3_.js (Deleted) -1.39kB 0 bytes -100.0% 🗑️
assets/app.repos-CDo_u6E9.js (Deleted) -1.07kB 0 bytes -100.0% 🗑️
assets/input-BAAczVRQ.js (Deleted) -796 bytes 0 bytes -100.0% 🗑️
assets/file-cog-Su3-m0NQ.js (Deleted) -758 bytes 0 bytes -100.0% 🗑️
assets/app.maintainer-Uwtb7t7H.js (Deleted) -502 bytes 0 bytes -100.0% 🗑️
assets/sparkles-Bngpdnq6.js (Deleted) -494 bytes 0 bytes -100.0% 🗑️
assets/app.owner-B7joGI7L.js (Deleted) -474 bytes 0 bytes -100.0% 🗑️
assets/app.commands-fJxi66oO.js (Deleted) -455 bytes 0 bytes -100.0% 🗑️
assets/app.playground-4VjAqGbY.js (Deleted) -442 bytes 0 bytes -100.0% 🗑️
assets/reveal-DXp9U_y2.js (Deleted) -442 bytes 0 bytes -100.0% 🗑️
assets/index-Dxo41cYj.js (Deleted) -438 bytes 0 bytes -100.0% 🗑️
assets/app.digest-Le6fBqor.js (Deleted) -430 bytes 0 bytes -100.0% 🗑️
assets/eye-off-hH-RnWk6.js (Deleted) -430 bytes 0 bytes -100.0% 🗑️
assets/app.miner-BMGMHoKJ.js (Deleted) -422 bytes 0 bytes -100.0% 🗑️
assets/key-round-C-BPf-yf.js (Deleted) -355 bytes 0 bytes -100.0% 🗑️
assets/bot-BCIM1SgC.js (Deleted) -328 bytes 0 bytes -100.0% 🗑️
assets/trash-2-DSKgq1a2.js (Deleted) -328 bytes 0 bytes -100.0% 🗑️
assets/save-L9AaJN8C.js (Deleted) -327 bytes 0 bytes -100.0% 🗑️
assets/git-pull-request-arrow-ag05t09J.js (Deleted) -321 bytes 0 bytes -100.0% 🗑️
assets/wrench-DETehv57.js (Deleted) -303 bytes 0 bytes -100.0% 🗑️
assets/list-checks-DAzknopE.js (Deleted) -279 bytes 0 bytes -100.0% 🗑️
assets/shield-DZB1tasH.js (Deleted) -272 bytes 0 bytes -100.0% 🗑️
assets/workflow-BSqvn8aB.js (Deleted) -265 bytes 0 bytes -100.0% 🗑️
assets/compass-DoZT3KAH.js (Deleted) -251 bytes 0 bytes -100.0% 🗑️
assets/history-BwScNgas.js (Deleted) -237 bytes 0 bytes -100.0% 🗑️
assets/activity-BQX__GpB.js (Deleted) -234 bytes 0 bytes -100.0% 🗑️
assets/message-square-CQOtJwEk.js (Deleted) -233 bytes 0 bytes -100.0% 🗑️
assets/lock-DjDsbeyV.js (Deleted) -206 bytes 0 bytes -100.0% 🗑️
assets/rotate-cw-Dvo4f7va.js (Deleted) -201 bytes 0 bytes -100.0% 🗑️
assets/play-BTwPRKRU.js (Deleted) -190 bytes 0 bytes -100.0% 🗑️
assets/circle-check-Dg2h8T0k.js (Deleted) -178 bytes 0 bytes -100.0% 🗑️
assets/search-Bj-7Fev6.js (Deleted) -174 bytes 0 bytes -100.0% 🗑️
assets/circle-Cla4CQ-N.js (Deleted) -130 bytes 0 bytes -100.0% 🗑️

@codecov

codecov Bot commented Jul 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.53%. Comparing base (df753da) to head (542f2b3).
⚠️ Report is 24 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #8506       +/-   ##
===========================================
+ Coverage   81.11%   92.53%   +11.41%     
===========================================
  Files         791      793        +2     
  Lines       79344    79487      +143     
  Branches    23967    24019       +52     
===========================================
+ Hits        64360    73551     +9191     
+ Misses      12133     4799     -7334     
+ Partials     2851     1137     -1714     
Flag Coverage Δ
shard-1 54.14% <ø> (-3.56%) ⬇️
shard-2 50.59% <ø> (?)
shard-3 57.98% <ø> (+5.40%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 235 files with indirect coverage changes

@JSONbored

Copy link
Copy Markdown
Owner Author

Closing as superseded: the reconcile self-heal created the ui-kit-v1.1.2 tag today at d09fbe2 (main head at the time) rather than the v1.1.2 release PR's merge commit, which swept ddb674e (the react-hook-form dependency fix — the only content this v1.1.3 PR proposed) into the published 1.1.2. Verified: npm's @loopover/ui-kit@1.1.2 declares react-hook-form ^7.80.0. With nothing left to release, release-please skips the component ('No commits for path') and never regenerates or prunes this branch, so the manifest conflict could never self-heal. release-please will cut a fresh release PR on the next ui-kit commit.

@JSONbored JSONbored closed this Jul 24, 2026
@JSONbored
JSONbored deleted the release-please--branches--main--components--ui-kit branch July 24, 2026 18:14
JSONbored added a commit that referenced this pull request Jul 24, 2026
…patch head (#8527)

Advances #8525. The reconcile self-heal dispatches publish-*.yml bare
(against main head), and the bare-dispatch path tagged-and-packed HEAD --
during today's runner backlog that placed ui-kit-v1.1.2 two commits late,
sweeping the would-be 1.1.3 fix into the 1.1.2 tag and published artifact
and zombifying the open v1.1.3 release PR (release-please saw 'No commits
for path' behind the misplaced tag and could neither regenerate nor prune
it; closed by hand as #8506).

All four publish workflows now resolve the RELEASE COMMIT -- the newest
main commit that introduced the current version string into the package's
own package.json (the release PR's merge commit) -- then:
- verify it is reachable from main,
- verify any pre-existing tag points AT it (not at HEAD),
- detach onto it so typecheck/pack build the exact tree the version
  number describes,
- create the annotated tag at it explicitly.

Unresolvable ⇒ hard abort, never a head fallback. The release-please
dispatch path (dispatched against the tag itself) is byte-identical in
effect: there HEAD already IS the release commit. Regression pins in
test/unit/publish-release-tag-pins.test.ts cover the resolver, the
fail-loud arm, the detach, and the death of every head-tagging form
across all four workflows.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment